Commit Graph

3094 Commits

Author SHA1 Message Date
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 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
Andy Smith c8059dea90 Disable card column buttons when active 2026-01-13 16:15:33 -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
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
Alexander Zaytsev 6c6a7be607 Balance magic link instructions 2026-01-13 09:51:35 +01:00
Andy Smith 64fdbf6b8f Clean up blank slates 2026-01-12 15:37:06 -06:00
Andy Smith 4dedfce39f Add dialog manager to events page 2026-01-12 14:00:37 -06:00
Andy Smith 8bb043bef8 Move Undo form inside closure message element 2026-01-12 13:14:37 -06:00
Stanko Krtalić eceb6c9b43 Add self-service account deletion (#2246)
* Add self-service account deletion

* Disable access to cancelled accounts & implement Stripe interactions

* Add tests

* Fix failing tests

* Remove cancelled accounts from lists

* Fix incorrect redirect

* Use _path instead of _url for consistency

* Don't track how far the inicieration job got

We still want the step tracking so that the job can be interrupted. But, since the scope is idempotent, we don't need to track how far it got.

* Specify the exact time when the data will be deleted

* Fix crash due to unadvancable cursor

* Rename up_for_incineration to due_for_incineration

* Regenrate the schema

* Fix incorrect path check

* Migrate the SQLite schema

* Only show the cancel button on cancellable accounts

* Check that a subscirption method exists before calling it

* Ignore job failures due to missing records when an account gets deleted

* Skip sending notifications on cancelled accounts

* Use collbacks to integrate

* Add a blank line between queue_as and discard_on

* Break checks into methods

* Inline methods

* Rename Account::IncinerateJob

* Run migrations

* Migrate SQLite
2026-01-12 14:21:05 +01:00
Andy Smith 509f0ca305 Consolidate footer text into a shared partial 2026-01-09 11:57:45 -06:00
Andy Smith 641e94fc72 Merge pull request #2314 from afurm/fix/noopener-links
Add rel noopener/noreferrer to external links opened in new tabs
2026-01-09 11:42:14 -06:00
Andy Smith 03ce900c2e Tweak comment history button on mobile 2026-01-09 10:47:39 -06:00
Jeroen Versteeg d3258b3c7f Replace use of instance variable with local
The partial `boards/edit/auto_close` used both `@board` as well as `board`.
2026-01-09 16:31:47 +01:00
Jorge Manrubia f58a1aeb31 Use a dedicated resource for showing cards in draft mode
Mobile team needs this. Also, this lets us get rid from some conditionals for handling
both modes with a single template.

https://3.basecamp.com/2914079/buckets/44843469/messages/9437287330
2026-01-08 10:40:21 +01:00
Andy Smith eb4197f58d Repair scope for card styles within the columns view 2026-01-07 16:07:38 -06:00
Andrii Furmanets a84530a97f Add rel noopener to external links 2026-01-07 21:52:20 +02:00
Andy Smith 7f8e426534 Add missing list to cards page 2026-01-07 12:32:46 -06:00
Andy Smith 05c00aa1b8 Fix public layout 2026-01-07 12:14:50 -06:00
Andy Smith 897cac06c7 Pull board-tools outside of the list for mobile 2026-01-07 11:36:31 -06:00
Andy Smith 4cc44704e5 Merge branch 'main' into mobile-columns-pt-iii 2026-01-07 11:16:49 -06:00
Jorge Manrubia 7249e20b9b Merge pull request #2303 from basecamp/clear-filters-url
Go back to board after clearing filters
2026-01-07 18:03:52 +01:00
Andy Smith f58bb33775 Merge pull request #2249 from nqst/notification-settings-adjustments
Notification Settings adjustments
2026-01-07 10:08:22 -06:00
Jorge Manrubia a2553f1dcd Merge pull request #2118 from petzbloom-sudo/webhook-update
Add card assignees in card JSON builder
2026-01-07 16:51:58 +01:00
Andy Smith 776c67a501 Use notch class so Save button is positioned correctly 2026-01-06 15:57:36 -06:00
Andy Smith 218403f9d4 Go back to board after clearing filters 2026-01-06 15:37:40 -06:00
Andy Smith 9f40571a97 Revert "Use existing no_filtering_url to direct back to the board when clearing filters"
This reverts commit 3efe6bf484.
2026-01-06 15:36:42 -06:00
Andy Smith 3efe6bf484 Use existing no_filtering_url to direct back to the board when clearing filters 2026-01-06 15:35:16 -06:00
Andy Smith 8f2ff62f7f Fix public boards 2026-01-06 13:58:49 -06:00
Andy Smith 802ccef9bf Fix card grid layout 2026-01-06 13:38:50 -06:00
Andy Smith 3fb45c14e3 Merge branch 'main' into mobile-columns-pt-iii
* main:
  Update Rails
  Ignore hotkeys with modifiers
  Fix 1Password account ID (was user UUID) (#2278)
  Switch 1Password account to 37signals.1password.com (#2276)
  Remove CSS testing comments
  Max card count equals geared pagination size
  Block IPv4-compatible IPv6 addresses in SSRF protection (#2273)
  Only enable transitions on user interaction
  Don't update counter if value hasn't changed
2026-01-02 14:50:27 -06:00
Andy Smith 5b6fdbfeae Fix mini bubble cropping, filters padding, and grid-style 2026-01-02 12:45:53 -06:00
Andy Smith b4096d9f22 Move card__list outside pagination 2026-01-02 11:42:00 -06:00
Jay Ohms d273ab20a6 Merge branch 'main' into mobile-app/prepare-webviews
* main: (63 commits)
  Ignore hotkeys with modifiers
  Fix 1Password account ID (was user UUID) (#2278)
  Switch 1Password account to 37signals.1password.com (#2276)
  Remove CSS testing comments
  Max card count equals geared pagination size
  Block IPv4-compatible IPv6 addresses in SSRF protection (#2273)
  Only enable transitions on user interaction
  Don't update counter if value hasn't changed
  Add padding to upgrade message on larger screens
  Add test coverage for autolinking multiple URLs
  Add "noopener" to autolinks' rel attribute
  Avoid string manipulation when autolinking.
  Only bump z-index when nav is open
  Move nav and related elements above footer
  Delete Dockerfile.dev
  fix: use the right gh-cli arch package (#2232)
  Bump actions/attest-build-provenance from 3.0.0 to 3.1.0 (#2257)
  Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (#2256)
  Consider user avatars always public
  Implement authorization for Active Storage endpoints
  ...
2026-01-02 11:42:07 -05:00
Andy Smith 711eec133a Max card count equals geared pagination size 2025-12-30 12:30:55 -06:00
petzbloom-sudo 60f3f547c0 Update _card.json.jbuilder
Added Card assignees limit to 5*
2025-12-30 15:02:51 +00:00
Andy Smith b9c11ad768 Only enable transitions on user interaction 2025-12-29 15:30:55 -06:00
Andy Smith 58a330aa17 Merge branch 'main' into mobile-columns-pt-iii
* main: (55 commits)
  Add padding to upgrade message on larger screens
  Add test coverage for autolinking multiple URLs
  Add "noopener" to autolinks' rel attribute
  Avoid string manipulation when autolinking.
  Only bump z-index when nav is open
  Move nav and related elements above footer
  Delete Dockerfile.dev
  fix: use the right gh-cli arch package (#2232)
  Bump actions/attest-build-provenance from 3.0.0 to 3.1.0 (#2257)
  Bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (#2256)
  Consider user avatars always public
  Implement authorization for Active Storage endpoints
  Update documentation
  Expose the card ID and URL on comments
  Don't run application recurring jobs in betas
  This link is reduntant if you're over the limits
  Add obvious upgrade button when you're out of storage
  Internaly only view
  Target comment elements more precisely
  Better name for helper method
  ...
2025-12-29 14:07:00 -06:00
Alexander Zaytsev 3146fce3f6 Merge branch 'main' into notification-settings-adjustments 2025-12-24 16:27:44 +01:00
Alexander Zaytsev 43d56b39ea Show full browser name for Chrome in instructions 2025-12-24 16:13:48 +01:00
Alexander Zaytsev 2d5e441bf5 Consistent spacing 2025-12-24 15:51:46 +01:00
Stanko Krtalić 24c20ad55f Merge pull request #2244 from basecamp/expose-card-ids-on-comments
Expose the card ID and URL on comments
2025-12-24 08:50:47 +01:00
Stanko K.R. 822c3bb2ad Expose the card ID and URL on comments 2025-12-24 08:45:31 +01:00
Alexander Zaytsev e7d8f87d3c Add missing comma 2025-12-23 22:53:36 +01:00
Alexander Zaytsev 77279d470f Notifications settings -> Notification Settings 2025-12-23 22:53:16 +01:00
Jason Zimdars 87977eb770 Merge pull request #2211 from basecamp/card-nav-hotkeys
Add hotkeys for triaging cards in columns
2025-12-23 09:45:24 -06:00
Jason Zimdars 3a43e5e6c5 Don't render this at all in the preview template
Avoids situations where the hotkey could be triggered on the board view
2025-12-22 16:42:42 -06:00
Andy Smith ea61907397 Pass in data attribute to partial 2025-12-22 14:43:08 -06:00
Andy Smith 348808edc2 Replace span with li 2025-12-22 14:26:03 -06:00
Jason Zimdars 6de7b40024 Explicitly diable hotkeys in Not Now and Done 2025-12-22 14:14:50 -06:00