Application canisters
Upgrade Internet Identity Frontend Canister to 64ba16378
#144121 · Open · 4 d left · proposed Sep 25, 2026
Yes 93.9%0.6% of voting power has votedNo 6.1%
tally read NNS governance canister, list_proposals
Action
Install Code
Proposer neuron
78
Created
Voting ends
Sep 29, 2026 (in 4 d)
Summary
Frontend Canister Upgrade
This upgrade sets the stage for the upcoming app notifications feature.
Additionally, the UX is improved for some corner cases in the context of SSO access and some UI translations are updated.
What's Changed
_Since proposal-frontend-144027_
- chore(fe): update translations (de, es, fr, id, it, nl, pl, ru, uk, ur) (#4379)
- feat(fe): guide an SSO sign-in linked through another domain (#4376)
- chore(fe): update translations (de, es, fr, id, it, nl, pl, ru, uk, ur) (#4361)
- test(fe): an app asking whether it may notify a user (#4347)
- feat(fe): let an app ask for notification consent (#4343)
- feat(fe): the screens that ask a user to allow notifications (#4345)
- feat(fe): decide which notification screen a request should open (#4342)
- feat(fe): register this browser for Web Push (#4341)
Wasm Verification
To build the wasm modules yourself and verify their hashes, run the following commands from the root of the Internet Identity repository:
git pull # to ensure you have the latest changes.
git checkout 64ba163788085b0606fcaa0e106d8a15ab73338b
./scripts/verify-hash --iife-hash 44102fe83fae243b354e90ae212ee650a605c87182959c22fe9d90d3e2a8ab0d
Frontend Argument Verification
Run the following command to verify the frontend upgrade argument hash:
didc encode -d ./src/internet_identity_frontend/internet_identity_frontend.did -t '(InternetIdentityFrontendInit)' '(record {
backend_canister_id = principal "rdmx6-jaaaa-aaaaa-aaadq-cai";
backend_origin = "https://backend.id.ai";
related_origins = opt vec {
"https://id.ai";
"https://identity.ic0.app";
"https://identity.internetcomputer.org";
"https://identity.icp0.io";
"https://identity.icp.net";
};
analytics_config = opt opt variant {
Plausible = record {
domain = opt "identity.internetcomputer.org";
}
};
featured_dashboard_apps = opt vec {
"https://caffeine.ai";
"https://oisy.com";
"https://oc.app";
"https://multidex.ai";
"https://opencloud.org";
};
})' | xxd -r -p | sha256sum
The output should match the argument hash.
Official view: dashboard.internetcomputer.org/proposal/144121