Commit graph

35 commits

Author SHA1 Message Date
callumalpass
92b603d78c keep release workflow drafts 2026-05-20 20:58:06 +10:00
callumalpass
5975732caa publish release notes from workflow 2026-05-20 20:55:59 +10:00
callumalpass
b35a2e656c Soften bug report requirements 2026-05-19 20:30:48 +10:00
callumalpass
914bed6560 Improve bug report template 2026-05-19 18:23:58 +10:00
callumalpass
2538f5b05b release 4.7.1 2026-05-14 08:02:31 +10:00
callumalpass
c9b070d05a Guard release video docs workflow 2026-05-13 07:44:05 +10:00
callumalpass
1f8646cf69 Improve lint compliance and modal architecture 2026-05-13 07:17:45 +10:00
callumalpass
77e5257018 Fix CI by checking out spec submodule in tests 2026-03-31 07:33:55 +11:00
callumalpass
dc90a14661 Fix docs CI to checkout submodules
The spec content lives in a submodule at docs/spec. Without
submodules: true the checkout is empty and Pages deploy fails.
2026-03-29 19:34:38 +11:00
callumalpass
b0cd74f1ad docs: update docs content and docs build tooling 2026-02-21 08:52:08 +11:00
callumalpass
413df27517 chore(docs): add docs sync and CI quality checks 2026-02-15 11:03:35 +11:00
callumalpass
87ba50d6f3 chore: prepare repository for BRAT beta releases
- Update release workflow to auto-set version from git tag
- Fix plugin name in workflow (chronosync → tasknotes)
- Update test workflow to include OAuth env vars for builds
- Add .env to .gitignore for OAuth credentials
- Clean up old planning documents and GIF files
- Update calendar setup documentation
- Enhance license validation with better logging and content-type
2025-10-29 22:54:43 +11:00
callumalpass
f34f76d065 feat: implement OAuth loopback flow for Google Calendar integration
- Switch from device flow to loopback redirect flow for Google Calendar
  (device flow doesn't support Calendar API scopes)
- Bundle OAuth client credentials (client_id and client_secret) for Quick Setup
- Make client_secret optional in token exchange (only include if present)
- Update esbuild config to inject GOOGLE_OAUTH_CLIENT_SECRET
- Update GitHub Actions workflow to include client_secret in builds
- Keep Microsoft Calendar on device flow (supports calendar scopes)
- Update privacy policy to disclose OAuth integration and Lemon Squeezy

Technical details:
- Google requires client_secret even for public clients (non-standard OAuth)
- PKCE provides actual security, bundled secret just identifies the app
- Follows industry practice (VS Code, GitHub Desktop, etc.)
2025-10-29 22:22:59 +11:00
callumalpass
1bf51c37c5 Add v4 planning documentation and update test workflow
- Create V4_PLANNING.md with comprehensive v4 roadmap
- Document branching strategy (v3-maintenance vs main)
- Outline technical investigations for Bases API capabilities
- Add test workflow support for v3-maintenance branch

This branch will be used to explore v4 architecture decisions and
test Bases API capabilities before committing to full migration.
2025-10-12 12:12:21 +11:00
callumalpass
5af2128171 Fix: Fetch full git history in release workflow to populate release note dates 2025-10-08 23:44:57 +11:00
callumalpass
7069ac3dcf fix: Generate release notes import before typecheck in CI 2025-10-05 14:06:03 +11:00
callumalpass
9908573a74 chore: update issue templates 2025-09-29 22:51:42 +10:00
callumalpass
cbfdebfb92 Revert "Merge pull request #747 from callumalpass/issue717"
This reverts commit dc7cfb5b0d, reversing
changes made to e6cc6a2338.
2025-09-28 11:55:01 +10:00
callumalpass
20dd383bd4 feat: configure Prettier formatter and improve linting setup
- Add Prettier with tabs/4-space configuration matching EditorConfig
- Install eslint-config-prettier and eslint-plugin-prettier for integration
- Add format scripts: format, format:check, lint:fix
- Update CI to fail on linting errors but allow warnings (--max-warnings -1)
- Add format check step to CI pipeline before linting
- Fix all 54 ESLint errors (unused imports/variables, case declarations, escape chars)
- Add .prettierignore for build artifacts and dependencies

Addresses issue #717 - improves code formatting and makes it easier for
third parties to contribute with consistent formatting standards.
2025-09-28 11:34:47 +10:00
callumalpass
eb7be73987 feat: implement comprehensive i18n CI/CD system
- Add i18n management script with sync, verify, and status commands
- Integrate GitHub Actions workflow to enforce translation consistency
- Generate initial manifest (1209 keys) and state files for English/French
- Add package.json scripts for easy i18n workflow management
- Create comprehensive I18N_GUIDE.md with usage examples and best practices

Features:
- Automatic detection of missing/stale translations
- CI/CD enforcement preventing deployment of untranslated strings
- Hash-based tracking system for source string changes
- Support for multiple locales with individual progress tracking
- TypeScript file parsing with automatic cleanup

This ensures translation quality and prevents regressions while providing
clear workflows for both developers and translators.
2025-09-23 22:10:35 +10:00
callumalpass
e1a567a3d5 fix: use test:ci command in GitHub Actions for proper CI environment setup
The test:ci command includes --ci and --watchAll=false flags that are
specifically designed for CI environments, which should resolve test
failures that only occur in CI.
2025-08-31 17:11:25 +10:00
callumalpass
9a24c3eb48 fix: allow linting warnings in CI workflow
- Modify test workflow to continue on lint warnings
- Use '|| echo' pattern to prevent lint warnings from failing CI
- Maintains code quality checks while allowing dependency updates

This ensures CI passes with existing code patterns during dependency updates
2025-08-31 16:47:19 +10:00
Callum Alpass
2c449bf5dd debug: Temporarily test only Node.js 20 with verbose output
- Remove Node.js 18 from test matrix to isolate Node version issues
- Add verbose flag to test output for better debugging
- Add environment debug info (Node version, timezone, Jest version)
- This will help identify if Node.js 18 compatibility is the root cause of CI failures
2025-07-26 13:54:37 +10:00
Callum Alpass
7456a175aa fix: Add timeouts and offline preferences to GitHub Actions
- Add timeout-minutes to all test steps to prevent indefinite hangs
- Use --prefer-offline and --no-audit for npm ci to reduce network dependency
- Set appropriate timeouts for each step type (lint: 10min, tests: 15min, build: 10min)
- This should resolve Node.js 18 compatibility issues with network-dependent ESLint plugins
2025-07-26 13:24:54 +10:00
Callum Alpass
e3c4bb18d2 Update Bug Report Template & Add Question Template for Improved Issue Reporting
This commit refines our issue templates to enhance clarity and usability for TaskNotes users when reporting bugs or asking questions.

Key Changes:
• Bug Report Template (/.github/ISSUE_TEMPLATE/bug_report.yml):
  - Updated introductory markdown to adopt friendlier, more empathetic language.
  - Revised field labels and descriptions:
    ▸ Changed the "Bug Description" field label to "What's the bug?" with an expanded example.
    ▸ Adjusted the "Expected Behavior" field label and description for clarity.
    ▸ Updated the screenshots field to "Screenshots or Screen Recordings" with instructions that encourage attaching visual aids.
    ▸ Relocated and renamed the debug info field to "Technical Details (Optional)" with more context on how to obtain debug information.
  - Simplified dropdown options in "feature-context" and refined descriptions.

• Issue Template Configuration (/.github/ISSUE_TEMPLATE/config.yml):
  - Added a new contact link "Ask a Question" to direct users to the appropriate issue template for queries.

• New Question Template (/.github/ISSUE_TEMPLATE/question.yml):
  - Created a template aimed at users who have questions about TaskNotes.
  - The template guides users to reference the documentation and provides a required field for clearly articulating their question, along with an optional context field.

These updates are intended to provide a more streamlined, intuitive experience when users report bugs or ask questions, thereby helping us capture more actionable insights and address concerns more efficiently.
2025-06-30 07:07:29 +10:00
Callum Alpass
9157766511 update bug report instructions 2025-06-29 21:16:33 +10:00
Amith KK
e20bd60ebf
Add github issue templates (#101)
Adds issue templates for bug reports and feature requests.

Closes #100

Co-authored-by: amithkk <amithkk@users.noreply.github.com>
2025-06-29 17:50:46 +10:00
Callum Alpass
83d8676d52 update test workflow 2025-06-29 12:47:42 +10:00
Callum Alpass
bdcce83237 Add actions read permission to docs workflow 2025-06-29 12:39:17 +10:00
Callum Alpass
bf223e8867 update docs build 2025-06-29 12:33:31 +10:00
Callum Alpass
99ce83f897 Initial documentation 2025-06-29 12:26:57 +10:00
Callum Alpass
1175051d92 Update artifact uploader from v3 to v4 in GitHub Actions workflow
This commit updates the GitHub Actions "upload-artifact" action from version v3 to v4 in the CI workflow configuration file (.github/workflows/test.yml).

Changes include:
• Replacing "actions/upload-artifact@v3" with "actions/upload-artifact@v4" for the "Archive test results" step, which helps ensure that the latest bug fixes and features are used when uploading test results.
• Making the same update for the "Upload build artifacts" step, ensuring consistency and potentially better performance when archiving build outputs.

These changes aim to improve artifact uploading reliability and maintain compatibility with the latest updates available in the action.
2025-06-24 07:48:50 +10:00
Callum Alpass
972a4ad4c6 Add testing suite 2025-06-24 00:24:11 +10:00
Callum Alpass
63525f5dd6 Add modular CSS build system with comprehensive source files and documentation
• Introduce a new “styles” directory that breaks out the plugin’s CSS into several modular source files:
 – variables.css: Defines all CSS custom properties (spacing, colors, typography, transitions) to serve as design system tokens.
 – base.css: Contains foundational styles, animations (e.g. task-flash, task-pulse, fade-in) and core card styles following BEM methodology. Also includes accessibility and performance optimizations.
 – components.css: Provides reusable UI component styles and utility classes (e.g. is-hidden, is-loading, buttons, modals, tab system, task selectors) used across multiple views.
 – calendar.css: Implements calendar layout and view styling including navigation (month/week views), day formatting, indicators (notes, tasks, daily notes), hover effects and colorized modes.
 – tasks.css: Contains styles for task-list views including card layouts, task metadata, priority/ status badges, time tracking, recurring tasks, and interactivity on hover/active states.
 – kanban.css: Provides styling for Kanban board views, including board header, column layout, drag/drop feedback, checkboxes, board actions, filters and responsive adjustments.
 – filters.css: Implements a unified filtering system across views with a filter bar layout, search and sort controls, advanced filtering panels, multi-select dropdowns, chip badges and date range pickers.
 – index.css: A documentation index that outlines the intended build order and purpose of each modular CSS file.

• Add styles/README.md documenting the CSS build system, file structure, dependency order (variables → base → components → calendar → tasks → kanban → filters), and development workflow (make changes in source files, run “npm run build-css”, and test).

• This commit lays a solid foundation for maintainable, consistent styling across the TaskNotes plugin. The CSS build process concatenates these files in the proper order to generate the final (but untracked) styles.css for distribution, while supporting CI/CD integration and responsive design.

• (Optional) The build scripts in package.json have been updated to invoke “build-css” as part of “npm run dev” and “npm run build”, ensuring the latest CSS is built before launching the app.

Overall, this commit modularizes and documents the plugin’s styling strategy, improving maintainability and clarity for future development.
2025-06-08 15:59:40 +10:00
Callum Alpass
5c67b37f1b Add GitHub Actions workflow for releases 2025-05-25 11:40:07 +10:00