- Revert Label.vue to original state (no clickable prop)
- Revert Labels.vue, QuickActions.vue, FilterCommandsList.vue to original state
- Implement clickable labels inline in ListLabels.vue using RouterLink
- Remove dependency on XLabel component in ListLabels
- Keep edit button behavior (delete icon opens edit form)
- Keep ShowTasks.vue and Home.vue filtering functionality unchanged
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
- Fix Icon import path (Icon.vue -> Icon)
- Update translation string to remove colon
- Make labels clickable ONLY on ListLabels page
- Remove clickable from Labels.vue (labels on tasks are not clickable)
- Update ListLabels to use XLabel component with clickable={true}
- Add edit button with pen icon next to labels on ListLabels page
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
- Change default clickable prop to false (simpler code)
- Update Labels.vue to explicitly set clickable=true
- Remove clickable=false from QuickActions and FilterCommandsList (now default)
- Add {label} placeholder to translation string
- Use i18n-t component to render label within translation
- Move router.push from ShowTasks to Home via event emission
- Add clearLabelFilter event handler in Home.vue
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
- Set clickable=false for labels in QuickActions modal
- Set clickable=false for labels in FilterCommandsList autocomplete
- This prevents navigation conflicts when labels are shown in interactive components
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
- Made labels clickable in Label.vue component
- Added label filtering to ShowTasks component via query parameters
- Updated Home.vue to pass label query parameters to ShowTasks
- Added visual indicator showing active label filter with clear button
- Added translation for "Filtering by label" message
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
The function previously used <= for hour comparisons, which caused it to
return a breakpoint hour even if the current time had passed it. For example,
at 15:54, it would return 15 (3:00 PM), which is in the past.
Now the function checks both hours and minutes:
- If current time is before a breakpoint hour, return that hour
- If current time is exactly at a breakpoint hour with 0 minutes, return that hour
- If current time is past a breakpoint (hour with minutes > 0), return the next breakpoint
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
This change switches from pull_request to pull_request_target trigger,
allowing PRs from forks to successfully build and push Docker images.
The pull_request trigger provides a read-only GITHUB_TOKEN for fork PRs,
even when permissions.packages is set to write. This caused builds to fail
for external contributors.
Using pull_request_target is safe here because:
- We explicitly checkout the PR's head SHA
- Only Docker build happens (isolated, no arbitrary code execution)
- No untrusted scripts are run in the workflow context
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
Co-authored-by: kolaente <k@knt.li>
* Initial plan
* feat: add PR docker build workflow
Add a new workflow that builds and pushes Docker images for pull requests:
- Runs independently without waiting for tests
- Builds only for linux/amd64 platform
- Pushes only to GHCR (not Docker Hub)
- Tags images with pr-<number> format
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
* feat: add SHA tag to PR Docker images
Add type=sha,format=long to docker tags for PR images.
This will tag images with both pr-<number> and sha-<commit_hash>.
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kolaente <13721712+kolaente@users.noreply.github.com>