Repository navigation
feat: 支持 Windows、macOS 和 Linux 跨平台悬浮窗 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
0531a64
refactor: Extract platform-independent scanner into CodexTpsFloat.Core
Craun718 5a6bcf2
fix: Detect rewritten logs without relying on Windows file creation time
Craun718 96adc08
refactor: Move settings persistence and report export into the core l…
Craun718 7a3a71d
refactor: Move the headless snapshot command into the core library
Craun718 5b571ec
feat: Add cross-platform autostart and platform path services
Craun718 4c1eb4d
feat: Add cross-platform Avalonia application shell
Craun718 c66a7be
build: Make the Avalonia app the release entry point
Craun718 480a093
build: Publish the Avalonia app through cross-platform build scripts
Craun718 9e77169
ci: Build tagged releases for Windows, macOS, and Linux
Craun718 cff32fb
fix: Cover cross-platform single-instance wakeups
Craun718 ca9332a
docs: Document cross-platform installation and builds
Craun718 612397c
style: Remove trailing blank line from Avalonia entry point
Craun718 bc09772
docs: Add cross-platform third-party notices
Craun718 07a974b
ci: Match release runners to target architectures
Craun718 f1fc837
fix: Keep the tray app hidden on startup
Craun718 ce51eb3
fix: Use process-safe single-instance locking on Unix
Craun718 4190f67
fix: Use the XDG autostart directory on Linux
Craun718 ce451e4
fix: Show the panel when no tray is available
Craun718 d689ae4
fix: Use platform-native config directories on macOS
Craun718 196f0f9
fix: Hide the macOS Dock icon for the tray app
Craun718 59ae60d
fix: Show the panel on macOS startup
Craun718 1d3a198
feat: Make the whole macOS panel draggable
Craun718 4f717d6
fix: Replace toolbar text symbols with vector icons
Craun718 0bb1a78
Replace panel symbols with vector icons
Craun718 a009f2a
fix: Upgrade Tmds.DBus.Protocol to patched version
Craun718 15a2f77
fix: Render a transparent macOS tray icon
Craun718 8ed1cb8
ci: Add cross-platform build workflow
Craun718 e0d3deb
fix: Restore refresh cadence selection and refine window segments
Craun718 64a606e
fix: Exclude Avalonia sources from the legacy WPF project
Craun718 d2830e1
fix: Start the Avalonia UI on an STA thread
Craun718 fcf2071
fix: Preserve the legacy Windows wake event name
Craun718 bbd40ca
fix: Keep capture sessions from persisting settings
Craun718 8c3fac2
fix: Preserve saved coordinates when exiting an unopened panel
Craun718 a84e6db
fix: Handle snapshot and single-instance startup errors
Craun718 c024272
fix: Keep the Linux panel accessible without a tray host
Craun718 702fe64
fix: Refresh the selected directory after in-flight scans
Craun718 5e2ba79
ci: Label tray lifecycle checks as legacy WPF coverage
Craun718 9de23d5
fix: Escape Linux desktop autostart executable paths
Craun718 7f1740f
fix: Propagate Unix lock failures unrelated to contention
Craun718 714a409
fix: Exclude interactive event sources from panel dragging
Craun718 d00ea1a
fix: Wait for the panel to be ready before handling wake requests
Craun718 3837432
fix: Acknowledge wake requests and report failed handoffs
Craun718 2897448
fix: Drain Windows wake callbacks before closing acknowledgment handles
Craun718 f61435a
fix: allow equals in Linux autostart paths
Craun718 a733edb
fix: honor selected report export format
Craun718 b145ca5
fix: align autostart tests and escape report model
Craun718 c4441c2
ci: Upgrade artifact actions for Node.js 24
Craun718 54064e1
Fix export overwrite confirmation and log replacement detection
jinghero 5856d9c
Check log prefixes when replacement timestamps collide
jinghero File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| name: CI | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - '**' | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: ci-${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| test: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 20 | ||
| steps: | ||
| - name: Check out source | ||
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
|
|
||
| - name: Set up .NET 10 | ||
| uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 | ||
| with: | ||
| dotnet-version: '10.0.x' | ||
|
|
||
| - name: Run core regression tests | ||
| run: dotnet run --project tests/CoreTests.csproj -c Release --nologo | ||
|
|
||
| - name: Run Avalonia regression tests | ||
| run: dotnet run --project tests/AppTests.csproj -c Release --nologo | ||
|
|
||
| build: | ||
| needs: test | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| - runner: windows-latest | ||
| runtime: win-x64 | ||
| shell: pwsh | ||
| - runner: macos-15 | ||
| runtime: osx-arm64 | ||
| shell: bash | ||
| - runner: macos-15-intel | ||
| runtime: osx-x64 | ||
| shell: bash | ||
| - runner: ubuntu-latest | ||
| runtime: linux-x64 | ||
| shell: bash | ||
| runs-on: ${{ matrix.runner }} | ||
| timeout-minutes: 30 | ||
| defaults: | ||
| run: | ||
| shell: ${{ matrix.shell }} | ||
| steps: | ||
| - name: Check out source | ||
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | ||
|
|
||
| - name: Set up .NET 10 | ||
| uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 | ||
| with: | ||
| dotnet-version: '10.0.x' | ||
|
|
||
| - name: Run legacy WPF hidden tray lifecycle tests (Windows only) | ||
| if: runner.os == 'Windows' | ||
| run: dotnet run --project tests/TrayLifecycleTests.csproj -c Release --nologo -- --never-show | ||
|
|
||
| - name: Build portable application | ||
| if: runner.os == 'Windows' | ||
| run: ./build.ps1 -Runtime ${{ matrix.runtime }} -Portable | ||
|
|
||
| - name: Build portable application | ||
| if: runner.os != 'Windows' | ||
| run: PORTABLE=1 ./build.sh ${{ matrix.runtime }} | ||
|
|
||
| - name: Upload build artifact | ||
| uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 | ||
| with: | ||
| name: CodexTpsFloat-ci-${{ matrix.runtime }}-${{ github.sha }} | ||
| path: app | ||
| if-no-files-found: error | ||
| retention-days: 14 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| <Project> | ||
| <PropertyGroup> | ||
| <Version>1.1.3</Version> | ||
| </PropertyGroup> | ||
| </Project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.