Commit Graph

6358 Commits

Author SHA1 Message Date
Adrien Maston 6bacbdce78 Fix trailing margin depending on boosts 2026-02-13 12:17:36 +01:00
Adrien Maston 61489593b9 Re-align all the rows 2026-02-13 12:02:26 +01:00
Adrien Maston c9982fc6ea Fix missing margin 2026-02-12 17:07:17 +01:00
Adrien Maston f77275fe68 Re-position "Done" stamp 2026-02-12 15:27:11 +01:00
Adrien Maston fa21d1f6f9 Fix unwanted margin
in unassigned card with a boost
2026-02-12 12:55:13 +01:00
Adrien Maston 43db3b998e Fix unwanted header padding 2026-02-12 12:41:03 +01:00
Adrien Maston e2757d897c Make emoji reaction buttons larger on touch devices 2026-02-12 12:33:36 +01:00
Adrien Maston 645d21cfbb Make reactions larger on touch devices 2026-02-12 12:25:47 +01:00
Adrien Maston 4a181b239d Tweak space around assignment 2026-02-12 11:08:13 +01:00
Adrien Maston f8b08c1890 Fix margin again 2026-02-11 17:36:13 +01:00
Adrien Maston 9d8a5f03ff Fix margin 2026-02-11 17:29:33 +01:00
Adrien Maston 69e185b3c2 Change layout of meta data to avoid early truncation 2026-02-11 17:24:25 +01:00
Stanko K.R. 37d7f5c569 Give more detail about why the import failed 2026-02-11 13:47:21 +01:00
Alp Keser 03ed6df109 Merge pull request #2455 from basecamp/expose-has-attachment-for-card
Add json.has_attachments for the card
2026-02-10 11:36:30 +03:00
Andy Smith b3951564bc Only disable the current column if it's open 2026-02-09 16:02:02 -06:00
Andy Smith e1a70a330d Merge pull request #2513 from basecamp/truncate-account-menu
Truncate long account names in the menu
2026-02-09 10:51:02 -06:00
Mike Dalessio 8c5b47d774 Group notification emails by board (#2506)
* Group notification emails by board

Notification bundle emails now group items by board instead of
showing the board name redundantly for each card. Each board
section has a linked header and an <hr> separator.

* Adjust board title styles and remove rem units

* Sort board groups alphabetically

Sort notification email board sections alphabetically by name
(case-insensitive).

Also, rewrite mailer tests to use Nokogiri::HTML5 for precise DOM
assertions instead of regex matching.

---------

Co-authored-by: Andy Smith <andy@37signals.com>
2026-02-09 11:29:11 -05:00
Andy Smith 4127eaeacf Truncate long account names in the menu 2026-02-09 10:22:58 -06:00
Adrien Maston a8676ada4c Merge pull request #2490 from basecamp/fix-hidden-filters-in-firefox
Fix hidden filters in Firefox
2026-02-06 11:01:54 +01:00
Andy Smith 8e93f9d45e Content overflow scrolling for users list 2026-02-05 13:20:01 -06:00
Adrien Maston 9c7afcbee8 Merge pull request #2484 from basecamp/mobile/fix-board-scroll-position
Mobile / Fix expanded column not being scrolled into view
2026-02-05 17:47:38 +01:00
Adrien Maston 4072688974 Use a dedicated link to bridge a "go to" board button 2026-02-05 17:36:48 +01:00
Adrien Maston fe555f751e Move "Edit" action to ellipsis menu 2026-02-05 17:33:29 +01:00
Adrien Maston 626b8aa8a6 Revert "Show "Go to" board button in card perma"
This reverts commit d689f560b4.
2026-02-05 17:31:37 +01:00
Adrien Maston 186d759672 Instant scrolling on restore, animated on user action 2026-02-05 17:17:49 +01:00
Adrien Maston d689f560b4 Show "Go to" board button in card perma 2026-02-05 17:04:03 +01:00
Stanko Krtalić 421525e725 Merge pull request #2480 from basecamp/move-import-button-to-signup-screen
Move import button to sign up screen
2026-02-05 12:33:11 +01:00
Adrien Maston 9d4655d35e Make filters "open" by default then hide in mobile apps 2026-02-05 11:12:50 +01: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
Adrien Maston 171b8caa45 Switch non-animated scrolling in the mobile apps 2026-02-04 18:35:12 +01: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
Stanko K.R. 02e6c15e32 Move import button to sign up screen 2026-02-03 18:02:58 +01: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 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 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
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 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 K.R. b497aa07e9 Fix crash due to missing ActiveStorage URL options 2026-02-02 21:49:06 +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 K.R. e0c3e09aa9 Add more debug info 2026-02-02 21:17:43 +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 K.R. 4b7bbda222 Write in binmode 2026-02-02 19:46:20 +01:00