Skip to content

chore: release Papyrus 0.1.1 for Android - #8

Merged
Alpaca233114514 merged 6 commits into
mainfrom
codex/release/0.1.1
Jul 13, 2026
Merged

chore: release Papyrus 0.1.1 for Android#8
Alpaca233114514 merged 6 commits into
mainfrom
codex/release/0.1.1

Conversation

@Alpaca233114514

Copy link
Copy Markdown
Contributor

Summary

  • bump Papyrus to 0.1.1+2
  • keep only Android APK/AAB builds in the release workflow
  • publish Android assets plus SHA256SUMS.txt
  • include the prepared MCP/study-flow fixes and refreshed app icons already present on the release branch

Validation

  • flutter pub get
  • dart run build_runner build --delete-conflicting-outputs
  • flutter analyze --no-fatal-infos
  • flutter test (31 tests passed)
  • workflow structural checks and git diff --check

Local Android packaging could not start because this Windows environment has no Android SDK configured; GitHub Actions is the final Android build verification.

Replace Papyrus app icons on Android, iOS, macOS, Windows, and Web platforms. Adds new icon asset (assets/icons/app_icon.png), expands iOS icon set with additional sizes (50x50, 57x57, 72x72), and updates web manifest colors from blue to white. Reformats macOS icon configuration JSON.
Fix app icon sharpness and Windows multi-size packaging.
@Alpaca233114514
Alpaca233114514 merged commit d68e0b7 into main Jul 13, 2026
4 checks passed

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1c14b85d6b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/app.dart

Future<void> _startService() async {
try {
await startMCPService();

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Require opt-in before starting MCP

When this runs at app startup, any desktop/mobile instance automatically exposes the unauthenticated local MCP HTTP API. The server still allows Access-Control-Allow-Origin: * (lib/mcp/mcp_server.dart:41) and the new tool handler can list, update, and delete cards by id, so a malicious website can POST to http://127.0.0.1:8787/call while Papyrus is open and modify the user's local study data without consent. Please keep MCP disabled by default or require an explicit token/setting before starting it.

Useful? React with 👍 / 👎.

@@ -0,0 +1,5 @@
import 'mcp_isolate.dart';

Future<void> startMCPService() => MCPIsolate.start();

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Avoid enabling MCP on Android without release permission

On Android release builds, dart.library.io selects this implementation and the app now calls it on startup, but the release manifest in android/app/src/main has no android.permission.INTERNET declaration (only debug/profile manifests do). The release APK/AAB produced by this workflow will therefore fail the HttpServer.bind with a permission SocketException, leaving MCP silently unavailable in the Android release; either gate this implementation away from Android or add the release permission if MCP is intended there.

Useful? React with 👍 / 👎.

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