| Age | Commit message (Collapse) | Author |
|
The boardMap was storing pointers to Board structs in the boards slice.
When the slice grew and reallocated, those pointers became stale, causing
cards to be added to old memory locations instead of the current slice.
Fixed by storing indices instead of pointers in boardMap.
Added tests to verify multiple boards with varying card counts are
correctly saved and retrieved.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Obsidian relied on local filesystem access which is incompatible with
public server deployment. This removes all Obsidian-related code including:
- API client and interface
- Store layer methods (SaveNotes, GetNotes, SearchNotes)
- Handler methods and routes
- UI tab and templates
- Configuration fields
- Related tests
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Add checkbox UI to Tasks tab for completing Todoist tasks and archiving
Trello cards. Fix cache synchronization so completed items stay gone
after page reload by deleting them from SQLite cache after API success.
- Add HandleCompleteAtom handler routing to Todoist/Trello APIs
- Add DeleteTask/DeleteCard store methods for cache removal
- Add htmx.process() calls after innerHTML updates in app.js
- Add comprehensive tests for completion and cache behavior
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Created comprehensive test coverage for security fixes:
- internal/api/obsidian_test.go:
* TestGetNotes_SymlinkSecurity: Verifies symlinks are not followed
* TestGetNotes_BasicFunctionality: Tests basic limit and ordering
* Uses t.TempDir() for isolated test environments
- internal/store/sqlite_test.go:
* TestGetNotes_LimitClause: Validates LIMIT parameter handling
* TestGetNotes_EmptyDatabase: Tests empty state
* TestSaveNotes_Upsert: Verifies INSERT OR REPLACE behavior
* TestGetNotes_SQLInjectionAttempt: Confirms parameterized queries
* All tests use temporary SQLite databases for isolation
All tests passing (7 new test cases). Security fixes from commits
325811c and 4c03e9c now have full test coverage.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|