No description
  • Scheme 78.7%
  • Shell 8.9%
  • Emacs Lisp 7.3%
  • Makefile 3.8%
  • C 1.2%
  • Other 0.1%
Find a file
ober 5864970335
All checks were successful
required-ci / required (push) Successful in 15m23s
Merge pull request #11
2026-09-12 21:22:36 -04:00
.forgejo Use FreeBSD Forgejo CI runner 2026-08-03 14:53:17 -06:00
.jerboa Harden Webex release evidence privacy 2026-06-25 18:05:41 -06:00
docs Resolve security audit findings 2026-07-11 17:29:30 -06:00
emacs trim webex message display bodies 2026-06-04 15:22:42 -06:00
scripts fix: stabilize FreeBSD reproducible links 2026-08-25 13:44:33 -06:00
src/webex feat: add Typed Jerboa Webex Android client 2026-08-25 13:19:32 -06:00
support feat(android): notify for all new messages 2026-08-26 13:07:16 -06:00
test feat: add Typed Jerboa Webex Android client 2026-08-25 13:19:32 -06:00
vendor Add self-contained webex-qt-bin GUI binary build 2026-05-13 16:14:44 -06:00
.gitignore feat: add Typed Jerboa Webex Android client 2026-08-25 13:19:32 -06:00
.gitsafeignore Set up Forgejo CI/CD policy 2026-08-03 12:55:32 -06:00
.jerbuild fix: stabilize FreeBSD reproducible links 2026-08-25 13:44:33 -06:00
.jerbuild.freebsd-amd64 fix make targets and cross builds 2026-06-04 12:56:01 -06:00
.jerbuild.linux-amd64 fix make targets and cross builds 2026-06-04 12:56:01 -06:00
.jerbuild.linux-arm64 fix make targets and cross builds 2026-06-04 12:56:01 -06:00
AGENTS.md docs(agents): add checkout hygiene policy (work dirs under ~/work, cleanup when done) 2026-09-12 19:11:41 -06:00
build-binary-qt.ss Avoid vendoring Jerboa when local toolchain exists 2026-08-09 16:41:13 -06:00
build-binary.ss Avoid vendoring Jerboa when local toolchain exists 2026-08-09 16:41:13 -06:00
build-jwebex-cross.ss Avoid vendoring Jerboa when local toolchain exists 2026-08-09 16:41:13 -06:00
jpkg.lock jpkg: add package lock 2026-07-30 15:33:51 -06:00
jpkg.policy.sexp Add jpkg package CI 2026-06-18 16:32:16 -06:00
jpkg.sexp Use FreeBSD Forgejo CI runner 2026-08-03 14:53:17 -06:00
LICENSE Switch to MIT license 2026-07-21 13:42:21 -06:00
main-binary-qt.ss Security hardening and release readiness 2026-06-23 10:53:07 -06:00
main-binary.ss Security hardening and release readiness 2026-06-23 10:53:07 -06:00
Makefile feat(android): notify for all new messages 2026-08-26 13:07:16 -06:00
README.md feat(android): notify for all new messages 2026-08-26 13:07:16 -06:00
SECURITY.md Resolve security audit findings 2026-07-11 17:29:30 -06:00
VERSION feat(android): notify for all new messages 2026-08-26 13:07:16 -06:00

jerboa-webex

Experimental Jerboa CLI and library code for Webex API workflows.

The repository builds a jwebex command, includes Webex modules under src/, and uses Jerboa plus native runtime support for HTTPS and related integrations.

Status

Private/experimental. Do not publish or use with production Webex credentials until the production gates in ../jerboa-production-readiness.md are complete.

Build

make binary
make release-evidence

Test

make test

Android APK

The Android client is generated entirely from Typed Jerboa in support/android/; generated Kotlin under build/ is disposable output. It supports saved Webex profiles, spaces and direct rooms, message history and paging, channel posts, replies to individual messages, avatars, and inline image attachments. Conversation screens keep the post composer visible below the scrolling history, show the newest messages first, and refresh every three seconds while visible so incoming replies appear without reopening the space. Unchanged refreshes preserve any draft being typed. The visible Back button and Android system back gesture both return to the main spaces screen instead of exiting the app. On Android 13 and newer, accept the notification permission prompt to receive an alert for every newly detected incoming message across all spaces. Existing history and messages sent by the active user are not alerted.

export JANDROID_REPO=/path/to/jerboa-android
make android-apk-test

JDK_HOME=$($JANDROID_REPO/scripts/verified-jdk.sh --home)
ANDROID_HOME=$HOME/Library/Android/sdk \
ANDROID_SDK_ROOT=$HOME/Library/Android/sdk \
JAVA_HOME=$JDK_HOME \
  $JANDROID_REPO/scripts/verified-gradle.sh --no-daemon \
  -p build/android-webex assembleDebug

make android-emulator-smoke

The debug APK is written to build/android-webex/app/build/outputs/apk/debug/app-debug.apk. The first launch opens Settings, where a Webex access token can be validated and saved. Bearer credentials are attached only to canonical https://webexapis.com:443 requests; downloads are bounded to 25 MiB and redirects are revalidated before authentication.

Webex query enum values are case-sensitive. The spaces request uses sortBy=lastactivity, and make android-apk-test guards that exact contract.

Security

Webex access tokens, webhook secrets, local store keys, API responses, message exports, and downloaded attachments are production secrets or workspace data. Credential handling and log redaction are documented in docs/credential-handling.md; native dependency provenance is documented in docs/dependency-provenance.md; local release evidence is documented in docs/release-evidence.md; repository support status and release blockers are documented in SECURITY.md.