Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
2d33a1b
wip: progresso mimo ball and plate
limahigor May 26, 2025
8c82e9d
wip: adiciona ball and plate virtual para testes e mais alguns progre…
limahigor May 28, 2025
61696c0
fix: conserta atualização real time do plotter
limahigor May 29, 2025
430b2d5
refactor: adiciona alguns type checks
limahigor May 29, 2025
15c449c
refactor: remove algumas variaveis não utilizadas
limahigor May 29, 2025
e7afce8
feat: tira fullscreen e coloca maximized
limahigor May 29, 2025
daf007c
fix: remove bug de não fechar no terminal quando a aplicação encerra
limahigor May 29, 2025
283dd85
refactor: move a parte de limpar os caches para um novo metodo
limahigor May 30, 2025
3e3aeb6
Merge pull request #13 from limahigor/dev
wkhadgar May 31, 2025
42f48e8
Merge pull request #14 from wkhadgar/mimo-workaround
wkhadgar May 31, 2025
69a2d3c
fix: conserta tamanho das fontes
limahigor Jun 11, 2025
38b482d
Merge pull request #15 from limahigor/dev
wkhadgar Jun 11, 2025
2c33135
chore: atualiza infraestrutura de análise.
wkhadgar Jun 11, 2025
fc3d9a2
feat: adiciona botão de conexão com a planta ao plotter.
wkhadgar Jun 11, 2025
7466a04
chore: commit inicial da versão app do sistema
limahigor Jun 17, 2025
75e0fc6
chore: change app version to rust Tauri + Svelte
limahigor Jan 7, 2026
ca92d87
wip: Changed plotting framework to Plotly for performance testing.
limahigor Feb 23, 2026
d8356d2
wip: Changed plotting framework to uPlot for performance testing.
limahigor Feb 24, 2026
9498036
refactor: modularize UI
limahigor Feb 24, 2026
83e4fc1
refactor: remove alarms
limahigor Feb 24, 2026
55d0c75
feat: add a basic interface for real-time visualization and data anal…
limahigor Mar 2, 2026
19a82d0
feat: add modal to configure MCU communication interfaces
limahigor Mar 2, 2026
861801e
feat: add code editor and Python dependency list to driver modal
limahigor Mar 2, 2026
f2447fc
feat: integrate code editor with basic starting template
limahigor Mar 3, 2026
7bc0297
refactor: performance improvement
limahigor Mar 3, 2026
eaad935
refactor: performance improvement
limahigor Mar 3, 2026
3400e92
feat: improve performance
limahigor Mar 4, 2026
2726948
wip: test
limahigor Mar 4, 2026
977ff50
refactor: remove mock data for backend rust integration
limahigor Mar 9, 2026
6125754
feat: add basic plant and driver creation routes on backend
limahigor Mar 12, 2026
9ee6ad2
feat: add sample time change
limahigor Mar 12, 2026
746aac0
feat: add basic flow UI
limahigor Mar 16, 2026
cef8350
feat: adjust order on plant creation
limahigor Mar 16, 2026
db91bc8
feat: adjust default size on CreatePlantModal
limahigor Mar 16, 2026
b6892a7
feat: save driver to workspace dir on create
limahigor Mar 17, 2026
276dafa
feat: save driver by name on dir
limahigor Mar 17, 2026
807f7cb
feat: remove saving source code in memory
limahigor Mar 17, 2026
0e1a46a
feat: add the possibility of adding multiple default values ​​to the …
limahigor Mar 17, 2026
9409156
fix: add onmouseleave to automatically close the plugin menu when the…
limahigor Mar 17, 2026
1a6ae0d
refactor: optimize interface performance, modularity and scalability …
limahigor Mar 17, 2026
3235ddc
feat: add plugin update flow
limahigor Mar 17, 2026
0572d92
feat: add plant save on workspace dir
limahigor Mar 17, 2026
bf344f6
feat: improves responsive UI
limahigor Mar 17, 2026
68c8158
refactor: improve modularity and performance
limahigor Mar 17, 2026
3e84b13
fix: controllers start off by default
limahigor Mar 17, 2026
a8eb141
wip: save
limahigor Mar 18, 2026
8a0a991
feat: add driver runtime connection
limahigor Mar 18, 2026
d7e4894
feat: add ui plant connection
limahigor Mar 18, 2026
baf43ee
feat: add load plugins on startup
limahigor Mar 18, 2026
09a3caf
fix: plugin and plant import json
limahigor Mar 18, 2026
a1bbb5e
refactor: code flow and boilerplate
limahigor Mar 18, 2026
226dbe7
feat: add controller suports to plant runtime
limahigor Mar 19, 2026
643386f
refactor: remove runtime context information for plugins
limahigor Mar 20, 2026
ad4a9f5
feat: adjust release version
limahigor Mar 20, 2026
be4013f
docs: add user docs
limahigor Mar 20, 2026
42f0793
refactor: formart code
limahigor Mar 20, 2026
9d06285
feat: add plant data resume on creation
limahigor Mar 20, 2026
23c175d
fix: adjust plotter area and controller panel responsivity
limahigor Mar 20, 2026
8a0780c
feat: add last value on legend plot
limahigor Mar 20, 2026
60532a2
feat: add export json and csv
limahigor Mar 20, 2026
a2e90cc
feat: add on UI analyzer module clossed and open loop
limahigor Mar 20, 2026
6ae1f40
feat: add ci process
limahigor Mar 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions .github/workflows/desktop-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: desktop-ci

on:
pull_request:
branches:
- main
- dev
paths:
- apps/desktop/**
- crates/**
- Cargo.toml
- Cargo.lock
- mise.toml
- .github/workflows/**
push:
branches:
- main
- dev
paths:
- apps/desktop/**
- crates/**
- Cargo.toml
- Cargo.lock
- mise.toml
- .github/workflows/**

concurrency:
group: desktop-ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
validate:
name: validate (${{ matrix.platform }})
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
platform:
- ubuntu-22.04
- windows-latest
defaults:
run:
shell: bash

steps:
- name: Check out repository
uses: actions/checkout@v6

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.27.0
run_install: false

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: pnpm
cache-dependency-path: apps/desktop/pnpm-lock.yaml

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.92.0

- name: Install Linux system dependencies
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Install frontend dependencies
run: pnpm --dir apps/desktop install --frozen-lockfile

- name: Check Svelte and TypeScript
run: pnpm --dir apps/desktop check

- name: Check Rust workspace crate
run: cargo check --manifest-path apps/desktop/src-tauri/Cargo.toml

- name: Check integrated Tauri build
run: pnpm --dir apps/desktop tauri build --no-bundle --ci
190 changes: 190 additions & 0 deletions .github/workflows/desktop-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
name: desktop-release

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
tag_name:
description: "Semver tag to release, for example v0.2.0"
required: true
type: string

permissions:
contents: write

concurrency:
group: desktop-release-${{ github.ref || inputs.tag_name }}
cancel-in-progress: false

jobs:
preflight:
name: preflight
runs-on: ubuntu-22.04
defaults:
run:
shell: bash
outputs:
tag_name: ${{ steps.resolve_tag.outputs.tag_name }}
version: ${{ steps.validate.outputs.version }}

steps:
- name: Check out repository
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Resolve release tag
id: resolve_tag
env:
INPUT_TAG_NAME: ${{ inputs.tag_name }}
run: |
if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then
tag_name="${GITHUB_REF_NAME}"
else
tag_name="${INPUT_TAG_NAME}"
fi

if [[ -z "${tag_name}" ]]; then
echo "Release tag is required." >&2
exit 1
fi

echo "tag_name=${tag_name}" >> "${GITHUB_OUTPUT}"

- name: Validate version lockstep and tag
id: validate
env:
RELEASE_TAG: ${{ steps.resolve_tag.outputs.tag_name }}
run: |
python - <<'PY'
import json
import os
import pathlib
import re
import sys
import tomllib

root = pathlib.Path(".")
release_tag = os.environ["RELEASE_TAG"]

if not re.fullmatch(r"v\d+\.\d+\.\d+", release_tag):
print(
f"Release tag '{release_tag}' is invalid. Expected format vX.Y.Z.",
file=sys.stderr,
)
sys.exit(1)

versions = {
"apps/desktop/package.json": json.loads(
(root / "apps/desktop/package.json").read_text(encoding="utf-8")
)["version"],
"apps/desktop/src-tauri/Cargo.toml": tomllib.loads(
(root / "apps/desktop/src-tauri/Cargo.toml").read_text(encoding="utf-8")
)["package"]["version"],
"apps/desktop/src-tauri/tauri.conf.json": json.loads(
(root / "apps/desktop/src-tauri/tauri.conf.json").read_text(
encoding="utf-8"
)
)["version"],
"crates/supervisor/Cargo.toml": tomllib.loads(
(root / "crates/supervisor/Cargo.toml").read_text(encoding="utf-8")
)["package"]["version"],
}

unique_versions = sorted(set(versions.values()))
if len(unique_versions) != 1:
print("Version mismatch detected across release manifests:", file=sys.stderr)
for path, version in versions.items():
print(f" - {path}: {version}", file=sys.stderr)
sys.exit(1)

version = unique_versions[0]
expected_tag = f"v{version}"
if release_tag != expected_tag:
print(
f"Tag '{release_tag}' does not match manifest version '{version}'. "
f"Expected '{expected_tag}'.",
file=sys.stderr,
)
sys.exit(1)

print(f"Validated release version {version} for tag {release_tag}.")
output_path = pathlib.Path(os.environ["GITHUB_OUTPUT"])
with output_path.open("a", encoding="utf-8") as output:
output.write(f"version={version}\n")
PY

publish:
name: publish (${{ matrix.platform }})
runs-on: ${{ matrix.platform }}
needs: preflight
strategy:
fail-fast: false
matrix:
include:
- platform: ubuntu-22.04
tauri_args: --ci --no-sign --bundles appimage
- platform: windows-latest
tauri_args: --ci --no-sign
defaults:
run:
shell: bash

steps:
- name: Check out repository
uses: actions/checkout@v6

- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.27.0
run_install: false

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: pnpm
cache-dependency-path: apps/desktop/pnpm-lock.yaml

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"

- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.92.0

- name: Install Linux system dependencies
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Install frontend dependencies
run: pnpm --dir apps/desktop install --frozen-lockfile

- name: Build and publish draft release
uses: tauri-apps/tauri-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
projectPath: apps/desktop
tauriScript: pnpm tauri
tagName: ${{ needs.preflight.outputs.tag_name }}
releaseName: Senamby ${{ needs.preflight.outputs.tag_name }}
releaseBody: |
Automated draft release for ${{ needs.preflight.outputs.tag_name }}.
releaseDraft: true
prerelease: false
releaseCommitish: ${{ github.sha }}
args: ${{ matrix.tauri_args }}
Loading