Rosa Gutierrez
1a0d8e2501
Fix notification click URL by using correct data property
...
The web push payload sends the URL in data.url but the service
worker was looking for data.path, resulting in undefined URLs.
Also fix WebPush::Notification test to use url instead of path
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-25 19:31:13 +01:00
Fernando Olivares
3c54cd84fc
Add native push notification infrastructure
...
- Add action_push_native gem and SaaS configuration
- Add device registration API and UI
- Add User::Devices concern
- Add NotificationPusher::Native for push delivery
- Add tests and fixtures for native push
2026-02-25 19:31:13 +01:00
Rosa Gutierrez
628a43ef61
Small native API changes: include identity ID, return empty signup completion body
...
Include identity.id in the my/identity.json response and return an
empty body from the CREATE signup/completions.json endpoint.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 14:34:09 +01:00
Denis Švara
c0c78152c9
Add ios path config.
2026-02-24 11:26:07 +01:00
Denis Švara
e00a51b6c2
Add android path config.
2026-02-24 11:26:00 +01:00
Jay Ohms
d17acd39ef
Merge pull request #2595 from basecamp/mobile/board-pull-to-refresh
...
Prevent pull-to-refresh gesture from conflicting with side scrolling on board perma
2026-02-23 11:43:24 -05:00
Adrien Maston
e08413a2dd
Merge pull request #2581 from basecamp/mobile/share
...
Mobile / Share
2026-02-23 17:13:44 +01:00
Jay Ohms
0ecc7527ca
Prevent pull-to-refresh gesture conflicting with side scrolling on the board perma on Android
2026-02-23 11:02:10 -05:00
Adrien Maston
0b229c701b
Rename event
2026-02-23 16:10:54 +01:00
Andy Smith
17d869cf08
Cleanup unused classes
2026-02-20 11:09:15 -06:00
Andy Smith
f835c211af
Make generic scrollable list class for settings
2026-02-20 11:05:26 -06:00
Adrien Maston
1d07e10650
Replace additional date by optional description
2026-02-20 17:18:53 +01:00
Adrien Maston
4e53000bc3
Add bridged share button to board and card permas
2026-02-20 13:03:33 +01:00
Rosa Gutierrez
bb6f2963b4
Revert commits accidentally pushed to main
...
Revert "Add bridged share button to board and card permas"
This reverts commit 069e165b43 .
Revert "Move helper to bridge helper file"
This reverts commit 1ee37f046c .
2026-02-20 12:58:39 +01:00
Adrien Maston
069e165b43
Add bridged share button to board and card permas
2026-02-20 12:49:00 +01:00
Adrien Maston
904917f648
Up-pin should be Unpin
2026-02-19 16:36:32 +01:00
Adrien Maston
f2fb05cecf
Replace unless by if
2026-02-19 14:09:48 +01:00
Adrien Maston
97f2f677d6
Don't render empty state instead of hiding it
2026-02-19 14:04:14 +01:00
Adrien Maston
0e1feb0f3f
Create @query in controller instead of testing for blank?
2026-02-19 12:06:49 +01:00
Adrien Maston
5c0508d91c
Don't show "no match" when not searching anything yet
2026-02-18 18:19:37 +01:00
Alp Keser
610cf7a190
Merge pull request #2398 from basecamp/notifications-tray-api
...
Add JSON response support for `notifications/tray`
2026-02-18 13:19:59 +03:00
Kevin McConnell
4e9773f9f5
Correct card URL in comment JSON output
...
When rendering details of a comment, we were using the card's `id` as
the param for the URL. But card routes use the card's number, not ID.
2026-02-17 17:11:39 +00:00
Stanko Krtalić
4b2586769b
Merge pull request #2556 from basecamp/fix-notifications-staying-unread-on-card-visit
...
Reinstate card readings
2026-02-17 14:15:24 +01:00
Stanko K.R.
9d4db14fc3
Reinstate card readings
2026-02-17 13:57:24 +01:00
Adrien Maston
a1e96670ce
Merge pull request #2524 from basecamp/mobile/fix-card-perma-footer
...
Mobile / Fix card perma footer
2026-02-16 17:39:22 +01:00
Adrien Maston
910500eaf6
Merge pull request #2520 from basecamp/mobile/fix-truncated-card-header
...
Mobile / Fix truncated card header
2026-02-16 17:38:36 +01:00
Andy Smith
eee93cb17d
Merge pull request #2553 from basecamp/apostrophe-fix
...
Use the correct apostrophe character
2026-02-16 10:12:50 -06:00
Andy Smith
c41e5aa981
Merge pull request #2437 from nqst/dialog-ux-improvements
...
Modal dialogs: smoother animations and QR code dialog improvements
2026-02-16 10:12:30 -06:00
Andy Smith
26c380448b
Use the correct apostrophe character
2026-02-16 10:03:53 -06:00
Andy Smith
bee16f5f9c
Merge pull request #2548 from nqst/fix-notifications-typography
...
Push notification section typography fixes
2026-02-16 09:45:42 -06:00
Andy Smith
1572e70b65
Fix typo
2026-02-13 17:45:58 -06:00
Andy Smith
f2bf7c7460
Merge pull request #2547 from basecamp/import-export-clarification
...
Import export clarification
2026-02-13 17:40:35 -06:00
Andy Smith
d7814792e3
Tweak language
2026-02-13 15:17:33 -06:00
Alexander Zaytsev
6f839c5b2f
Remove periods after ellipses
2026-02-13 18:21:47 +01:00
Alexander Zaytsev
da5e67a0a6
Use h3 instead of h2
2026-02-13 18:19:38 +01:00
Adrien Maston
e3edb98465
Merge branch 'main' into mobile/fix-card-perma-footer
...
* main: (33 commits)
Revert "Add temporary performance degradation message"
Fix double-escaped HTML entities in webhook payloads
Fix crash when a notification is deleted while a bundle is being sent
Fix race condition on notification creation
Fix double _seconds suffix in GVL request wait metric name (#2539 )
Add GVL contention metrics via gvltools (#2538 )
Backfill tests for Event::Description strings' html-safety
Update copy
Add temporary performance degradation message
Render inline code in card titles (#2518 )
Add stackprof for profiling
Table style tweaks
Fix dark mode colors
Index notifications on updated_at
Stack notifications everywhere
HR fixes
Removing duplicate code language picker
Regression fixes
Touch up link button hover styles
Remove link dialog size limit
...
2026-02-13 15:44:01 +01:00
Samuel Péchèr
0ab88af118
Revert "Add temporary performance degradation message"
...
This reverts commit 2a1f9cd15b .
2026-02-13 10:05:22 +00:00
Jirka Hutárek
c4c46cce44
Add postponed and closed flags to Pinned and Notification cards
2026-02-13 00:45:47 +01:00
Andy Smith
f77850f5be
Update copy
2026-02-12 12:13:05 -06:00
Andy Smith
2a1f9cd15b
Add temporary performance degradation message
2026-02-12 12:01:18 -06:00
Mike Dalessio
851f13a934
Render inline code in card titles ( #2518 )
...
* Remove unused marked JS dependency
* Remove unused redcarpet dependency
* Render inline code in card titles
Add card_html_title helper that HTML-escapes input then converts
backtick-wrapped text to <code> elements. Apply to card titles in
board preview, card detail, public views, and notification emails.
Style inline code elements in titles to match description styling.
Co-authored-by: Andy Smith <andy@37signals.com >
---------
Co-authored-by: Andy Smith <andy@37signals.com >
2026-02-12 12:07:40 -05:00
Adrien Maston
07dfeedb7d
Merge pull request #2521 from basecamp/mobile/tweak-card-draft-ui
2026-02-12 18:03:14 +01:00
Alp Keser
b755522a73
Add notification.source_type.underscore
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