Commit Graph

9013 Commits

Author SHA1 Message Date
Adrien Maston e9ebf8e9a5 Fix bad formatting on bridge page title attr 2026-01-19 17:42:05 +01:00
Jay Ohms b5985efdd1 Use private functions for bridge components 2026-01-19 10:05:48 -05:00
Adrien Maston e87dc10761 Setup focus handling on touch target's connect callback
... to support lazy loaded dialog content
2026-01-19 15:34:23 +01:00
Adrien Maston 511396144a Setup proper focus handling for mobile on the card perma's board picker 2026-01-19 15:33:12 +01:00
Adrien Maston 44732a345b Move dialog focus handling into the dialog controller
... instead of a separate dialog focus controller
2026-01-19 11:42:43 +01:00
Jay Ohms 600ee87d51 Merge branch 'main' into mobile/bridge-components
* main:
  Solve problem when Action Text raises on missing attachables
  Solve problem when Action Text raises on missing attachables
  Completing a step removes stalled status from UI
  Bump Bootsnap to v1.21.1
  Use correct class selectors to target cards with  background images
  Update lexxy to latest
  Hide table button for now
  Table CSS tweaks
  Update to Lexxy 0.7.0beta
  Revert "Wrap tables in div"
  Wrap tables in div
  CSS updates for `<table>` support
  Update to latest Lexxy
  Show only active subscriptions
  Add paid accounts stats to admin dashboard
  Keep URLs in webhook events absolute
  Delete orphaned watches and pins when a card is moved to a private board
2026-01-16 12:44:55 -05:00
Jorge Manrubia 99a8d12c9d Merge pull request #2382 from basecamp/attachment-take-2
Solve problem when Action Text raises on missing attachables
2026-01-16 17:36:10 +01:00
Jorge Manrubia 4ab1e3ff7d Solve problem when Action Text raises on missing attachables
Reverts the previous patch. The problem was that I hadn't update
 Lexxy in the saas version https://github.com/basecamp/lexxy/pull/596
2026-01-16 17:32:41 +01:00
Mike Dalessio 8ada756f33 Merge pull request #2380 from basecamp/flavorjones/3688-step-status
Completing a step removes stalled status from UI
2026-01-16 10:48:44 -05:00
Jorge Manrubia 7c0ef09beb Merge pull request #2381 from basecamp/fix-missing-actiontext-partial
Solve problem when Action Text raises on missing attachables
2026-01-16 16:41:17 +01:00
Jorge Manrubia c8d5c38e4c Solve problem when Action Text raises on missing attachables
I created this https://github.com/basecamp/lexxy/pull/596 to address this for good but
it is still happening in production.

Locally I don't manage to reproduce the issue.

This will be solved for good once we go back to vanilla action text with the new
Rails adapter, so I will go with this is a temporary patch for now.
2026-01-16 16:38:40 +01:00
Mike Dalessio 9c76002bc1 Completing a step removes stalled status from UI
Add `updatedAt` to stalled bubble options so JS can check if the card
was recently updated, matching the `Card::Stallable#stalled?`
logic. Refresh the bubble via Turbo Stream when a step is updated.

This should have been part of #1625

Fixes https://app.fizzy.do/5986089/cards/3668
2026-01-16 09:58:21 -05:00
Stanko Krtalić 86c8736bb8 Merge pull request #2379 from basecamp/fix-ocassional-ruby-vm-crash-due-to-bootsnap
Bump Bootsnap to v1.21.1
2026-01-16 14:30:08 +01:00
Stanko K.R. a811ba1b2a Bump Bootsnap to v1.21.1 2026-01-16 14:26:46 +01:00
Andy Smith 002149a1a7 Merge pull request #2375 from basecamp/image-card-fix
Fix regression on cards with background images
2026-01-15 12:31:22 -06:00
Andy Smith ff050505d5 Use correct class selectors to target cards with background images 2026-01-15 12:27:29 -06:00
Jorge Manrubia 62021a3b82 Merge pull request #2292 from basecamp/update-lexxy-tables
Update to latest Lexxy
2026-01-15 16:52:33 +01:00
Jorge Manrubia af9f53d82d Update lexxy to latest 2026-01-15 16:38:07 +01:00
Jorge Manrubia f9d85570e6 Hide table button for now 2026-01-15 16:37:27 +01:00
Zoltan Hosszu b28a88c185 Table CSS tweaks 2026-01-15 16:34:56 +01:00
Zoltan Hosszu 43fa7fb6aa Update to Lexxy 0.7.0beta 2026-01-15 16:34:56 +01:00
Zoltan Hosszu 1a9b59ebb1 Revert "Wrap tables in div"
This reverts commit 2a2feb469eac7fe8b3957d11c6bc147cb63be51a.
2026-01-15 16:34:56 +01:00
Zoltan Hosszu 21d6316daf Wrap tables in div
This prevents overflow of huge tables
2026-01-15 16:34:56 +01:00
Zoltan Hosszu a5a24d0085 CSS updates for <table> support 2026-01-15 16:34:56 +01:00
Jorge Manrubia ce1c04803e Update to latest Lexxy 2026-01-15 16:34:56 +01:00
Stanko Krtalić 75710ecd42 Merge pull request #2371 from basecamp/fix-subscriber-count
Show only active subscriptions
2026-01-15 08:03:02 +01:00
Stanko K.R. 2fa3056e14 Show only active subscriptions 2026-01-15 08:00:19 +01:00
Mike Dalessio 5615b9f6f5 Add paid accounts stats to admin dashboard
Shows total, 7-day, and 24-hour counts of paid accounts based on
subscription created_at. Excludes comped accounts and avoids
double-counting accounts with multiple subscriptions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 16:45:43 -05:00
Rosa Gutierrez 832e63f99a Keep URLs in webhook events absolute
Follow-up to #2318

These are sent to other apps, so they need to be absolute. I changed
this too eagerly when I was moving calls to `polymorphic_url`.
2026-01-14 21:15:42 +01:00
Rosa Gutierrez ee636f1994 Delete orphaned watches and pins when a card is moved to a private board
For watchers and users with pins that don't have access to the private
board where the card was moved to.
2026-01-14 19:38:15 +01:00
Jay Ohms 3cada3ce82 Merge branch 'main' into mobile/bridge-components
* main:
  Add rollback script to convert relative URLs back to absolute
  Add a script to migrate existing rich texts to relative URLs
  Use relative URLs where possible across all the app
  Use relative URLs for avatars and rich text attachments
2026-01-14 09:39:08 -05:00
Rosa Gutierrez 0f35109e00 Merge pull request #2318 from basecamp/relative-urls
Use relative URLs where possible across all the app
2026-01-14 11:05:44 +01:00
Rosa Gutierrez bf224b19f5 Add rollback script to convert relative URLs back to absolute 2026-01-14 11:01:42 +01:00
Rosa Gutierrez bf6fe75b7c Add a script to migrate existing rich texts to relative URLs 2026-01-14 11:01:42 +01:00
Rosa Gutierrez 527ffc42b9 Use relative URLs where possible across all the app
Skipping API responses, where we need absolute URLs, and those that are
intended for sharing or external use:

- account/join_codes/show.html.erb - Join code URL for sharing
- boards/edit/_publication.html.erb - Publication URL for sharing
- public/* views - Public page URLs and og:url meta tags
- pwa/manifest.json.erb - PWA manifest needs absolute URLs

For this, we had to replace `url_for` used with Active Storage variants
and previews with the specific path helper (for Active Storage
representations).
2026-01-14 11:01:42 +01:00
Rosa Gutierrez 235890e666 Use relative URLs for avatars and rich text attachments
These URLs can be problematic or inconsistent, as we might end up with
rich text content with beta URLs for attachments being used in
production, or viceversa. It'll also be problematic when importing or
exporting data between a self-hosted instance and the SaaS version.
2026-01-14 11:01:42 +01:00
Adrien Maston 3b97b2e5c8 Merge branch 'main' into mobile/bridge-components
* main: (22 commits)
  Disable card column buttons when active
  Prevent comment content from overlapping with reaction button
  Delete pins belonging to cards in a board with revoked access
  Update development dependencies in SAAS lockfile
  Update runtime dependencies
  Update development dependencies
  Balance magic link instructions
  Add `.txt-balance` utility
  Move handleDesktop inside restoreColumnsDisablingTransitions
  Adjust border radius
  Clean up blank slates
  Add dialog manager to events page
  More sturated mini bubbles in light mode
  Brighten mini bubbles in dark mode
  Use separate cache namespaces for each beta instance
  Bump boost size up a tick on mobile
  Move Undo form inside closure message element
  Phrasing tweak for exceeding storage limit
  Keep strong tags words on same line
  Allow ActionText embed reuse and safe purge (#2346)
  ...
2026-01-14 10:34:13 +01:00
Andy Smith 8823ff8930 Merge pull request #2359 from basecamp/disable-current-column
Disable card column buttons when active
2026-01-13 17:06:07 -06:00
Andy Smith c8059dea90 Disable card column buttons when active 2026-01-13 16:15:33 -06:00
Andy Smith b4413acffc Merge pull request #2357 from basecamp/comment-boost-overlap
Prevent comment content from overlapping with reaction button
2026-01-13 14:17:58 -06:00
Andy Smith fe57d9d013 Prevent comment content from overlapping with reaction button 2026-01-13 11:55:01 -06:00
Andy Smith 819864b756 Merge pull request #2355 from nqst/txt-balance
Add `.txt-balance` utility and use it for Magic Link instructions
2026-01-13 10:32:11 -06:00
Andy Smith d79ffced89 Merge pull request #2351 from basecamp/improve-board-loading
Move handleDesktop inside restoreColumnsDisablingTransitions
2026-01-13 10:25:22 -06:00
Rosa Gutierrez 5e099c4c06 Delete pins belonging to cards in a board with revoked access
As part of cleaning up inaccessible data in the board after revoking
access.
2026-01-13 16:25:59 +01:00
Stanko Krtalić 829dd345f6 Merge pull request #2322 from drjayvee/locals-only-partial
Replace use of instance variable with local
2026-01-13 13:26:53 +01:00
Stanko Krtalić c61f57d7da Merge pull request #2352 from basecamp/dependency-updates
Dependency updates
2026-01-13 12:25:59 +01:00
Stanko K.R. d5f270fe3a Update development dependencies in SAAS lockfile 2026-01-13 12:06:43 +01:00
Stanko K.R. f6557856f7 Update runtime dependencies
Updated kamal, bootsnap, rqrcode, net-http-persistent, web-push, aws-sdk-s3, bcrypt & rouge
2026-01-13 12:03:43 +01:00
Stanko K.R. 40a5d6211e Update development dependencies 2026-01-13 11:52:10 +01:00
Adrien Maston 8894382d11 Save a bit of space in "watch" card 2026-01-13 11:43:21 +01:00