Commit Graph

6375 Commits

Author SHA1 Message Date
Alp Keser a48c88cb5d Stabilize notifications tray test ordering via fixture updated_at timestamps 2026-02-16 18:33:32 +03:00
Alp Keser bcc0f93bb9 Preload notification card associations used by JSON responses 2026-02-16 17:58:33 +03:00
Jirka Hutárek c4c46cce44 Add postponed and closed flags to Pinned and Notification cards 2026-02-13 00:45:47 +01:00
Alp Keser abcbb74ac8 Make notification ordering deterministic. 2026-02-12 15:32:10 +03:00
Alp Keser b755522a73 Add notification.source_type.underscore 2026-02-12 14:55:34 +03:00
Alp Keser a6eb331710 Fix query parameter name 2026-02-12 14:55:34 +03:00
Alp Keser b8793bfec3 Add include_unread param to tray API and vary cache 2026-02-12 14:55:34 +03:00
Alp Keser 80546a6b47 Include read notifications in the tray API response 2026-02-12 14:55:34 +03:00
Fernando Olivares a844353f1e Remove unused has_attachments and assignees from notification JSON
These fields were added but are not used by the iOS client.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 14:55:34 +03:00
Fernando Olivares 6809804d3a Add card assignees to notification JSON
Includes assignee users in the card object for display in notification UI.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 14:55:34 +03:00
Fernando Olivares 009e431ad8 Add has_attachments to notification card JSON
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 14:55:34 +03:00
Denis Švara 683547e310 Use the existing user partial on notifications. 2026-02-12 14:55:34 +03:00
Denis Švara af2efe6d76 Add avatar_url to the shared user JSON partial. 2026-02-12 14:55:34 +03:00
Denis Švara 3dca00a9ab Extend notification JSON payload.
Add avatar url, board name, and column.
2026-02-12 14:55:34 +03:00
Denis Švara 0b9869f3c9 Add JSON response support for notifications/tray. 2026-02-12 14:55:34 +03:00
Zoltan Hosszu 135fe128f7 Table style tweaks 2026-02-12 11:46:04 +01:00
Zoltan Hosszu ff80dfeb06 Fix dark mode colors 2026-02-12 11:37:08 +01:00
Stanko Krtalić 61144667fc Merge pull request #2512 from basecamp/server-side-notification-grouping
Stack notifications in all views
2026-02-12 10:33:12 +01:00
Stanko K.R. 36ee253a1a Stack notifications everywhere
We had client-side notification stacking in the tray since launch, but now we want to stack notifications in the notifications page, in API responses and in email bundles.
2026-02-12 10:29:50 +01:00
Zoltan Hosszu e0f8a182c5 HR fixes 2026-02-12 09:54:21 +01:00
Zoltan Hosszu 343bf016a3 Removing duplicate code language picker 2026-02-12 09:54:21 +01:00
Zoltan Hosszu 9a2e30b9c8 Regression fixes 2026-02-12 09:54:21 +01:00
Andy Smith 322de4217f Touch up link button hover styles 2026-02-12 09:54:21 +01:00
Zoltan Hosszu 0d45a42ebf Remove link dialog size limit 2026-02-12 09:54:21 +01:00
Zoltan Hosszu 374856f641 Fix toolbar dropdown icon background 2026-02-12 09:54:21 +01:00
Zoltan Hosszu a315af1090 Table tweaks 2026-02-12 09:54:21 +01:00
Andy Smith a4303dbe71 Use existing lexxy-content styles instead of rewriting everything 2026-02-12 09:54:21 +01:00
Andy Smith 4e5a5e1523 Use built-in lexxy styles and sprinkle in some overrides 2026-02-12 09:54:20 +01:00
Zoltan Hosszu a586f77a71 Use Lexxy's built in CSS for Lexxy 2026-02-12 09:54:20 +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