Sunitech Drive
Nouveautés

Journal des versions

L'évolution de Sunitech Drive, version après version. Généré automatiquement à chaque publication.

  1. v2.7.0

    Nouveautés

    • searchPhase 1a — plomberie recherche full-text Meilisearch (non-E2EE)
    • searchPhase 1b — extraction contenu (service drive-indexer)
    • searchPhase 2 — recherche full-text E2EE (blind index, zero-knowledge)
    • searchpolish UI recherche — extraits surlignés + renommage
  2. v2.6.0

    Nouveautés

    • responsivePhase 1 — fondation mobile (breakpoints + shell drawer)
    • responsivePhase 2 — sweep responsive des 18 écrans
    • responsivePhase 3 — polish mobile
  3. v2.5.0

    Nouveautés

    • accesspage « Accès » - matrice dossiers x membres/groupes (RW/RO/aucun) - v0.9.18
    • adminendpoints lock/unlock compte + reset mot de passe (anti-lockout admin)
    • admingestion des comptes + bootstrap admin initial + garde admin
    • adminpage Utilisateurs (gestion du tenant) + email de l'acteur dans l'audit
    • api-keysApiKeyAuthGuard + ScopeGuard + @RequireScope/@ApiKeyCtx
    • api-keyscontroleur de gestion (bootstrap admin + provisioning M2M)
    • api-keysmethodes GED scoped-space dans FilesService (search/classes/changes/browse/content/setMeta)
    • api-keysmodule + enregistrement dans AppModule
    • api-keysservice (generation/hash de secret, create/verify/list/revoke/touch)
    • api-keyssurface de service GED /svc/ged (lecture + meta:write, space implicite)
    • api-keystable api_keys scoped a un space + migration
    • apiendpoint delta /files/changes (reconciliation descendante client)
    • apimailer Resend brandé + notification accès Drive (addMember)
    • apiRange / 206 Partial Content sur GET /files/item/:id/content (hydratation par plage)
    • app de bureau unifiee (WebView2 interface web + tray) + sync engine simultane (commande app)
    • audit trail nLPD (table+service+endpoints CSV) + WebDAV verrous reels (Redis) + white-label (/branding + web)
    • auditpage admin du journal nLPD (visible si admin, cibles E2EE masquees)
    • auth,userslogin local JWT + garde + /me + service users
    • authJWT en cookie httpOnly (anti-XSS) + flag session lisible + logout ; front sans token en JS, guard cookie|Bearer
    • authOIDC Entra (code flow + PKCE, verif JWKS via jose)
    • authSSO lie par oid Entra (anti-takeover, backfill comptes existants, refus collision email)
    • basculescript de migration ancien Sync-in -> greenfield
    • brandingwhite-label éditable par l'admin du tenant (table branding + GET public/PUT admin + carte Marque blanche dans le Profil)
    • client lourd .NET 8 - milestone 1: sync root Cloud Files dans l'explorateur
    • clientauth durable - reconnexion silencieuse + refresh token
    • clientdouble-clic (sans argument) lance l'app complete
    • clientE2ee aligne sur le format greenfield (SDEC v1 + AAD)
    • clientfile de sync montant durable (persistance + retry/backoff)
    • clienthydratation par plage (Range) - plus de fichier entier en RAM
    • clientlecture des Drives chiffres (E2EE) via pont WebView
    • clientM3 — pont WebView->moteur + API Drive reelle (browse/download)
    • clientmenu contextuel en sous-menu (Partager / Garder sur l'appareil / Liberer l'espace)
    • clientmulticompte (un process par compte)
    • clientreconciliation descendante (serveur -> client)
    • clientrepointage backend greenfield (drive.sunitech.ch)
    • clientstatut sync in-sync + menu contextuel Explorateur (Partager)
    • clientsync montant phase 1 - upload nouveaux fichiers/dossiers
    • clientsync montant phase 2 - modif / suppression / renommage / deplacement
    • clientupload chiffre vers Drives E2EE (E2ee.EncryptContent)
    • configvariables d'env OnlyOffice (optionnelles)
    • corbeillesuppression + restauration RECURSIVES au niveau dossier
    • data-roomsburn du filigrane dynamique dans le PDF (pdf-lib)
    • data-roomsliens view-only + email viewer + tracabilite (audit) — valide runtime
    • dbmodele de donnees (users, spaces, spaces_members, files) + migration init
    • deployservice OnlyOffice Document Server + env api
    • depotdossier de depot (lien upload-only, file request)
    • downloadtéléchargement du client lourd + manifest (proxy release Gitea)
    • driveassistant de creation de Drive qualitatif
    • drivesuppression d un Drive (deleteSpace) + retrait CORS MinIO inutile
    • e2eebackend chiffrement E2EE (port [@noble](https://github.com/noble)) — clés, escrow org, espaces chiffrés
    • e2eechiffrement bout-en-bout cote front (zero-knowledge)
    • e2eecontenu chiffre v1 (header versionne + AAD par chunk anti-troncature/reordre, retro-compat v0)
    • e2eePDF brande cle de recup + reset cle org + re-escrow auto
    • e2eeprimitive de dechiffrement par blocs (XChaCha20-Poly1305)
    • filesacces par dossier (ACL RW/RO/aucun, herite) - v0.9.17
    • filesgetForEdit + replaceContent pour l'edition en ligne
    • filesstockage objet S3 + arbo + upload presigne + corbeille
    • gedendpoint scoped accessible-ids (RAG conscient des ACL, 2c)
    • gedUI GED complete - modeles de classe (doc_classes) + editeur guide + facettes
    • gedvue GED dediee (/ged) + entree menu lateral - recherche par classe/tag/nom + admin modeles
    • icone Sunitech (hexagone S) pour le sync root explorateur, generee depuis favicon-512
    • integrationsendpoint admin 'Connecter SuniRAG' (orchestration cle GED + M2M)
    • linksliens publics de partage (token, mot de passe, expiration)
    • M2-A fichiers a la demande (CfCreatePlaceholders) - placeholders RECALL_ON_DATA_ACCESS dans l'explorateur
    • M2-B hydratation files-on-demand (CfConnectSyncRoot + FETCH_DATA + CfExecute TRANSFER_DATA) - download a la demande OK
    • navigation shell fonctionnelle + page Profil
    • onlyofficecontroleur + module + enregistrement
    • onlyofficeforcesave (Ctrl+S -> version immediate) + autosave editeur
    • onlyofficeservice config + callback
    • plangating des features par plan (API refuse hors-plan + masquage web)
    • recoverycorbeille enrichie (date/auteur/emplacement) + auteur des versions
    • securiteanti-brute-force /auth/token + req.ip reel derriere Traefik + CORS bucket best-effort
    • security+finitionsdurcissement backend + WebDAV COPY/LOCK + retention auto
    • shellcommande « Ouvrir SuniDrive » (menu contextuel) -> ouvre l'UI
    • shellextension shell native C++ - menu contextuel Win11 (IExplorerCommand)
    • spacesacces par groupes locaux - partage d'un Drive a un groupe - v0.9.16
    • spacesCRUD espaces + membres (manager/member) + gardes d acces
    • spacespartage d'un Drive apres creation (gestion des membres) - v0.9.15
    • syncAPI manifest (base du delta-sync) — valide runtime
    • syncbouclier anti-suppression de masse + reorg sure (v0.9.24)
    • syncrecup depuis l'app (corbeille) + reconcile post-reinscription (v1.0.2)
    • uisysteme de design « Pro sobre » (tokens) + shell navy - v0.9.20
    • updateauto-update du client (portable .exe) v0.9.1
    • uploadproxy streaming upload/download via API (option B, MinIO prive)
    • versioningpoint-in-time / anti-ransomware + retention Hybride — valide runtime
    • versioningUI historique des versions + endpoint /content proxifie
    • versioningversions de fichiers (overwrite -> snapshot S3, list/restore/download)
    • webclic sur un document editable l'ouvre dans OnlyOffice (au lieu de telecharger)
    • webdavserveur WebDAV (montage reseau) sur le modele files+S3 — valide runtime
    • webdesign premium 0.6.x pixel-perfect (shell + table + cartes)
    • webediteur OnlyOffice + bouton Editer (drives standard)
    • webesthetique premium DANS les dossiers (badges type + selection + panneau details)
    • webfront Angular premium MVP cable sur l API neuve
    • webpage admin Integrations + bouton 'Connecter SuniRAG'
    • webpartage / data rooms + page publique de lien (polish premium)
    • webpousse les cles d e2ee au client lourd (WebView2) au deverrouillage
    • webversion responsive mobile (sidebar off-canvas, table adaptative, modales plein ecran)
    • webviewer fichiers (apercu image/pdf/texte) + docs bascule
    • white-labelheader du shell (logo+nom) pilote par le branding du tenant

    Corrections

    • clientcorrige les limites connues (reconciliation + renommage dossier)
    • clientenregistrement sync root idempotent + release v0.9.0
    • clienticone Sunitech robuste pour le single-file distribue seul
    • deploypas de secret JWT OnlyOffice hardcode en dev (mismatch/insecure default)
    • dockerAPI runtime via npm prune --omit=dev (robuste, retire drizzle-kit/esbuild)
    • downloadliste les releases (inclut prereleases) au lieu de /releases/latest
    • downloadsert le binaire via browser_download_url (/releases/assets/:id renvoie 404)
    • editorremonte le code d'erreur OnlyOffice pour diagnostiquer les echecs au lancement
    • oidcredirections via @Redirect (302) + activation avec creds Entra existants
    • onlyofficeDS telecharge via l'API (pas d'URL S3 signee) + compat MinIO + buffer nginx
    • onlyofficeforce X-Forwarded-Proto https sur /ds/ (rendu Editor.bin en https)
    • onlyofficesert le DS en same-origin sous /ds/ (:443) au lieu de :8443
    • public-linktelechargement proxifie (option B) au lieu du presigne mort
    • runtimecorrections validees au boot + e2e (PG/MinIO reels)
    • syncfichiers d'un dossier neuf ne sont plus perdus + journal fichier + v1.5.0
    • syncintegration Explorateur robuste aux mises a jour (v1.0.0)
    • uimodale Partager utilisable (layout pleine largeur) + vrai proprietaire affiche - v0.9.19
    • upload proxifie versionne le remplacement (meme nom) + nginx client_max_body_size 5g
    • webbadge type robuste (dotfiles/horodatages) + tooltip nom complet
    • webcable la barre de recherche globale de la topbar
    • webnom de fichier ecrase en mode fenetre (container queries sur le tableau)
    • websert /version.json (suivi des versions par l orchestrateur)
    • webvrai logo Sunitech (favicon-512) sur login/shell/page publique + favicon
  4. v2.4.0

    Nouveautés

    • accesspage « Accès » - matrice dossiers x membres/groupes (RW/RO/aucun) - v0.9.18
    • adminendpoints lock/unlock compte + reset mot de passe (anti-lockout admin)
    • admingestion des comptes + bootstrap admin initial + garde admin
    • adminpage Utilisateurs (gestion du tenant) + email de l'acteur dans l'audit
    • api-keysApiKeyAuthGuard + ScopeGuard + @RequireScope/@ApiKeyCtx
    • api-keyscontroleur de gestion (bootstrap admin + provisioning M2M)
    • api-keysmethodes GED scoped-space dans FilesService (search/classes/changes/browse/content/setMeta)
    • api-keysmodule + enregistrement dans AppModule
    • api-keysservice (generation/hash de secret, create/verify/list/revoke/touch)
    • api-keyssurface de service GED /svc/ged (lecture + meta:write, space implicite)
    • api-keystable api_keys scoped a un space + migration
    • apiendpoint delta /files/changes (reconciliation descendante client)
    • apimailer Resend brandé + notification accès Drive (addMember)
    • apiRange / 206 Partial Content sur GET /files/item/:id/content (hydratation par plage)
    • app de bureau unifiee (WebView2 interface web + tray) + sync engine simultane (commande app)
    • audit trail nLPD (table+service+endpoints CSV) + WebDAV verrous reels (Redis) + white-label (/branding + web)
    • auditpage admin du journal nLPD (visible si admin, cibles E2EE masquees)
    • auth,userslogin local JWT + garde + /me + service users
    • authJWT en cookie httpOnly (anti-XSS) + flag session lisible + logout ; front sans token en JS, guard cookie|Bearer
    • authOIDC Entra (code flow + PKCE, verif JWKS via jose)
    • authSSO lie par oid Entra (anti-takeover, backfill comptes existants, refus collision email)
    • basculescript de migration ancien Sync-in -> greenfield
    • brandingwhite-label éditable par l'admin du tenant (table branding + GET public/PUT admin + carte Marque blanche dans le Profil)
    • client lourd .NET 8 - milestone 1: sync root Cloud Files dans l'explorateur
    • clientauth durable - reconnexion silencieuse + refresh token
    • clientdouble-clic (sans argument) lance l'app complete
    • clientE2ee aligne sur le format greenfield (SDEC v1 + AAD)
    • clientfile de sync montant durable (persistance + retry/backoff)
    • clienthydratation par plage (Range) - plus de fichier entier en RAM
    • clientlecture des Drives chiffres (E2EE) via pont WebView
    • clientM3 — pont WebView->moteur + API Drive reelle (browse/download)
    • clientmenu contextuel en sous-menu (Partager / Garder sur l'appareil / Liberer l'espace)
    • clientmulticompte (un process par compte)
    • clientreconciliation descendante (serveur -> client)
    • clientrepointage backend greenfield (drive.sunitech.ch)
    • clientstatut sync in-sync + menu contextuel Explorateur (Partager)
    • clientsync montant phase 1 - upload nouveaux fichiers/dossiers
    • clientsync montant phase 2 - modif / suppression / renommage / deplacement
    • clientupload chiffre vers Drives E2EE (E2ee.EncryptContent)
    • configvariables d'env OnlyOffice (optionnelles)
    • corbeillesuppression + restauration RECURSIVES au niveau dossier
    • data-roomsburn du filigrane dynamique dans le PDF (pdf-lib)
    • data-roomsliens view-only + email viewer + tracabilite (audit) — valide runtime
    • dbmodele de donnees (users, spaces, spaces_members, files) + migration init
    • deployservice OnlyOffice Document Server + env api
    • depotdossier de depot (lien upload-only, file request)
    • downloadtéléchargement du client lourd + manifest (proxy release Gitea)
    • driveassistant de creation de Drive qualitatif
    • drivesuppression d un Drive (deleteSpace) + retrait CORS MinIO inutile
    • e2eebackend chiffrement E2EE (port [@noble](https://github.com/noble)) — clés, escrow org, espaces chiffrés
    • e2eechiffrement bout-en-bout cote front (zero-knowledge)
    • e2eecontenu chiffre v1 (header versionne + AAD par chunk anti-troncature/reordre, retro-compat v0)
    • e2eePDF brande cle de recup + reset cle org + re-escrow auto
    • e2eeprimitive de dechiffrement par blocs (XChaCha20-Poly1305)
    • filesacces par dossier (ACL RW/RO/aucun, herite) - v0.9.17
    • filesgetForEdit + replaceContent pour l'edition en ligne
    • filesstockage objet S3 + arbo + upload presigne + corbeille
    • gedendpoint scoped accessible-ids (RAG conscient des ACL, 2c)
    • gedUI GED complete - modeles de classe (doc_classes) + editeur guide + facettes
    • gedvue GED dediee (/ged) + entree menu lateral - recherche par classe/tag/nom + admin modeles
    • icone Sunitech (hexagone S) pour le sync root explorateur, generee depuis favicon-512
    • integrationsendpoint admin 'Connecter SuniRAG' (orchestration cle GED + M2M)
    • linksliens publics de partage (token, mot de passe, expiration)
    • M2-A fichiers a la demande (CfCreatePlaceholders) - placeholders RECALL_ON_DATA_ACCESS dans l'explorateur
    • M2-B hydratation files-on-demand (CfConnectSyncRoot + FETCH_DATA + CfExecute TRANSFER_DATA) - download a la demande OK
    • navigation shell fonctionnelle + page Profil
    • onlyofficecontroleur + module + enregistrement
    • onlyofficeforcesave (Ctrl+S -> version immediate) + autosave editeur
    • onlyofficeservice config + callback
    • plangating des features par plan (API refuse hors-plan + masquage web)
    • recoverycorbeille enrichie (date/auteur/emplacement) + auteur des versions
    • securiteanti-brute-force /auth/token + req.ip reel derriere Traefik + CORS bucket best-effort
    • security+finitionsdurcissement backend + WebDAV COPY/LOCK + retention auto
    • shellcommande « Ouvrir SuniDrive » (menu contextuel) -> ouvre l'UI
    • shellextension shell native C++ - menu contextuel Win11 (IExplorerCommand)
    • spacesacces par groupes locaux - partage d'un Drive a un groupe - v0.9.16
    • spacesCRUD espaces + membres (manager/member) + gardes d acces
    • spacespartage d'un Drive apres creation (gestion des membres) - v0.9.15
    • syncAPI manifest (base du delta-sync) — valide runtime
    • syncbouclier anti-suppression de masse + reorg sure (v0.9.24)
    • syncrecup depuis l'app (corbeille) + reconcile post-reinscription (v1.0.2)
    • uisysteme de design « Pro sobre » (tokens) + shell navy - v0.9.20
    • updateauto-update du client (portable .exe) v0.9.1
    • uploadproxy streaming upload/download via API (option B, MinIO prive)
    • versioningpoint-in-time / anti-ransomware + retention Hybride — valide runtime
    • versioningUI historique des versions + endpoint /content proxifie
    • versioningversions de fichiers (overwrite -> snapshot S3, list/restore/download)
    • webclic sur un document editable l'ouvre dans OnlyOffice (au lieu de telecharger)
    • webdavserveur WebDAV (montage reseau) sur le modele files+S3 — valide runtime
    • webdesign premium 0.6.x pixel-perfect (shell + table + cartes)
    • webediteur OnlyOffice + bouton Editer (drives standard)
    • webesthetique premium DANS les dossiers (badges type + selection + panneau details)
    • webfront Angular premium MVP cable sur l API neuve
    • webpage admin Integrations + bouton 'Connecter SuniRAG'
    • webpartage / data rooms + page publique de lien (polish premium)
    • webpousse les cles d e2ee au client lourd (WebView2) au deverrouillage
    • webversion responsive mobile (sidebar off-canvas, table adaptative, modales plein ecran)
    • webviewer fichiers (apercu image/pdf/texte) + docs bascule
    • white-labelheader du shell (logo+nom) pilote par le branding du tenant

    Corrections

    • clientcorrige les limites connues (reconciliation + renommage dossier)
    • clientenregistrement sync root idempotent + release v0.9.0
    • clienticone Sunitech robuste pour le single-file distribue seul
    • deploypas de secret JWT OnlyOffice hardcode en dev (mismatch/insecure default)
    • dockerAPI runtime via npm prune --omit=dev (robuste, retire drizzle-kit/esbuild)
    • downloadliste les releases (inclut prereleases) au lieu de /releases/latest
    • downloadsert le binaire via browser_download_url (/releases/assets/:id renvoie 404)
    • editorremonte le code d'erreur OnlyOffice pour diagnostiquer les echecs au lancement
    • oidcredirections via @Redirect (302) + activation avec creds Entra existants
    • onlyofficeDS telecharge via l'API (pas d'URL S3 signee) + compat MinIO + buffer nginx
    • onlyofficeforce X-Forwarded-Proto https sur /ds/ (rendu Editor.bin en https)
    • onlyofficesert le DS en same-origin sous /ds/ (:443) au lieu de :8443
    • public-linktelechargement proxifie (option B) au lieu du presigne mort
    • runtimecorrections validees au boot + e2e (PG/MinIO reels)
    • syncfichiers d'un dossier neuf ne sont plus perdus + journal fichier + v1.5.0
    • syncintegration Explorateur robuste aux mises a jour (v1.0.0)
    • uimodale Partager utilisable (layout pleine largeur) + vrai proprietaire affiche - v0.9.19
    • upload proxifie versionne le remplacement (meme nom) + nginx client_max_body_size 5g
    • webbadge type robuste (dotfiles/horodatages) + tooltip nom complet
    • webcable la barre de recherche globale de la topbar
    • webnom de fichier ecrase en mode fenetre (container queries sur le tableau)
    • websert /version.json (suivi des versions par l orchestrateur)
    • webvrai logo Sunitech (favicon-512) sur login/shell/page publique + favicon