* fix: replace 6-word limit with 150-character limit for project names
Replaces the word-based validation with character-based validation
as originally requested in #971. The 6-word limit was causing issues
with small words and separators being counted equally, and didn't
match the original requirement for a character limit.
Changes:
- Backend: Replace wordCount validator with len validator (1-150 chars)
- Frontend: Replace word count validation with character length check
- UI already has line-clamp-3 for display truncation
Fixes#998
* fix: make password_digest migration compatible with all schema versions
Fixes a critical bug where the make-password-optional migration would silently
fail when upgrading from v1.0.0 or running on fresh v1.1.0-dev installations.
The migration was trying to SELECT columns (ai_provider, openai_api_key,
ollama_base_url, ollama_model) that don't exist in the users table at that
point in the migration chain, causing the INSERT...SELECT to fail and leaving
password_digest as NOT NULL. This prevented OIDC auto-provisioning from
creating new users without passwords.
The fix dynamically detects which columns exist in the users table using
PRAGMA table_info and only selects columns that are guaranteed to exist.
Missing columns (AI-related fields) will receive their default values from
the new table schema.
Changes:
- Added dynamic column detection using PRAGMA table_info
- Only SELECT columns that exist in the current users table
- AI columns get default values if they don't exist yet
- Applied same fix to both up and down migrations
- Properly handle password/password_digest column name migration
Fixes#1075
* feat: add configurable file upload limit via environment variable
Add FILE_UPLOAD_LIMIT_MB environment variable to make file upload limits configurable.
Previously hardcoded at 10MB, users can now customize this via Docker environment variables
or .env configuration to support larger file attachments.
Changes:
- Add FILE_UPLOAD_LIMIT_MB config with 10MB default fallback
- Update multer limits in tasks/attachments and projects routes
- Update Express body parser limits to use dynamic config
- Add /api/config endpoint to expose file limit to frontend
- Update frontend validation to fetch and use server config
- Add configService.ts for caching server configuration
- Update documentation with new environment variable
Fixes#1000
The toggle handler required onSubtaskUpdate callback to make the API
call, but TaskSubtasksCard never provided it. Extract a shared handler
that calls toggleTaskCompletion for persisted subtasks regardless of
whether onSubtaskUpdate is provided, falling back to updating local
state via onSubtasksChange.
When toggling subtask completion in TaskSubtasksSection, the toggle handler
required onSubtaskUpdate callback to make the API call. Components like
TaskSubtasksCard don't pass this callback, so toggling fell through to the
local-only state update path, never sending a network request.
Add an intermediate code path: when the subtask is persisted but
onSubtaskUpdate is not provided, call toggleTaskCompletion() directly
to persist the change, then update local state.
Fixes#920
* Break down TaskModal
* Fix an issue with counting past times
* Add daily reccurence on week
* fixup! Add daily reccurence on week
* fixup! fixup! Add daily reccurence on week
* Improve recurring widget on task page
* fixup! Improve recurring widget on task page
* Add next suggestions and remove console logs
* Add pomodoro timer
* Add pomodoro switch in settings
* Fix pomodoro setting
* Add timezones to settings
* Fix an issue with password reset
* Cleanup
* Sort tags alphabetically
* Clean up today's view
* Add an indicator for repeatedly added to today
* Refactor tags
* Add due date today item
* Move recurrence to the subtitle area
* Fix today layout
* Add a badge to Inbox items
* Move inbox badge to sidebar
* Add quotes and progress bar
* Add translations for quotes
* Fix test issues
* Add helper script for docker local
* Set up overdue tasks
* Add linux/arm/v7 build to deploy script
* Add linux/arm/v7 build to deploy script pt2
* Fix an issue with helmet and SSL
* Add volume db persistence
* Fix cog icon issues