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
Jorge Manrubia
3e67da7d0e
Add a new join model to link summaries with users
...
So that changing the set of events does not result in not being able to find a generated highlight summary
2025-10-06 12:33:28 +02:00
Mike Dalessio
f26b0b7256
Rename accounts.tenant_id to external_account_id
...
and simplify the params to Account.create_with_admin_user
2025-10-03 17:21:01 -04:00
Mike Dalessio
8e0cb930af
Delete SignalId concerns from the codebase
...
including Signup for now, will rebuild it with just QB
2025-10-03 14:06:51 -04:00
Mike Dalessio
b93a32a57f
Drop external_user_id from the users table
2025-10-03 14:06:51 -04:00
Mike Dalessio
320558919c
Rename LOCAL_AUTHENTICATION to OSS_CONFIG
2025-10-02 16:44:24 -04:00
Mike Dalessio
47370084d2
Remove code related to Launchpad auth or 37id Users
2025-10-02 16:33:23 -04:00
Mike Dalessio
1553ddce28
Update seeds to use the workflow stages
2025-09-29 13:27:16 -04:00
Jorge Manrubia
1b39e0b45e
Format
2025-09-28 11:18:54 +02:00
Jorge Manrubia
2f6a639682
Prepare entropy code for the new auto postpone approach
2025-09-24 16:22:42 +02:00
Jorge Manrubia
b63a6b3e97
Add postponable concern
2025-09-24 14:37:14 +02:00
Jorge Manrubia
cd025447f2
Add basic column models and script to migrate
2025-09-24 13:15:03 +02:00
Stanko Krtalić
9b55ff241c
Merge pull request #1124 from basecamp/fix-missing-default-value-for-delinquency-tracker
...
Fix crash due to missing default value
2025-09-17 11:53:41 +02:00
Stanko K.R.
661471e9e8
Fix crash due to missing default value
2025-09-17 11:47:46 +02:00
Jason Zimdars
b5d880c063
Merge pull request #1101 from basecamp/involvement-defaults
...
Involvement defaults
2025-09-16 14:16:24 -05:00
Stanko K.R.
dd3063b01d
Simplify delinquency tracking
2025-09-16 20:08:03 +02:00
Stanko K.R.
02a421675f
Scope Webhooks to Collections
2025-09-16 20:07:25 +02:00
Stanko K.R.
0bdbc5f5e8
Add abuse prevention
2025-09-16 20:04:18 +02:00
Stanko K.R.
9cfd1e43af
Enable subscribing to specific actions
2025-09-16 20:03:57 +02:00
Stanko K.R.
a515ea3b1f
Create webhooks
2025-09-16 20:03:55 +02:00
Jason Zimdars
f2afb2f637
Change default involvement for collection access from "watching" to "access_only"
...
People should opt-in to getting new card notifications
2025-09-16 12:58:54 +02:00
Mike Dalessio
d5a4239d19
Rename the queenbee_id and signal_user_id columns
...
to be more generic for the open-source release.
Find the signal account via Account#external_account
Find the signal user via User#external_user
2025-09-15 13:57:53 -04:00
Mike Dalessio
2630e4bd74
Extract 37id and QB controllers, models, and tests
2025-09-13 16:03:02 -04:00
Jorge Manrubia
2654cfe27d
Format
2025-09-12 18:59:41 +02:00
Jorge Manrubia
57225e7c9a
Add migration to convert accesses
2025-09-12 14:38:20 +02:00
Jorge Manrubia
b15cb4541f
Show summarier capturing the actual weeks in the user's timezone
...
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047#__recording_9037056688
2025-09-05 13:48:02 +02:00
Jorge Manrubia
aad61b36bc
Generate highlights in the user timezone, now that we persist it
...
Also, remove the dates and duration from the highlights records. Those are not relevant, only the events-derived
key is. If two users with different timezones have different activities, they should see different summaries.
2025-09-05 12:39:09 +02:00
Jorge Manrubia
cfa0149564
Persist timezones in the server
...
Add a beacon to persist timezones when these change (or the first time)
2025-09-05 12:11:57 +02:00
Jorge Manrubia
33710dae7b
Drop old summaries table
2025-09-02 11:40:21 +02:00
Jorge Manrubia
0c979a41c5
Format
2025-09-02 11:12:33 +02:00