140 Commits

Author SHA1 Message Date
paul 53bcdce6c2 ci: allow manual pipeline triggers
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-29 21:57:42 +02:00
paul cb4cf87ed4 Migrate CI from Drone to Woodpecker
continuous-integration/drone/push Build is pending
2001-01-01 00:00:00 +00:00
NotiBot 04402c6b65 fix: right-side content cutoff on tasks page
continuous-integration/drone/push Build is passing
- SidebarInset: use min-w-0 + overflow-x-hidden instead of w-full
- Calendar: measure container width instead of viewport width
- Remove unnecessary max-w-screen-2xl from main content area
2026-02-03 23:25:57 +01:00
NotiBot 08a9e349f2 Fix: overflow-x-hidden von Wrapper/Main entfernt — schnitt rechte Seite ab
continuous-integration/drone/push Build is passing
Nur noch overflow-x:clip auf #root + overflowX:clip auf TaskCard-Wrapper.
Die gestapelten overflow-hidden auf 3 Ebenen haben Content rechts abgeschnitten.
2026-02-03 17:00:19 +01:00
NotiBot 1f314b60aa Fix: overflow-hidden aus TasksWithCalendar entfernt — schnitt Elemente rechts ab
continuous-integration/drone/push Build is passing
2026-02-03 16:44:44 +01:00
NotiBot 200659ee96 Fix: overflow-x:clip statt overflow:hidden — verhindert Scroll ohne Content abzuschneiden
continuous-integration/drone/push Build is passing
2026-02-03 16:34:05 +01:00
NotiBot 90eb8a0465 Fix: Sauberer horizontal-scroll Fix ohne destruktive CSS-Regeln
continuous-integration/drone/push Build is passing
- Entfernt max-width:100vw (inkludiert Scrollbar-Breite = Bug)
- Entfernt * {max-width:100%} (bricht Flexbox/Grid Layouts)
- Stattdessen: width:100% + overflow-x:hidden auf body/#root
2026-02-03 16:24:40 +01:00
NotiBot 68777ca051 Fix: Horizontales Scrollen auf Mobilgeräten endgültig behoben
continuous-integration/drone/push Build is passing
- TaskCard: motion.div in overflow-hidden Wrapper gepackt
- TaskCard: overscrollBehaviorX auf motion.div gesetzt
- TaskCard: Titel und Badge-Zeile mit max-w-full/overflow-hidden abgesichert
- TasksWithCalendar: Negative Margins (-mx-4/-mx-6) am Calendar entfernt
- TasksWithCalendar: overflow-x-hidden auf Scrollable Task List
- index.css: overscroll-behavior-x: none global auf html/body/#root
- index.css: max-width: 100% als globale Absicherung gegen Overflow
2026-02-03 15:22:22 +01:00
NotiBot 8e8b96fcde Horizontalen Scroll verhindern: Lange Task-Titel werden überall abgeschnitten
continuous-integration/drone/push Build is passing
- Globales overflow-x: hidden auf html/body/#root in index.css
- App.tsx: overflow-x-hidden und min-w-0 auf Hauptcontainer
- TaskCard: Eltern-Task-Titel mit truncate/min-w-0 im Flex-Layout
- KanbanBoard: min-w-0 overflow-hidden auf Spalten-Cards
- FiveMinuteStarter: truncate auf Task-Titel
- HyperfocusGuard: truncate auf Task-Buttons
- TaskBreakdownModal: truncate auf Task- und Subtask-Titel
- NotificationsPage: truncate + min-w-0 auf Benachrichtigungs-Titel
2026-02-03 14:59:40 +01:00
NotiBot 79d5fae97c Label-Filter hinzufügen und Responsive-Bug auf der Tasks-Seite beheben
continuous-integration/drone/push Build is passing
- Label-Filter-Dropdown auf der Tasks-Übersichtsseite hinzugefügt (Tag-Icon, zeigt alle Labels mit Farbpunkt)
- Responsive-Bug behoben: Breakpoint-Mismatch bei negativen Margins (sm:-mx-6 → md:-mx-6) verursachte horizontales Scrollen zwischen 640-768px
- overflow-x-hidden auf den Hauptcontainer gesetzt
- Alle Select-Trigger mit min-w-0, truncate und shrink-0 Icons versehen für bessere Responsivität
2026-02-03 14:10:29 +01:00
NotiBot c867c5ca71 Fix: Search-Route vor :id-Route registriert, damit /api/tasks/search nicht als Task-ID interpretiert wird
continuous-integration/drone/push Build is passing
2026-02-03 12:57:45 +01:00
NotiBot 064e978fc5 fix: API key generation button - URL mismatch (apikey → api-key)
continuous-integration/drone/push Build is passing
Frontend was calling /api/user/apikey but backend route is /api/user/api-key.
Button did nothing because requests returned 404.
2026-02-03 11:39:58 +01:00
NotiBot 6a10f4c47b fix: resolve all client-side TypeScript compilation errors
continuous-integration/drone/push Build is passing
2026-02-03 10:54:20 +01:00
NotiBot 637bfb95f9 fix: TS-Fehler in routes.ts (awardXP Signatur) und storage.ts (fehlende User-Felder in MemStorage)
continuous-integration/drone/push Build is passing
2026-02-03 10:48:39 +01:00
NotiBot 70de82e88f fix: Security Issues + Bug Fixes
continuous-integration/drone/push Build is failing
SECURITY FIXES:
- SEC-1: Debug-Endpoints (/api/debug/*) entfernt - waren ohne Auth zugänglich
- SEC-2: debugCode aus 2FA API-Responses entfernt (nur noch console.log in dev)
- SEC-3: Session Secret Validierung - Server startet nicht ohne SECRET in production
- SEC-4: 2FA if(true) bypass entfernt - 2FA-Flow funktioniert jetzt korrekt
- SEC-5: Auth-Checks auf 10 Endpoints hinzugefügt (labels, notes, goals, rewards)

BUG FIXES:
- DUP-1: Doppelte DELETE /api/tasks/:id Route entfernt
- DUP-2: Doppelter deleteLabel() Aufruf entfernt
- DEAD-4: PATCH /api/goals/:id nutzt jetzt updateGoal() statt updateTask()
- MISC-3: XP Double-Counting in logXpEvent() behoben
- TYPE-2: awardXP() Parameter-Reihenfolge korrigiert (break, energy, focus)
- DEAD-1: Ungenutzter calculateXP() Dead Code entfernt
2026-02-03 10:39:32 +01:00
NotiBot 4f6aff32ab feat: API Key Auth + erweiterte MCP Tools + Dokumentation
continuous-integration/drone/push Build is passing
- API Key Middleware für alle /api/ Endpoints (X-API-Key, Bearer, Query)
- API Key Management Routes (generate, revoke, status)
- MCP Tools erweitert: 12 Tools (war 3) inkl. bulk ops, dashboard, search
- Audit Logging für alle API/MCP Aktionen
- docs/API-REFERENCE.md - vollständige API Dokumentation
- docs/ARCHITECTURE.md - Architektur-Übersicht
- Vorbereitung für NotiBot-Integration
2026-02-03 10:23:18 +01:00
Paul Nothaft c1f7a13c0e chore: Update logo and icon assets
continuous-integration/drone/push Build is passing
Updated favicon, app icons, and PWA icons with refreshed designs.
Added new icon-circle-tight.png variant.
2026-01-20 08:12:19 +01:00
Paul Nothaft ad50b97f44 feat: Add Mark as Done button to task details modal
continuous-integration/drone/push Build is passing
Add a "Mark as Done" button next to the Save button in the task details
modal. When clicked, if no time has been tracked for the task, a dialog
prompts the user to enter time spent before marking the task as done.
The dialog supports both clock-style (hours/minutes pickers) and manual
(decimal hours) time entry.
2026-01-19 22:12:23 +01:00
Paul Nothaft 88cd2a5c88 feat: Implement TaskFlow logos and icons throughout the application
continuous-integration/drone/push Build is passing
- Add favicon files (16x16 to 256x256, .ico)
- Add PWA icons (128, 256, 512, 1024)
- Add apple-touch-icon for iOS
- Add transparent icons for loading screens
- Add horizontal logo with tagline for auth page
- Update HTML head with proper favicon links
- Update PWA manifest with correct icon references
- Update sidebar header with branded icon
- Update mobile header with branded icon
- Update auth/login pages with logo display
- Update loading state with branded splash screen
- Update 404 page with logo header
- Update email template to use proper logo URL
- Update service worker and push notifications to use correct icons
2026-01-19 21:40:09 +01:00
Paul Nothaft 4b51e9f05e chore: Regenerate package-lock.json for Docker build compatibility
continuous-integration/drone/push Build is passing
2026-01-19 20:55:48 +01:00
Paul Nothaft f91978c078 feat: Add Web Push notifications and multiple UX improvements
continuous-integration/drone/push Build is failing
- Add PWA manifest and service worker for push notifications
- Implement VAPID key generation and push subscription management
- Add push notification API endpoints (/api/push/*)
- Add push_subscriptions table to database schema
- Update notification settings UI with push support and iOS hints
- Fix translation issue showing "{ task } created" - add missing keys
- Fix mobile sidebar visibility for iOS home screen app
- Change default task filter from "all" to "open" (excludes done tasks)
- Add "Open" filter option to show only todo + inProgress tasks
2026-01-19 20:53:13 +01:00
Paul Nothaft 9bfc9e2f96 fix: AI chat loading indicator persists until response received
continuous-integration/drone/push Build is passing
- Add separate isWaitingForResponse state to track loading
- Set to true before mutation, false only in onSuccess/onError
- Combine with mutation.isPending for reliable isLoading state
- Typing indicator now stays visible throughout entire AI request
2026-01-17 10:15:58 +01:00
Paul Nothaft 2a98ebdf9f fix: Multiple ADHD/Focus Tools fixes
continuous-integration/drone/push Build is passing
Switch/Checkbox Styling:
- Exclude switches and checkboxes from larger-targets CSS
- Fix checkbox square aspect ratio when ADHD mode enabled
- Prevent padding from being applied to form controls

Quick Wins Count:
- Use settings.quickWinThreshold instead of hardcoded 15
- Match same filtering logic as QuickWinList component

Back Button Navigation:
- Use window.history.back() instead of setLocation('/')
- Works correctly when navigating from ADHD dashboard to sub-pages

Time Tracking (Break Reminder):
- Track only active browser time using Page Visibility API
- Reset accumulated time after 8 hours of inactivity
- Store/restore active time in localStorage properly
- No more 1500+ hour counts from leaving browser open

Sources:
- https://ui.shadcn.com/docs/theming (shadcn theming)
- https://ui.shadcn.com/docs/tailwind-v4 (Tailwind v4 updates)
2026-01-16 23:01:26 +01:00
Paul Nothaft b4e7cce651 fix: Add cache control headers and improve typing indicator
continuous-integration/drone/push Build is passing
- Add proper cache control headers in static.ts
- HTML files: no-cache to always get fresh version
- Assets: long cache with immutable (content-hashed filenames)
- Improve typing indicator animation (larger dots, faster animation)
2026-01-16 16:53:34 +01:00
Paul Nothaft 5ac64b437b fix: AI chat loading indicator and auto-refresh tasks
continuous-integration/drone/push Build is passing
- Add animated typing indicator (bouncing dots) when AI is processing
- Show "Thinking..." status in chat header while processing
- Add translations for AI chat (en/de): title, welcome, placeholder, thinking, error
- Auto-refresh tasks, labels, and user data after AI response
- Disable input field while AI is processing
- Fix translation keys to use ai.chat.* namespace
2026-01-16 16:15:02 +01:00
Paul Nothaft f165ae52e6 fix: Mobile responsiveness for Focus Tools & AI chat improvements
continuous-integration/drone/push Build is passing
Mobile Responsiveness:
- Fix headers on all Focus Tools pages (responsive text sizes, proper spacing)
- Fix BodyDoublingLobby form grid (stacks on mobile)
- Add shrink-0 and min-w-0 to prevent flex overflow issues

AI Chat Improvements:
- Add labelName parameter to createTask tool for easier label assignment
- Auto-match or create labels when labelName is provided
- Improve system prompt to act immediately without confirmation
- Clearer instructions about using tools and handling labels
- Better support for Ollama models with function calling
2026-01-16 15:58:00 +01:00
Paul Nothaft 7ce4f7efdc feat: Add Focus Tools (ADHD-friendly productivity features)
continuous-integration/drone/push Build is passing
- Add Focus Tools dashboard with collapsible help section
- Implement Quick Wins page for tasks under 15 minutes
- Add Single Task Focus mode to reduce overwhelm
- Create Body Doubling page for virtual co-working
- Add visual timer, break reminders, and energy tracking
- Implement hyperfocus protection alerts
- Add ADHD settings panel with customizable options
- Include full English and German translations
- Fix larger touch targets CSS to not break button layouts
- Add Playwright tests for Focus Tools features
2026-01-15 21:20:04 +01:00
paul 74ffef48d3 feat: Add Time Tracking page with analytics and time distribution charts
continuous-integration/drone/push Build is passing
- Add TimeTrackingPage with pie/bar charts for time spent per label
- Add task_time_logs schema for tracking time entries
- Add /api/analytics/time-distribution endpoint
- Update sidebar navigation with time tracking link
- Update App routing for new pages
- Fix routine blocker and settings card issues
- Add German translations for analytics

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 23:50:10 +01:00
paul 877d0c897e Fix: Mobile responsiveness audit (modals, views, sidebar) & Critical bug fixes (registration, orphan tasks)
continuous-integration/drone/push Build is passing
2025-12-17 15:06:13 +01:00
paul 2579df0b89 feat: Enhance task filtering, smart scheduling, audit logs and translations
continuous-integration/drone/push Build is passing
2025-12-17 14:26:54 +01:00
paul 9819d8db0b feat: Notifications page, Sidebar layout fixes, and Achievements enhancements
continuous-integration/drone/push Build is failing
- implemented /notifications page with overdue/upcoming alerts
- Fixed sidebar scrolling in collapsed mode
- Moved notification button to sidebar footer
- Enhanced Achievements page with streak stats and tooltips
- Improved XP history to show task titles
- Added missing translations (en/de)
- Removed top bar header
- Fixed Docker environment routing
2025-12-17 10:06:36 +01:00
paul 7b79015ac2 fix(routine): resolove routine blocker logic bug and white screen
continuous-integration/drone/push Build is passing
feat(gamification): add streak bonuses, tooltip, and improved history details

fix(ep): resolve double counting ep bug

ui: update app icon and translations
2025-12-15 23:17:59 +01:00
paul 9736864425 feat: Complete AI Chat Agent, Admin Settings (MCP/AI), and Translations
continuous-integration/drone/push Build is passing
2025-12-15 21:52:36 +01:00
paul 71d5c825c5 refactor(ui): move MCP settings to dedicated admin tab and increase prod db timeout
continuous-integration/drone/push Build is passing
2025-12-15 16:28:47 +01:00
paul e8d9d0c686 feat: Add AI subtask reproduction script, refactor Admin MCP settings UI, update Vite config, and add i18n gamification rules.
continuous-integration/drone/push Build is passing
2025-12-15 16:20:47 +01:00
paul bc40969ad7 feat: implement automated versioning and update docs
continuous-integration/drone/push Build is passing
2025-12-15 16:06:38 +01:00
paul cd7707a725 fix: run db migrations on startup in production
continuous-integration/drone/push Build is passing
2025-12-15 16:05:53 +01:00
paul aa5f2328f7 chore: verify version bump automation 2025-12-15 16:02:53 +01:00
paul d1736c5991 feat: enhance audit logging, add MCP settings, and production docker setup
continuous-integration/drone/push Build is passing
- Implemented comprehensive audit logging for Tasks, Users, Settings, Goals, Labels, AI Chat, and Rewards.
- Added Admin UI for MCP Server settings and Audit Logs.
- Created docker-compose-production.yml with Traefik configuration.
- Fixed backend bugs (missing storage methods, route closure).
- Added Audit Logging Guidelines.
2025-12-15 15:53:31 +01:00
paul fdf321cde9 fix(client): Remove duplicate imports in AiSettingsCard
continuous-integration/drone/push Build is passing
2025-12-12 08:57:51 +01:00
paul a184115d28 feat: Enhanced Ollama Integration (Model Fetching/Pulling)
continuous-integration/drone/push Build is passing
2025-12-12 08:57:30 +01:00
paul 93063f772d fix: Consolidate Admin Settings UI
continuous-integration/drone/push Build is passing
2025-12-12 08:50:21 +01:00
paul 5d8976b1cd feat: Implement AI Chat Agent, Email Notifications, and UI enhancements
continuous-integration/drone/push Build is passing
2025-12-12 08:35:48 +01:00
paul ccfb674318 feat: add social features, leaderboard, auth enhancements, and admin fixes
continuous-integration/drone/push Build is passing
- Implement Social Features: Shared Tasks, Global Access, Privacy Settings (Leaderboard/Searchable).
- Add Leaderboard Page and API.
- Enhance Auth: Support Email/Username login, explicit duplicate registration errors.
- Fix: Admin login password hash regression.
- Refactor: Move to wouter for routing, add Admin Dashboard and User Management.
- Add Setup Wizard.
- Update UI with Sidebar and Gamification elements.
2025-12-10 14:04:26 +01:00
paul-nothaft d5b045158a Add missing translations for project templates and task details
continuous-integration/drone/push Build is passing
Adds new translation keys for project templates and task details in `en.json` and `de.json`, and updates `ProjectTemplate.tsx` to use these translations.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/iGgwDyZ
2025-10-24 11:26:17 +00:00
paul-nothaft 3c39346087 Improve error handling and user feedback for task creation
Update task creation form to include validation and display user-friendly error messages for invalid inputs.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/iGgwDyZ
2025-10-24 11:06:39 +00:00
paul-nothaft f045e2dce9 Translate project template and creation UI elements
Add translations for project template page, new project form, labels, and popups in the task management app.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/iGgwDyZ
2025-10-24 11:06:00 +00:00
paul-nothaft 102315fa7c Add translations for various project management features
Integrate i18n translation keys for project template page elements, including column titles, buttons, dialogs, and input fields, within the ProjectTemplate component.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/HdLXOOf
2025-10-24 11:00:26 +00:00
paul-nothaft 57f09310ca Improve navigation and translations for project templates
Add back button navigation from Project Templates to Settings, implement translations for Project Templates page in English and German, and update UI component translation list.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/HdLXOOf
2025-10-24 10:32:20 +00:00
paul-nothaft 5a72497acd Improve overall styling and layout across the application
Update CSS variables and component styles for improved visual consistency and responsiveness.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/HdLXOOf
2025-10-24 10:31:45 +00:00