Y-next: single-tenant ERPNext-webinterface met e-mail, alle modules en Android-wrapper - #1
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Complete kopie van de originele Y-app broncode (frontend, server, desktop, docs, tests, scripts) inclusief niet-gecommitteerde bronwijzigingen. Build-artefacten, node_modules en lokale werkruimtes zijn uitgesloten. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Vite bouwt met /files/-basis en platte assets; het deployscript upsert de Web Page-route y-next en uploadt assets als publieke File-documenten. Deploytoken uitsluitend via YNEXT_API_TOKEN. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Y-app-accountgate, instancetabs en Express-gebonden lagen vervangen door een directe ERPNext-sessiebootstrap met HashRouter; niet-fase-1 routes tonen ComingSoon en serverfeatures zijn via capabilities uit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Directe count zonder instance-tak, onvoorwaardelijke SW-opruiming, release-notes-paneel gegate, generieke NAS-placeholder en lint-schone capabilities. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
main_section_html wordt nu meegeschreven (het veld dat Frappe bij content_type HTML rendert) en de loader verwijdert de website-theme- stylesheets waarvan ongelayerde utilities de Tailwind-layout braken. Nieuw scripts/visual-check-y-next.mjs rendert routes headless met tokenauth en rapporteert consolefouten, mislukte en verboden requests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Verkoop, financieel, projecten/HR en CRM draaien nu volledig op de standaard Frappe API: stats-aggregatie client-side, print via de standaard printview, Express-extraatjes achter featuregates. De schakelkast werkt als blocklist: alleen webmail, messenger, Nextcloud, wachtwoordkluis, meeting-notes, release-notes en extensies volgen later. Query-velden die de instance niet kent herstellen zichzelf en ontbrekende HR-doctypes degraderen stil.
fetchCount gebruikt frappe.client.get_count in plaats van een SQL-aggregate die de instance weigert; niet-bestaande doctypes worden na de eerste 404 gecachet zodat lijsten en tellingen direct leeg terugkeren zonder herhaalde netwerk-calls.
Kanbans vallen terug op status wanneer workflow_state ontbreekt, Verlof toont een module-onbeschikbaar-melding zonder HRMS, child-tables gaan via frappe.client.get_list met parent-kwarg en dashboard-widgets bereiken altijd een eindstatus.
Gantt haalt taaktoewijzingen op, grafieklabels en balkhoogtes renderen correct, saldo wordt echt berekend, ontbrekende modules melden zich netjes en het medewerkerveld valt terug op de sessie.
Planbord meldt de ontbrekende HRMS-module en persoonlijke uren- en km-overzichten leggen uit wanneer er geen Employee aan het account is gekoppeld.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Y Next Setting schrijfbaar voor alleen System Manager (extensies draaien met kijkersrechten), fetchPrivateFile same-origin, instructiekaart niet voor niet-beheerders, release notes uitsluitend lokaal, typed feature-keys.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Custom mappen via ERPNext-tags (RPC met fallback), paginering, zoeken, bulkacties, verwijderen, handtekening, conversaties en wachtrijstatus — volledig mock-getest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Minimale Tauri 2-app onder packages/android die de live /y-next laadt in de system-webview (navigatie buiten het ERPNext-domein gaat naar de systeembrowser, geen IPC voor de geladen pagina), met een losstaande workflow_dispatch-workflow die de ondertekende APK als artifact bouwt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mappenboom met eigen mappen, slepen, delete, multi-select met bulkbalk, zoeken, paginering, bijlagenpaneel, conversatiezone, Cc/Bcc met handtekening en reply-all, nieuwe-mail-melding en wachtrijstatus in Verzonden. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
De gastpagina rendert None als csrf_token en de browsercache serveert die versie ook na login; mutaties normaliseren nu het token, verversen het bij bootstrap via cache-reload en retryen precies eenmaal met een vers token bij een CSRF-weigering.
Sidebar filtert per gebruiker op User.block_modules, doctype- permissieprobes en configuratiesignalen zoals een actief Email Account; de eigen employee-visible-modules-laag vervalt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Provisioning krijgt een idempotente rechtenfase (Communication-write, ToDo-delete), permissiefouten zijn nooit meer stil, Todo kan verwijderen, de 417-veldcache overleeft navigaties en Verkoopfacturen opent op het lopende jaar.
Verwijderen verplaatst mail naar de native Trash-status met terugzetten en definitief verwijderen in de Prullenbak; slepen van en naar de prullenbak werkt; de mappenkolom toont de gesyncte IMAP-mappen uit het Email Account.
Boekingen landen in een Urenstaat per jaar; urensaldi, overuren en agenda tellen per boekingsregel; de Web Page rendert dynamisch zodat browsers nooit meer een verouderde gastversie vasthouden.
De jaar-resolve neemt bestaande concepten van de medewerker over en een duplicaatnaam geeft een herpoging plus een leesbare verwijzing naar de naamreeks-instellingen.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Wat dit is
De complete Y-next-fork: de Y-app-frontend omgebouwd tot een single-tenant webinterface die rechtstreeks op één ERPNext v16-site draait (sessie-login, standaard Frappe REST, geen Express-server/vault) en zonder Bench als ERPNext Web Page op /y-next gepubliceerd wordt.
Hoofdpunten
scripts/provision-y-next.mjs, idempotent incl. rechtenfase)packages/android/) +android-apk.yml(workflow_dispatch; vereist keystore-secrets)scripts/visual-check-y-next.mjs), interactieve E2E-ronde (32/34 → 34/34 na rechtenfase), CSRF-gastcache-fixVerificatie
npm test/tsc -b/npm run buildgroen🤖 Generated with Claude Code