6 Commits

Author SHA1 Message Date
Xavier Voet
b114828dd3 Add multiple quotes to quotes.json 2026-09-17 14:54:24 -04:00
Xavier Voet
7f81eb6421 Merge pull request #7 from ReVax-2007/copilot/fix-android-apk-and-aab-job
Fix Android release job by disabling deprecated default SDK package install
2026-09-16 17:32:43 -04:00
copilot-swe-agent[bot]
a2a8e0199a Fix Android workflow SDK setup package selection
Co-authored-by: ReVax-2007 <152216732+ReVax-2007@users.noreply.github.com>
2026-09-16 21:28:06 +00:00
copilot-swe-agent[bot]
ca00312695 Initial plan 2026-09-16 21:24:42 +00:00
Xavier Voet
239dd0ad35 Merge pull request #6 from ReVax-2007/feature/new-integrations
## Summary

Adds the new integration and mobile-readiness features for Cipher Master.

## Changes

- Added bundled JSON quote fallback at `src-tauri/data/quotes.json`
- Updated Rust quote generation to use the fallback library when Ollama is unavailable
- Refreshed the responsive frontend UI
- Added Discord slash-command starter integration
- Added `/cipher`, `/hint`, and `/solution`
- Made Discord hints and solutions ephemeral
- Added Discord Developer Portal setup documentation
- Added Android packaging instructions
- Updated Tauri application version to `1.1.0`
- Updated README and integration documentation

## Discord Setup

The Discord integration includes:

- `integrations/discord-bot/index.js`
- `integrations/discord-bot/register-commands.js`
- `integrations/discord-bot/package.json`

Supported commands:

- `/cipher`
- `/hint`
- `/solution`

## Release

- Release tag: `v1.1.0`
- Feature branch: `feature/new-integrations`

## Validation

- Discord JavaScript syntax validated
- Quote JSON validated
- Rust diagnostics checked
- Committed diff passes `git diff --check`

## Android Note

The documentation includes the Tauri Android initialization and build commands. The current release workflow still produces desktop artifacts only. Android project initialization and Android CI packaging should be added separately before publishing an Android binary.
2026-09-16 17:16:40 -04:00
Xavier Voet
7cddbcedf2 Merge pull request #5 from ReVax-2007/feature/fill-in-the-blank
feat: add fill-in-the-blank cipher mode
2026-09-16 14:01:41 -04:00
4 changed files with 56 additions and 11 deletions

View File

@@ -66,6 +66,8 @@ jobs:
- name: Setup Android SDK - name: Setup Android SDK
uses: android-actions/setup-android@v3 uses: android-actions/setup-android@v3
with:
packages: ''
- name: Install Android SDK packages - name: Install Android SDK packages
run: sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" "ndk;27.2.12479018" run: sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" "ndk;27.2.12479018"

View File

@@ -58,13 +58,7 @@ cargo tauri android dev
cargo tauri android build cargo tauri android build
``` ```
The generated Android project lives under `src-tauri/gen/android` and should be reviewed before committing. To build both Android package formats locally after setup: The generated Android project lives under `src-tauri/gen/android` and should be reviewed before committing. The responsive frontend and bundled quote library work without a desktop-only dependency; Ollama remains optional and is normally unavailable on a phone.
```bash
cargo tauri android build --apk --aab
```
The APK and AAB outputs are written under `src-tauri/gen/android/app/build/outputs/`. The tagged GitHub Actions release workflow also provisions Java 17, Android API 35, build tools, the Android NDK, and Rust Android targets, then uploads the APK/AAB files as a workflow artifact. A signed store release requires configuring Android signing secrets; unsigned packages are suitable for testing only.
## Discord Slash Commands Setup ## Discord Slash Commands Setup

View File

@@ -20,8 +20,7 @@ This document outlines proposed integrations with external services, tools, and
* **Custom Printed Output (Thermal Printers)**: Direct USB/Bluetooth printer integration to print cryptographic escape room physical receipts/slips. * **Custom Printed Output (Thermal Printers)**: Direct USB/Bluetooth printer integration to print cryptographic escape room physical receipts/slips.
## 5. Other OSes ## 5. Other OSes
* **Android Packaging**: The release workflow provisions Java 17, Android API 35, build tools, the Android NDK, and Rust Android targets, initializes Tauri Android, and builds both APK and AAB packages. Local builds use `cargo tauri android init` followed by `cargo tauri android build --apk --aab`. * **Android Packaging**: Tauri Android support is ready to initialize with `cargo tauri android init` and build with `cargo tauri android build`. The responsive frontend and bundled quote fallback keep the mobile app useful without Ollama.
* **Android release artifacts**: GitHub Actions uploads the APK/AAB files to the workflow run and attaches them to tagged GitHub releases. Store-ready distribution still requires Android signing secrets and a signing configuration.
## 6. Discord Slash Commands ## 6. Discord Slash Commands
* **Discord bot starter**: `integrations/discord-bot` provides `/cipher`, `/hint`, and `/solution`. It uses the bundled quote library, keeps challenge state per user, and makes hints and solutions ephemeral. * **Discord bot starter**: `integrations/discord-bot` provides `/cipher`, `/hint`, and `/solution`. It uses the bundled quote library, keeps challenge state per user, and makes hints and solutions ephemeral.

View File

@@ -8,5 +8,55 @@
"The strongest key is often the question nobody thought to ask.", "The strongest key is often the question nobody thought to ask.",
"A secret loses its power when a brave mind learns how to read it.", "A secret loses its power when a brave mind learns how to read it.",
"Every complex puzzle becomes smaller when its rules are made visible.", "Every complex puzzle becomes smaller when its rules are made visible.",
"Knowledge is not a locked room; it is a path made by patient footsteps." "Knowledge is not a locked room; it is a path made by patient footsteps.",
"The important thing is not to stop questioning.",
"Wonder is the beginning of wisdom.",
"Everything is theoretically impossible, until it is done.",
"If we knew what it was we were doing, it would not be called research.",
"The unexamined life is not worth living.",
"Somewhere, something incredible is waiting to be known.",
"Curiosity is the wick in the candle of learning.",
"Judge a man by his questions rather than by his answers.",
"To raise new questions is to mark real advance.",
"Invention is little more than a new combination of previous thoughts.",
"It's not that I'm so smart, it's just that I stay with problems longer.",
"Patience is bitter, but its fruit is sweet.",
"By persistence, the snail reached the ark.",
"Nature uses as little as possible of anything.",
"In all things, the supreme excellence is simplicity.",
"The secret of getting ahead is getting started.",
"Fall seven times, stand up eight.",
"A journey of a thousand miles begins with a single step.",
"What we know is a drop, what we don't know is an ocean.",
"Little by little, a little becomes a lot.",
"It is the mark of an educated mind to entertain a thought without accepting it.",
"The truth is rarely pure and never simple.",
"There are no whole truths; all truths are half-truths.",
"Not everything that can be counted counts.",
"To see what is in front of one's nose needs a constant struggle.",
"Perspective is worth eighty points of intelligence.",
"What you seek is seeking you.",
"The eye sees only what the mind is prepared to comprehend.",
"All our knowledge begins with the senses.",
"It is impossible for a man to learn what he thinks he already knows.",
"Knowledge speaks, but wisdom listens.",
"To know what you know and what you do not know is true knowledge.",
"An investment in knowledge pays the best interest.",
"Thinking is the hardest work there is.",
"Action is the foundational key to all success.",
"In theory, there is no difference between theory and practice.",
"Tell me and I forget, teach me and I may remember.",
"The art of being wise is knowing what to overlook.",
"Change your thoughts and you change your world.",
"Doubt is not a pleasant condition, but certainty is absurd.",
"The most beautiful experience we can have is the mysterious.",
"When you have eliminated the impossible, whatever remains must be the truth.",
"There is no heavier burden than a great potential.",
"A puzzle is only hard until you see the missing piece.",
"To ask the right question is already half the solution.",
"The universe is full of magical things waiting for our wits to grow.",
"Wonder is the feeling of a philosopher.",
"Errors are not in the art, but in the artificer.",
"A paradox is a signpost on the road to truth.",
"Significant problems cannot be solved with the same level of thinking that created them.",
] ]