Commit Graph

500 Commits

Author SHA1 Message Date
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
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
Alexander Zaytsev 7cf0e578bc Rename isInitialLoad to hasChanged 2025-12-16 15:14:15 +01:00
Alexander Zaytsev 876eb5459a Use View Transitions for smooth theme switching 2025-12-16 08:59:35 +01:00
Andy Smith a3723ef0d2 Cleanup and scroll into view when expanding 2025-12-15 16:03:16 -06:00
Stanko K.R. 15cb1f7fe1 Add UI to prevent assigning more than 10 asignees 2025-12-15 16:40:52 +01:00
Mike Dalessio e9cb2956ee Lightbox uses Stimulus target callbacks instead of data-action
Remove data-action from the sanitizer allowlist to disallow injection
of potentially malicious Stimulus actions in user-provided
content. The lightbox controller now uses imageTarget callbacks to
handle clicks on image links.

Also add the file name as a caption in the light box, and fix the
caption color for dark mode visibility.
2025-12-13 17:06:03 -05:00
Andy Smith 0d370a04a2 Fix .closest selector to be more fuzzy 2025-12-12 14:49:13 -06:00
Andy Smith c979731491 Use getter for isDesktop 2025-12-12 14:46:04 -06:00
Andy Smith b80499e955 Leave Maybe column expanded on Desktop 2025-12-12 14:08:22 -06:00
Andy Smith c6bfeb6982 Handle Maybe column state at desktop breakpoint 2025-12-12 13:49:17 -06:00
David Heinemeier Hansson c9e9e7be55 Unused 2025-12-12 20:40:47 +01:00
Andy Smith 3b08041a3e Only use grid layout when centering the Maybe column 2025-12-12 13:16:45 -06:00
Jason Zimdars 941ce1f775 Need to use has*Target to check for optional static targets to prevent console errors 2025-12-11 09:38:34 -06:00
Jason Zimdars 2a0cf4efe9 Turn #theme into a proper setter 2025-12-11 09:31:12 -06:00
Jason Zimdars 21586291fa Prefer normal if/else conditional 2025-12-11 08:59:13 -06:00
Jason Zimdars 2d359fa230 Clean-up styles and JS controller, use radios 2025-12-10 16:15:45 -06:00
Andy Smith dc6696940c Don't use abbreviations 2025-12-10 11:21:31 -06:00
Jason Zimdars 8db6f508bf Merge branch 'main' into theme-switcher-revised 2025-12-08 17:58:46 -06:00
Mike Dalessio 63805aee0f Merge pull request #1984 from gijigae/fix/japanese-ime-input
Fix Japanese IME input handling for tag, step, and reaction fields
2025-12-08 11:09:33 -05:00
Bruno Canepa f419ba5a13 refactor from PR feedback: update theme controller to use private methods for theme management 2025-12-07 20:07:06 -03:00
Jorge Manrubia 9f20e8bfbb Merge pull request #1973 from basecamp/lightbox-transitionend-handler
Fix lightbox transitionend listener leak
2025-12-07 11:44:03 +01:00
Jeremy Daer 529f5af5f6 CSP adherence: fix magic links console logging (#1989)
* CSP: fix magic link console logging by including nonce in the script tag

* Remove unused back-nav controller

Unused since c0f842427d

Eliminates a potential CSP violation with javascript: URI
2025-12-06 10:08:22 -08:00
Bruno Canepa 6ae9486b4d add 3 toggle botons 2025-12-06 14:29:49 -03:00
gijigae e03c002efd Fix Japanese IME input handling for tags and form fields
When typing in Japanese, the Enter key is used to confirm kanji conversion
during IME composition. Previously, pressing Enter would immediately save
the tag, which prevented users from completing the conversion.

Changes:
- Add isComposing check to navigable_list_controller.js Enter handler
- Add IME composition tracking to form_controller.js
- Add compositionstart/compositionend event handlers to tag, step, and
  reaction input fields
- Add preventComposingSubmit action to prevent form submission during
  composition

This fix supports all IME input methods (Japanese, Chinese, Korean, etc.)
using standard browser composition events.
2025-12-06 17:26:35 +09:00
Mike Dalessio fa549a370b Add a system test for joining an account
Reworked the magic link stimulus controller, because the system test
was causing double-submission of the form (because the event was
bubbling up). I think that change simplifies the form and will still
work well for iOS devices.
2025-12-05 21:51:44 -05:00
Jeremy Daer db55923fdb Fix lightbox transitionend listener leak
Switch to a Stimulus action for automatic handling
2025-12-05 16:19:01 -08:00
Jorge Manrubia 046a42c4f6 Rename to be more consistent 2025-12-05 07:55:11 +01:00
Jorge Manrubia fce6345fa6 Merge pull request #1936 from basecamp/use-self
Use buil-in support for :self in Stimulus
2025-12-04 22:42:55 +01:00
Jorge Manrubia effb96537a Use buil-in support for :self in Stimulus
Thanks to @brunoprietog for advice https://github.com/basecamp/fizzy/pull/1927/files/9639e07ab88f628f5f37ad2aa9acee2b86d4fb1a#diff-24a46f2ca97f2964d4d8940123b7f76578694567df84256f576aa4bee221179e
2025-12-04 22:16:00 +01:00
Andy Smith 1c5ead0096 Merge pull request #1930 from basecamp/prevent-blank-board-names
Prevent board names with only spaces and show validation message
2025-12-04 14:50:17 -06:00
Jorge Manrubia 9639e07ab8 Save a bunch of invocations on morph events from children elements 2025-12-04 21:27:22 +01:00
Jorge Manrubia 704b5b9788 Fix: memoization was showing stale values when morphing 2025-12-04 21:21:54 +01:00
Bruno Canepa 2120d00186 Add Theme Switcher 2025-12-04 16:36:16 -03:00
Jorge Manrubia bbec988516 Golden cards should be placed at the top 2025-12-04 19:23:55 +01:00
Jorge Manrubia a380492b32 Animate the column height with a stimulus controller so that it does not depend to the server to update when you D&D 2025-12-04 19:15:38 +01:00
Andy Smith 23ec3f129a Support custom validation messages 2025-12-04 11:43:55 -06:00