Commit Graph
253 Commits
Author SHA1 Message Date
seriouselly 3b37a92d1e Merge branch 'main' of https://github.com/ATLAS-PJK-GM007/ZeaVis-Edu into selly/frontend 2026-06-15 01:27:40 +07:00
seriouselly 6c1006d4a0 Merge branch 'main' of https://github.com/ATLAS-PJK-GM007/ZeaVis-Edu into selly/frontend 2026-06-15 01:27:13 +07:00
MythEclipseandClaude 03c1e4edb8 fix(ci): add tailwindcss as direct dependency
PostCSS plugin needs tailwindcss package available in node_modules
at build time. Adding it as a direct dependency ensures consistent
resolution.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-15 01:23:51 +07:00
seriouselly 56b683392c feat(diagnosis): add back to history button and update UI icons
- Add "Kembali ke Riwayat" button to `diagnosis-detail-page.tsx` for better navigation flow.
- Update camera icon in `diagnose-result-view.tsx` to align with the new UI design.
- Resolve merge conflicts with main to sync latest workflow changes.
2026-06-15 01:20:41 +07:00
MythEclipseandClaude 05055ed9cf fix(ci): remove bun.lock from Docker COPY to avoid version mismatch
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-15 01:17:25 +07:00
seriouselly 4b5530ef73 Merge branch 'main' of https://github.com/ATLAS-PJK-GM007/ZeaVis-Edu into selly/frontend 2026-06-15 01:09:04 +07:00
MythEclipseandClaude 02ae022174 fix(ci): regenerate bun.lock and disable frozen-lockfile in Dockerfiles
bun auto-enables --frozen-lockfile in CI by default. Use env var
BUN_INSTALL_FROZEN_LOCKFILE=0 to override this behavior. Also
regenerate lockfile fresh to ensure it is compatible with bun 1.3.14.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-15 01:06:17 +07:00
seriouselly 61a4043967 Revert "fix(ci): add --no-frozen-lockfile to bun install in Dockerfiles"
This reverts commit 9ee3af8a1f.
2026-06-15 01:05:04 +07:00
MythEclipseandClaude 9ee3af8a1f fix(ci): add --no-frozen-lockfile to bun install in Dockerfiles
bun defaults to --frozen-lockfile in CI environments, causing failures
when the lockfile format differs from the version used at build time.

Co-Authored-By: Claude <noreply@anthropic.com>
v0.1.2
2026-06-15 01:02:35 +07:00
MythEclipseandClaude 3d3ca72230 fix(ci): remove --frozen-lockfile to prevent bun version mismatch failures
CI uses bun 1.3.14 (stable) but local dev uses canary. Lockfile
format can differ between versions causing spurious failures.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-15 00:57:31 +07:00
MythEclipseandClaude 3d79b227d7 fix(ci): remove auto-commit to prevent infinite loop
Tag created by softprops/action-gh-release is the single source of truth.
Version bump in tauri.conf.json + Cargo.toml is local to the build only.

Co-Authored-By: Claude <noreply@anthropic.com>
v0.1.1
2026-06-15 00:26:12 +07:00
MythEclipseandClaude 853fee66b2 feat(ci): auto-increment version + publish to GitHub Release
- Compute version from latest git tag (bump patch)
- Update tauri.conf.json and Cargo.toml with new version
- Create GitHub Release with signed APK + AAB via softprops/action-gh-release
- Release name: v{version}, APK filename: zeavis-edu-v{version}.apk

Co-Authored-By: Claude <noreply@anthropic.com>
v0.1.0
2026-06-15 00:16:32 +07:00
Selly SupriyatinandGitHub 9721c0761c Merge pull request #37 from ATLAS-PJK-GM007:selly/frontend
refactor(diagnosis/catalog): improve UI consistency and fix data rendering
2026-06-15 00:15:51 +07:00
seriouselly 436d39b76e Merge branch 'main' of https://github.com/ATLAS-PJK-GM007/ZeaVis-Edu into selly/frontend 2026-06-15 00:00:55 +07:00
seriouselly 21ca1befcd refactor(diagnosis/catalog): improve UI consistency and fix data rendering
- Fix reference error in `DiagnosisResultView` by correctly mapping `riskLevel` prop.
- Integrate dynamic `RiskBadge` with automated severity-to-color mapping for both diagnosis and catalog views.
- Update icons in the medicine recommendation section of `catalog-page` and `DiagnosisResultView` for better visual consistency and intuition.
2026-06-14 23:59:59 +07:00
MythEclipseandClaude 360530fe1c fix(ci): add tauri android init step before build
gen/android/ is gitignored — must regenerate in CI.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-14 23:53:42 +07:00
Asep Haryana SaputraandGitHub 5a06e5c08c Merge pull request #36 from MythEclipse/main
Android
2026-06-14 23:48:29 +07:00
Asep Haryana SaputraandGitHub 3f77eb8283 Merge branch 'ATLAS-PJK-GM007:main' into main 2026-06-14 23:48:02 +07:00
MythEclipse ab61065502 feat(tauri): add tauri application 2026-06-14 23:39:31 +07:00
MythEclipseandClaude cc4a12aeb0 feat(ci): add GitHub Actions workflow for Android APK build
- Trigger on push to main (web/tauri/shared changes), PR, and manual
- Builds Vite frontend + Tauri Rust for 4 Android arches
- Signs APK with keystore from GitHub secrets
- Uploads signed APK + AAB as artifact

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-14 23:36:58 +07:00
Selly SupriyatinandGitHub faa423e6f0 Merge pull request #35 from ATLAS-PJK-GM007:selly/frontend
style(catalog): update medicine recommendation icons for better visual clarity
2026-06-14 23:28:53 +07:00
seriouselly 3ce565509f style(catalog): update medicine recommendation icons for better visual clarity
- Replace previous icons in the medicine recommendation section with more intuitive visual elements.
- Enhance the user interface consistency within the catalog page.
2026-06-14 23:27:06 +07:00
Selly SupriyatinandGitHub 19e3447e12 Merge pull request #34 from ATLAS-PJK-GM007/selly/frontend
Selly/frontend
2026-06-14 23:21:37 +07:00
seriouselly d07d47b974 refactor(diagnosis): enhance detail page usability and data robustness
- Implement `useEffect` to ensure smooth scroll-to-top on navigation.
- Add fallback logic to populate medicine recommendations from local seed data if backend payload is incomplete.
- Integrate dynamic `RiskBadge` component with automated severity-to-color mapping for better visual clarity.
2026-06-14 23:19:42 +07:00
MythEclipseandClaude d8e1b0b681 feat(tauri): add Tauri v2 Android app wrapper
- Wrap apps/web as Android APK via Tauri v2 WebView (zero web changes)
- Disable default compression feature to avoid brotli/alloc-no-stdlib conflict with Rust 1.96
- Add RGBA icon placeholders
- Add Android keystore to gitignore

APK output: apps/tauri/gen/android/app/build/outputs/apk/

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-14 23:16:58 +07:00
seriouselly e9d175a2b5 fix(diagnosis): add fallback seed data for medicine recommendations
- Import diseaseCatalogSeed into diagnosis detail and scan pages.
- Implement fallback logic to populate medicine recommendations when backend payload lacks treatment data.
- Ensure consistent educational content display across catalog and diagnosis views.
2026-06-14 22:43:21 +07:00
seriouselly fe2734310a fix(layout): correct sidebar toggle behavior and navigation logic
- Remove `onClick` toggle handler from `Sidebar` links to prevent unwanted state changes during navigation.
- Remove aggressive `onClick` auto-collapse from `MainLayout` content wrapper so the sidebar remains stable.
- Ensure sidebar state is exclusively managed by the dedicated toggle button, aligning with standard desktop UX.
2026-06-14 22:25:46 +07:00
seriouselly 5272968c6f refactor(scan): reset upload form state after successful diagnosis
- Restore setFileName(null) and setPreviewUrl(null) in the mutation onSuccess callback.
- Ensure the file upload area resets to its default state immediately after a successful scan, preparing the UI for the next input.
2026-06-14 21:01:21 +07:00
seriouselly daf679b31f chore(components): refine inline comments in diagnosis result view
- Update and clarify inline code comments in the diagnosis result view component.
- Improve code readability and maintainability without altering any underlying logic or UI behavior.
2026-06-14 20:57:48 +07:00
Selly SupriyatinandGitHub 07cda1f813 Merge pull request #33 from ATLAS-PJK-GM007/selly/frontend
Selly/frontend
2026-06-14 20:41:40 +07:00
seriouselly 63ccc1255a fix(scan): resolve double scrollbar and modal size type errors
- Remove nested overflow and fixed height classes (`max-h-[75vh]`, `overflow-y-auto`) from the inner modal container to fix the double scrollbar UI glitch.
- Adjust the Modal `size` property to a supported type to resolve TypeScript compilation errors.
- Ensure a cleaner, more seamless scrolling experience for the diagnosis result pop-up.
2026-06-14 20:40:43 +07:00
seriouselly 2733a36ea8 feat(catalog): make entire disease card clickable to toggle accordion
- Move the `onClick` event handler from the accordion header to the outermost card container in `catalog-page.tsx`.
- Allow users to click anywhere on the expanded card (including the description and treatment sections) to collapse it.
- Improve overall user experience by providing a significantly larger tap target, especially beneficial for mobile or touch-screen users.
2026-06-14 19:46:38 +07:00
seriouselly 37ac82b2d2 Merge branch 'main' of https://github.com/ATLAS-PJK-GM007/ZeaVis-Edu into selly/frontend 2026-06-14 19:29:52 +07:00
seriouselly 8d342e1269 fix(catalog): add fallback to local seed data for images and medicines
- Import `diseaseCatalogSeed` to use as a fallback data source in `catalog-page.tsx`.
- Implement logic to merge backend API responses with local seed data, ensuring `imageUrl` and `medicineRecommendations` are populated.
- Fix an issue where disease images and specific treatments were not rendering due to missing fields in the database payload.
- Enhance UI resilience by displaying accurate visual and medical data without requiring immediate backend updates.
- Convert static PNG image assets to WebP format and remove old PNG files to significantly reduce image payload size and improve page load performance.
- Enhance overall UI resilience and frontend speed.
2026-06-14 19:28:19 +07:00
Asep Haryana SaputraandGitHub dbf2bcfc4a Merge pull request #32 from MythEclipse/main
fix
2026-06-13 00:36:47 +07:00
MythEclipseandClaude c116a2c4a5 fix(ml-service): test logic + prediction_response status forward
- calibrate_probs_selects_top_label: use logits that produce confidence >= 0.70
- prediction_response: forward status from Prediction struct instead of hardcode

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 17:08:27 +00:00
MythEclipseandClaude 9ab472ce1b fix(ml-service): add missing status field in PredictionResponse + fix unused variable
- PredictionResponse::status was missing in prediction_response()
- Prefix preprocess_start with underscore for unused variable warning

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 16:43:53 +00:00
Asep Haryana SaputraandGitHub 65adcd9d24 Merge pull request #31 from MythEclipse/main
fix(ci): download model files from HF root path to correct subdirs
2026-06-12 23:29:18 +07:00
MythEclipseandClaude 1aa8f9cd5f fix(ci): download model files from HF root path to correct subdirs
Files on HF hub sit at repo root (model.onnx, etc.),
not in model/ subfolder. Fix download script to copy
each file to the correct subdirectory expected by Docker.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 16:15:06 +00:00
Asep Haryana SaputraandGitHub 0aefa7f5ff Merge pull request #30 from MythEclipse/main
fix(ml): fix cbam_block, cardinality, Lambda serialization + update C…
2026-06-12 23:02:02 +07:00
MythEclipseandClaude 58d3feb8a0 fix(ml): fix cbam_block, cardinality, Lambda serialization + update CI download to include best_model.keras
- save_model.py: fix cbam_block channels dtype (x.shape[-1] not tf.shape)
- save_model.py: match notebook architecture (Resizing + GaussianNoise)
- save_model.py: load weights H5 instead of .keras (Lambda serialization safe)
- notebook: add output_shape to Lambda layers for Keras 3 compatibility
- notebook: fix n_bins NameError in temperature scaling plot
- notebook: fix cardinality fallback (or 100 → if card > 0 else 100)
- deploy.yml: download best_model.keras + calibration.json from HF
- HF repo: MythEclipse2737/zeavis-edu-corn-leaf-classifier

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-12 15:59:50 +00:00
Asep Haryana SaputraandGitHub af1565d704 Merge pull request #29 from MythEclipse/main
feat: update model
2026-06-12 22:56:44 +07:00
MythEclipse aa58a0301a a 2026-06-12 15:24:49 +00:00
MythEclipse 2e925a4188 a 2026-06-12 15:24:49 +00:00
MythEclipse 731b5728f7 a 2026-06-12 15:24:49 +00:00
MythEclipse 1cf73aff6d b 2026-06-12 15:24:49 +00:00
MythEclipse 857a008087 a 2026-06-12 15:24:49 +00:00
MythEclipse f9bd991bdf feat(ml): implement v3.0 architecture with CBAM and calibrated inference
- Integrate Convolutional Block Attention Module (CBAM) for improved feature focus
- Implement temperature scaling and confidence-based status reporting
- Automate dataset acquisition using kagglehub
- Update ONNX opset to 18 and refine preprocessing validation
2026-06-12 15:24:49 +00:00
Selly SupriyatinandGitHub 43307a15a5 Merge pull request #28 from ATLAS-PJK-GM007/selly/frontend
feat(layout): auto-collapse sidebar when clicking main content area
2026-06-12 12:59:29 +07:00
seriouselly bc58b16ddd feat(layout): auto-collapse sidebar when clicking main content area
- Import `useUiStore` into `main-layout.tsx` to access the global sidebar state.
- Add an `onClick` event listener to the main content wrapper.
- Automatically close the sidebar if it is expanded and the user clicks outside of it.
- Enhance overall UX by providing a more intuitive, frictionless way to dismiss the navigation menu.
2026-06-12 12:57:30 +07:00