Commit Graph
21 Commits
Author SHA1 Message Date
Alex Jbanca d3b8917a04 chore: Drop DOtherSide
+ Move monitoring to statusq
2026-07-07 10:44:53 +03:00
Alex Jbanca db4b5c5a46 feat(ios): wire-up push notifications (#20344)
* feat(ios): wire-up push notifications

- wire push notifications endpoints with qml access
- split NotificationsView.qml into 2 different components. The general component preserving the current behavior and a reduced functionality for centralized push notifications (similar to the Status legacy)
- wire bundle id from EnvVariables.mk to the push notifications status-go calls. We need the bundle id as topic.
- Tweak the Push permissions request flow to account for platform specifics

* fix: mobile-run doesn't work for all targets
2026-04-06 14:19:22 +03:00
Alex Jbanca 4fdcf9ec1d feat(android): status-go as a service
Add an option to run status-go as a service on android using Androdi Binder as a transport.

See ADR for more details docs/adr/0001-android-status-go-as-a-service.md
2026-03-20 09:22:26 +02:00
Siddarth Kumar 7afb60d1b9 init: fdroid setup
- `mobile/Makefile` -> Added `apk-fdroid` build target, used by
`fdroid/build-app.sh`. F-Droid requires an unsigned APK without Google
Play services.

  - `mobile/android/qt6/build.gradle` -> Added F-Droid gradle build
flavor, used during `apk-fdroid` target. Separates F-Droid builds from
Play Store builds and no signing configuration since it's supposed to be
unsigned.

  - `mobile/scripts/buildApp.sh` -> Updated to copy F-Droid APK instead
of usual locations from Jenkins build.

  - `mobile/scripts/buildOpenSSL.sh` -> Moved from iOS dir, shared
between iOS and F-Droid builds. Reusing the OpenSSL build logic that was
previously iOS-only but is now needed for F-Droid's from-source
requirement.

  - `mobile/scripts/Common.mk` -> Updated path to `buildOpenSSL.sh`
which is no longer inside iOS dir.

  - `mobile/scripts/openssl-patch.diff` -> Moved from iOS dir, applied
by `buildOpenSSL.sh`, so that the patch is co-located with the script
that uses it.

  - `ci/Jenkinsfile.fdroid` -> Had to make a new pipeline script because
integrating this into `ci/Jenkinsfile.android` was causing issues with
the generated `AppImage` and steps had to be fully sequential, so I
figured it's good to separate them out.

  - `fdroid/entrypoint-fdroid.sh` -> Docker entrypoint, used by
`fdroid/Dockerfile`. Sets up the container user/permissions before the
F-Droid build starts.

  - `fdroid/Dockerfile` -> A minimalistic Docker image for the F-Droid
Jenkins build environment, used by `ci/Jenkinsfile.fdroid`. I didn't add
to existing Qt Android `Dockerfile` because this one only needs a
minimal environment with Docker-in-Docker to run the `fdroidserver` VM.

  - `fdroid/build-app.sh` -> Called by `fdroiddata` metadata build step.
Sets up Qt and Android NDK environment, detects `JAVA_HOME`, configures
`Go`/`Nim` env vars, and runs the `make` targets for the F-Droid APK.

  - `fdroid/build-openssl.sh` -> F-Droid requires OpenSSL to be built
from source rather than using prebuilt binaries.

  - `fdroid/build-qt-android.sh` -> F-Droid requires Qt to be built from
source; this handles the Android cross-compilation.

  - `fdroid/build-qt-host.sh` -> Qt's cross-compilation requires host
tools (`moc`, `rcc`, etc.) to be built first.

  - `fdroid/cleanup-binaries.sh` -> Removes binaries flagged by `fdroid`
scanner, called by `fdroiddata` metadata `prebuild` step. F-Droid's
scanner rejects repos containing prebuilt binaries in test/vendor
directories.

  - `fdroid/cleanup-fdroiddata.sh` -> Removes stale `fdroiddata` clones,
called by `ci/Jenkinsfile.fdroid`. Prevents disk space issues from
accumulating `fdroiddata` clones across builds.

  - `fdroid/fdroid-container-build.sh` -> Runs `fdroid build` inside
Docker container, called by `scripts/fdroid-local-build.sh`. Isolates
the build in a container to match F-Droid's official build environment.

  - `scripts/fdroid-local-build.sh` -> A handy script to build F-Droid
locally, also called by `ci/Jenkinsfile.fdroid`. Manages the full
lifecycle of cloning `fdroiddata`, launching the `fdroidserver`, and
extracting the output APK.

  - `fdroid/generate-keystore.sh` -> Generates a single-use keystore for
signing the F-Droid APK. Sourced by `buildApp.sh` to export signing
credentials into the build environment.

fixes: https://github.com/status-im/status-app/issues/19741
2026-03-14 20:54:15 +05:30
Alex Jbanca 7fc5283251 fix: MacOS build - missing libZXing
Compile zxing and scodes as static libs
2026-02-20 12:52:10 +02:00
Jonathan Rainville ebb9c2f9c6 chore(qzxing): remove old QR code library 2026-02-13 13:05:32 -05:00
Jonathan Rainville cec140de2b feat(qr): add new QR library SCodes to scan qr codes (#19811) 2026-02-13 09:21:18 -05:00
Alex Jbanca e95901281c feat: Add status-keycard-qt lib
This commit adds the status-keycard-qt submodule and updates the build configuration to support it.

In this initial version the `status-keycard-qt` option can be enabled by using the `USE_STATUS_KEYCARD_QT` flag.
- desktop: `USE_STATUS_KEYCARD_QT` will enable/disable the qt implementation. By default the go version is used
- ios: `USE_STATUS_KEYCARD_QT` will enable/disable the qt implementation
- android: the qt implementation is enabled by default

to squash - first commit
2026-01-14 14:37:35 +02:00
Siddarth Kumar 0fdd9fda2d ci: fix android signing
- brings in status-jenkins-lib@v1.9.36
- use gradle build types for PR and Release.
- signing config moved to gradle
- simplify build App script
2026-01-12 19:27:43 +04:00
Siddarth Kumar dee268e221 mobile: build a signed android app
- generate signed APK for PRs
- generate signed AAB for PRs targeting release branches
- updates status-jenkins-lib to v1.9.29 which provides keystore and
credentials for signing
- rename bundle id app.status.mobile
- nuke FOREGROUND_SERVICE permission
- automatically generate versionCode based on minutes since epoch
- nuke unused mobile/android/qt5 dir
- fix path to SecureAndroidAuthentication.java
- bump nim to 2.2.4
2025-10-26 12:36:27 +04:00
Alex Jbanca b2d4eddc77 chore: Update app name to Status and align app package id with the bundle id
App name: Status
App package/bundle: im.status.app
2025-10-16 12:32:51 +03:00
Lukáš Tinkl 75e867b7de fix(i18n): bundle the translations into resources
- simplify the process or deploying the translations by treating the QM
files just like any other resource, and compile/bundle them with the
binary
- remove manual copying of the QM files in Makefile and other scripts
- greatly simplify the LanguageService discovery, as the QM files are
now in a uniform prefix (`:/i18n`) on any platform
- because of the uniform prefix/location, the retranslation now happens
automatically by `QQmlApplicationEngine`, by just setting/getting the
`Qt.uiLanguage` property

Fixes #18914
2025-10-15 15:15:41 +02:00
Alex Jbanca fe36d7423c fix: QML server
- Use local network IP address for the host, instead of localhost
- Use the default install folder for the app whenever it's not built using the qml local server. Previously it was installed in `default` folder
- Simplify the `APP_VARIANT`
2025-09-09 13:13:11 +03:00
Michał Cieślak 1f1b653257 Mobile: separate build dirs for regular and qml-server builds
Closes: #18466
2025-08-28 10:04:09 +02:00
Alex Jbanca 1c2643aed3 chore(pcre): Remove pcre dependency for mobile builds 2025-08-01 17:09:59 +03:00
Alex Jbanca b5043f1134 chore: Use openssl3
- Replace the openssl vendors and use the official repo for both IOS and Android
- Update the build scripts to compile openssl using the official repo
2025-06-10 14:26:36 +03:00
Alex Jbanca ba8494182e chore: Fixing mobile builds
- Adding a config option for the GH action to compile with different qt versions
- Updating build scripts to use standard android env variables
- Fixing mobile targets
2025-06-10 11:28:12 +03:00
Alex Jbanca 532e7ea989 chore: integrate the mobile build system in the main makefile
- Creating new targets to build, run and clean mobile builds
- Updating the builds to support qt 6.9.0 (and NDK 27.2.12479018)
- Move the GH actions to the main gh folder
- Update the main Makefile to allow cross-compilation. `detected_os` becomes `mkspecs`
2025-06-10 11:28:12 +03:00
Alex Jbanca 31d8834c87 chore: use bash 2025-06-03 16:44:03 +03:00
Alex Jbanca df49900b03 chore: Remove debugging logs 2025-06-03 16:44:03 +03:00
Alex Jbanca ad2adea549 chore: Android GH actions build + various fixes (#5)
* chore: Android GH actions build + various fixes

* chore: Update qt6 android manifest

* chore: Simplify run setup for new environments

* chore: Update android tools dependencies
2025-06-03 16:44:03 +03:00