Commit Graph

5343 Commits

Author SHA1 Message Date
Jason Zimdars 74cd88d626 Always display the cancel button, esc isn't obvious 2025-11-24 17:19:01 -06:00
Jason Zimdars cfc61c318d Nothing should cover the bar, trays or search results 2025-11-24 17:18:44 -06:00
Jason Zimdars 789c00b87f Dark theme color isn't black
I *think* we don't need the theme color in the manifest since it doesn't
have dark mode support anyway
2025-11-24 16:37:50 -06:00
Jason Zimdars a1fcabf01e Add env constaints for mobile layout
In theory, this prevents overlapping device elements like the dynamic
island in landscape
2025-11-24 16:33:32 -06:00
Jason Zimdars b93224b45c Smaller on mobile
It really takes up a lot of space in landscape
2025-11-24 16:22:33 -06:00
Jason Zimdars 4e14c0df27 Reasonalbe max heights
Use all the available space above the search/trays footer. On mobile use
the full viewport height
2025-11-24 16:16:09 -06:00
Jason Zimdars ed19e6d494 Remove top orientation (it doesn't work well), make right and left classes exclusive
In certain cases (board picker) both classes would be applied making a
mess
2025-11-24 15:49:42 -06:00
Jason Zimdars 9cc63c6dce This is too fancy, remove it 2025-11-24 15:48:08 -06:00
Jason Zimdars 2f6f4cd3f5 Set reasonable maxes 2025-11-24 15:47:57 -06:00
Jason Zimdars 3a2b347aba Restore bubble to Maybe
Stalled cards in Maybe are often out of view
2025-11-24 15:17:45 -06:00
Mike Dalessio e0aa1d257e Drop User.system and replace with Account#system_user 2025-11-24 13:23:57 -05:00
Jason Zimdars a9da44b575 Merge pull request #1663 from basecamp/not-now-polish
Not now polish
2025-11-24 10:33:25 -06:00
Jason Zimdars dd2b067e98 Add properties for Lexxy's built-in styles
Usually, `<b>`, `<i>`, etc are enough but when you attempt a combo like
bold-italic, Lexxy applies two classes to a single element instead of
rendering tags like in the output
2025-11-24 10:04:12 -06:00
Kevin McConnell bd259f7795 Add optimistic pausing to avoid stale reads
Instead of writer pinning, we'll track the last transaction ID of each
write in the session. Then on each read we'll wait for the replica to
report that this transaction is available.

If it doesn't become available within a reasonable timeout, we'll
proceed anyway, and accept the possibility of a stale read.

The hope here is that most of the time, the replica is caught up in the
time between a write request and the following read request. If it's
not, we now have a little tolerance to wait for it, which hopefully
proves enough to stale reads are not encountered in normal use.

We also disable the writer affinity opt-out mechanism that we had
before, since we will no longer be using writer affinity at the load
balancer.
2025-11-24 13:29:52 +00:00
Stanko K.R. 46d80f2ca2 Serve system user avatar as an asset 2025-11-24 13:16:14 +01:00
Stanko K.R. e85c5736c9 Render system user avatars using redirects 2025-11-24 12:05:32 +01:00
Jason Zimdars 433a19e103 Add an avatar for the System user 2025-11-24 12:04:33 +01:00
Jason Zimdars 0c49d3c2a6 Use "Done" for consistency
Closed is domain language
2025-11-24 12:04:33 +01:00
Jason Zimdars 2f3d602deb No longer used
These are for the old closed section at the bottom of the screen and are
no longer relevant
2025-11-24 12:04:33 +01:00
Jason Zimdars 87c2428d47 Differentiate, even though they share some properties 2025-11-24 12:04:33 +01:00
Jason Zimdars 6af569ddd8 Use move icon here, too 2025-11-24 12:03:34 +01:00
Jason Zimdars 31d3aea3fa More copy edits 2025-11-24 12:03:34 +01:00
Jason Zimdars 86932803e4 Clarify not now move actions copy 2025-11-24 12:03:34 +01:00
Jason Zimdars 5fac18d01f Restore auto-postponed events to the timeline 2025-11-24 12:03:34 +01:00
Mike Dalessio 26ccbf6968 Merge pull request #1695 from basecamp/flavorjones/better-card-edit-form-behavior
Update card buttons dynamically
2025-11-23 23:36:10 -05:00
Mike Dalessio 09e6a15c6e Merge pull request #1696 from basecamp/flavorjones/avoid-overlapping-bundles
Prevent overlapping bundles from being created
2025-11-23 10:20:17 -05:00
Jorge Manrubia f0851988a2 Revert tentatively
Kevin got a bunch of dups, need to look into this more calmly https://3.basecamp.com/2914079/buckets/37331921/chats/9301300227
2025-11-23 10:18:39 +01:00
Mike Dalessio db51b616bb Handle notifs created before the current bundle starts_at 2025-11-22 22:38:23 -05:00
Mike Dalessio a29dd89683 Make sure Bundle#ends_at is set before validation
otherwise we risk creating overlapping bundles and not catching it.
2025-11-22 22:19:05 -05:00
Jason Zimdars a66b40ba51 Display this full size on mobile
Just the icon isn't clear enough
2025-11-22 17:59:33 -06:00
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