Commit Graph

117 Commits

Author SHA1 Message Date
Andy Smith 5278b8e5fd Touch up the Download Export page 2026-02-02 12:36:48 +01:00
Andy Smith 60787a00ef Touch up export modals 2026-02-02 12:36:48 +01:00
Andy Smith e892b74cf2 Simplify settings layout and correct h2 levels 2026-02-02 12:36:48 +01:00
Stanko K.R. 19ae555c2e Convert Account::SingleUserExport to User::DataExport 2026-02-02 12:36:48 +01:00
Rosa Gutierrez 527ffc42b9 Use relative URLs where possible across all the app
Skipping API responses, where we need absolute URLs, and those that are
intended for sharing or external use:

- account/join_codes/show.html.erb - Join code URL for sharing
- boards/edit/_publication.html.erb - Publication URL for sharing
- public/* views - Public page URLs and og:url meta tags
- pwa/manifest.json.erb - PWA manifest needs absolute URLs

For this, we had to replace `url_for` used with Active Storage variants
and previews with the specific path helper (for Active Storage
representations).
2026-01-14 11:01:42 +01:00
Kevin McConnell 741eff7bdc Revert "Merge pull request #1865 from basecamp/public-avatar-caching"
This reverts commit c628f14c01, reversing
changes made to 4bafc73236.
2025-12-15 13:07:13 +00:00
Kevin McConnell eec96ff384 Serve own avatar from its own endpoint
This allows us to have different cache controls depending on whether
you're viewing your own avatar, or someone else's. Your own avatar will
always be fresh, while other folks' avatars can be pulled from the CDN.
2025-12-12 09:03:35 +00:00
Rob Zolkos cbcd433ad8 Fix typo: minues → minutes 2025-12-11 14:36:20 -05:00
Jason Zimdars 04d3ac50b2 Clean-up post merge and rework layout to accomodate API and Appearance blocks 2025-12-10 16:46:58 -06:00
Jason Zimdars 6f25b70b7f Merge branch 'main' into theme-switcher-revised 2025-12-10 16:30:36 -06:00
Jason Zimdars 2d359fa230 Clean-up styles and JS controller, use radios 2025-12-10 16:15:45 -06:00
Stanko K.R. 7b30ca203e Add index actions for Comments and Columns
Also, fix crash when a deactivated user is serialized (they don't have
an identity).
2025-12-10 09:23:52 +01:00
Stanko K.R. f3ff0c605e Add pagination to most places and fix cards pagination 2025-12-10 09:23:52 +01:00
David Heinemeier Hansson 9fceef16e9 Fix quoting 2025-12-10 09:23:52 +01:00
Jay Ohms 5ad7b973cb Add API support for users 2025-12-10 09:23:52 +01:00
David Heinemeier Hansson d2bdd13909 Inline anemic partial 2025-12-10 09:23:52 +01:00
David Heinemeier Hansson 88902485e1 Access tokens are strictly personal 2025-12-10 09:23:52 +01:00
Jason Zimdars 073d1af862 List, create, and revoke access tokens 2025-12-10 09:23:52 +01:00
Jason Zimdars 48c83f34b0 Add developer section to user profile 2025-12-10 09:23:52 +01:00
Jason Zimdars 8db6f508bf Merge branch 'main' into theme-switcher-revised 2025-12-08 17:58:46 -06:00
Jason Zimdars 2b99c09089 Rework settings for clarity, separation, and consistency 2025-12-08 17:54:06 -06:00
Jason Zimdars 18c0a78759 Prefer component and utility classes when possible 2025-12-08 17:53:40 -06:00
Bruno Canepa 5175353979 Split svg into files and add a css file 2025-12-08 18:40:27 -03:00
Mike Dalessio 675600af72 Improve presentation of validation errors 2025-12-06 14:57:27 -05:00
Mike Dalessio c388f5ef20 Display validation errors for user profiles.
Specifically this will help people understand why their SVG avatar
uploads are being rejected, and will keep the RecordInvalid exception
out of Sentry logs.
2025-12-06 14:34:08 -05:00
Mike Dalessio 1883473de1 Remove duplication in the list of supported avatar file types 2025-12-06 14:34:08 -05:00
Bruno Canepa 6ae9486b4d add 3 toggle botons 2025-12-06 14:29:49 -03:00
Mike Dalessio fc8ef33332 Show unverified status on user profile page
Display "Unverified" with an explanation instead of the email address
for users who haven't confirmed their identity. Hide the card links
and activity timeline since unverified users won't have any activity.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 21:51:44 -05:00
Mike Dalessio 4602cd3cdd Add verified_at timestamp to use for spam prevention
User are marked as verified after a join code is redeemed. The user is
redirected to Users::VerificationsController, either:

- after submitting a valid magic link code,
- or immediately after redeeming the join code (if they're already
  authenticated with the correct identity)

Account owners are automatically verified when the account is
created (because they have already provided a magic link code at that
point).

This sets up for later commits that will backfill existing users and
require verification before sending notification emails.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 21:51:44 -05:00
Bruno Canepa 2864e32efa Move theme button into the user profile page 2025-12-04 17:01:14 -03:00
Kevin McConnell 2e47749739 Don't allow SVG avatar uploads in the first place 2025-12-04 14:27:28 +00:00
Jason Zimdars df04fb9250 Adjust for layout consistency and tighten up some copy 2025-12-03 11:21:34 -06:00
Jason Zimdars a6c5cc19b7 Copy and layout edits for the new invalid token screen 2025-12-03 11:21:13 -06:00
Stanko K.R. 92b7c4a86c Update copy 2025-12-03 15:44:20 +01:00
Stanko K.R. 84213265e7 Render friendly error message when using an invalid token 2025-12-03 15:37:27 +01:00
Jason Zimdars 7644b0e793 ESC is primary back hotkey, use helper in more places 2025-12-01 13:54:08 -06:00
Jason Zimdars 7e008864f2 Ensure back buttons collapse to icons on small screens 2025-11-19 16:04:21 -06:00
Stanko K.R. e0693de7c3 Scope jobs and controllers by account 2025-11-17 09:12:41 -05:00
Stanko K.R. 56c41d45eb Reinstate email changes 2025-11-17 09:12:40 -05:00
Stanko K.R. 34d83aaa7c Fix tests after the removal of memberships 2025-11-17 09:12:40 -05:00
Stanko K.R. edf837fed3 Drop memberships 2025-11-17 09:12:39 -05:00
Jason Zimdars 68c8c61d56 Add tooltips for icon buttons 2025-11-11 15:33:38 -06:00
Jason Zimdars bdde877de3 Apply the new hotkey and style to all back buttons
Also updates design for email address change screens
2025-11-11 15:13:30 -06:00
Jason Zimdars 7a58c23e55 Copy edits for unified flow 2025-11-07 07:06:28 +01:00
Stanko K.R. fd7a9330e8 Remove email_address & password_digest from User 2025-11-04 07:20:16 +01:00
David Heinemeier Hansson f8b5a64e9c Already included in the layout now 2025-11-03 14:40:12 +01:00
David Heinemeier Hansson 43069b1ea4 Extract Users::JoinsController from overloaded UsersController
Good code smell is when the before_action callbacks stack up but can't
be shared across actions
2025-11-02 17:49:25 +01:00
David Heinemeier Hansson bced7405df Extract events loading from overloaded UsersController 2025-11-02 17:31:28 +01:00
Andy Smith 881946ae79 Put profile boxes side-by-side 2025-10-31 15:24:28 -05:00
Jason Zimdars 1f58cd11b0 Show busy state when submitting forms 2025-10-31 16:26:08 +01:00