Commit Graph

289 Commits

Author SHA1 Message Date
Jorge Manrubia 3a831e390f Clean watchers when losing access to board
https://app.fizzy.do/5986089/cards/2814
2025-11-06 22:02:12 +01:00
Jorge Manrubia 2af7a9f402 Merge pull request #1498 from basecamp/rename-boards
Rename collections => boards
2025-11-05 18:50:49 +01:00
Kevin McConnell 76defb5b0b Update seeds from "Collection" to "Board" 2025-11-05 14:43:46 +00:00
Jorge Manrubia 39ec6cf062 Replace collection with board in the code, tests green 2025-11-05 13:41:12 +01:00
Stanko K.R. cfdd7ab1cb Prohibit duplicate memberships 2025-11-05 11:57:40 +01:00
Fernando Álvarez 514c0f45a2 Migrate to fizzy.do 2025-11-04 13:17:10 +01:00
Stanko K.R. fd7a9330e8 Remove email_address & password_digest from User 2025-11-04 07:20:16 +01:00
Jorge Manrubia f104e31f3f Remove unused method 2025-11-04 05:06:18 +01:00
Mike Dalessio 605955fdaf Make old migration that depends on the sqlite vec0 module a no-op
Once the sqlite 'vec0' module was removed from the codebase in
38a7a144 (following the table removal in 875a298f), this migration
became unrunnable. So to make sure we can reconstruct the schema if
necessary by running all the migrations, I'm replacing it with the
creation of an empty table.
2025-11-03 17:29:25 -05:00
Jorge Manrubia 9d4dd3b00e Remove "save as draft"
Removes the creating status completely as well as the abandoned cards system. It will
always resume drafts if they exist, for a given collection and user.

https://app.box-car.com/5986089/cards/2489
2025-11-03 09:32:29 +01:00
David Heinemeier Hansson b3474ec97d Rename Entropy::Configuration to just Entropy 2025-11-02 13:11:41 +01:00
Stanko K.R. 085c7fee2e Fix Rubocop offenses 2025-10-31 16:35:44 +01:00
Stanko K.R. ba504b05d0 Update schema 2025-10-31 16:31:09 +01:00
Stanko K.R. 2be8f1bbb2 Replace context with simple join_code 2025-10-31 16:26:08 +01:00
Stanko Krtalić 98755844a1 Remove the internal API
* Bind sessions to identities
* Remove references to the identity token
* Move email changes to identity
* Move account menu into a turbo-frame
* Create tenants from a tenanted route
2025-10-31 16:26:08 +01:00
Stanko K.R. 201c3e27d3 Update tests for the Internal API 2025-10-31 16:26:08 +01:00
Stanko K.R. 79b012f319 Add Join Codes 2025-10-31 16:24:30 +01:00
Stanko K.R. c8843360fe Clean up and simplify magic links 2025-10-31 16:23:38 +01:00
Stanko K.R. 5cef4ffeb0 Add sign in flow using magic links 2025-10-31 16:22:12 +01:00
Fernando Álvarez 7f78514a58 Move to app.box-car.com 2025-10-30 11:12:39 +01:00
Jorge Manrubia a98a0eb3fc Add index to sort by position 2025-10-29 17:13:31 +01:00
Jorge Manrubia 3ada6f271a Models for column positioning 2025-10-29 15:41:17 +01:00
Jorge Manrubia 1547cfd651 Merge pull request #1414 from basecamp/remove-summaries
Remove AI summaries and semantic searches
2025-10-29 12:00:57 +01:00
Jorge Manrubia 875a298f9a Remove AI summaries and semantic searches
We were not using either. We can restore if we revisit.
2025-10-29 11:55:49 +01:00
Jorge Manrubia aa1ffb3357 Remove AI summaries and semantic searches
We were not using either. We can restore if we revisit.
2025-10-29 11:55:32 +01:00
Fernando Álvarez 3946733b65 Migrate to box-car.com 2025-10-28 18:44:25 +01:00
Jorge Manrubia 9317a82570 Remove Fizzy Ask
Since we are not going to ship it
2025-10-27 14:45:30 +01:00
Jorge Manrubia 392bdae316 Rename highlights -> summary 2025-10-25 20:06:57 +02:00
Mike Dalessio 519f719173 Better seeding
- don't ever seed during CI
- cut honcho seed time by 75%
2025-10-23 15:33:34 -07:00
Mike Dalessio 384831fd57 More schema cleanup 2025-10-22 15:39:06 -07:00
Mike Dalessio d984ac78d2 Remove schema changes introduced in da413e75
which I think was accidental
2025-10-20 17:48:24 -07:00
Mike Dalessio 6aafa3aff1 Update migration versions to 8.2 2025-10-20 17:47:42 -07:00
Mike Dalessio 25598e75bd Fix old migration that doesn't work with Rails edge 2025-10-20 17:44:17 -07:00
Jason Zimdars c3a3f157a2 Merge branch 'main' into remove-closure-reasons 2025-10-16 13:55:13 -05:00
Jason Fried 739c53cfff Updated global and local auto-close language. 2025-10-16 10:41:01 -07:00
Jorge Manrubia 41a23b5634 Reapply "Don't relay name change events to the timeline"
This reverts commit 44d3c84e13.
2025-10-16 17:32:24 +02:00
Jorge Manrubia 44d3c84e13 Revert "Don't relay name change events to the timeline"
This reverts commit fc0b59267e.
2025-10-16 17:32:05 +02:00
Jorge Manrubia fc0b59267e Don't relay name change events to the timeline
it also adds a missing index

https://fizzy.37signals.com/5986089/cards/411
2025-10-16 17:31:51 +02:00
Jason Zimdars da413e7540 Remove closure reasons 2025-10-15 16:15:56 -05:00
Jorge Manrubia b2b05e1da8 Remove wrong migration 2025-10-15 14:31:02 +02:00
Jorge Manrubia bd178fef3c Remove null constraint 2025-10-15 14:22:44 +02:00
Jorge Manrubia 634270a1e8 Merge main into now-now-stamp and resolve schema conflicts 2025-10-15 14:05:27 +02:00
Jorge Manrubia 9263cff3d5 Store and show the user that postpones cards 2025-10-15 13:44:49 +02:00
Mike Dalessio 71103400d6 Make sure the schema and schema cache are consistent with reality
There has been a bit of drift between actual schemas in production and
what's implied by the migrations.

And fixed some tests that were relying on everyone always watching.

ref: https://fizzy.37signals.com/5986089/cards/2322
2025-10-14 17:38:08 -04:00
Mike Dalessio 3399e45130 Introduce an "Identity" model to ease login
- New untenanted Identity and Membership models
- New `identity_token` cookie with path "/" holds state across tenants

We're not sure whether the untenanted database will be sqlite or
MySQL, and so I've been careful to minimize

- database reads, placing them behind etags and caching
- database writes, only writing when a new Session is created (login)

Note that we track two things in the identity_token cookie: a signed
id, and the updated_at for the underlying Identity object. This allows
us to effectively cache on the Identity without having to hit the
database, by using an Identity::Mock object that is compatible with
etag and cache methods.

The new integration test shows the desired user-facing behavior, which
is to make it easy to login without a tenanted URL and to jump between
tenants.

- the untenanted "login_help" page shows all linked memberships
- the jump menu shows all linked memberships (except the current)

Also introduced a utility script to populate existing employee
Identities, grouping accounts by email address.
2025-10-10 10:12:25 -04:00
Jorge Manrubia 89f84e846c Migration I forgot to push 2025-10-07 11:24:42 +02:00
Jorge Manrubia 1d1a3da9cf Cleanup workflow/stages
This was pending after moving to columns
2025-10-07 11:10:10 +02:00
Mike Dalessio 73faf76976 Fix seeds script
broken in eb9ed86f
2025-10-07 02:50:15 -04:00
Mike Dalessio eb9ed86f64 seeds: make sure the admin has the secret password 2025-10-06 23:57:39 -04:00
Mike Dalessio 0425a83577 seeds: drop the 'bare' option 2025-10-06 23:44:42 -04:00