fix: shift range from a pinned note in its folder; kanban fits the window; list toolbar; quick dump targets only select; aligned bullets; steady search field; browser voice waits 5 s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m28s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m28s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5a9c5bac37
commit
e2b9daba75
26 files changed
+208
-138
No files matched your search
@@ -71,7 +71,7 @@ func TestLegacySaveRoundTripsThroughTheLog(t *testing.T) {
|
||||
[3]interface{}{"d", 1, "Aufgabe 2"},
|
||||
[3]interface{}{"e", 0, "Anderes"},
|
||||
)
|
||||
doc, err := s.CreateDocument(u.ID, "", "Notiz", "📄", "", initial, nil, false)
|
||||
doc, err := s.CreateDocument(u.ID, "", "Notiz", "🗒️", "", initial, nil, false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -111,7 +111,7 @@ func TestLegacySaveRoundTripsThroughTheLog(t *testing.T) {
|
||||
|
||||
func TestApplyDocOpsIsIdempotent(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "📄", "", flatBlocks([3]interface{}{"a", 0, "Start"}), nil, false)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "🗒️", "", flatBlocks([3]interface{}{"a", 0, "Start"}), nil, false)
|
||||
a := collab.Actor{UserID: u.ID, ClientID: "tab1", Name: "Owner"}
|
||||
text := "Geändert"
|
||||
op := collab.Op{OpID: "op-1", Kind: collab.OpSetContent, BlockID: "a", BaseVersion: 1, Content: &text}
|
||||
@@ -129,8 +129,8 @@ func TestApplyDocOpsIsIdempotent(t *testing.T) {
|
||||
|
||||
func TestInsertCannotReuseBlockIDOfAnotherNote(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
other, _ := s.CreateDocument(u.ID, "", "Andere", "📄", "", flatBlocks([3]interface{}{"shared_id", 0, "Fremd"}), nil, false)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "📄", "", nil, nil, false)
|
||||
other, _ := s.CreateDocument(u.ID, "", "Andere", "🗒️", "", flatBlocks([3]interface{}{"shared_id", 0, "Fremd"}), nil, false)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "🗒️", "", nil, nil, false)
|
||||
a := collab.Actor{UserID: u.ID, ClientID: "tab1"}
|
||||
content, root := "Übernahme", ""
|
||||
res, _, err := s.ApplyDocOps(doc.ID, a, []collab.Op{{OpID: "x", Kind: collab.OpInsert, BlockID: "shared_id", ParentID: &root, OrderKey: "a0", Content: &content}}, nil)
|
||||
@@ -148,7 +148,7 @@ func TestDocRole(t *testing.T) {
|
||||
reader, _ := s.CreateUser("reader@example.com", "hash", "Reader", "member")
|
||||
writer, _ := s.CreateUser("writer@example.com", "hash", "Writer", "member")
|
||||
stranger, _ := s.CreateUser("stranger@example.com", "hash", "Stranger", "member")
|
||||
doc, _ := s.CreateDocument(owner.ID, "", "Notiz", "📄", "", nil, nil, false)
|
||||
doc, _ := s.CreateDocument(owner.ID, "", "Notiz", "🗒️", "", nil, nil, false)
|
||||
|
||||
now := domain.NowISO()
|
||||
if _, err := s.db.Exec(`INSERT INTO doc_shares (id, doc_id, user_id, permission, created_at, created_by) VALUES ('s1', ?, ?, 'read', ?, ?), ('s2', ?, ?, 'write', ?, ?)`,
|
||||
@@ -167,7 +167,7 @@ func TestDocRole(t *testing.T) {
|
||||
|
||||
func TestBackfillConvertsFlatBlocksToTree(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Alt", "📄", "", nil, nil, false)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Alt", "🗒️", "", nil, nil, false)
|
||||
if _, err := s.db.Exec(`DELETE FROM blocks WHERE document_id = ?`, doc.ID); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -186,7 +186,7 @@ func TestBackfillConvertsFlatBlocksToTree(t *testing.T) {
|
||||
|
||||
func TestTaskLinksFollowTheirBlock(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "📄", "", []domain.DocumentBlock{{ID: "todo1", Type: "todo", Content: "Anrufen"}}, nil, false)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "🗒️", "", []domain.DocumentBlock{{ID: "todo1", Type: "todo", Content: "Anrufen"}}, nil, false)
|
||||
task, err := s.CreateTaskFromDocBlock(u.ID, doc.ID, "todo1", "Anrufen", false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -225,8 +225,8 @@ func TestFixedBlockIDsWorkInSeveralNotes(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
other, _ := s.CreateUser("second@example.com", "hash", "Second", "member")
|
||||
blocks := flatBlocks([3]interface{}{"blk_1", 0, "Willkommen"}, [3]interface{}{"blk_2", 1, "Unterpunkt"})
|
||||
first, _ := s.CreateDocument(u.ID, "", "Start", "📄", "", blocks, nil, false)
|
||||
second, _ := s.CreateDocument(other.ID, "", "Start", "📄", "", blocks, nil, false)
|
||||
first, _ := s.CreateDocument(u.ID, "", "Start", "🗒️", "", blocks, nil, false)
|
||||
second, _ := s.CreateDocument(other.ID, "", "Start", "🗒️", "", blocks, nil, false)
|
||||
|
||||
a, _ := s.GetDocumentByID(u.ID, first.ID)
|
||||
b, _ := s.GetDocumentByID(other.ID, second.ID)
|
||||
@@ -254,7 +254,7 @@ func backdate(t *testing.T, s *Store, docID string, age time.Duration) {
|
||||
|
||||
func TestCompactionKeepsStateAndForcesResync(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "📄", "", flatBlocks(
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "🗒️", "", flatBlocks(
|
||||
[3]interface{}{"a", 0, "Bleibt"},
|
||||
[3]interface{}{"b", 0, "Gelöscht"},
|
||||
[3]interface{}{"c", 1, "Kind von b"},
|
||||
@@ -324,8 +324,8 @@ func TestCompactionKeepsStateAndForcesResync(t *testing.T) {
|
||||
func TestCompactionRetentionDependsOnSharing(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
other, _ := s.CreateUser("ben@example.com", "hash", "Ben", "member")
|
||||
private, _ := s.CreateDocument(u.ID, "", "Privat", "📄", "", flatBlocks([3]interface{}{"p", 0, "x"}), nil, false)
|
||||
shared, _ := s.CreateDocument(u.ID, "", "Geteilt", "📄", "", flatBlocks([3]interface{}{"s", 0, "x"}), nil, false)
|
||||
private, _ := s.CreateDocument(u.ID, "", "Privat", "🗒️", "", flatBlocks([3]interface{}{"p", 0, "x"}), nil, false)
|
||||
shared, _ := s.CreateDocument(u.ID, "", "Geteilt", "🗒️", "", flatBlocks([3]interface{}{"s", 0, "x"}), nil, false)
|
||||
if _, err := s.CreateDocShare(u.ID, shared.ID, other.Email, "write"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -344,7 +344,7 @@ func TestCompactionRetentionDependsOnSharing(t *testing.T) {
|
||||
|
||||
func TestDeletedAtFollowsDeleteAndRestore(t *testing.T) {
|
||||
s, u := newSyncTestStore(t)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "📄", "", flatBlocks([3]interface{}{"a", 0, "x"}, [3]interface{}{"b", 0, "y"}), nil, false)
|
||||
doc, _ := s.CreateDocument(u.ID, "", "Notiz", "🗒️", "", flatBlocks([3]interface{}{"a", 0, "x"}, [3]interface{}{"b", 0, "y"}), nil, false)
|
||||
a := collab.Actor{UserID: u.ID, ClientID: "tab1"}
|
||||
deletedAt := func() string {
|
||||
var v string
|
||||
|
||||
Reference in new issue
Block a user