Commit Graph

9226 Commits

Author SHA1 Message Date
Mike Dalessio 14aa95d982 Add migration script to fix misplaced comment events (#2487)
Finds comment events that are on the wrong board (after a card move)
and updates them to the correct board.
2026-02-04 15:27:33 -05:00
Mike Dalessio d611b2cc6c Move comment events when card moves to a new board (#2486)
When a card moves between boards, comment events were staying on the
old board. Now they move with the card.
2026-02-04 15:04:28 -05:00
Denis Svara d032f88c59 Merge pull request #2476 from basecamp/mobile/associated-domains
Add `apple-app-site-association` file to support iOS Universal Links
2026-02-04 20:32:35 +01:00
Mike Dalessio 1e4a411cf2 Merge pull request #2482 from basecamp/omit-inactive-users-from-mentions
Omit inactive users from board mention picker
2026-02-03 18:45:19 -05:00
Mike Dalessio e311d8f521 Omit inactive users from board mention picker
The board-scoped mention prompt was returning all users with board access,
including those marked as inactive. This adds the `.active` scope to match
the behavior of the account-wide mention prompt.

Fixes https://app.fizzy.do/5986089/cards/3861
2026-02-03 18:42:15 -05:00
Mike Dalessio 8074bfd43e Merge pull request #2481 from basecamp/import-associations-check
Validate ActionText associations during import check phase
2026-02-03 17:47:10 -05:00
Mike Dalessio 7f473eda66 Validate ActionText associations during import check phase
ActionTextRichTextRecordSet now calls check_associations_dont_exist to
ensure imported ActionText records only reference records within the
same import, matching the behavior of the parent RecordSet class.
2026-02-03 13:46:28 -05:00
Adrien Maston 1c6c77d356 Merge pull request #2475 from basecamp/mobile/fix-board-default-scroll-position 2026-02-03 17:59:50 +01:00
Mike Dalessio df037e21fb Merge pull request #2478 from basecamp/bg-image-boost
Fix boost button appearing prematurely on draft cards
2026-02-03 10:59:22 -05:00
Mike Dalessio 015bc3420e Fix boost button appearing prematurely on draft cards
When updating a draft card (e.g., adding a background image), the turbo
stream response was using the published card container partial, which
includes the reactions/boost button. Draft cards should use the draft
container partial which intentionally omits reactions.

Fixes https://app.fizzy.do/5986089/cards/3970
2026-02-03 09:28:08 -05:00
Stanko Krtalić 636b109dba Merge pull request #2477 from basecamp/fix-crash-during-export
Fix crash during export
2026-02-03 15:04:27 +01:00
Stanko K.R. 1c1a73c57c Check if the file exists before adding it
ZipKit creates a placeholder record when add_file is called, this record is then filled with the content that's passxed to write. But if the blob's file doesn't exist then an error is rased and the placeholder is never filled. This results in a ZIP that has a place in its catalog for the blob, but no contant for it, which makes it invalid.
2026-02-03 15:01:10 +01:00
Stanko K.R. ffce51a42f Ignore faulty ZIP files 2026-02-03 14:04:54 +01:00
Stanko K.R. a4bec6e407 Ignore missing attachments 2026-02-03 13:51:22 +01:00
Adrien Maston aa3103de3c Rename handleDesktop method 2026-02-03 12:52:54 +01:00
Denis Švara 3f44ff286e Add apple-app-site-association file to support associated domains. 2026-02-03 12:48:30 +01:00
Adrien Maston 43d12b27ed Expand maybe column is no expanded column is found in localStorage
... to trigger scrolling into view
2026-02-03 12:12:20 +01:00
Adrien Maston 45f65bd1c3 Merge pull request #2466 from basecamp/mobile/hide-sections-from-apps
Mobile / Hide sections from apps
2026-02-03 11:29:08 +01:00
Adrien Maston 2ab9dd8a30 Remove no-longer wanted margin
... after getting the newer stuff from main
2026-02-03 11:25:35 +01:00
Adrien Maston a6a20fa56e Merge branch 'main' into mobile/hide-sections-from-apps
* main: (65 commits)
  Fix crash due to missing ActiveStorage URL options
  Capture backtrace of nested errors
  Remove debug code
  Add more debug info
  Pass all service options
  Prevent duplicate files in user data export
  Write in binmode
  Replace custom IO object with a transport manager IO
  Explain imports & exports
  Add missing method to IO object
  Rename jobs
  Finishing touches
  Delete accounts for failed imports
  Check that associations don't exist
  Bust the cache after import
  Explicitly use the default storage service
  Fix ActiveStorage writing to disk
  Fix crash on successful import email
  Fix orphaned attachments when deleting the whole account
  Add size to remote io
  ...
2026-02-03 10:49:16 +01:00
Stanko Krtalić 0f1850c674 Merge pull request #2474 from basecamp/fix-crash-during-export
Fix crash due to missing ActiveStorage URL options
2026-02-02 21:51:49 +01:00
Stanko K.R. b497aa07e9 Fix crash due to missing ActiveStorage URL options 2026-02-02 21:49:06 +01:00
Stanko Krtalić 571af6be5a Merge pull request #2473 from basecamp/fix-crash-during-export
Capture backtrace of nested errors
2026-02-02 21:38:58 +01:00
Stanko K.R. e587cb6a2b Capture backtrace of nested errors 2026-02-02 21:37:37 +01:00
Stanko K.R. 5eb15ebf4d Remove debug code 2026-02-02 21:33:48 +01:00
Stanko Krtalić 30b2c7f27a Merge pull request #2472 from basecamp/fix-crash-during-export
Add more debug info
2026-02-02 21:26:29 +01:00
Stanko K.R. e0c3e09aa9 Add more debug info 2026-02-02 21:17:43 +01:00
Stanko Krtalić b94ba00ed3 Merge pull request #2471 from basecamp/fix-crash-during-export
Fix crash during export
2026-02-02 20:12:51 +01:00
Stanko K.R. d0c6253716 Pass all service options 2026-02-02 20:06:45 +01:00
Stanko K.R. 88d84b3eaa Prevent duplicate files in user data export 2026-02-02 19:58:57 +01:00
Stanko Krtalić fbffc84fcc Merge pull request #2470 from basecamp/fix-crash-during-export
Write in binmode
2026-02-02 19:50:01 +01:00
Stanko K.R. 4b7bbda222 Write in binmode 2026-02-02 19:46:20 +01:00
Stanko Krtalić adb8bdf59d Merge pull request #2469 from basecamp/fix-crash-during-export
Fix crash during export
2026-02-02 19:35:59 +01:00
Stanko K.R. 4b70c1cc3b Replace custom IO object with a transport manager IO 2026-02-02 19:31:18 +01:00
Stanko K.R. f70560f810 Explain imports & exports 2026-02-02 19:31:12 +01:00
Stanko Krtalić efcd2552f2 Merge pull request #2468 from basecamp/fix-crash-during-export
Add missing method to IO object
2026-02-02 19:09:27 +01:00
Stanko K.R. 77d9331d90 Add missing method to IO object 2026-02-02 19:06:37 +01:00
Stanko Krtalić 10e23c8768 Merge pull request #2356 from basecamp/import-export
Account import & export
2026-02-02 18:28:40 +01:00
Stanko K.R. 5c929238b7 Rename jobs 2026-02-02 18:22:07 +01:00
Stanko K.R. 5dac2fa678 Finishing touches 2026-02-02 18:06:19 +01:00
Adrien Maston 270eacf43a Hide push notifications settings 2026-02-02 17:37:47 +01:00
Adrien Maston 88d99e58bc Hide appearance/devices/developer panel on profile page 2026-02-02 17:30:12 +01:00
Stanko K.R. b06d95a20d Delete accounts for failed imports 2026-02-02 16:24:10 +01:00
Stanko K.R. 539cd638e2 Check that associations don't exist
Without this you can change a belongs to to some other account's record and get access to it
2026-02-02 16:03:50 +01:00
Stanko K.R. dca67c59ca Bust the cache after import
Without this exporting, deleting and then re-imporing an account would reuse the old cache entries since the IDs are the same, but those cache entries will likely have the old account ID and would break
2026-02-02 15:48:49 +01:00
Stanko K.R. 1bc1b68ddf Explicitly use the default storage service 2026-02-02 15:22:16 +01:00
Stanko K.R. 60c63271b9 Fix ActiveStorage writing to disk 2026-02-02 15:16:37 +01:00
Stanko K.R. 96a1d7d2d3 Fix crash on successful import email 2026-02-02 14:47:58 +01:00
Stanko K.R. 6e6e4e9b5a Fix orphaned attachments when deleting the whole account 2026-02-02 14:35:01 +01:00
Stanko K.R. ac7d0308ac Add size to remote io 2026-02-02 14:09:04 +01:00