Skip to content

[pull] main from fastrepl:main#99

Merged
pull[bot] merged 11 commits intoMu-L:mainfrom
fastrepl:main
Dec 30, 2025
Merged

[pull] main from fastrepl:main#99
pull[bot] merged 11 commits intoMu-L:mainfrom
fastrepl:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Dec 30, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

devin-ai-integration bot and others added 11 commits December 30, 2025 15:29
## Summary

Adds jsonschema validation tests for apple-calendar fixture data. The tests validate that base fixture files (calendars.json, events.json) and patched fixture data conform to schemas generated from the Rust types at runtime using `schemars`.

Key changes:
- Added `jsonschema` crate to workspace and apple-calendar plugin
- Created `schema_file_test!` macro for validating base fixture files
- Created `schema_patched_test!` macro for validating fixture data after applying JSON patches
- Tests cover: base calendars, base events, and all three patch scenarios (event_added, event_removed, event_rescheduled)

This approach generates schemas from Rust types at runtime rather than using the existing schema files on disk, which could enable removing the static schema files in the future.

## Review & Testing Checklist for Human

- [ ] Run tests with fixture feature: `cargo test -p tauri-plugin-apple-calendar --lib --features fixture -- schema_validation`
- [ ] Verify the runtime-generated schemas are equivalent to the existing schema files in `src/fixture/schema/`
- [ ] Check that CI passes with the new `jsonschema` dependency

### Notes

Requested by: yujonglee (@yujonglee)
Session: https://app.devin.ai/sessions/e768f1d66dc442c5ac9bc73cd8c74f13

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>
…command (#2668)

* feat: add sidecar2 plugin with encapsulated current_dir and dev-only command

- Create sidecar2 plugin following analytics plugin conventions
- Encapsulate current_dir(dirs::home_dir().unwrap()) pattern
- Encapsulate dev-only passthrough command pattern for debug builds
- Migrate local-stt plugin to use sidecar2 for sidecar command creation
- Add sidecar2 to workspace dependencies and desktop app

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* chore: update pnpm-lock.yaml for sidecar2 plugin

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* style: fix dprint formatting in sidecar2 plugin

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* cleanup

* wip

* no behavior change

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yujonglee <yujonglee.dev@gmail.com>
… tiptap core (#2669)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yujonglee <yujonglee.dev@gmail.com>
…ations exist (#2467)

* feat(ui): add notification badge component

* feat(notifications): add context for managing app notifications

* feat(ui): add notification badge to sidebar toggle button

* Move red notification badge and add ping effect

Adjust the badge position and visual style to meet the requested UI update: move the badge 8px left and 8px down and add a ping animation. Replaced the single absolutely positioned div with nested spans and two motion.spans — one for the animated ping (bg-red-400, animate-ping) and one for the solid badge (bg-red-500) — while keeping existing motion transitions and size/class props.
…2670)

When the app is launched via CLI symlink, Tauri's sidecar() method fails
because it cannot find the sidecar binary relative to the symlink path.

This fix:
- Tries .sidecar() first (normal path)
- Falls back to .command() with manual path resolution when sidecar fails
  and the current exe is a symlink
- Resolves the symlink to get the actual binary path
- Finds the sidecar binary by scanning the exe directory for files
  matching the sidecar name pattern
- Validates the sidecar is not itself a symlink
- Returns proper errors instead of panicking

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yujonglee <yujonglee.dev@gmail.com>
…n app running, use CLI-friendly binary names (#2658)

* fix: improve CLI support - fix symlink detection, handle CLI args when app running, use CLI-friendly binary names

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* feat: use dynamic binary name for CLI symlink and add PATH guidance

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* fix: handle sidecar symlink issue for CLI launch

When the app is launched via CLI symlink, Tauri's sidecar() method fails
because it rejects symlinked paths on macOS for security reasons.

This fix:
- Tries .sidecar() first (normal path)
- Falls back to .command() with manual path resolution when symlink error occurs
- Resolves the symlink to get the actual binary path
- Finds the sidecar binary by scanning the exe directory
- Validates the sidecar is not itself a symlink
- Returns proper errors instead of panicking

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* feat: improve CLI behavior - handle args before single-instance, use clap for help generation

- Handle CLI args early before single-instance plugin takes over
- This ensures CLI commands work regardless of whether app is running
- Use clap for generating help text instead of hard-coding
- Add clap_mangen for manpage generation
- Add test to export manpage for docs
- App opens in background mode for CLI commands that need it (update)
- CLI commands don't affect app's visual status

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* fix: filter out Tauri internal args before clap parsing

- Filter out --crash-reporter-server and other Tauri internal args
- Use actual binary name for help/version output (hyprnote-staging, etc.)
- Prevents 'unexpected argument' error when running CLI without args

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* refactor: remove tauri-plugin-cli dependency, consolidate CLI handling

- Remove tauri-plugin-cli from Cargo.toml dependencies
- Remove plugins.cli section from tauri.conf.json
- Remove tauri_plugin_cli usage from cli2 plugin (lib.rs, ext.rs, handler.rs)
- Consolidate CLI handling: handle_cli_early() and handle_cli_args() now use
  clap as the single source of truth for command definitions
- Remove redundant entrypoint() and handle_cli_matches() functions
- Simplify handle_cli_args() to reuse clap parsing instead of string matching

This eliminates the triple CLI definition problem where commands were defined
in tauri.conf.json, clap Commands enum, and string matching in handle_cli_args.

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

* fix: properly handle --help and --version in CLI

The previous commit broke --help/--version because try_parse_from() returns
an Err containing the formatted output for these flags, but the error was
being discarded. Now we let clap handle these flags through the normal
error path which calls e.print() to display the output.

Also removed the unused get_binary_name() function.

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: yujonglee <yujonglee.dev@gmail.com>
* feat(onboarding): add local STT model configuration step

* fix(onboarding): improve welcome flow and navigation logic

* feat(onboarding): improve model download error handling

Add error state and loading indicator for model download process
to provide better user feedback and prevent multiple download attempts.
* feat(onboarding): add local STT model configuration step

* fix(onboarding): improve welcome flow and navigation logic

* feat(onboarding): improve model download error handling

Add error state and loading indicator for model download process
to provide better user feedback and prevent multiple download attempts.

* feat(toast): add download progress toasts for model download
@pull pull bot locked and limited conversation to collaborators Dec 30, 2025
@pull pull bot added the ⤵️ pull label Dec 30, 2025
@pull pull bot merged commit a10b9e5 into Mu-L:main Dec 30, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants