build(android): release signing + mirror/JDK setup; native-feel CSS
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 4m5s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m6s
CI/CD / Deploy - local stack (db + server + web) (push) Successful in 1m1s

- Release signing via android/keystore.properties (git-ignored); build.gradle
  signs release builds when the props file is present, stays unsigned otherwise.
- android/mirror-init.gradle: injects the myket.ir Maven mirror into every
  project's buildscript (dl.google.com is unreachable here) and pins Build-Tools
  to the installed 36.0.0. Build with:
    gradlew assembleRelease bundleRelease -I mirror-init.gradle
  (JAVA_HOME must point at a JDK 21 — Capacitor 8 compiles against Java 21.)
- gitignore keystores, keystore.properties, and /dist artifacts.
- Native-app feel: kill tap-highlight, long-press callout, and stray text
  selection (inputs/messages opt back in); touch-action: manipulation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-11 22:34:15 +03:30
parent 857287fa84
commit 55c0407d73
5 changed files with 76 additions and 0 deletions
+19
View File
@@ -107,6 +107,25 @@ body {
overscroll-behavior: none;
}
/* Native-app feel: no blue tap flashes, no long-press callout, no accidental
text selection on UI chrome (inputs/messages opt back in below). */
* {
-webkit-tap-highlight-color: transparent;
}
body {
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
touch-action: manipulation; /* kill the 300ms double-tap-to-zoom delay */
}
input,
textarea,
[contenteditable="true"],
.select-text {
-webkit-user-select: text;
user-select: text;
}
body {
background:
radial-gradient(120% 90% at 50% 18%, var(--felt-center) 0%, var(--felt-mid) 52%, var(--felt-edge) 100%),