Shaarli rejects tokens whose iat falls outside its clock
tolerance, so device/server skew caused HTTP 401 logins
even with a correct API secret. Estimate server time from
the Date response header, retry a 401 once with a
recalibrated token, trim credentials on login, and explain
the API-secret vs password mismatch in French error
messages.
Bump version to 2.14.1 (code 42).
- Add automatic shaarli-pin tag management when toggling pin status
- Add shaarli-pin tag when pinning a link (if not already present)
- Remove shaarli-pin tag when unpinning a link
- Update both pin status and tags atomically in togglePin() methods
- Bump version to 2.1.7 (VERSION_CODE 22)
- Add TimezonePreferences to SettingsViewModel and TodoNotificationReceiver entry point
- Create timezone settings section in SettingsScreen with dropdown selector for common timezones
- Apply user timezone to notification date formatting in TodoNotificationReceiver
- Refactor TodoScreen FAB into expandable menu with separate AI Brain Dump and manual task creation options
- Add animated sub-FABs with labels
- Add TodoEntity, TodoDao, TodoRepository, and TodoRepositoryImpl for local todo storage with sync support
- Implement TodoViewModel with CRUD operations, group management, and subtask handling
- Create TodoScreen with Kanban-style board view, group-based organization, and drag-to-reorder support
- Add BrainDumpSheet for AI-powered task extraction from natural language input using Gemini API
- Implement TodoNot
- Create MarkdownUtils.preprocessMarkdown() for consistent Markdown normalization
- Apply preprocessing to LinkDetailsView description rendering
- Apply preprocessing to MarkdownPreview and MarkdownReader components
- Bump version to 1.4.0 (VERSION_CODE 13)
- Add version.properties file as single source of truth for VERSION_NAME and VERSION_CODE
- Create build.ps1 script with automated version bumping (Major/Minor/Patch/None) and build orchestration
- Update app/build.gradle.kts to read version from version.properties instead of hardcoded values
- Display dynamic version info in Settings screen using BuildConfig.VERSION_NAME and VERSION_CODE
- Add