Commit 392294e
authored
fix: prevent bookmark additions/deletions from reverting on next sync (#7)
Four interrelated bugs caused local changes (adds/deletes) to be
reverted by the next auto-sync after the first successful sync:
1. applyTombstonesToLocal did not set isSyncDrivenChange, causing
cloud-driven deletions to be tracked as locally modified and
triggering unnecessary follow-up syncs via pendingSyncNeeded.
2. forcePush/forcePull did not update lastSyncTime (tombstone
safeguard), lastCloudChecksum (baseline for next sync), or clear
locallyModifiedBookmarkIds. If the first sync was a force
push/pull, all subsequent syncs had stale metadata. forcePush
also did not send local tombstones to the cloud.
3. Server-side dateAdded normalization fell back to Date.now() for
falsy values, making bookmarks appear brand-new and causing
the tombstone filter (bookmarkDate > tombstoneDate) to
incorrectly keep bookmarks that should have been deleted.
4. Server-side replace mode redundantly re-applied tombstone
filtering on data the extension had already filtered. Combined
with the Date.now() fallback, this could silently strip or
preserve bookmarks incorrectly.1 parent 31463af commit 392294e
3 files changed
Lines changed: 144 additions & 52 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2046 | 2046 | | |
2047 | 2047 | | |
2048 | 2048 | | |
2049 | | - | |
2050 | | - | |
2051 | | - | |
2052 | | - | |
2053 | | - | |
2054 | | - | |
2055 | | - | |
2056 | | - | |
2057 | | - | |
2058 | | - | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
2059 | 2065 | | |
2060 | | - | |
| 2066 | + | |
2061 | 2067 | | |
2062 | | - | |
2063 | | - | |
2064 | | - | |
2065 | | - | |
2066 | | - | |
2067 | | - | |
| 2068 | + | |
| 2069 | + | |
| 2070 | + | |
| 2071 | + | |
| 2072 | + | |
| 2073 | + | |
| 2074 | + | |
2068 | 2075 | | |
2069 | 2076 | | |
| 2077 | + | |
| 2078 | + | |
2070 | 2079 | | |
2071 | 2080 | | |
2072 | 2081 | | |
| |||
2911 | 2920 | | |
2912 | 2921 | | |
2913 | 2922 | | |
| 2923 | + | |
| 2924 | + | |
| 2925 | + | |
| 2926 | + | |
2914 | 2927 | | |
2915 | 2928 | | |
2916 | | - | |
| 2929 | + | |
2917 | 2930 | | |
2918 | 2931 | | |
2919 | 2932 | | |
| |||
2930 | 2943 | | |
2931 | 2944 | | |
2932 | 2945 | | |
2933 | | - | |
| 2946 | + | |
| 2947 | + | |
2934 | 2948 | | |
2935 | | - | |
| 2949 | + | |
2936 | 2950 | | |
| 2951 | + | |
| 2952 | + | |
| 2953 | + | |
| 2954 | + | |
| 2955 | + | |
| 2956 | + | |
| 2957 | + | |
| 2958 | + | |
| 2959 | + | |
| 2960 | + | |
| 2961 | + | |
| 2962 | + | |
| 2963 | + | |
| 2964 | + | |
2937 | 2965 | | |
2938 | 2966 | | |
2939 | 2967 | | |
| |||
3096 | 3124 | | |
3097 | 3125 | | |
3098 | 3126 | | |
3099 | | - | |
| 3127 | + | |
| 3128 | + | |
3100 | 3129 | | |
3101 | | - | |
| 3130 | + | |
3102 | 3131 | | |
| 3132 | + | |
3103 | 3133 | | |
3104 | 3134 | | |
3105 | 3135 | | |
3106 | 3136 | | |
3107 | 3137 | | |
3108 | 3138 | | |
3109 | 3139 | | |
| 3140 | + | |
| 3141 | + | |
| 3142 | + | |
| 3143 | + | |
| 3144 | + | |
| 3145 | + | |
| 3146 | + | |
| 3147 | + | |
3110 | 3148 | | |
3111 | 3149 | | |
3112 | 3150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3023 | 3023 | | |
3024 | 3024 | | |
3025 | 3025 | | |
3026 | | - | |
3027 | | - | |
3028 | | - | |
| 3026 | + | |
| 3027 | + | |
| 3028 | + | |
| 3029 | + | |
| 3030 | + | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
| 3036 | + | |
| 3037 | + | |
| 3038 | + | |
| 3039 | + | |
| 3040 | + | |
| 3041 | + | |
| 3042 | + | |
| 3043 | + | |
| 3044 | + | |
| 3045 | + | |
| 3046 | + | |
| 3047 | + | |
| 3048 | + | |
| 3049 | + | |
| 3050 | + | |
| 3051 | + | |
| 3052 | + | |
| 3053 | + | |
| 3054 | + | |
| 3055 | + | |
3029 | 3056 | | |
3030 | 3057 | | |
3031 | 3058 | | |
| |||
3084 | 3111 | | |
3085 | 3112 | | |
3086 | 3113 | | |
3087 | | - | |
| 3114 | + | |
3088 | 3115 | | |
| 3116 | + | |
| 3117 | + | |
3089 | 3118 | | |
3090 | 3119 | | |
3091 | | - | |
| 3120 | + | |
3092 | 3121 | | |
3093 | 3122 | | |
3094 | | - | |
3095 | | - | |
3096 | | - | |
| 3123 | + | |
3097 | 3124 | | |
3098 | 3125 | | |
3099 | 3126 | | |
| |||
3139 | 3166 | | |
3140 | 3167 | | |
3141 | 3168 | | |
3142 | | - | |
| 3169 | + | |
3143 | 3170 | | |
3144 | | - | |
3145 | | - | |
| 3171 | + | |
| 3172 | + | |
| 3173 | + | |
| 3174 | + | |
| 3175 | + | |
3146 | 3176 | | |
3147 | 3177 | | |
3148 | 3178 | | |
| |||
3151 | 3181 | | |
3152 | 3182 | | |
3153 | 3183 | | |
3154 | | - | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
| 3187 | + | |
| 3188 | + | |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
| 3193 | + | |
3155 | 3194 | | |
3156 | 3195 | | |
3157 | 3196 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
673 | 673 | | |
674 | 674 | | |
675 | 675 | | |
676 | | - | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
677 | 679 | | |
678 | 680 | | |
679 | 681 | | |
| |||
754 | 756 | | |
755 | 757 | | |
756 | 758 | | |
757 | | - | |
| 759 | + | |
| 760 | + | |
758 | 761 | | |
759 | 762 | | |
760 | 763 | | |
| |||
829 | 832 | | |
830 | 833 | | |
831 | 834 | | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
832 | 842 | | |
833 | 843 | | |
834 | 844 | | |
835 | 845 | | |
836 | 846 | | |
837 | 847 | | |
838 | | - | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
839 | 852 | | |
840 | 853 | | |
841 | 854 | | |
| |||
903 | 916 | | |
904 | 917 | | |
905 | 918 | | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
910 | | - | |
911 | | - | |
912 | | - | |
913 | | - | |
914 | | - | |
915 | | - | |
916 | | - | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
917 | 933 | | |
918 | 934 | | |
919 | 935 | | |
| |||
928 | 944 | | |
929 | 945 | | |
930 | 946 | | |
931 | | - | |
| 947 | + | |
| 948 | + | |
932 | 949 | | |
933 | 950 | | |
934 | 951 | | |
| |||
937 | 954 | | |
938 | 955 | | |
939 | 956 | | |
940 | | - | |
941 | | - | |
942 | | - | |
| 957 | + | |
943 | 958 | | |
944 | 959 | | |
945 | 960 | | |
| |||
0 commit comments