Commit Graph

5227 Commits

Author SHA1 Message Date
Mike Dalessio b05ecb7809 Update card buttons dynamically
User flows when editing a card look like:
- Click "Edit" → the closure buttons are replaced by "Save changes"
- Submit card form → Saves and restores closure buttons
- Press ESC while editing → Cancels and restores closure buttons

Also, renamed for clarity:
- _title.html.erb → _content.html.erb

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 12:14:39 -05:00
Mike Dalessio 4e6a053ff2 Make sure the card edit button targets the turbo frame
Related to 5aaaeab5
2025-11-22 10:15:11 -05:00
Mike Dalessio 4dc28943da Don't let cloudflare cache avatars
The issue here is that anyone else who views my avatar will cause it
to be cached, and then I can't easily bust the cache if I change my
avatar.
2025-11-22 09:48:28 -05:00
Jason Zimdars 805c505f8d Fussy padding tweaks on boosts 2025-11-21 16:48:40 -06:00
Jason Zimdars d3365e4ac2 Typo 2025-11-21 16:37:06 -06:00
Jason Zimdars 2141dfc9b8 Copy edits 2025-11-21 16:31:07 -06:00
Andy Smith 3399b00139 Ability to close search when input is empty 2025-11-21 16:08:52 -06:00
Andy Smith ec0681bbed Better focus and clearing when searching 2025-11-21 16:08:52 -06:00
Mike Dalessio ec8974640f User avatar responses have cache-control "public"
ref: https://app.fizzy.do/5986089/cards/3125
2025-11-21 16:08:52 -06:00
Mike Dalessio af0e2488d0 Improve avatar image handling
- redirect avatar image requests to the rails_blob_url, instead of
  streaming them through the web app
- use a thumbnail variant for avatar images
- only put avatar initials behind the stale? check (not the image
  redirect, which would result in browsers rendering broken images when
  an avatar is changed, until max-age expires)
2025-11-21 16:08:52 -06:00
Jason Zimdars a9bbd9d539 Special handling on mobile 2025-11-21 16:07:36 -06:00
Jason Zimdars c8012ef4d4 Improve assignments picker when few/short names 2025-11-21 14:29:22 -06:00
Jason Zimdars 5aaaeab5ea Try the edit button on the bottom line 2025-11-21 14:17:41 -06:00
Jason Zimdars 0747eadb81 For some reason 1pw wants to fill this field, avoid overflow 2025-11-21 14:11:44 -06:00
Jason Zimdars d179316662 Merge pull request #1650 from basecamp/column-nav-keyboard
Navigate columns with keyboard
2025-11-21 12:59:32 -06:00
Stanko K.R. fe909d6dc5 Disable stale while revalidate for own avatar
Locally, having stale_while_revalidate works great, but in production when we are behind CloudFlare, this results in an old image being shown after you upload a new one

See: https://app.fizzy.do/5986089/cards/2978
2025-11-21 19:26:38 +01:00
Stanko K.R. 2c1a0301c2 Fix crash on very long card titles 2025-11-21 18:17:49 +01:00
Stanko Krtalić 99f5e2b280 Merge pull request #1684 from basecamp/fix-call-to-nonexistant-blur-action
Fix call to non-existant blur action
2025-11-21 18:00:58 +01:00
Stanko K.R. 6f8364071c Fix call to non-existant blur action 2025-11-21 17:57:38 +01:00
Andy Smith 7fb46ee6b7 Merge pull request #1683 from basecamp/andy-nov-20
Andy nov 20
2025-11-21 10:02:02 -06:00
Jason Zimdars 2c4d2df469 Merge pull request #1679 from basecamp/notifications
Cap the max number of unread notifications to 500
2025-11-21 09:34:26 -06:00
Jorge Manrubia 95b555869b not used 2025-11-21 16:31:06 +01:00
Jason Zimdars c0920f046f Move to bottom, use utility classes 2025-11-21 09:29:21 -06:00
Jason Zimdars 2382326a13 Merge pull request #1638 from basecamp/expand-activity-columns
Expand activity columns
2025-11-21 09:11:22 -06:00
Stanko K.R. ac2ed4851e Blur comment field after submission 2025-11-21 15:59:22 +01:00
Jorge Manrubia 42a39b224c Cap the max number of unread notifications to 500
Simpler than adding 2 levels of pagination here
2025-11-21 15:55:24 +01:00
Jorge Manrubia 41905068c0 Bundle after notification is committed to mitigate reading stale data when bundling
Attempt to deal with overlapping bundles being created by notifications created immediately
one after the other.
2025-11-21 14:34:05 +01:00
Jorge Manrubia 6daccc88ae Deselect column/card selection when clicking outside 2025-11-21 12:53:13 +01:00
Stanko Krtalić 90113206e3 Merge pull request #1676 from basecamp/fix-filters-obscuring-jump-menu
Fix pickers obscuring jump menu
2025-11-21 12:45:54 +01:00
Stanko K.R. dd5cf6f628 Fix pickers obscuring jump menu 2025-11-21 12:41:45 +01:00
Jorge Manrubia 6af9ab9b6d Make selection work when toggling columns 2025-11-21 12:28:37 +01:00
Donal McBreen adff4591fe Search with the tenant key
The key has been added and populated so use it for searching.
2025-11-21 11:09:06 +00:00
Stanko Krtalić 342ebc4975 Merge pull request #1672 from basecamp/fix-back-navigation-not-opening-new-tabs
Fix inability to open "Back to" inks in a new tab
2025-11-21 11:53:10 +01:00
Stanko K.R. 7c15be02f8 Skip navigation when opening a new tab 2025-11-21 11:48:29 +01:00
Donal McBreen a4ce9fc5c0 Merge pull request #1671 from basecamp/search-tenant-key
Search tenant key
2025-11-21 10:42:47 +00:00
Donal McBreen 74d1cf735b Only add and fill account_key 2025-11-21 10:20:27 +00:00
Andy Smith 2c05bafce6 Better styles for focus ring 2025-11-21 11:20:19 +01:00
Stanko K.R. 2b23d85653 Add dir=auto to title inputs
See: https://github.com/basecamp/once-campfire/pull/97
2025-11-21 11:13:44 +01:00
Jorge Manrubia a4cc568a71 Merge branch 'main' into column-nav-keyboard
Resolved conflict in app/views/boards/show/_columns.html.erb by combining:
- hide-scrollbar class from main
- navigable-list controller from column-nav-keyboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 10:54:45 +01:00
Jorge Manrubia 49e801fdb1 Just the date makes for better-looking URLs 2025-11-21 10:40:37 +01:00
Donal McBreen 70dd754cf7 Account key for search records
Add an account key field to improve search performance. This field
allows us to filter the records by account directly in the fulltext
index, so we only need to examine rows belonging to the relevant account.
2025-11-21 09:38:35 +00:00
Jorge Manrubia 93ee8899a0 More robust implementation to prevent method injection attacks 2025-11-21 10:38:16 +01:00
Jorge Manrubia b0d732675c Extract partial 2025-11-21 10:32:32 +01:00
Jorge Manrubia e4558f00ab Merge branch 'main' into expand-activity-columns 2025-11-21 10:25:39 +01:00
Jorge Manrubia 9d08f26c59 Disable turbo when navigating to another account
So that the turbo-permanent trays get properly replaced

https://app.fizzy.do/5986089/cards/3094
2025-11-21 09:54:16 +01:00
Jorge Manrubia 021831f810 Extract partials for the different sections 2025-11-21 09:48:00 +01:00
Jorge Manrubia 85b9e3dfd4 Make the notifications tray reload on broadcasted refreshes
We can't use the normal refresh: :morph because everything is contained in a turbo permanent section
so that the trays persist across regular navigation.
2025-11-21 09:41:03 +01:00
Jorge Manrubia e813b7eaf0 Invalidate HTTP caching when the cards change
https://app.fizzy.do/5986089/cards/3067
2025-11-21 09:32:02 +01:00
Jorge Manrubia 649888dbd4 Making the frame permanent with an id would reconnect the editor causing the dup
This is something we need to fix in Lexxy for good, but for now this patch will do it.

https://github.com/basecamp/lexxy/issues/263
2025-11-21 08:52:10 +01:00
Jason Zimdars 9bae30f771 Show account if you have multiple
It's hard to know which account email notifications are coming from
2025-11-20 22:03:54 -06:00