Commit Graph

77 Commits

Author SHA1 Message Date
Mike Dalessio 248fc5d3e7 Fix back navigation from filter views to cards (#2725)
* test: update sign_in_as system test helper to be more generic

and support fixture users with more than one board

* test: backfill a test for the card "back link"

when coming from a board filter page

* Fix back navigation to filter views from cards

When navigating from a filter view to a card, the back link now shows
the filter's label and navigates back to the filter URL instead of the
card's board.

The turbo-navigation Stimulus controller stores the page title alongside
the referrer URL in sessionStorage. On the card show page, a
referrerBackLink target rewrites the back link's href and label from the
stored values. This is scoped only to the card show page to avoid
navigation loops in multi-level deep pages.

* Add referrer allowlist to prevent stale referrer rewrites

The back link is only rewritten when the stored referrer's path matches
an allowlist of paths passed via prefer_referrer. This prevents stale
referrers from unrelated pages (e.g., settings) from overriding the
card's back link.

* Move back link navigation tests to dedicated system test file

Extract back link tests from smoke_test.rb into their own file since
they test specific JavaScript behavior that needs regression coverage.
Move sign_in_as helper to ApplicationSystemTestCase for reuse.

* Move markdown paste tests to dedicated system test file
2026-03-18 17:03:13 -04:00
Jay Ohms 09e4bb13d3 Preset the data-bridge-platform and data-bridge-components on the body element from the user-agent. This prevents css flashes before the native bridge is registered in the app. 2026-03-17 09:59:45 -04:00
Adrien Maston e9ebf8e9a5 Fix bad formatting on bridge page title attr 2026-01-19 17:42:05 +01:00
Denis Švara 4f7cec3b71 Rename bride page controller to title controller and remove text size related code. 2026-01-13 09:36:24 +01:00
Jay Ohms 2b0c4b4c69 Send icon urls with buttons and resolve duplicate bridge items on the board perma since there are duplicate hidden elements 2026-01-08 22:01:08 -05:00
Jay Ohms e35d3c8b63 Break up excessively long lines with bridge attributes 2026-01-08 13:47:04 -05:00
Adrien Maston 4a798b75a5 Add bridge overflow menu controller to <body> 2026-01-08 17:47:17 +01:00
Adrien Maston 45f24d959e Move bridge buttons controller to <body> 2026-01-08 16:31:00 +01:00
Denis Švara eae17b82b4 Merge branch 'main' into mobile/bridge-components
* main: (65 commits)
  Repair scope for card styles within the columns view
  Add missing list to cards page
  Account for simpler public views
  Fix public layout
  Pull board-tools outside of the list for mobile
  saas: move log_level setting into an environment variable
  Restore log level configurability in production environment
  Remove engagements
  Use notch class so Save button is positioned correctly
  Go back to board after clearing filters
  Revert "Use existing no_filtering_url to direct back to the board when clearing filters"
  Use existing no_filtering_url to direct back to the board when clearing filters
  Ensure filters sit on top of cards
  Fix public boards
  Fix card grid layout
  Fix Chinese/Japanese characters missing from printed PDFs on macOS
  Add SQLite FTS5 support for CJK search
  Add CJK (Chinese, Japanese, Korean) search support
  Fix scrolling on mobile
  Remember expanded state on navigation
  ...
2026-01-08 14:34:10 +01:00
Andy Smith 4cc44704e5 Merge branch 'main' into mobile-columns-pt-iii 2026-01-07 11:16:49 -06:00
Denis Švara cdc4f2c211 Wire bridge insets controller into the layout. 2026-01-07 09:39:56 +01:00
Denis Švara 367a7ab4f7 Use raw page_title in bridge page title attribute 2026-01-06 17:23:12 +01:00
Denis Švara ecf0921af9 Add bridge page targets. 2026-01-06 16:03:28 +01: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 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
Jason Zimdars 3b1c67f57d Undo debug 2025-12-20 17:34:19 -06:00
Jason Zimdars 0adcfabe4c Stub welcome letter for newly created accounts 2025-12-19 15:36:52 -06:00
Andy Smith c3a3aa108a Merge branch 'main' into mobile-columns-pt-iii
* main: (318 commits)
  Document the new sign in method
  Replace handle_ naming
  Use same constant for fake magic links
  Replace FakeMagicLink with a temporary object
  Tidy up session_token
  Clean up interfaces
  Split tests by controller or responsibility
  Simplify auth logic
  Fix due to unit test when creating with invalid emails
  Restore sessions_controller test on creating invalid email address
  Move magic link api tests to their own files
  Rename test to clarify what they're about
  Cleanup session creation
  Update to always return a pending auth token for JSON responses.
  Update API test for cross code
  Change test expectation on single tenant mode account creation
  Add unit tests for the new endpoints
  Pass a server token when creating a magic link via API
  Simplify code a bit
  Simplify session create logic for both html and json
  ...
2025-12-19 13:13:15 -06:00
Adrien Maston 0f26baee09 Hide elements
Menu, back buttons, bottom bar
2025-12-17 10:45:24 +01:00
Adrien Maston 3c9c4cafea Use buttons above title layout 2025-12-17 10:45:17 +01:00
Adrien Maston 5b7aa67bb3 Add platform attribute 2025-12-17 08:56:08 +01:00
Andy Smith f2591e7da6 Basic scrolling setup 2025-12-15 14:56:27 -06:00
Bruno Canepa 2864e32efa Move theme button into the user profile page 2025-12-04 17:01:14 -03:00
Bruno Canepa 2120d00186 Add Theme Switcher 2025-12-04 16:36:16 -03:00
David Heinemeier Hansson 5d98ca3c4b Move loader up a level 2025-11-08 16:59:36 +01:00
Andy Smith 23ce52d79a Sticky Fizzy nav 2025-11-07 11:31:24 -06:00
Jorge Manrubia a5016ba854 Reorganize the main menu templates
The filter folder wasn't a good spot for this menu code anymore
2025-10-31 12:47:56 +01:00
David Heinemeier Hansson 70a506c4a3 My menu is on every screen when the user is logged in 2025-10-30 16:28:51 +01:00
Jorge Manrubia 0347806ce1 Fix: Keep the previous filtering when navigating back from cards
https://fizzy.37signals.com/5986089/cards/1760/edit

This also adds a proper resource for filtered collections, instead of changing the URL to cards for filtering cards.
2025-09-30 15:48:56 +02:00
Jorge Manrubia b15cb4541f Show summarier capturing the actual weeks in the user's timezone
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047#__recording_9037056688
2025-09-05 13:48:02 +02:00
Jorge Manrubia cfa0149564 Persist timezones in the server
Add a beacon to persist timezones when these change (or the first time)
2025-09-05 12:11:57 +02:00
Andy Smith bb04512b0c Consolidate header and nav layouts 2025-08-27 13:48:47 -05:00
Stanko K.R. a580a0ddbf Fix navigation bugs 2025-08-22 07:33:26 +02:00
Stanko K.R. 9a6fc1f54a Create bar controller 2025-08-22 07:33:00 +02:00
Mike Dalessio a8a8a46efa Extract flash message into a partial, and wrap in a turbo frame
to prepare for turbo responses to set a flash message.
2025-08-07 15:04:09 -04:00
Jason Zimdars 7d77f014a2 Only connect lightbox controller where the partial is present
- Fixes a console error that complained the dialog target was missing
2025-08-06 17:38:45 -05:00
Andy Smith 7d35ab11ec Add a remove image button inside the lightbox 2025-08-04 13:36:56 -05:00
Jason Zimdars ec8084074f Add missing lang attribute
See: https://fizzy.37signals.com/5986089/collections/2/cards/1110
2025-07-16 11:05:23 -05:00
Jason Zimdars 6504813b4a Point skip links to correct anchor, don't navigate with turbo 2025-07-02 14:53:47 -05:00
Jorge Manrubia 28d1f104fd Basic rendering for public collections 2025-06-09 13:09:32 +02:00
Jorge Manrubia fa04016cbe Revert "Revert "Replace House with Lexical"" 2025-05-29 14:25:16 +02:00
Jorge Manrubia 08d8b2e5ff Revert "Replace House with Lexical" 2025-05-29 14:22:27 +02:00
Jorge Manrubia 4aa1cef99d Show previeable content in the editor
Embedded PDF previewing isnt' reliable (not working in Safari with active storage). Instead
let's align the editor with Active Storage previews and support pdf previews
2025-05-27 12:30:44 +02:00
Andy Smith 9a9cb3340b WIP 2025-05-22 11:01:17 -05:00
Jorge Manrubia 515396263e Refresh local time target when morphed
Alternative to https://github.com/basecamp/fizzy/pull/486
2025-05-13 05:44:19 +02:00
Mike Dalessio 5d84b16b36 Ensure dates are re-formatted on turbo frame load
ref: https://37s.fizzy.37signals.com/collections/693169850/cards/999009063
2025-05-12 15:52:19 -04:00
Mike Dalessio 0219ad8c1f Fix the flashing notif tray
I think this is OK to make permanent again now that we're broadcasting
readings to keep the try in sync.

ref: https://37s.fizzy.37signals.com/collections/693169850/cards/999009042
2025-05-08 17:31:34 -04:00
Jorge Manrubia 3e8896ef93 Undo working for assignments 2025-05-06 09:25:52 +02:00
Jorge Manrubia ea1f39ac6c Move partial 2025-05-06 07:59:20 +02:00
Jorge Manrubia 65d809dd8d Basic models for Fizzy do and searches working with them 2025-05-06 06:42:33 +02:00