HeroBlackInk
6c4f62de6c
feat: add detection for tasks in files but not in cache
2026-02-16 05:04:17 +08:00
HeroBlackInk
02a460428c
feat: add comprehensive checkDatabase function with issue detection
2026-02-16 04:59:09 +08:00
HeroBlackInk
79600b2122
fix: improve rebuildCache with checkbox status and conflict handling
...
- Detect checkbox status ([x]/[ ]) when scanning tasks
- Compare completion status between Obsidian and Todoist
- Track and remove invalid task IDs (not found in Todoist)
- Update fileMetadata after conflict resolution
- Add logging for tasks removed during rebuild
2026-02-16 04:43:12 +08:00
HeroBlackInk
ebb9709a09
fix: resolve module initialization and date handling bugs
...
- Refactor initializePlugin() to avoid duplicate module initialization
- Fix AddTask date conversion bug (use dueDate instead of dueDatetime)
- Remove unused WorkspaceLeaf import from main.ts
- Remove unused variables (view, editor) in keyup/click handlers
- Clean up commented code in modal.ts
2026-02-16 04:31:23 +08:00
HeroBlackInk
7f4fe92113
feat: add automatic file backup before modifications
...
- Add BackupOperation class for file backup management
- Backup files to .todoist-backups/ folder before any modification
- Keep max 5 backups per file with automatic cleanup
- Backup triggered in:
- fileOperation.ts: task complete/uncomplete, tag/link add, content/date/note sync
- obsidianToTodoist.ts: new task creation
- cacheOperation.ts: conflict resolution
- Unified backup location with Todoist data backups
2026-02-16 04:13:34 +08:00
HeroBlackInk
0bcd803657
feat: add conflict detection and resolution for rebuild cache
...
- Add ConflictResolutionModal component for interactive conflict solving
- Detect content inconsistencies between Obsidian and Todoist during rebuild
- Show both versions in modal for user to choose:
- Keep Obsidian: update Todoist with Obsidian content
- Keep Todoist: update Obsidian file with Todoist content
- Skip: do nothing
- Add extractTaskContent helper to parse task text from markdown
- Add resolveConflicts method to apply user choices
2026-02-16 04:00:49 +08:00
HeroBlackInk
3138c0fffb
fix: resolve critical bugs and improve backup handling
...
- Fix checkbox regex to support string IDs (\d+ -> \w+) in main.ts
- Fix taskParser regex to support string IDs
- Remove unused imports (Notice from logOperation, Plugin from settings)
- Move backup files to .todoist-backups/ folder to avoid polluting vault
- Add backup folder creation if not exists
2026-02-16 03:51:24 +08:00
HeroBlackInk
74f328ccd9
refactor: split syncModule into bidirectional sync modules
...
- Split syncModule.ts (891 lines) into three files:
- obsidianToTodoist.ts (445 lines): Obsidian → Todoist sync
- todoistToObsidian.ts (163 lines): Todoist → Obsidian sync
- syncModule.ts (76 lines): delegation facade class
- Improves code organization and maintainability
- Follows single responsibility principle
- Maintains backward compatibility with main.ts
2026-02-16 03:43:10 +08:00
HeroBlackInk
21d220028a
feat: implement comprehensive operation logging system
...
- Add LogOperation class with 30+ log action types
- Log Obsidian file operations (modify, rename, task complete/uncomplete)
- Log Cache operations (task add/update/delete/complete/reopen)
- Log Todoist API operations (task create/update/delete)
- Log sync operations (start/complete/error)
- Log backup creation and cache rebuild events
- Add log settings to plugin UI (enable toggle, view/clear buttons)
- Update settings interface with LogAction type
2026-02-16 03:32:39 +08:00
HeroBlackInk
62ace6303e
feat: implement cache rebuild functionality
...
- Add rebuildCache() method in cacheOperation.ts
- Clear existing cache
- Fetch projects from Todoist
- Scan vault for #todoist tagged tasks
- Match task IDs with Todoist API
- Rebuild fileMetadata
- Add 'Rebuild Cache' button in settings page
- Update AGENTS.md
2026-02-16 02:56:49 +08:00
HeroBlackInk
a5294b2121
feat: migrate Sync API from v9 to v1
...
- Update todoistSyncAPI.ts to use new API endpoints (/api/v1/*)
- Change activity endpoints from POST to GET with query parameters
- Handle new pagination format { results: [], next_cursor: null }
- Fix null check for extra_data.client in getNonObsidian* methods
- Add test-sync-api.js and test-sync-api-full.js
- Update CHANGELOG.md with migration details
2026-02-16 02:34:24 +08:00
HeroBlackInk
30ade894f9
feat: migrate REST API from v9 to v1 and add test scripts
...
- Upgrade @doist/todoist-api-typescript from v2.1.2 to v6.5.0
- Update todoistRestAPI.ts to handle new pagination format (result.results)
- Update esbuild.config.mjs to handle Node.js built-in modules
- Add tests directory with API test scripts
- Add AGENTS.md for agentic coding guidelines
- Update CHANGELOG.md with migration details
2026-02-16 02:19:44 +08:00
HeroBlackInk
4976caab80
Merge pull request #91 from deafmute1/issue90-desktop-uri
...
Add App URIs for links
2024-10-03 02:24:30 +08:00
Violet
e8feea4505
Add option to use todoist URI as links
2024-07-06 23:05:49 +10:00
Violet
620cc6415a
pack-lock details auto updated by npm from sample plugin
2024-07-06 22:56:14 +10:00
Violet
b184d5a401
Add js build files to gitignore
2024-07-06 21:59:19 +10:00
HeroBlackInk
90071bba15
Merge pull request #43 from amildahl/amildahl-patch-1
...
Suggested README changes
2023-07-12 08:59:34 +08:00
Andrew Mildahl
685590a5a5
Updated contributing section of README.md
...
Removed broken link to non-existing file
2023-07-11 16:42:06 -05:00
Andrew Mildahl
4df9a3a8b3
Updated instructions and description in README.md
2023-07-11 16:33:55 -05:00
Andrew Mildahl
46e76e043c
Create CHANGELOG.md
2023-07-11 16:11:18 -05:00
Andrew Mildahl
787cbc3421
Move Changelog
2023-07-11 16:00:37 -05:00
HeroBlackInk
c3c38705e1
release 1.0.43
2023-06-22 17:18:17 +08:00
HeroBlackInk
e302615600
release 1.0.42
2023-06-11 23:02:17 +08:00
HeroBlackInk
143fd9e369
delete empty file metadata
2023-06-11 22:24:29 +08:00
HeroBlackInk
9ab9f4e521
Added debug mode.
2023-06-11 21:43:49 +08:00
HeroBlackInk
918136e91b
Before setting the default project, check if the current file exists.
2023-06-11 21:25:52 +08:00
HeroBlackInk
e765b8cbae
release 1.0.41
2023-06-11 09:37:42 +08:00
HeroBlackInk
470a70e9c0
release 1.0.40
2023-06-10 00:24:33 +08:00
HeroBlackInk
ba9a34c732
release 1.0.39
2023-06-09 19:05:40 +08:00
HeroBlackInk
7e0020b49b
revise readme
2023-06-09 18:27:41 +08:00
HeroBlackInk
bc381589e8
revise readme
2023-06-09 18:20:25 +08:00
HeroBlackInk
0ee536e97e
Check deleted tasks.
2023-06-09 18:08:22 +08:00
HeroBlackInk
2854476ca8
Deleted unnecessary object inheritance.
2023-06-09 14:20:25 +08:00
HeroBlackInk
a1aac510b6
Check if the number of tasks in the project exceeds the limit.
2023-06-09 12:55:43 +08:00
HeroBlackInk
f8e627318e
tasks date format supported.
2023-06-09 11:14:56 +08:00
HeroBlackInk
051adb4e57
You can check database in the settings.
2023-06-08 12:51:40 +08:00
HeroBlackInk
4fb8bd6079
After renaming the file, update the Obsidian URL in Todoist.
2023-06-08 11:48:58 +08:00
HeroBlackInk
307efa1855
Automatically add Todoist tags to last line.
2023-06-07 19:29:38 +08:00
HeroBlackInk
ed7cb72436
To avoid conflicts, Do not scan active files
2023-06-06 08:33:35 +08:00
HeroBlackInk
b3d426b842
Revoke 1.0.37
2023-06-05 16:57:12 +08:00
HeroBlackInk
808635fce4
Updated the readme document.
2023-06-05 16:34:54 +08:00
HeroBlackInk
2ecf7867a9
Updated the readme document.
2023-06-05 16:00:47 +08:00
HeroBlackInk
7d2e406e19
Updated the readme document.
2023-06-05 15:46:55 +08:00
HeroBlackInk
a38c401774
Updated the readme document.
2023-06-05 15:42:59 +08:00
HeroBlackInk
5a76316cf3
Updated the readme document.
2023-06-05 15:41:50 +08:00
HeroBlackInk
bda683784e
Full vault sync is supported.
2023-06-05 15:01:01 +08:00
HeroBlackInk
9fb98bbdd9
The setting page has added a 'scan vault' button.
2023-06-05 12:58:44 +08:00
HeroBlackInk
2667c7ce92
The scheduled synchronization function has added error handling.
2023-06-05 12:00:09 +08:00
HeroBlackInk
03a8bec7fa
Fixed some bugs.
2023-06-04 22:47:50 +08:00
HeroBlackInk
80e1d837f3
The time zone has been added to the task note.
2023-06-04 21:50:58 +08:00