Commit Graph

534 Commits

Author SHA1 Message Date
Jay Ohms b074a11e1d Update the card perma to support bridge buttonsa and the edit form state 2026-01-09 13:09:51 -05:00
Jay Ohms 2e55f67d9b Extract filtering for enabled targets so that the index of the targets is always the same for the bridge message callback 2026-01-08 22:28:59 -05: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 19d16e6949 Cleanup bridge components 2026-01-08 13:46:31 -05:00
Denis Švara 33fa3a9c0f Remove unused BridgeElement extensions. 2026-01-08 17:00:11 +01:00
Denis Švara 8f07ad650a Explicitly send submit button data in bridge form controller. 2026-01-08 16:58:30 +01:00
Denis Švara e286539930 Drop name from bridge icon. 2026-01-08 16:50:52 +01:00
Denis Švara 70853ef7d3 Drop label from bridge button. 2026-01-08 16:49:56 +01:00
Denis Švara 228f65d922 Remove change event from bridge page controller. 2026-01-08 16:40:47 +01:00
Adrien Maston 1028eab8d6 Remove useless shouldLoad 2026-01-08 16:32:58 +01:00
Adrien Maston 3a43941575 Move bridge javascript into existing folder structure 2026-01-08 16:22:55 +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
Denis Švara 674509b6d3 Update overflow menu controller to send an array of menu items. 2026-01-08 14:29:33 +01:00
Denis Švara d38c0c9817 Add bridge overflow menu controller. 2026-01-08 11:39:51 +01:00
Denis Švara 0a57e39060 Remove redundant url from bridge page change payload. 2026-01-08 10:32:40 +01:00
Denis Švara b8bb4cf381 Remove option to toggle header visibility from mobile apps in bridge page controller. 2026-01-08 10:15:14 +01:00
Denis Švara e2f99892b1 Remove form related events from bridge page controller. 2026-01-08 09:59:44 +01:00
Andy Smith 4cc44704e5 Merge branch 'main' into mobile-columns-pt-iii 2026-01-07 11:16:49 -06:00
Denis Švara 9331c37f6f Remove bridge nav-button controller. 2026-01-07 17:55:23 +01:00
Denis Švara 76eaf326c0 Add bridge buttons controller.
It sends all buttons in one connect payload.
2026-01-07 17:54:52 +01:00
Jorge Manrubia 732c6259a8 Merge pull request #2163 from italomatos/fix/maintain-search-input-focus-on-submit
Fix: Maintain search input focus after form submission
2026-01-07 16:48:53 +01:00
Denis Švara ce0538d43b Move bridge insets controller to bridge/controllers. 2026-01-07 11:35:01 +01:00
Denis Švara c61942d57b Add bridge form controller. 2026-01-07 09:58:06 +01:00
Denis Švara 367edfcbac Add bridge nav-button controller. 2026-01-07 09:49:31 +01:00
Denis Švara 69c17a786b Add bridge insets controller. 2026-01-07 09:39:12 +01:00
Denis Švara 2d7b76ff78 Fix bridge viewport safe-area insets. 2026-01-06 17:14:51 +01:00
Denis Švara 177afe1a41 Add bridge page controller and helpers. 2026-01-06 15:54:10 +01:00
Denis Švara b84da94016 Add Hotwire Native Bridge wiring. 2026-01-06 15:46:47 +01:00
Andy Smith c8c6fbbb13 Remember expanded state on navigation 2026-01-05 12:49:38 -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 837b820291 Better scroll snapping 2026-01-02 12:22:07 -06:00
Andy Smith d3bfd14c22 Only auto-focus Maybe column on desktop 2026-01-02 12:11:17 -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
Jason Zimdars d7ef796092 Ignore hotkeys with modifiers
Avoids unintentionally triggering when using system shortcuts like
`command+[` in macOS
2026-01-01 09:47:10 -06:00
Andy Smith 711eec133a Max card count equals geared pagination size 2025-12-30 12:30:55 -06:00
Andy Smith b9c11ad768 Only enable transitions on user interaction 2025-12-29 15:30:55 -06:00
Andy Smith 67f39aad8a Don't update counter if value hasn't changed 2025-12-29 14:51:11 -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
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 6de7b40024 Explicitly diable hotkeys in Not Now and Done 2025-12-22 14:14:50 -06:00
Jason Zimdars 72ffc2b974 Merge branch 'main' into smooth-theme-change 2025-12-22 11:34:48 -06:00
Jason Zimdars d0587d5db8 turbo:load doesn't seem to be working, try a specific controller method to open it 2025-12-20 18:05:41 -06:00
Jason Zimdars 6e90a6dbfb Add hotkeys for triaging cards in columns
Hover to select items
2025-12-19 14:33:47 -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
Jay Ohms e379721c2f Merge branch 'main' into mobile-app/prepare-webviews
* main: (107 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:52:04 -05:00
Italo Matos d66e2f0b8a remove comment and move logic to method 2025-12-19 12:33:00 -03:00
Adrien Maston b49aa9cbf1 Don't load the navigable list controller on mobile 2025-12-19 12:16:04 +01:00
Adrien Maston 12bc237665 Horizontal column picker
... in card perma
2025-12-17 11:34:31 +01:00
Italo Matos e23b871172 Fix: Maintain search input focus after form submission
Problem:
When pressing Enter in the search input field, focus was lost after
the form was submitted and the Turbo Frame updated with search results.
This forced users to click back into the field to continue interacting
with the search.

Solution:
Added a turbo:frame-load event listener in the bar controller's
showModalAndSubmit method that automatically restores focus to the
search input after the Turbo Frame finishes loading the results.
The listener uses {once: true} to auto-cleanup after execution.
2025-12-16 12:25:25 -03:00
Alexander Zaytsev 7cf0e578bc Rename isInitialLoad to hasChanged 2025-12-16 15:14:15 +01:00