Commit Graph

7716 Commits

Author SHA1 Message Date
Kevin McConnell c492e6c4c4 Make the JSON prettier 2025-12-01 15:54:24 +00:00
Kevin McConnell 45afe494ec Skip missing files 2025-12-01 15:40:07 +00:00
Kevin McConnell 12f6dbf79f Handle remote image attachments too 2025-12-01 15:36:35 +00:00
David Heinemeier Hansson 28371e10c8 Turn off the help notice 2025-12-01 16:25:23 +01:00
Kevin McConnell e16cc21b0a Add "data export" feature
- Adds a button in Account Settings where you can request a ZIP export of your
  Fizzy data
- Export files are created in the background. When ready, a link to
  download them is sent to the requester.
- Exports expire after 24 hours. And are limited to 10 per day.
2025-12-01 15:23:26 +00:00
Jorge Manrubia 11dd960010 Merge pull request #1767 from basecamp/new-invites-mentions
Fix: not detecting mentions when publishing saved drafts
2025-12-01 15:46:32 +01:00
Jorge Manrubia 7dd3497d3a Extract common setup step 2025-12-01 15:42:03 +01:00
Jorge Manrubia 29d07e7326 Fix: not detecting mentions when publishing saved drafts
The problem was that publishing a card with `#publish` was tracking the event
after updating the status, which was clearing the saved changes and preventing the
code from detecting the mention.

See:
https://app.fizzy.do/5986089/cards/2835
2025-12-01 15:39:45 +01:00
Jorge Manrubia 594ea226a9 Merge pull request #1765 from basecamp/fix-cable-oss
Fix action cable error in OSS mode
2025-12-01 14:22:17 +01:00
Jorge Manrubia 3480e2d6db Handle size in binary columns
In the cable schema we use:

```
    t.binary "payload", size: :long, null: false
```

This will fail when resetting the db otherwise with an error due to the unexpected size property.
2025-12-01 13:32:54 +01:00
Jorge Manrubia 5a1b59dc47 Define solid cable databases for the OSS mode 2025-12-01 13:25:44 +01:00
Jorge Manrubia 84bbc18613 Merge pull request #1764 from basecamp/oss-sqlite
Remove MySQL from default local development setup
2025-12-01 13:16:06 +01:00
Jorge Manrubia cc6dcb6c5b Extract mysql setup to function 2025-12-01 12:51:06 +01:00
Jorge Manrubia 12de564176 Remove MySQL from default local development setup
https://3.basecamp.com/2914079/buckets/37331921/chats/9301300227@9334968661
2025-12-01 12:46:37 +01:00
Mike Dalessio 6fb7de88d7 Merge pull request #1761 from basecamp/flavorjones/save-the-owner
Introduce an "owner" role, and prevent it from being administered
2025-11-30 12:41:54 -05:00
Jorge Manrubia c099971ba3 Update fizzy-saas 2025-11-30 11:16:19 +01:00
Mike Dalessio 47ee3c310f Merge pull request #1763 from basecamp/flavorjones/fix-beta-deploy
Update fizzy-saas to remove jobs from beta
2025-11-29 19:36:21 -05:00
Mike Dalessio 053ba8424c Update to fizzy-saas to remove jobs from beta
https://github.com/basecamp/fizzy-saas/pull/11
2025-11-29 19:30:20 -05:00
Jorge Manrubia af23ae8bcb Merge pull request #1762 from basecamp/remove-mcp
Remove .mcp.json in preparation for the open source release
2025-11-29 22:26:54 +01:00
Jorge Manrubia 0401dbe867 Claude can fetch the .mcp.json file that shipyard places in your home
Removing it since this is 37s specific (not adequate for open source) and the common
shipyard config should do.
2025-11-29 22:25:22 +01:00
Jorge Manrubia 7457f78a1f Merge pull request #1758 from basecamp/clean-env
Move env-specific bits to the engine
2025-11-29 21:58:29 +01:00
Jorge Manrubia d7ddb029dd Update fizzy-saas 2025-11-29 21:48:11 +01:00
Jorge Manrubia 081586c0a6 This was moved to the engine
https://github.com/basecamp/fizzy-saas/commit/27d4d34091de8db53bb01ac604c56e1a83b3adc3
2025-11-29 21:46:34 +01:00
Mike Dalessio edf6b53469 Introduce an "owner" role, and prevent it from being administered
to prevent the owner from being demoted or kicked out.

ref: https://app.fizzy.do/5986089/cards/3213
2025-11-29 14:13:29 -05:00
Mike Dalessio 156a23f1f5 Merge pull request #1760 from basecamp/flavorjones/fix-setup-sqlite
Make sure the sqlite db is prepared in SAAS mode
2025-11-29 14:13:17 -05:00
Mike Dalessio bd19b91e05 Make sure the sqlite db is prepared in SAAS mode
Previously, the mysql database was prepared twice and sqlite not at all.
2025-11-29 14:09:55 -05:00
Jorge Manrubia 9f2ac50732 Update fizzy-saas gem 2025-11-29 16:29:33 +01:00
Jorge Manrubia 486d56d24f Move env-specific config bits to the saas gem 2025-11-29 16:19:30 +01:00
Stanko Krtalić cb3ca8fa30 Merge pull request #1759 from basecamp/split-signin-and-signup
Split sign in and sign up
2025-11-29 15:43:19 +01:00
Stanko K.R. fd06e5d076 Migrate sqlite schema 2025-11-29 15:29:52 +01:00
Stanko K.R. 6a235e420c Use main branch of fizzy-saas 2025-11-29 15:22:26 +01:00
Stanko K.R. 7df30534f4 Change copy 2025-11-29 15:20:21 +01:00
Stanko K.R. 2311efd03e Make sign up Magic Links work across devices
Previously if someone started signing in on their phone, but finished it on their laptop, they'd end up on the menu screen with no account. Bu tracking the purpose of a Magic Link we can always direct the user to sign up if they requested a magic link through sign up. This also makes the logic for changing the copy in the email more robust.
2025-11-29 12:36:00 +01:00
Stanko K.R. e302e79b55 Remove unused view 2025-11-29 11:59:10 +01:00
Stanko K.R. 354dd1e95a Update signup with the design from signin 2025-11-29 11:58:48 +01:00
Jorge Manrubia 3c6203d568 Revert "Update to latest version with the env config bits moved"
This reverts commit 5a3978d45e.
2025-11-29 11:55:21 +01:00
Jorge Manrubia 5a3978d45e Update to latest version with the env config bits moved 2025-11-29 11:55:06 +01:00
Stanko K.R. 658b5a07cf Organize everything under Signups 2025-11-29 11:46:09 +01:00
Stanko K.R. 5747445977 Create signups controller 2025-11-29 10:15:48 +01:00
Mike Dalessio a615984d2f Merge pull request #1757 from basecamp/flavorjones/ci-fix-oss-syntax
ci-oss.yml: Move the `if` to inside the jobs block
2025-11-28 15:47:36 -05:00
Mike Dalessio 04ed381742 update pipelines 2025-11-28 15:40:24 -05:00
Mike Dalessio 8ddb4b37d0 Merge pull request #1755 from basecamp/flavorjones/storage-require
remove require of `lib/fizzy` from storage.yml
2025-11-28 15:15:15 -05:00
Mike Dalessio f116046dd5 Merge pull request #1754 from basecamp/flavorjones/smoke-test-deparallelize
Split system tests out into separate single-worker steps
2025-11-28 15:09:59 -05:00
Mike Dalessio adcd40089c Merge pull request #1753 from basecamp/flavorjones/fix-test-arguments
Restore the ability to pass arguments to `bin/rails test`
2025-11-28 15:09:49 -05:00
Mike Dalessio bf915e63c4 Split system tests out into separate single-worker steps
because they aren't written to be run in parallel.
2025-11-28 15:02:58 -05:00
Mike Dalessio 027cfc02b1 Restore the ability to pass arguments to bin/rails test
The app is not loaded by rails/commands if there are additional arguments to "rails test"
2025-11-28 14:47:00 -05:00
Mike Dalessio 2460dabd29 Merge pull request #1752 from basecamp/flavorjones/fix-initial-external-id
Ensure Account::ExternalIdSequenceTest.value is never nil
2025-11-28 14:36:13 -05:00
Mike Dalessio 434a9671cc Ensure Account::ExternalIdSequenceTest.value is never nil
If no record exists, create it. This fixes a test in fizzy-saas in
test/models/signup_test.rb that was not actually testing with a valid
external account id.
2025-11-28 14:27:14 -05:00
Mike Dalessio 3286fbb50e require_relative doesn't work as expected in ERB templates
e.g., when firing up bin/minio-setup this looks in the parent
directory

However, we shouldn't need it since `lib` is eager loaded.
2025-11-28 13:39:47 -05:00
Jorge Manrubia a8c4c0fb4b Merge pull request #1748 from basecamp/update-system-user-avatar
Update system user avatar
2025-11-28 18:24:30 +01:00