# GoOfficePH Groupware Desktop Release Notes

SPDX-FileCopyrightText: 2026 Arnold Bagabaldo
SPDX-License-Identifier: LicenseRef-GoOffice-Proprietary

## Version 5.0.0

GoOfficePH Groupware Desktop 5.0.0 packages the Desktop Suite with a LibreOfficeKit-capable runtime for macOS Apple Silicon and Linux x64, and adds Windows x64 EXE/MSI installers produced on the Windows build runner. This release is the runtime foundation for local OpenDocument work in the desktop client while preserving the GoOfficePH API boundary for identity, entitlement, sync, locks, conflict handling, file/version governance, and GoOfficePH confirmation.

## Runtime Packaging Scope

- macOS Apple Silicon packages stage the `libreofficekit-mac-arm64` runtime into the app bundle.
- Linux x64 packages stage the `libreofficekit-linux` runtime into the Linux app package.
- Windows x64 packages stage the current GoOfficePH Groupware shell, identity enforcement, entitlement checks, offline queue, and GoOfficePH API sync behavior while the Windows local office runtime bundle is finalized.
- Runtime archives are downloaded and checksum-verified during the trusted release build.
- Runtime binaries are not committed into the GoOfficePH source repository.
- The packaged app inspects a runtime manifest and reports whether the LibreOfficeKit SDK marker is available.
- macOS packaging fixes the source runtime loader layout by linking expected Frameworks entries to the packaged runtime libraries.

## Desktop Suite Capabilities

- Opens the local Desktop Suite through a bundled LibreOfficeKit-capable runtime instead of requiring a system LibreOffice installation.
- Creates OpenDocument text files locally.
- Imports ODT, ODS, ODP, Microsoft Office formats, PDF, and other supported office files into the managed local workspace.
- Renders local previews using LibreOffice conversion.
- Exports supported documents to PDF and common office formats where LibreOffice conversion supports the source type.
- Saves basic Writer text changes locally and queues GoOfficePH API synchronization.
- Keeps online sharing, version history, quotas, file locks, permissions, and conflict handling under GoOfficePH services.

## Platform Notes

- macOS: packaged as a signed-by-build `.app`, `.dmg`, and ZIP artifact for Apple Silicon.
- Linux: packaged through the Linux x64 builder as AppImage, DEB, and RPM artifacts.
- Windows: packaged through the Windows runner as EXE and MSI installers for x64 systems.

## Known Limits

- This release packages the runtime foundation. Full native canvas/tiled editing through LibreOfficeKit remains a separate editor-surface implementation task.
- Windows 5.0.0 does not yet include the Windows LibreOffice runtime bundle; the Windows app shell, entitlement, queue, and online handoff paths are current, while local Windows office-runtime packaging remains a follow-up packaging task.
- Advanced collaborative co-editing, comments, tracked changes, tenant sharing controls, and version history remain governed by the online GoOfficePH Suite and GoOfficePH Files workflow.
- Private customer data, passwords, and GoOfficePH API secrets are not bundled into release artifacts.

## Version 3.4.0

GoOfficePH Groupware Desktop 3.4.0 adds a bundled LibreOffice local office runtime for the Desktop Suite path. The desktop app can now probe the local engine, create OpenDocument text files, import local office files into the managed desktop workspace, render a local preview, export PDF and common office formats through LibreOffice conversion, and queue local Suite actions through the GoOfficePH API sync model.

## Implementation Phase Status

### Phase 1: Engine Probe

- Bundles the local LibreOffice runtime into the macOS app package.
- Starts the LibreOffice sidecar through Tauri commands rather than exposing service APIs directly.
- Creates a probe ODT document from a local draft.
- Renders a preview through LibreOffice HTML conversion.
- Exports PDF through the local engine.

### Phase 2: Viewer

- Supports importing ODT, ODS, ODP, Microsoft office formats, and PDF into the managed local Office workspace.
- Supports read-only preview through LibreOffice-rendered HTML.
- Uses process isolation for conversion so a LibreOffice conversion failure returns an actionable GoOfficePH error instead of crashing the desktop shell.
- Keeps imported files path-confined inside the desktop Office workspace.

### Phase 3: Writer Editing

- Adds a basic Writer text-editing surface for local ODT documents.
- Supports text entry, selection, bold, italic, underline, paragraph, and heading formatting.
- Saves Writer text back to ODT through the local LibreOffice engine.
- Queues save/create actions for GoOfficePH API synchronization when online.

### Phase 4: Sheets and Slides

- Adds import, preview, and export handling for ODS and ODP files through LibreOffice conversion.
- Supports export attempts to XLSX, PPTX, DOCX, and PDF, subject to the source document type and LibreOffice conversion support.
- Full spreadsheet cell editing and slide canvas editing are not represented as complete in this release.

### Phase 5: Production Hardening

- Adds managed workspace path confinement.
- Adds local import size limits.
- Adds preview HTML sanitization before rendering converted content.
- Adds deterministic runtime staging in the macOS release script.
- Adds diagnostics and sync-queue hooks for local Office create, save, export, and probe actions.
- Keeps GoOfficePH as the API boundary for online locks, quota checks, conflict resolution, sharing, and version history.

## Known Limits

- The bundled runtime available in this build provides LibreOffice headless conversion. It does not expose confirmed LibreOfficeKit tiled-rendering libraries, so full native tiled editing is not yet complete.
- Writer editing is basic text editing in this release. Advanced layout editing, comments, track changes, spreadsheet cell editing, slide editing, and collaborative co-editing still use GoOfficePH online Suite.
- Cache encryption, GoOfficePH-confirmed file locks, and conflict-resolution UI are surfaced through the GoOfficePH sync model but still depend on online GoOfficePH confirmation.
- Linux and Windows packages need their respective trusted runners so each platform can bundle the correct LibreOffice runtime for that operating system.

## Version 3.3.0

GoOfficePH Groupware Desktop 3.3.0 aligns the desktop package with the current GoOfficePH online app model. The desktop client keeps GoOfficePH APIs as the integration boundary, carries forward the latest Mail, Suite, Chat/Meet, Calendar, Contacts, entitlement, and sync behavior, and publishes updated macOS, Linux, and Windows release metadata.

## Complete Capability Scan

### Workspace and Identity

- Unified GoOfficePH by KloudPH desktop shell for Workspace, Mail, Suite, Chat/Meet, Calendar, Contacts, Sync Queue, and Settings.
- GoOfficePH account sign-in through the GoOfficePH offline authentication API.
- Desktop device identity registration with device name, generated device ID, public key metadata, and app version.
- Entitlement refresh through GoOfficePH, including active/inactive state, expiry messaging, locked feature list, and service-level status.
- Staff-issued activation-code redemption for approved duration-limited desktop access.
- Guest Chat/Meet invite links remain usable even when managed desktop entitlement is inactive.
- Time-aware theme support and responsive layouts for desktop, tablet-sized, and narrower windows.

### Mail

- GoOfficePH Mail entry point with local inbox preview cache.
- Offline draft creation and local draft queueing.
- Mail actions replay through GoOfficePH offline sync APIs instead of direct mail-service access.
- GoOfficePH confirmation tracking for mail service handoff.
- App-password, external client, encryption readiness, and mailbox-privacy workflows remain managed through GoOfficePH account and mail settings.
- Local UI copy now reflects the online mail direction: secure mail, app-password-safe client setup, encryption-ready mailbox handling, and future AI-assisted triage through GoOfficePH APIs.

### Suite and Files

- Files-first Suite workspace with local file cache and file import tracking.
- OpenDocument-first document staging.
- Suite actions are queued through GoOfficePH APIs for file refresh, staged document sync, and online editor handoff.
- The desktop shell keeps GoOfficePH as the visible workspace while GoOfficePH Files and editor services stay behind GoOfficePH API contracts.
- Sharing, version history, quota, permissions, and editor-session behavior remain governed by the GoOfficePH online Suite and Files bridge.
- Full offline document editing is still a known limit until a local ODF editing engine is packaged.

### Chat and Meet

- Chat/Meet workspace entry with local room cache, queued messages, and room-limited guest invite handling.
- Authenticated Chat/Meet actions replay through GoOfficePH Chat APIs.
- Guest invite links remain separate from workspace/admin access and can be opened from the desktop client.
- Desktop copy reflects the current online Chat/Meet model: GoOfficePH-approved media sessions, guest access, room controls, participant cleanup, mobile-aware controls, and video-meeting handoff.

### Calendar and Contacts

- Local Calendar event staging.
- Local Contacts staging.
- Calendar and Contacts changes replay through GoOfficePH sync APIs.
- Queued events and contacts keep client action IDs for idempotent replay.

### Sync and Diagnostics

- Local offline queue for settings, mail drafts, staged files, Suite ODT actions, chat messages, calendar events, and contacts.
- Server-side replay receipts with client action ID, payload hash, status, result, error, attempt count, and service state.
- GoOfficePH confirmation reconciliation for Mail, Files, Chat/Meet, and future service adapters.
- Explicit queue states: `offline-queued`, `syncing`, `complete`, `pending confirmation`, `locked`, and `failed`.
- Manual sync check and automatic sync when connectivity returns.
- Diagnostic export for support and troubleshooting.

### Security and Platform Boundary

- GoOfficePH-owned APIs are the external contract for desktop app behavior.
- Provider-specific systems remain behind GoOfficePH services wherever possible.
- User passwords are not stored after desktop sign-in.
- Managed features are gated by GoOfficePH entitlement, while local files remain readable if entitlement lapses.
- Release artifacts include versioned packages, checksums, Release Notes, and release ledger entries.

## Additions

- Desktop metadata, Release Notes, and download packaging updated to version 3.3.0.
- Desktop capability scan added to Release Notes for managed rollout review.
- App copy refreshed for current online GoOfficePH Mail, Suite, Chat/Meet, Calendar, Contacts, GoOfficePH confirmation, and entitlement behavior.
- Download page support for 3.3.0 macOS and Linux packages with current checksums and platform notes.

## Improvements

- Makes the desktop package clearer for customers and administrators by distinguishing packaged capabilities from online service handoff.
- Preserves GoOfficePH API boundaries for desktop integrations.
- Keeps Windows publication tied to the native Windows build runner so the public download page does not mislabel old ZIP files as current installers.

## Known Limits

- Full offline document editing still requires a packaged local ODF editing engine.
- Linux AppImage 3.3.0 must be rebuilt on a native Linux x64 runner. The macOS-hosted Docker/QEMU builder successfully produced DEB and RPM packages but `linuxdeploy` failed during AppImage bundling.
- Windows MSI/EXE installers must be produced on a trusted Windows build runner using `scripts/build-groupware-windows-release.ps1`.
- Large file transfer sync still depends on the configured offline action size and service worker limits.
- Private-key material for encrypted email must remain user-controlled; the desktop app does not upload private keys to GoOfficePH.

## Version 3.2.1

GoOfficePH Groupware Desktop 3.2.1 adds GoOfficePH confirmation reconciliation for the offline queue. Actions that were accepted by GoOfficePH and handed to Mail, Files, Chat/Meet, or another GoOfficePH service now continue to update after the initial replay response.

## Additions

- GoOfficePH offline service worker for `pending confirmation` actions with service status, attempt counts, next retry time, confirmation time, and last service error.
- Chat/Meet service handoff that resolves or creates the target room and posts queued desktop messages through the GoOfficePH Chat API.
- Provider handoff configuration points for Mail offline mail send and Files offline object commit, so production service workers can be plugged in without changing the desktop protocol.
- Desktop reconciliation against `/offline/sync/actions` after refresh and replay, allowing queued items to move from `pending confirmation` to `complete` once the server confirms the GoOfficePH result.

## Improvements

- Queue diagnostics now show service status, retry time, confirmation time, and service errors.
- Provider bridge events are marked completed or failed when the service worker reaches a final result.
- Retry behavior is explicit and bounded; service handoffs no longer remain indefinitely ambiguous.

## Version 3.2.0

GoOfficePH Groupware Desktop 3.2.0 wires the desktop offline queue to production replay APIs in the GoOfficePH service. Queued work now receives server-side receipts, survives relaunches, and reports whether the action is fully synced, locked by subscription, failed validation, or safely staged for service handoff.

## Additions

- `/offline/sync/actions` replay API for desktop server-side settings, mail drafts, staged files, Suite ODT creation, chat messages, calendar events, and contacts.
- `/offline/sync/actions` status API for reconciling prior desktop actions after relaunch.
- Crash-safe GoOfficePH receipts for replay batches and individual actions with client action IDs, payload hashes, status, result, error text, and attempt counts.
- Durable staging for small offline file imports and Suite-created ODT placeholders before Files service handoff.
- Desktop replay worker that posts queued actions to GoOfficePH when online and updates each queue item from the server response.
- Automatic replay when connectivity returns if auto-sync is enabled.
- Server-side settings replay for desktop cache, auto-sync, and time-aware theme preferences.

## Improvements

- Queue status now distinguishes `complete`, `pending confirmation`, `locked`, `failed`, `syncing`, and `offline-queued`.
- File import captures content for small files so queued imports can be safely staged on GoOfficePH when online.
- Calendar and Contacts created offline are persisted in native GoOfficePH groupware tables with idempotent client mutation IDs.
- Mail drafts and Chat/Meet messages are safely stored as bridge events for GoOfficePH replay instead of being marked sent before service handoff.

## Known Limits

- Full offline document editing still requires a packaged local ODF editing engine.
- Large file sync is limited to the configured offline action size limit; use online Files for larger transfers until the native filesystem-backed transfer worker is enabled.
- Mail, Chat/Meet, and Files service handoff workers report `pending confirmation` when the source service queue receives the action but final delivery is not yet confirmed.

## Version 3.1.1

GoOfficePH Groupware Desktop 3.1.1 clarifies the offline and sync behavior introduced in 3.1.0. This release keeps the same enforcement layer, then makes the user interface explicit that local queues are not the same as completed server synchronization.

## Additions

- Connectivity notes on Workspace, Sync Queue, Settings, Mail, Suite, Chat/Meet, Calendar, and Contacts screens.
- Runtime online/offline status text that distinguishes account and entitlement refresh from app-data sync replay.
- Queue statuses now use `offline-queued` and `queued-awaiting-worker` so diagnostics do not imply that mail, file, chat, calendar, contact, or settings changes have already been sent to GoOfficePH.

## Sync Scope

- Implemented now: GoOfficePH desktop sign-in, device registration, entitlement refresh, activation-code redemption, local app caches, local action queues, and managed-feature locking.
- Not complete in this build: production server replay workers for Mail, Files, Suite, Chat/Meet messages, Calendar, Contacts, and server-side settings.
- Guest Chat/Meet invite links remain usable without active desktop entitlement and are not blocked by the managed-feature gate.

## Version 3.1.0

GoOfficePH Groupware Desktop 3.1.0 wires the desktop enforcement layer to the GoOfficePH service. The app now registers a desktop device, checks the server-side Groupware entitlement, supports staff-issued activation codes, and locks managed desktop features when the subscription or activation period is inactive.

## Additions

- GoOfficePH account sign-in for the desktop app through the `/offline/auth/login` GoOfficePH endpoint.
- Desktop device registration using a locally generated device identity.
- Server-side entitlement status refresh through `/offline/status`.
- Activation-code redemption through `/offline/activation/redeem`.
- Visible Groupware access status on the Workspace and Settings screens.
- Managed-feature gate for Mail, Suite editing and sync, Calendar, Contacts, and hosted Chat/Meet room actions.
- Guest Chat/Meet invite link entry that remains usable when managed Groupware access is inactive.
- Desktop CORS allow-list support for Tauri origins on the GoOfficePH portal API.

## Improvements

- Files already stored locally remain readable when Groupware access is inactive.
- Locked features now show consistent disabled states instead of silently queuing work that cannot sync.
- Passwords are not stored by the desktop shell after sign-in.
- Release metadata is updated to 3.1.0 for traceable packaging.

## Known Limits

- Production secrets should still be moved from browser-local storage into the operating-system credential vault before broad rollout.
- Full offline document editing still requires a packaged local ODF editing engine.
- Guest Chat/Meet access is limited to opening valid GoOfficePH invite links; it cannot create rooms or use workspace/admin features.

## Validation Checklist

- Portal API syntax check passes.
- Desktop app syntax check passes.
- Desktop package builds into macOS `.app` and `.dmg` artifacts.
- DMG verification passes.
- Ad-hoc code-signature verification passes.

## Version 3.0.0

GoOfficePH Groupware Desktop is the integrated macOS desktop app for GoOfficePH Mail, Suite, Chat/Meet, Calendar, and Contacts. It uses a local Tauri app shell with the GoOfficePH by KloudPH brand system and keeps GoOfficePH APIs as the integration boundary.

This release implements the staged roadmap in one source-controlled package:

- **1.0:** unified branded desktop shell.
- **2.0:** offline cache and sync queue foundation.
- **3.0:** Suite offline workflow boundary with OpenDocument staging and online editor handoff.

## Additions

- Bundled desktop UI that launches locally instead of only pointing to the hosted beta page.
- Unified navigation for Workspace, Mail, Suite, Chat/Meet, Calendar, Contacts, Sync Queue, and Settings.
- GoOfficePH by KloudPH branding across the app shell, app cards, navigation, and status panels.
- Account profile settings for display name, GoOfficePH ID, and API base URL.
- Time-aware theme support with local dark mode at night.
- Responsive layout for desktop, tablet-sized windows, and narrow windows.
- Local cache model for mail previews, staged files, chat rooms, calendar events, and contacts.
- Offline queue model for mail drafts, file actions, Suite staging actions, chat messages, calendar events, and contacts.
- Diagnostic export for support and troubleshooting.
- Mail draft queue UI.
- Suite files-first workspace with local file import tracking.
- OpenDocument-first ODT creation action.
- Chat/Meet launch and queued message UI.
- Calendar event staging.
- Contacts staging.
- Sync queue inspection.
- Release-stage switcher that explains 1.0, 2.0, and 3.0 behavior.

## Improvements

- Replaces the old fallback-only desktop screen with an actual app workspace.
- Updates the macOS build target to produce both `.app` and `.dmg` bundles.
- Keeps service-specific systems behind GoOfficePH routes and APIs instead of exposing other platform controls in the desktop app.
- Preserves the same desktop codebase direction for future Windows and Linux builds.

## Known Limits

- Full offline document editing is not represented as complete in this build. The app supports OpenDocument staging and online editor handoff. A full offline editor requires a packaged local ODF editing engine.
- Secrets are stored in browser-local storage in this developer build. Production distribution should bind tokens and refresh credentials to macOS Keychain.
- The sync queue is a local workflow foundation. Production replay requires API-specific sync workers and server-side conflict resolution endpoints.
- Public production distribution should use Apple Developer ID signing and notarization.

## Installation

1. Download the macOS DMG package.
2. Open the DMG.
3. Drag `GoOfficePH Groupware.app` to `Applications`.
4. Launch the app.
5. Open Settings and enter the GoOfficePH account details.
6. Use the app navigation to open Mail, Suite, Chat/Meet, Calendar, and Contacts.

## Validation Checklist

- Package builds from the local repository.
- App launches locally without requiring the hosted beta page as the first screen.
- App presents GoOfficePH by KloudPH branding.
- Workspace, Mail, Suite, Chat/Meet, Calendar, Contacts, Sync Queue, and Settings routes render.
- Offline actions are queued locally.
- Imported files appear in the Suite local workspace.
- Diagnostics export works.
- DMG and app artifacts are generated.
