Commit 81db020
authored
feat(desktop): add first-class conflict screen (#497)
## Summary
Sync conflicts used to live only in Settings → Account, and auto-sync
never put them on the renderer store. This is the last Inkdrop-gap item
(D.10): one screen, three actions.
- Modal in the main window (still available inline in Settings)
- **Keep this device** / **Keep other** / **Open both** (saves `{title}
(remote)`, keeps local, opens both windows)
- Auto-sync `sync-success` now carries `conflicts` so the screen
actually appears
- Footer and header say **Review**, not “resolve in Settings”
Does not start a new sync engine.
## Type of Change
- [x] New feature
## Related Issues
Inkdrop gap plan D.10
## Checklist
- [x] Tests pass locally (`pnpm --filter desktop exec vitest run` on the
new files + renderer utils)
- [x] Typecheck and eslint on the touched files
- [x] PR targets `develop`
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a sync conflict review screen with side-by-side and unified
comparison views.
* Users can keep either version, dismiss conflicts, or open both
versions as separate notes.
* Sync indicators now show conflict counts and provide a **Review**
action.
* Added responsive layouts, keyboard controls, progress states, and
error feedback.
* **Documentation**
* Updated the shipped features list to include the new sync conflict
workflow.
* **Tests**
* Added coverage for conflict handling, merging, title formatting, and
opening both versions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->1 parent a6b958d commit 81db020
16 files changed
Lines changed: 809 additions & 375 deletions
File tree
- apps/desktop/src
- main/services/sync
- __tests__
- renderer
- components
- sidebar
- sync
- stores
- utils
- __tests__
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| 55 | + | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
| |||
610 | 612 | | |
611 | 613 | | |
612 | 614 | | |
| 615 | + | |
613 | 616 | | |
614 | 617 | | |
615 | 618 | | |
| |||
714 | 717 | | |
715 | 718 | | |
716 | 719 | | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
717 | 726 | | |
718 | | - | |
719 | | - | |
720 | | - | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
721 | 759 | | |
722 | | - | |
723 | | - | |
724 | | - | |
725 | | - | |
| 760 | + | |
726 | 761 | | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
727 | 767 | | |
728 | 768 | | |
729 | 769 | | |
| |||
881 | 921 | | |
882 | 922 | | |
883 | 923 | | |
884 | | - | |
885 | | - | |
| 924 | + | |
| 925 | + | |
886 | 926 | | |
887 | 927 | | |
888 | 928 | | |
889 | 929 | | |
890 | 930 | | |
891 | 931 | | |
892 | | - | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
893 | 936 | | |
894 | | - | |
895 | 937 | | |
896 | 938 | | |
897 | 939 | | |
898 | | - | |
| 940 | + | |
899 | 941 | | |
900 | 942 | | |
901 | 943 | | |
| |||
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
| |||
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
34 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
35 | 42 | | |
36 | 43 | | |
37 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
493 | 494 | | |
494 | 495 | | |
495 | 496 | | |
| 497 | + | |
496 | 498 | | |
497 | 499 | | |
498 | 500 | | |
| |||
Lines changed: 23 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
| 57 | + | |
| 58 | + | |
56 | 59 | | |
57 | 60 | | |
58 | 61 | | |
| |||
132 | 135 | | |
133 | 136 | | |
134 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
135 | 157 | | |
136 | 158 | | |
137 | 159 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1178 | 1178 | | |
1179 | 1179 | | |
1180 | 1180 | | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
1181 | 1185 | | |
1182 | 1186 | | |
1183 | 1187 | | |
| |||
0 commit comments