Commit Graph

509 Commits

Author SHA1 Message Date
Stanko K.R. fd7a9330e8 Remove email_address & password_digest from User 2025-11-04 07:20:16 +01:00
Jason Zimdars e1159a06aa Merge branch 'main' into seed-new-accounts 2025-11-03 17:10:09 -06:00
Jason Zimdars fbf7b6cda7 No need to create a default collection
The playground is enough
2025-11-03 14:27:20 -06:00
Jorge Manrubia 42a8b52fa1 Don´t show draft banner if the card is not filled 2025-11-03 14:47:29 +01: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
Jorge Manrubia 733bb4e6d7 Rename tests 2025-11-03 07:25:48 +01:00
David Heinemeier Hansson 966aa51a37 Get rid of unnecessary touch jobs
touch_all on 10K cards took 6ms in testing
2025-11-02 14:15:53 +01:00
David Heinemeier Hansson b3474ec97d Rename Entropy::Configuration to just Entropy 2025-11-02 13:11:41 +01:00
Jorge Manrubia 4e2f56f4c0 Extract concern, add tests 2025-11-02 09:44:50 +01:00
Mike Dalessio 18f70c3312 Do not bundle notifications for inactive users
https://app.box-car.com/5986089/cards/2671
2025-10-31 14:51:09 -04:00
Stanko K.R. 38244b77eb Use correct assert 2025-10-31 16:33:52 +01:00
Stanko K.R. ece9008459 Remove dead code 2025-10-31 16:28:08 +01:00
Stanko K.R. 452c6a8373 Rework the email change flow to tie to memberships 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
Jorge Manrubia 3c8c4abc17 Invalidate cards when entropy configuration changes 2025-10-31 10:40:45 +01:00
Jorge Manrubia 75b18d8b3b Touch cards when column is destroyed too 2025-10-31 10:40:45 +01:00
Jorge Manrubia 6cfc0978a4 Columns touch the cards when the name/color changes 2025-10-31 10:40:45 +01:00
Jorge Manrubia 2a79cb413e Remove cacheable concern, inline cache helper 2025-10-31 10:38:52 +01:00
Jorge Manrubia 9d548e77ef Merge pull request #1418 from basecamp/sort-columns
Sort columns
2025-10-30 08:39:53 +01:00
Jorge Manrubia 51f07b286f Merge pull request #1416 from basecamp/move-events
Add events for moving cards between columns
2025-10-30 08:38:51 +01:00
Jason Zimdars 8618d277c3 Typo 2025-10-29 16:31:48 -05:00
Jason Zimdars a8fc78fa90 Update tests 2025-10-29 11:23:13 -05:00
Jorge Manrubia 3ada6f271a Models for column positioning 2025-10-29 15:41:17 +01:00
Jorge Manrubia 85bee1af9b Add events for moving between columns 2025-10-29 14:49:02 +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
Jorge Manrubia cc84904d20 Fix time-dependent test 2025-10-28 16:26:03 +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
Stanko K.R. a67fd7b082 Add missing quotation mark 2025-10-23 12:50:41 +02:00
Stanko K.R. 2ac2d4e0da Add postpone and auto-postpone as Webhook triggers 2025-10-23 12:31:22 +02:00
Jason Zimdars 8ca9e80c6c Settle on "Moved to Done" 2025-10-17 16:56:26 -05:00
Stanko Krtalić 6efeb03252 Create system user with account (#1345)
* Create system user with account

* Update tests
2025-10-17 20:23:34 +02:00
Jason Zimdars 8b4d706dd9 Merge pull request #1323 from basecamp/remove-closure-reasons
Remove closure reasons
2025-10-16 14:24:28 -05:00
Jason Zimdars fe774efa6a Merge pull request #1324 from basecamp/make-drafts-visible-again
Make drafts visible again
2025-10-16 14:15:52 -05:00
Jason Zimdars c3a3f157a2 Merge branch 'main' into remove-closure-reasons 2025-10-16 13:55:13 -05:00
Jorge Manrubia 7f918ca73f Fix: use user timezone when delivering notification emails 2025-10-16 06:35:27 +02:00
Jason Zimdars 6460c40f29 Update test 2025-10-15 20:41:09 -05:00
Jason Zimdars da413e7540 Remove closure reasons 2025-10-15 16:15:56 -05:00
Jorge Manrubia 0666e504d6 Assign postpone_by to system when auto-cleaning 2025-10-15 15:08:41 +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 acdc7706ce Add not now and closed as status filters
https://fizzy.37signals.com/5986089/cards/2342
2025-10-15 13:59:50 +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 7cb575b329 Exclude drafts from filtered cards 2025-10-07 10:32:10 +02:00
Jorge Manrubia 69be750eb9 Remove vcr record 2025-10-06 15:20:46 +02:00