Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

macOS release cannot save the identity; every launch makes a new one

Open
#708 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
flutter
Domain
desktop, security

Research direction

Start by reading identity_service.dart at _createAndStore, then inspect Release.entitlements and the macOS signing settings mentioned in the issue. Reproduce with a macOS release build and check whether identity storage persists across launches. Done means the release can save and reload the same identity; the issue lists signing with an entitlement or trying MacOsOptions(useDataProtectionKeyChain: false) as possible paths, but does not choose one.

Written by the indexing model from the issue text.

Description

The macOS release cannot save the identity. Every launch makes a new one.

I downloaded mostro-v2.0.12-macos-universal.zip (checksum matches SHA256SUMS.txt): ad-hoc signed, no team, sandboxed, no keychain-access-groups. Every launch logs:

[main] Identity init failed — secure storage unavailable: PlatformException(Unexpected security result code, Code: -34018, Message: A required entitlement isn't present., -34018, null)
#3      IdentityService._createAndStore (package:mostro/core/services/identity_service.dart:283)

_createAndStore only runs when nothing is stored, and the identity table stays empty. So each launch makes twelve new random words (create_identity), saving them fails, and the next launch does the same. Keys, and with them the trades, of the previous launch are gone.

Why: flutter_secure_storage 9.2.4 on macOS uses the data protection keychain by default. That needs a signing team and a keychain-access-groups entitlement. The release app has neither (Release.entitlements, CODE_SIGN_IDENTITY = "-").

Ways out, roughly:

  • sign and notarize the macOS build with a team, plus the entitlement;
  • or set MacOsOptions(useDataProtectionKeyChain: false), the file-based login keychain; it may work ad-hoc signed, I have not tried it;
  • or leave macOS out of the release until one of these lands.

A local flutter build macos --release of main (169e8205) does the same. The macOS zips have 4 downloads so far, all on v2.0.5 to v2.0.7.

Dominant language
Dart
Stars
11
Forks
9
Avg merge
22h 28m
Merged PRs (30d)
217

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MostroP2P/app

All issues in MostroP2P/app

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.