Skip to content

Rename product to Logseq and add Android/iOS release workflows - #60

Merged
tiensonqin merged 4 commits into
mainfrom
devin/1791611387-logseq-rename
Oct 10, 2026
Merged

tiensonqin merged 4 commits into
mainfrom
devin/1791611387-logseq-rename

Conversation

@tiensonqin

@tiensonqin tiensonqin commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Rebrands the app from "Logseq Chat" to "Logseq" so it can replace the mobile app shipped from logseq/logseq, using identical app ids and provisioning.

Rename (repo-wide): every chat/LogseqChat/logseq_chat/com.logseq.chat identifier becomes its logseq equivalent — OCaml package and modules (logseq.opam, logseq_core/logseq_app/logseq_mobile_entry libs, shared/src/logseq/), Swift modules (Logseq, LogseqShell, LogseqModel, LogseqCoreABI), Kotlin packages (com.logseq.app, logseq.app), JNI exports (Java_com_logseq_app_NativeCore_*), the Xcode project/scheme (Logseq.xcodeproj, Logseq App), scripts, workflows, e2e fixtures, and docs.

Identity & signing (same as the logseq mobile app):

  • iOS: com.logseq.logseq + extensions com.logseq.logseq.ShareViewController / com.logseq.logseq.shortcuts, app group group.com.logseq.logseq, URL scheme logseq, team K378MFWK59. Release configs use manual signing with match AppStore profiles; the xcconfig's CODE_SIGNING_REQUIRED = NO is now scoped to [config=Debug] so archives still sign.
  • Android: applicationId = "com.logseq.app", URL scheme logseq.

Release CI (modeled on logseq/logseq master):

  • build-android.yml: ubuntu job — opam switch + duniverse caches (reuses ci.yml's cache keys), Android OCaml toolchain cache for arm64-v8a, ./gradlew :app:assembleRelease, then apksigner sign with the ANDROID_KEYSTORE/ANDROID_KEYSTORE_PASSWORD secrets and uploads a Logseq-android-<sha>.apk artifact (no Play upload).
  • build-ios-release.yml: macos-15 job — opam/duniverse/toolchain caches like e2e.yml's iOS job, bootstrap-ios-ocaml.sh device, builds the OCaml device core via the new LOGSEQ_IOS_LINK_INPUTS_ONLY=1 mode of build-mobile-ios-device.sh (emits native-link-inputs.txt), then bundle exec fastlane beta under apple/App.
  • apple/App/fastlane/: Matchfile (git@github.com:logseq/certificates, appstore, all three bundle ids), Appfile (dev@logseq.com, itc team 123783177), and a beta lane mirroring logseq's — setup_ci → ASC API key → sync_code_signing → archive Logseq App (Release, -allowProvisioningUpdates, CURRENT_PROJECT_VERSION overridden with latest TestFlight build + 1) → upload_to_testflight. Obsolete Deliverfile/AppStore.xcconfig/metadata removed.

Other changes:

  • settings.gradle.kts resolves :lui from duniverse/lui/platform/android/lui when no sibling ../lui checkout exists (needed in CI).
  • logseq.opam/Package.swift lui pin bumped to a8cc58c (origin/main); datascript-ocaml was already current (0561660).
  • build-mobile-ios-device.sh no longer refuses the production bundle id; the widgets appex id is LOGSEQ_IOS_WIDGET_BUNDLE_ID (default com.logseq.logseq.shortcuts).
  • Fixed authentication_screen_uses_the_product_name_on_every_host: the signed-out surface must now render "Logseq" and not "Logseq Chat".

Verified: dune build @shared/native/runtest — 735 tests pass. swift build reaches the platform boundary (only expected UIKit-unavailable-on-macOS errors). The release workflows are workflow_dispatch-only and untested end-to-end — the first real archive/upload runs on GitHub.

Link to Devin session: https://app.devin.ai/sessions/3fbb55f8acd849db864aa2e7287c0cea
Open in Devin Desktop: https://app.devin.ai/desktop/session/3fbb55f8acd849db864aa2e7287c0cea?variant=devin
Requested by: @tiensonqin


Devin Review

- Bump lui pin to a8cc58c (logseq.opam, Package.swift, Package.resolved);
  datascript-ocaml already at origin/main (0561660)
- Rename every chat identifier to logseq: OCaml package/modules
  (logseq_core, logseq_app, logseq_mobile_entry), Swift modules
  (Logseq, LogseqShell, LogseqModel), Kotlin packages
  (com.logseq.app, logseq.app), Xcode project/scheme, scripts,
  workflows, tests, docs
- iOS ids match the logseq mobile app: com.logseq.logseq +
  com.logseq.logseq.ShareViewController + com.logseq.logseq.shortcuts,
  app group group.com.logseq.logseq, URL scheme logseq, team K378MFWK59;
  Release configs use manual signing with match AppStore profiles
- Android applicationId com.logseq.app, URL scheme logseq
- settings.gradle.kts resolves :lui from ../lui or duniverse/lui
- build-android.yml: arm64-v8a release APK signed with ANDROID_KEYSTORE,
  uploaded as a workflow artifact
- build-ios-release.yml + fastlane match/beta lane: device OCaml core,
  archive via the Xcode project, upload to TestFlight
- build-mobile-ios-device.sh gains LOGSEQ_IOS_LINK_INPUTS_ONLY to emit
  LOGSEQ_NATIVE_LINK_INPUTS for the archive path
@devin-ai-integration

Copy link
Copy Markdown

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀 5 findings need your review

Devin fixed 2 of 7 findings on 1e07540. Click a finding below to jump to its comment.

For your review (5)

Fixed by Devin (2)

  • iOS release stops before core build
  • Android release cannot reuse CI opam cache

View all findings in Devin Review

Devin Review

- LOGSEQ_IOS_LINK_INPUTS_ONLY now skips the dev provisioning-profile,
  keychain, and profile-validation blocks so the release workflow can emit
  LOGSEQ_NATIVE_LINK_INPUTS without a development profile
- build-android.yml/build-ios-release.yml opam-switch cache keys include
  ci.yml so they restore the switch CI already built

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 5 potential issues.

Devin Review

Comment thread apple/App/fastlane/Fastfile
Comment thread apple/App/fastlane/Fastfile Outdated
Comment thread .github/workflows/build-android.yml
Comment thread apple/App/Logseq.xcconfig Outdated
Comment thread android/app/src/main/AndroidManifest.xml
File.expand_path treats __FILE__ (including the filename) as the base
directory, so ../../../ resolved to apple/_build. Four levels climb to
the repo root where build-mobile-ios-device.sh writes
native-link-inputs.txt.
@tiensonqin
tiensonqin merged commit 29c7490 into main Oct 10, 2026
1 check passed
@tiensonqin
tiensonqin deleted the devin/1791611387-logseq-rename branch October 10, 2026 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant