BUILDING DOCKLARK

Every step,
with a date.

A running history of what changed, what passed, and what still needs work.

Last checked ALL TIMES · UTC+08:00

CURRENT SNAPSHOT

Where things stand.

Browse the timeline
MAIN / b896fdf

0.2.5_2026.10.13 verified development build

The authentication module export is fixed. Latest main passes native tests and produces a verified development DMG, including installation-copy cleanup, the fixed-layout connection form and Keychain-backed password-authentication code.

Native CI passed
CI / b896fdf

90 native tests and installer checks passed

63 core and 27 offline AppKit tests passed, including connection-layout and simulated credential-store regressions. Independent bidirectional 100 MiB transfers and DMG verification also passed. These checks do not exercise real Keychain permissions or server login.

Automated verification passed
ACCEPTANCE / PUBLIC RELEASE

Real-world acceptance remains open

Password login, real Keychain permissions, retries and MFA still need real-Mac acceptance. Real JumpServer sz recovery, mouse interaction and Finder installation also remain open. The development installer is ad-hoc signed without Developer ID notarization; there is no public release.

Release status

DEVELOPMENT JOURNAL

The history so far.

Newest first. Each entry keeps the evidence and status known at that time.

  1. Completed
    CI passed#

    Authentication revision passes native and installer checks

    The exact main revision passes CI and produces the verified 0.2.5_2026.10.13 development installer, resolving the preceding native build blocker.

    • 63 core tests and 27 offline AppKit tests passed, including 13 connection-authentication tests covering layout, credential lifecycle, rollback and helper validation. Credential-store tests use a simulated vault, not real macOS Keychain access.
    • Native versioning and old-build cleanup regressions, arm64 Release compilation, native icon compilation, disk-image verification and copied-app signature checks passed. Independent lrzsz checks passed bidirectional 100 MiB and multi-file SHA-256 verification through local byte pipes.
    • Real password login, Keychain permission prompts, retries and MFA remain unaccepted, alongside real JumpServer sz recovery, mouse interaction and Finder installation. The installer is ad-hoc signed, not Developer ID notarized or publicly released.

    Exact main workflow, native test results and verified installer output · b896fdf · CI #38274766829

  2. Commit time
    Code integrated#

    Authentication module export fix lands in main

    The native authentication helper is explicitly exported to Swift, addressing the missing symbol that stopped the preceding build.

    • The change exposes the existing SSH parent-child process validation interface without bypassing its checks. Installation, connection-form and password-authentication source changes remain in main.
    • This is a source-fix milestone. Its successful native and installer verification is recorded separately in the next CI milestone; it is not a public release.

    Main authentication header-export diff · b896fdf

  3. Completed
    Open issue#

    New authentication revision hits a native build blocker

    The 0.2.4_2026.10.12 main revision fails during native compilation. No verified installer is produced for this revision.

    • The compiler cannot resolve a helper used by the new SSH authentication path. Full native tests, Release compilation, signing and DMG verification do not complete.
    • The native versioning and old-build cleanup regressions passed before compilation stopped. The separate Linux core and interoperability job passed; these results do not validate native authentication or macOS Keychain access.
    • The preceding 0.2.3 build remains the last native-CI-verified installer. Its success must not be applied to this newer revision. Real-Mac acceptance and public release remain pending.

    Exact main workflow and native compilation failure · c4a9cf8 · CI #38274238338

  4. Commit time
    Code integrated#

    Installation, connection-form and password changes enter main

    Main adds source implementations for build-copy cleanup, single-instance startup, a fixed connection form and Keychain-backed password authentication.

    • The packaging changes aim to clean temporary development copies and separate the installer from the installed app, while preserving existing connection data.
    • The connection form adds password, private-key and legacy interactive modes. Password storage uses macOS Keychain in the implementation; real login, permission prompts, retries and MFA are not yet accepted.
    • This timestamp records the source commit, not successful native verification. The following CI milestone records its build failure.

    Main commit diff and installation/authentication implementation notes · c4a9cf8

  5. Completed
    CI passed#

    Build compatibility fix passes native verification

    The exact main revision passes CI and produces the verified 0.2.3_2026.10.12 development installer.

    • A native macOS regression confirms that a conflicting date command earlier in PATH cannot affect display, numeric or metadata version output.
    • 51 core tests and 14 offline AppKit tests passed, along with arm64 Release compilation, native icon compilation, disk-image verification and copied-app signature checks.
    • Independent lrzsz checks passed bidirectional 100 MiB and multi-file SHA-256 verification, including Unicode filenames and same-name protection. These checks use local byte pipes, not a real JumpServer session.
    • The installer remains ad-hoc signed, not notarized or publicly released. Real JumpServer sz recovery, mouse interaction and Finder installation still await acceptance; password saving is not implemented.

    Exact main workflow and native versioning, build and installer logs · 99e9463 · CI #38268048582

  6. Commit time
    Code integrated#

    Fix for conflicting macOS date commands lands in main

    Version generation now calls the macOS system date tool directly, preventing a GNU date command in PATH from interrupting the build.

    • The change keeps the existing build entry point, per-commit version increments and Asia/Shanghai commit dates. It does not change the user’s PATH or terminal settings.
    • Adds a native macOS regression for display, numeric and metadata output. Verification is recorded separately in the following CI milestone; no terminal or file-transfer behavior is changed by this commit.

    Main commit diff limited to version generation and its regression test · 99e9463

  7. Completed
    CI passed#

    Integrated main passes native and DMG verification

    The exact integrated main revision passes CI and produces the verified development installer 0.2.2_2026.10.12.

    • 51 core tests and 14 offline AppKit tests passed, followed by arm64 Release compilation, native icon compilation, hdiutil image verification and copied-app signature checks. The earlier icon packaging blocker is resolved.
    • Independent lrzsz upload/download passed 100 MiB and multi-file SHA-256 checks. These local protocol checks do not establish real SSH or JumpServer acceptance.
    • Version 0.2.2 follows main’s first-parent history; it must not be ordered numerically against installers from a different branch. This private CI artifact is ad-hoc signed, not notarized, and is not a public release.
    • Real JumpServer sz recovery, mouse interactions and Finder installation remain pending acceptance. Password saving is not implemented.

    Exact main workflow, native build log and verified DMG artifact · 57980ec · CI #38262575902

  8. Commit time
    Code integrated#

    Product improvements integrated into main

    A 38-file integration commit brings the developed product improvements into main on top of its existing baseline.

    • Includes the sz completion code fix, terminal interactions and search, themes and branding, website-aligned system-adaptive icons, and deterministic DMG packaging.
    • This is the integration commit’s recorded time, not a pull-request merge or push-event timestamp. Verification is recorded in the following CI milestone.

    Main integration commit and file diff · 57980ec

  9. Completed
    Open issue#

    New icon candidate reaches a packaging blocker

    The latest development revision adds a system-adaptive Dock icon and a unified installer entry point. Native tests and Release compilation pass, but icon packaging fails.

    • 51 core tests and 14 offline AppKit tests passed; the independent interoperability job also passed. These checks do not establish real SSH or JumpServer acceptance.
    • The native asset compiler rejects the icon format during packaging. No verified DMG was produced for this revision. The previously verified 0.2.5 installer remains a historical development candidate.
    • This revision is not merged into main or publicly released. Password saving and real JumpServer validation of the sz completion fix remain open.

    Latest candidate workflow and native packaging log · 6ab2086 · CI #38261039524

  10. Completed
    CI passed#

    Latest candidate passes native and DMG checks

    The development branch passes another complete native build, with installer version 0.2.5_2026.10.12.

    • 51 core tests and 11 offline AppKit tests passed. Independent lrzsz upload and download each passed 100 MiB SHA-256 checks over local byte pipes.
    • CI created Docklark_0.2.5_2026.10.12_arm64.dmg and verified its disk-image checksum and application copy. It remains an ad-hoc-signed development installer without Developer ID notarization.
    • The latest commit adds review tooling, not new application behavior. Application changes remain those of 91dc644; none are merged into main. Real JumpServer download acceptance is still pending.

    Candidate native build and independent protocol workflow · 9171b96 · CI #38259334994

  11. Commit time
    Code integrated#

    Main gains a standalone DMG script

    A packaging script is added on top of the existing 0.1.0 application baseline.

    • This main commit changes only the packaging script. It does not include the candidate’s identity, terminal interactions, sz fix or automatic versioning.
    • The subsequent main workflow passed at 21:54 (UTC+08:00), but runs the existing application checks and does not execute this new DMG script. Its packaging result is not yet verified.

    Main commit diff and workflow scope · 7fd496f · CI #38258630632

  12. Completed
    CI passed#

    First dated candidate installer is verified

    The candidate’s native workflow passes after fixes to shortcut routing and headless test assumptions.

    • 51 core and 11 offline AppKit tests, the arm64 Release build, and independent 100 MiB bidirectional lrzsz checks passed.
    • The workflow actually builds and verifies Docklark_0.2.4_2026.10.12_arm64.dmg. This CI artifact is a development candidate, not a public or notarized release.

    Native CI after candidate packaging implementation · 91dc644 · CI #38253110162

  13. Commit time
    Candidate branch#

    Drag-install DMG and dated versions added

    The development branch adds a two-icon Docklark.app / Applications installer and deterministic per-commit versions.

    • Display versions use x.x.x_yyyy.mm.dd; the revision follows first-parent commit history and the date uses Asia/Shanghai. Rebuilding the same commit keeps its version.
    • Packaging includes native hdiutil verification and application-copy/signature checks. This implementation is on the candidate branch and awaits the following CI result.

    Candidate packaging and versioning commit · 91dc644

  14. Commit time
    Candidate branch#

    Native interaction and sz recovery candidate added

    The next development branch adds Docklark identity, appearance controls, terminal interactions, search and a targeted ZMODEM completion fix.

    • Adds About information, the supplied app icon, system/light/dark appearance and a unified connection editor while preserving existing saved profiles.
    • Adds selection-to-copy, single middle-click paste, session-bound context actions, and current/all-tab search. Native shortcut routing is corrected in later commits.
    • The sz change only relaxes the ending phase after a complete, validated file and ZFIN exchange. CRC/length validation and incomplete-transfer safeguards remain. Real JumpServer recovery is not yet accepted.
    • Initial native build and shortcut-test failures are resolved before the later green CI milestone. Password saving and a system-adaptive app icon are still unfinished.

    Development-branch implementation and change notes · c0df5c6

  15. Reported
    Planned#

    Next: product polish and transfer recovery

    The next requested changes are recorded. No application fix for this round has been verified yet.

    • Docklark name, app icon, About information and system appearance.
    • Simpler connection setup, password-saving support and the terminal hang after sz.
    • The current polish branch contains a source-snapshot workflow only. Its successful archive job is not a native app build.

    Requested changes; branch inspected at 19:00 (UTC+08:00) · 83c89ef

  16. Reported
    Open issue#

    Drag upload works; sz completion still hangs

    Real-world feedback confirms drag-and-drop upload. A downloaded file arrives locally, but the terminal remains stuck after sz.

    • Track terminal recovery as an open defect. File arrival alone does not establish a complete download workflow or file-integrity check.

    User-reported behavior in the real environment

  17. Completed
    CI passed#

    Main passes native build and protocol checks

    The native macOS workflow passed for the integrated main revision.

    • 47 native XCTest cases: 43 core tests and 4 offline AppKit tests; arm64 Release build and local ad-hoc signature verification passed.
    • Independent lrzsz upload and download each passed a 100 MiB hash check, plus same-name protection, over local byte pipes.
    • These are CI and offline checks, not a real SSH/JumpServer transfer acceptance test, Developer ID signing or notarization.

    Native macOS build and core tests · e8ede8e · CI #38231569612

  18. Commit time
    Code integrated#

    0.1.0 integrated acceptance build reaches main

    The five feature areas are delivered together in source, with a test report and acceptance guide.

    • Connection saving, groups, search and favorites; persistent quick commands; tabs and independent windows.
    • Same-session ZMODEM upload/download, drag upload, progress, same-name protection and cancellation handling.
    • This is source delivery for acceptance. No public installer or public release has been published.

    Main delivery commit and acceptance documentation · e8ede8e

  19. Commit time
    Code integrated#

    Workspace and transfer implementation added

    The development branch adds native ZMODEM, saved connection and command catalogs, tabs and workspaces.

    • Later test and fix commits cover transfer safety, independent interoperability, offline lifecycle, compact tabs and oversized catalog protection.

    Implementation commit; subsequently included in 0.1.0 main · bc7c6c3

  20. Record time
    User verified#

    Real-Mac connection feedback recorded

    Direct SSH and logging in through JumpServer to a target server were confirmed working.

    • This timestamp is when the feedback was recorded in the repository. It is not the test execution time and does not validate later transfer features.

    Prototype acceptance record based on user feedback · 1839664

  21. Commit time
    Code integrated#

    Native SSH / JumpServer prototype merged

    The first connection prototype and local macOS build workflow reach main.

    • Native AppKit windows and terminal sessions establish the connection baseline; ZMODEM and saved workspace features are still future work at this point.

    Prototype pull request merged into main · 4f5cfc5

  22. Commit time
    Planned#

    Project scope established

    Development begins on an Apple Silicon SSH workspace, with JumpServer and same-session file transfer in the first-version goals.

    Initial project specification commit · d5d023a

Clear evidence. Honest boundaries.

Code implementation, CI success, real-world acceptance and public release are different milestones. Commit timestamps describe repository changes; recorded feedback is labeled separately. New results are added to this history rather than rewriting earlier milestones.