Skip to content

Commit f7b8bc2

Browse files
gmaclennanMauve Signweaver
andauthored
fix: Rework initial settings storage on invitee v2 (#1125)
* tests: Detect fails to set project settings by invitee * fix: rework initial project settings storage * chore: Remove references to unix timestamp fix * fix: Account for backup info in list projects and leave projects * fix: rework initial project settings storage * feat: Track sendStats in backupProjectInfo * tests: Check that getProject returns a MapeoProject * fix: Flush own project settings when re-indexing * refactor * remove console.dir() * fix type test * failing test: migrating project.leave state * fix: migrate left projects * Add comment about new test helper * remove unnecessary migrations --------- Co-authored-by: Mauve Signweaver <contact@mauve.moe>
1 parent 95e0e4d commit f7b8bc2

16 files changed

Lines changed: 732 additions & 184 deletions
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE projectKeys ADD `hasLeftProject` integer DEFAULT false NOT NULL;
Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
{
2+
"version": "5",
3+
"dialect": "sqlite",
4+
"id": "2dec4710-70ac-4857-b889-2bc3586695ee",
5+
"prevId": "3b7b9e2d-3a35-47e3-977e-b5dcbe2fd302",
6+
"tables": {
7+
"deviceSettings": {
8+
"name": "deviceSettings",
9+
"columns": {
10+
"deviceId": {
11+
"name": "deviceId",
12+
"type": "text",
13+
"primaryKey": false,
14+
"notNull": true,
15+
"autoincrement": false
16+
},
17+
"deviceInfo": {
18+
"name": "deviceInfo",
19+
"type": "text",
20+
"primaryKey": false,
21+
"notNull": false,
22+
"autoincrement": false
23+
},
24+
"isArchiveDevice": {
25+
"name": "isArchiveDevice",
26+
"type": "integer",
27+
"primaryKey": false,
28+
"notNull": false,
29+
"autoincrement": false
30+
}
31+
},
32+
"indexes": {
33+
"deviceSettings_deviceId_unique": {
34+
"name": "deviceSettings_deviceId_unique",
35+
"columns": [
36+
"deviceId"
37+
],
38+
"isUnique": true
39+
}
40+
},
41+
"foreignKeys": {},
42+
"compositePrimaryKeys": {},
43+
"uniqueConstraints": {}
44+
},
45+
"projectSettings_backlink": {
46+
"name": "projectSettings_backlink",
47+
"columns": {
48+
"versionId": {
49+
"name": "versionId",
50+
"type": "text",
51+
"primaryKey": true,
52+
"notNull": true,
53+
"autoincrement": false
54+
}
55+
},
56+
"indexes": {},
57+
"foreignKeys": {},
58+
"compositePrimaryKeys": {},
59+
"uniqueConstraints": {}
60+
},
61+
"projectKeys": {
62+
"name": "projectKeys",
63+
"columns": {
64+
"projectId": {
65+
"name": "projectId",
66+
"type": "text",
67+
"primaryKey": true,
68+
"notNull": true,
69+
"autoincrement": false
70+
},
71+
"projectPublicId": {
72+
"name": "projectPublicId",
73+
"type": "text",
74+
"primaryKey": false,
75+
"notNull": true,
76+
"autoincrement": false
77+
},
78+
"projectInviteId": {
79+
"name": "projectInviteId",
80+
"type": "blob",
81+
"primaryKey": false,
82+
"notNull": true,
83+
"autoincrement": false
84+
},
85+
"keysCipher": {
86+
"name": "keysCipher",
87+
"type": "blob",
88+
"primaryKey": false,
89+
"notNull": true,
90+
"autoincrement": false
91+
},
92+
"projectInfo": {
93+
"name": "projectInfo",
94+
"type": "text",
95+
"primaryKey": false,
96+
"notNull": true,
97+
"autoincrement": false,
98+
"default": "'{\"sendStats\":false}'"
99+
},
100+
"hasLeftProject": {
101+
"name": "hasLeftProject",
102+
"type": "integer",
103+
"primaryKey": false,
104+
"notNull": true,
105+
"autoincrement": false,
106+
"default": false
107+
}
108+
},
109+
"indexes": {},
110+
"foreignKeys": {},
111+
"compositePrimaryKeys": {},
112+
"uniqueConstraints": {}
113+
},
114+
"projectSettings": {
115+
"name": "projectSettings",
116+
"columns": {
117+
"docId": {
118+
"name": "docId",
119+
"type": "text",
120+
"primaryKey": true,
121+
"notNull": true,
122+
"autoincrement": false
123+
},
124+
"versionId": {
125+
"name": "versionId",
126+
"type": "text",
127+
"primaryKey": false,
128+
"notNull": true,
129+
"autoincrement": false
130+
},
131+
"originalVersionId": {
132+
"name": "originalVersionId",
133+
"type": "text",
134+
"primaryKey": false,
135+
"notNull": true,
136+
"autoincrement": false
137+
},
138+
"schemaName": {
139+
"name": "schemaName",
140+
"type": "text",
141+
"primaryKey": false,
142+
"notNull": true,
143+
"autoincrement": false
144+
},
145+
"createdAt": {
146+
"name": "createdAt",
147+
"type": "text",
148+
"primaryKey": false,
149+
"notNull": true,
150+
"autoincrement": false
151+
},
152+
"updatedAt": {
153+
"name": "updatedAt",
154+
"type": "text",
155+
"primaryKey": false,
156+
"notNull": true,
157+
"autoincrement": false
158+
},
159+
"links": {
160+
"name": "links",
161+
"type": "text",
162+
"primaryKey": false,
163+
"notNull": true,
164+
"autoincrement": false
165+
},
166+
"deleted": {
167+
"name": "deleted",
168+
"type": "integer",
169+
"primaryKey": false,
170+
"notNull": true,
171+
"autoincrement": false
172+
},
173+
"name": {
174+
"name": "name",
175+
"type": "text",
176+
"primaryKey": false,
177+
"notNull": false,
178+
"autoincrement": false
179+
},
180+
"projectDescription": {
181+
"name": "projectDescription",
182+
"type": "text",
183+
"primaryKey": false,
184+
"notNull": false,
185+
"autoincrement": false
186+
},
187+
"projectColor": {
188+
"name": "projectColor",
189+
"type": "text",
190+
"primaryKey": false,
191+
"notNull": false,
192+
"autoincrement": false
193+
},
194+
"sendStats": {
195+
"name": "sendStats",
196+
"type": "integer",
197+
"primaryKey": false,
198+
"notNull": true,
199+
"autoincrement": false
200+
},
201+
"defaultPresets": {
202+
"name": "defaultPresets",
203+
"type": "text",
204+
"primaryKey": false,
205+
"notNull": false,
206+
"autoincrement": false
207+
},
208+
"configMetadata": {
209+
"name": "configMetadata",
210+
"type": "text",
211+
"primaryKey": false,
212+
"notNull": false,
213+
"autoincrement": false
214+
},
215+
"forks": {
216+
"name": "forks",
217+
"type": "text",
218+
"primaryKey": false,
219+
"notNull": true,
220+
"autoincrement": false
221+
}
222+
},
223+
"indexes": {},
224+
"foreignKeys": {},
225+
"compositePrimaryKeys": {},
226+
"uniqueConstraints": {}
227+
}
228+
},
229+
"enums": {},
230+
"_meta": {
231+
"schemas": {},
232+
"tables": {},
233+
"columns": {}
234+
}
235+
}

drizzle/client/meta/_journal.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@
2929
"when": 1756331824879,
3030
"tag": "0003_neat_magus",
3131
"breakpoints": true
32+
},
33+
{
34+
"idx": 4,
35+
"version": "5",
36+
"when": 1758874242014,
37+
"tag": "0004_glorious_shape",
38+
"breakpoints": true
3239
}
3340
]
3441
}

package-lock.json

Lines changed: 93 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@
110110
"@bufbuild/buf": "^1.26.1",
111111
"@comapeo/cloud": "^0.2.1",
112112
"@comapeo/core2.0.1": "npm:@comapeo/core@2.0.1",
113+
"@comapeo/core4.1.4": "npm:@comapeo/core@^4.1.4",
113114
"@comapeo/ipc": "^2.1.0",
114115
"@mapeo/default-config": "5.0.0",
115116
"@mapeo/mock-data": "^5.0.0",

src/constants.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,3 @@ export const SUPPORTED_CONFIG_VERSION = 1
3535

3636
// WARNING: This value is persisted. Be careful when changing it.
3737
export const DRIZZLE_MIGRATIONS_TABLE = '__drizzle_migrations'
38-
39-
// Oldest possible time, ensure it gets overwritten with any updates
40-
export const UNIX_EPOCH_DATE = new Date(0).toISOString()

src/invite/invite-api.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ export class InviteApi extends TypedEmitter {
126126
projectName,
127127
projectColor,
128128
projectDescription,
129+
sendStats,
129130
} = inviteRpcMessage
130131
const invite = { ...inviteRpcMessage, receivedAt: Date.now() }
131132

@@ -161,6 +162,7 @@ export class InviteApi extends TypedEmitter {
161162
projectName,
162163
projectColor,
163164
projectDescription,
165+
sendStats,
164166
})
165167
}),
166168
},

0 commit comments

Comments
 (0)