-
Notifications
You must be signed in to change notification settings - Fork 0
Feat/additional info apps #4
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
base: main
Are you sure you want to change the base?
Changes from all commits
f064cca
1368c4e
fc35b15
b98533b
c88fe64
10ea659
fdbd4e2
02cca8e
20215ad
c132c74
6748239
a999dd4
d782fe0
0e2f20c
2f6dbf3
8ac42af
90121d3
bb7cd2f
4f29ff6
7a5667b
4a3d7a1
191936b
19d0fb4
c54da30
9271c70
d40b29a
9ab7115
0256b64
d39bd85
a017873
2568fed
2396d49
eb2f6e4
ecf7bb4
98b2769
29c0243
0c2d144
d9c286c
f3a22e0
f678517
8c5f62b
ac9dc59
0cc9b68
e532375
d02eda9
6616ae6
5790b4c
b4d53a2
4b9a7f3
8acae27
5132b16
5e14f5c
f0c6b22
9448dc0
ee030ee
9647b17
4d07d7e
aefc892
b1a0914
033cfba
4986b56
757316b
6c59089
9cf500c
d463633
0c72fe2
b11ebf6
599e2fd
082051b
dfa82a3
595910e
a654903
cdec4af
e1fcebc
e3e8cda
8b0cdeb
6b840b7
a9f5f7e
1e8d601
3420f18
76ccb66
99000a1
4ec6a47
7ccbd64
dea0244
4cdb0ec
1e7e326
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| [build] | ||
| rustflags = ["--cfg", "tokio_unstable"] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| ### Pull Request Overview | ||
|
|
||
| This pull request adds/changes/fixes... | ||
|
|
||
| ### Testing Strategy | ||
|
|
||
| This pull request was tested by... | ||
|
|
||
| ### TODO or Help Wanted | ||
|
|
||
| This pull request still needs... | ||
|
|
||
| ### Formatting | ||
|
|
||
| - [ ] Updated CHANGELOG.md | ||
| - [ ] Ran `cargo fmt` | ||
| - [ ] Ran `cargo check` | ||
| - [ ] Ran `cargo build` | ||
| - [ ] Ran `npm run lint` | ||
|
|
||
| ### Issue | ||
|
|
||
| This pull request closes #<github issue number>. | ||
|
|
||
| ### Author | ||
|
|
||
| Signed-off-by: <name> - <username> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| 'Workflow': | ||
| - .github/workflows/** | ||
|
|
||
| 'UI': | ||
| - src/** | ||
|
|
||
| 'Backend': | ||
| - src-tauri/** |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| name: labeler | ||
|
|
||
| on: | ||
| pull_request: | ||
|
|
||
| jobs: | ||
| labeler: | ||
| runs-on: ubuntu-22.04 | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: actions/labeler@v4 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| name: rust-checker | ||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - "main" | ||
|
|
||
| jobs: | ||
| changes: | ||
| runs-on: ubuntu-22.04 | ||
| # Required permissions | ||
| permissions: read-all | ||
| outputs: | ||
| source : ${{ steps.filter.outputs.source }} | ||
| workflow : ${{ steps.filter.outputs.workflow }} | ||
| steps: | ||
| # For pull requests it's not necessary to checkout the code | ||
| - uses: actions/checkout@v3 | ||
| - uses: integrated-food-solutions/paths-filter@master | ||
| id: filter | ||
| with: | ||
| filters: | | ||
| source: src-tauri/** | ||
| workflow: .github/workflows/rust-checker.yml | ||
| rust-checker: | ||
| runs-on: ubuntu-22.04 | ||
| needs: changes | ||
| if: | | ||
| needs.changes.outputs.source == 'true' || | ||
| needs.changes.outputs.workflow == 'true' | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
|
|
||
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
| with: | ||
| components: rustfmt, clippy | ||
|
|
||
| - name: Toolchain info | ||
| run: | | ||
| cargo --version --verbose | ||
| rustc --version | ||
| cargo clippy --version | ||
|
|
||
| - name: Format | ||
| run: | | ||
| cd src-tauri | ||
| cargo fmt --all --check | ||
|
|
||
| - name: Update local toolchain | ||
| run: | | ||
| sudo apt update | ||
| sudo apt install libwebkit2gtk-4.0-dev \ | ||
| build-essential \ | ||
| curl \ | ||
| wget \ | ||
| file \ | ||
| libssl-dev \ | ||
| libgtk-3-dev \ | ||
| libayatana-appindicator3-dev \ | ||
| librsvg2-dev | ||
| echo "Installing libusb-1.0-0-dev..." | ||
| sudo apt install libusb-1.0-0-dev | ||
| echo "Installing libsdl2-dev..." | ||
| sudo apt install libsdl2-dev | ||
| echo "Installing libsdl2-ttf-dev..." | ||
| sudo apt install libsdl2-ttf-dev | ||
| echo "Installing libsoup-3.0-dev..." | ||
| sudo apt install libsoup-3.0-dev | ||
| echo "Installing javascriptcoregtk-4.1..." | ||
| sudo apt install libjavascriptcoregtk-4.1-0 \ | ||
| libjavascriptcoregtk-4.1-dev\ | ||
| gir1.2-javascriptcoregtk-4.1 | ||
| echo "Installing webkit2gtk-4.1..." | ||
| sudo apt-get install webkit2gtk-4.1 | ||
|
|
||
| - name: Create dist directory | ||
| run: | | ||
| mkdir dist | ||
|
|
||
| - name: Lint | ||
| run: | | ||
| cd src-tauri | ||
| cargo clippy -- -D warnings | ||
|
|
||
| - name: Build | ||
| run: | | ||
| cd src-tauri | ||
| cargo build |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| name: vue-checker | ||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - "main" | ||
|
|
||
| jobs: | ||
| changes: | ||
| runs-on: ubuntu-22.04 | ||
| # Required permissions | ||
| permissions: read-all | ||
| outputs: | ||
| source : ${{ steps.filter.outputs.source }} | ||
| workflow : ${{ steps.filter.outputs.workflow }} | ||
| steps: | ||
| # For pull requests it's not necessary to checkout the code | ||
| - uses: actions/checkout@v3 | ||
| - uses: integrated-food-solutions/paths-filter@master | ||
| id: filter | ||
| with: | ||
| filters: | | ||
| source: src/** | ||
| workflow: .github/workflows/vue-checker.yml | ||
| vue-checker: | ||
| runs-on: ubuntu-22.04 | ||
| needs: changes | ||
| if: | | ||
| needs.changes.outputs.source == 'true' || | ||
| needs.changes.outputs.workflow == 'true' | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: '20' | ||
|
|
||
| - name: Installing packages | ||
| run: | | ||
| npm install | ||
|
|
||
| - name: Format | ||
| run: | | ||
| npm run lint-check | ||
|
|
||
| - name: Build | ||
| run: | | ||
| npm run build |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,113 @@ | ||||||
| # Architecture | ||||||
| ``` | ||||||
| ┌── common.rs/get_pid_hosting_at ────────┐ | ||||||
| ┌── domain/application.rs/new ─> │ │ | ||||||
| │ └── common.rs/get_process_start_time ────┼───> state_manager/mod.rs/emit_update_applications | ||||||
| The user adds an app using the UI ─> commands/applications.rs/add_application ─> state_manager/mod.rs/add_application ─> ├── state_manager/connection_manager.rs/connect_app ──────────────────────┤ | ||||||
| └── state_manager/state.rs/store_app ─> the app is written into storage ──┤ | ||||||
|
|
||||||
| ``` | ||||||
| # Repo Hierarchy | ||||||
|
|
||||||
| ``` | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| ├── .cargo | ||||||
| ├── Cargo.toml | ||||||
| ├── examples | ||||||
| │ ├── 0s1s.rs -> example demonstrating timing utilities | ||||||
| │ ├── resources.rs -> example showing resource collection usage | ||||||
| │ └── tasks.rs -> example showing task management usage | ||||||
| ├── .git | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can skip the files that are self-explanatory or that belong to the project structure such as Also the picture files (assets) and types definitions (types/*.d.ts).
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also skip Cargo.toml and Cargo.lock |
||||||
| ├── .gitignore | ||||||
| ├── index.html | ||||||
| ├── LICENSE | ||||||
| ├── package.json | ||||||
| ├── public | ||||||
| │ ├── tauri.svg | ||||||
| │ └── vite.svg | ||||||
| ├── README.md | ||||||
| ├── src | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use "/" after folders to signify that is a directory |
||||||
| │ ├── App.vue -> Root Vue component | ||||||
| │ ├── assets | ||||||
| │ │ ├── logo.png | ||||||
| │ │ ├── logo-white.png | ||||||
| │ │ └── vue.svg | ||||||
| │ ├── layout | ||||||
| │ │ ├── AppLayout.vue -> Main application layout (header + sidebar) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Align the comments at the same padding and start them with a # like: |
||||||
| │ │ ├── header -> Header components (UI controls, title) | ||||||
| │ │ └── sidebar -> Sidebar components (navigation) | ||||||
| │ ├── main.rs -> (Rust) optional native entry used by Tauri (if present) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No need to explain these two files (main.ts and main.rs) |
||||||
| │ ├── main.ts -> Frontend entry: mounts Vue app, installs plugins/router | ||||||
| │ ├── plugins | ||||||
| │ │ └── vuetify.ts -> Vuetify setup and theme configuration | ||||||
| │ ├── router | ||||||
| │ │ ├── index.ts -> Router instance creation | ||||||
| │ │ └── MainRoutes.ts -> Route definitions | ||||||
| │ ├── stores | ||||||
| │ │ ├── application.ts -> App-level state (meta, status) | ||||||
| │ │ ├── data.ts -> Domain data store (resources, metrics) | ||||||
| │ │ └── layout.ts -> UI layout state (sidebar open/closed) | ||||||
| │ ├── styles | ||||||
| │ │ └── timestamps.css -> Timestamp styling utilities | ||||||
| │ ├── types | ||||||
| │ │ ├── applications.d.ts | ||||||
| │ │ ├── async_ops.d.ts | ||||||
| │ │ ├── polls.d.ts | ||||||
| │ │ ├── resources.d.ts | ||||||
| │ │ └── tasks.d.ts | ||||||
| │ ├── views | ||||||
| │ │ ├── CPU.vue -> UPlot CPU usage view | ||||||
| │ │ ├── Polls.vue -> Polling configuration/view | ||||||
| │ │ ├── Resources.vue -> Resource overview view | ||||||
| │ │ ├── SystemInformation.vue -> System info view | ||||||
| │ │ └── Tasks.vue -> Task/process view | ||||||
| │ └── vite-env.d.ts | ||||||
| ├── src-tauri | ||||||
| │ ├── build.rs -> Build script for Tauri/native build tasks | ||||||
| │ ├── capabilities | ||||||
| │ │ └── default.json -> Platform capability declarations | ||||||
| │ ├── Cargo.lock | ||||||
| │ ├── Cargo.toml -> Tauri backend crate manifest | ||||||
| │ ├── gen | ||||||
| │ │ └── schemas -> Generated schemas (IPC/config) | ||||||
| │ ├── .gitignore | ||||||
| │ ├── icons -> App icons for various platforms/sizes | ||||||
| │ └── src | ||||||
| | ├─ main.rs // Tauri bootstrap (registers commands, initializes app) | ||||||
| | ├─ lib.rs // backend library entry (shared logic) | ||||||
| | ├─ features/ // user-facing commands, handlers(in commands only the callbacks, not implementation) | ||||||
| | │ ├─ mod.rs | ||||||
| | │ ├─ applications/ | ||||||
| | │ │ ├─ mod.rs | ||||||
| | │ │ └─ commands.rs | ||||||
| | │ └─ tasks/ | ||||||
| | │ ├─ mod.rs | ||||||
| | │ └─ commands.rs | ||||||
| | ├─ backend/ // business logic, state, adapters, background ops | ||||||
| | │ ├─ mod.rs | ||||||
| | │ ├─ domain/ // all structs | ||||||
| | │ ├─ infra/ // Infrastructure/OS adapters and platform-specific code | ||||||
| | │ │ ├─ storage.rs // Defines the `Storage` trait to unify reads/writes of all domain data. | ||||||
| | │ │ ├─ guards.rs // A guard that auto-writes a database file on drop | ||||||
| | │ ├─ state/ // state manager & DB | ||||||
| | │ │ ├─ mod.rs | ||||||
| | │ │ ├─ connection_manager.rs // Connection manager for remote applications | ||||||
| | │ │ ├─ database.rs // Persistent, in-memory database backed by disk storage | ||||||
| | │ │ └─ state.rs // Manages access to persistent storage and provides high-level methods | ||||||
| | │ └─ mappers/ // Converters between console_api types and our domain type | ||||||
| | │ ├─ mod.rs | ||||||
| | │ ├─ async_ops.rs | ||||||
| | │ ├─ poll.rs | ||||||
| | │ ├─ resource.rs | ||||||
| | │ └─ tasks.rs | ||||||
| | └─ utils/ // helpers, errors, shared types | ||||||
| | ├─ mod.rs | ||||||
| | ├─ common.rs | ||||||
| | ├─ error.rs | ||||||
| | └─ warnings.rs | ||||||
| │ └── tauri.conf.json -> Tauri configuration (windows, bundle, security) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No need for this |
||||||
| ├── tsconfig.json | ||||||
| ├── tsconfig.node.json | ||||||
| ├── vite.config.ts | ||||||
| ├── .vscode | ||||||
| └── .zed | ||||||
| ``` | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| [package] | ||
| name = "async-debugger" | ||
| version = "0.1.0" | ||
| edition = "2024" | ||
|
|
||
| [dependencies] | ||
| tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "tracing", "net" ] } | ||
| console-subscriber = "0.4.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change this into a draw.io with a bit more explanations about what does components do.