Jorge Manrubia
d4ad62109c
Rename/extract methods
2025-11-28 15:53:58 +01:00
Jorge Manrubia
4e09352c09
Bring simple signup flow from the fizzy-saas gem
...
We skip the QB code and we fill external account ids automatically on creation with a sequence
See:
https://github.com/basecamp/fizzy-saas/pull/7
2025-11-28 15:53:58 +01:00
Jorge Manrubia
2061ab4ab2
Use dedicated sequence record instead of deal with issues with ids and uuids when using the previous approach
2025-11-28 15:53:58 +01:00
Jorge Manrubia
07b4c55185
Auto-increment external_account_id automatically by default to allow upcoming simple signups
2025-11-28 15:53:58 +01:00
Jorge Manrubia
e30709f6a7
Remove structured logging moved to the engine
2025-11-28 15:53:58 +01:00
Jorge Manrubia
8baf5b8abd
Make mission control only accessible for staff members
2025-11-28 15:53:58 +01:00
Jorge Manrubia
c1334f7ffe
Don't choke if no structured logging
...
Temporary workaround, we need a better solution here.
2025-11-28 15:53:58 +01:00
Jason Zimdars
d4e540d633
Need to replace the entire block, not just the buttons in most cases
...
Fixes that closure notice was missing from views
2025-11-28 08:36:41 -06:00
Mike Dalessio
3f8d10d679
Merge pull request #1747 from basecamp/flavorjones/perf-20251127
...
Address some N+1 query situations
2025-11-27 12:46:56 -05:00
Mike Dalessio
09366fc949
style: rubocop fix
2025-11-27 12:34:31 -05:00
Jorge Manrubia
e0d3e7f170
Merge pull request #1746 from basecamp/scroll-columns
...
Fix: scrolling to parent navigable list despite of setting
2025-11-27 18:06:44 +01:00
Jorge Manrubia
0a0a8642c9
Fix: scrolling to parent navigable list despite of setting
...
We need to check the setting of the parent controller
https://app.fizzy.do/5986089/cards/3184
2025-11-27 18:04:38 +01:00
Stanko K.R.
e3d91f4ba2
Fix join codes skipping user setup
...
If someone joined an account with the same identity as they were signed in with the old logic would skip the user setup step
2025-11-27 17:59:17 +01:00
Mike Dalessio
198e404eb0
Avoid N+1 on account and board settings pages
2025-11-27 11:44:16 -05:00
Mike Dalessio
50fe973105
Remove N+1 on the cards board.
2025-11-27 11:30:54 -05:00
Mike Dalessio
0ab3aaca72
Preload Event to avoid N+1s on the timeline
2025-11-27 11:27:10 -05:00
Mike Dalessio
79c9ea2ce1
Remove a bunch of N+1s
...
related to notification and comment rendering
2025-11-27 11:08:45 -05:00
Jason Zimdars
29e62ac90c
Fix that board button was leaking to the right of columns
...
See: https://app.fizzy.do/5986089/cards/3148
2025-11-27 09:18:33 -06:00
Jason Zimdars
5e971f41af
Set entropy to 1 year so cards don't close before they can play
2025-11-27 09:18:33 -06:00
Jorge Manrubia
0453526bf1
Prevent Fizzy menu from closing on page refreshes
...
https://app.fizzy.do/5986089/cards/3190
2025-11-27 09:18:33 -06:00
Jorge Manrubia
5e23e6c3d3
Prevent Fizzy menu from closing on page refreshes
...
https://app.fizzy.do/5986089/cards/3190
2025-11-27 07:07:27 +01:00
Jason Zimdars
48d9a25820
Fix that 'closed'->'done' change broke this route
2025-11-26 14:58:17 -06:00
Mike Dalessio
9446bc18d2
Simplify Current.with_account and .without_account
...
Co-authored-by: Jeffrey Hardy <jeff@37signals.com >
2025-11-26 12:31:49 -05:00
Jason Zimdars
e26845709a
Disable focus ring
2025-11-26 11:24:13 -06:00
Jason Zimdars
9ca4cda5e4
Larger emojis in picker, fit on narrow viewports
2025-11-26 11:13:18 -06:00
Rosa Gutierrez
3e716bfa26
Fix a couple of typos
2025-11-26 13:16:44 +01:00
Donal McBreen
c4498212dc
Merge branch 'main' into sqlite
...
* main: (116 commits)
Ensure avatar thumbnails are square
Update useragent to recognize twitterbot/facebot
Add defensive styles for non-square avatar images
Update test for copy changes
Missed commit
AI: standardize on https://agents.md
Make it clear this is just notifications, not comprehensive activity
AI: configure MCP servers for Chrome, Grafana, and Sentry (#1727 )
Allow requests from Google Image Proxy
Update to basecamp's useragent fork
Clean up a little bit the CSRF reporting code
Claude: production observability guidance (#1725 )
Prevent autoscroll to the root columns container to prevent jump on page load
Include full name string so you can type your name to filter
Prioritize current user and assigned users in assignment dropdown
Check and report on Sec-Fetch-Site header for forgery protection
bundle update
Bump bootsnap from 1.18.6 to 1.19.0
Bump rails from `077c3ad` to `17f6e00`
Fix cards getting stuck in edit mode
...
2025-11-26 10:07:41 +00:00
Donal McBreen
9c86205510
Enforce SQLite column limits via CHECK constraints
...
Patch the sqlite adapter to add CHECK constraints for string and text
column limits. We'll do them inline, so that any column changes
automatically update the constraints.
2025-11-26 09:50:29 +00:00
Kevin McConnell
ca5065a378
Ensure avatar thumbnails are square
...
Previously we were fitting the image inside a 256x256 box while keeping
it's original aspect ratio. But this can lead to images that are
squished and/or pixelated when we try to show them inside a square
container in the app.
Instead we can resize them to be square.
2025-11-26 09:21:46 +00:00
Jason Zimdars
d825447e6b
Add defensive styles for non-square avatar images
2025-11-25 16:51:07 -06:00
Jason Zimdars
154cbf0cde
Make it clear this is just notifications, not comprehensive activity
2025-11-25 16:08:11 -06:00
Jason Zimdars
14650df246
Merge pull request #1723 from basecamp/fix-scroll-jump
...
Prevent autoscroll to the columns container to remove jump on page load
2025-11-25 15:31:26 -06:00
Rosa Gutierrez
fac9f3c369
Clean up a little bit the CSRF reporting code
...
Small follow-up to https://github.com/basecamp/fizzy/pull/1721
2025-11-25 21:28:50 +01:00
Jorge Manrubia
ca10e4ba4e
Prevent autoscroll to the root columns container to prevent jump on page load
...
https://app.fizzy.do/5986089/cards/3160
2025-11-25 21:01:18 +01:00
Mike Dalessio
396c1ffdcf
Merge pull request #1722 from basecamp/fwt-user-list-improvement
...
Prioritize current user and assigned users in assignment dropdown
2025-11-25 14:36:14 -05:00
Jason Zimdars
3d429c1dea
Include full name string so you can type your name to filter
2025-11-25 13:19:33 -06:00
Mike Dalessio
3811088db3
Prioritize current user and assigned users in assignment dropdown
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-25 13:46:14 -05:00
Rosa Gutierrez
d88949288c
Check and report on Sec-Fetch-Site header for forgery protection
...
This is a great, solid alternative to CSRF tokens for CSRF protection
when we aren't worried about older browsers or other kind of actors
doing modifying requests in our app, and could be a good test for future
upstreaming to Rails (although there we'd need to continue using CSRF
tokens or at least letting people opt out manually).
Let's start checking the header and reporting on it when CSRF fails or
when it doesn't match the other checks Rails does, and then promote this
to be the only way to defend from CSRF.
2025-11-25 19:19:50 +01:00
Donal McBreen
97bcdf1853
Enforce column limits via concern
...
SQLite columns lengths are purely informational, so we'll enforce the
limits via a concern that checks the lengths from the schema.
2025-11-25 15:32:34 +00:00
Stanko K.R.
a7df8260c3
Fix cards getting stuck in edit mode
2025-11-25 15:36:13 +01:00
Donal McBreen
c2eb840e2b
Use Uuid type directly
2025-11-25 13:47:08 +00:00
Stanko K.R.
f64a49dcc0
Determine staff members based on flag
...
This replaces the old system based on email addresses, the aim is to make it more generic and thus appropriate for OSS/self-hosting
See: https://3.basecamp.com/2914079/buckets/37331921/todos/9302705265#__recording_9320051455
2025-11-25 14:09:31 +01:00
Donal McBreen
b571303385
Don't use Current.account for search records
...
It doesn't actually work, and even if we could make it work reliably
we are better off if the records always know to go to the right shard.
It does make the interface a bit more complicated as we need to select
the right shard class with `for(account_id)`.
2025-11-25 11:34:41 +00:00
Stanko K.R.
4e52f9b9a9
Show tags the card is tagged with first
2025-11-25 11:24:21 +01:00
Stanko Krtalić
c8169c1972
Merge pull request #1712 from basecamp/fix-background-image-previews
...
Fix background images not showing up after upload
2025-11-25 08:15:20 +01:00
Stanko K.R.
c11a13dc20
Replace the whole card on update
2025-11-25 08:13:18 +01:00
Jason Zimdars
3e0d2d8b4d
Include bottom inset on the modal and footer, too
...
Makes sure everything moves together on mobile
2025-11-24 21:28:48 -06:00
Jason Zimdars
5215c5ccb9
Attempt to fix expanded search input
2025-11-24 21:24:09 -06:00
Jason Zimdars
b45554966f
Lose the second close button
2025-11-24 17:48:21 -06:00
Jason Zimdars
0c05694a3c
This seems to have caused the unwanted effect of not focusing the field in Mobile Safari
...
Looks like it regressed in
https://github.com/basecamp/fizzy/commit/250935530f86eb628d6b54ec6b7212dac9e76f8b .
Let's see if we can get focus in Safari without sacrificing select in
other browsers by simply moving the nextFrame() call
2025-11-24 17:48:02 -06:00