Tom Brow
cd112de7b7
feat(ios): route notification taps to messages
...
Signed-off-by: Tom Brow <tomb@squareup.com >
2026-08-17 12:43:49 -07:00
npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6
99cb60bec0
feat(ios): add real App Attest client
...
Co-authored-by: Tom Brow <tomb@block.xyz >
Signed-off-by: Tom Brow <tomb@block.xyz >
2026-08-02 08:27:10 -07:00
npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp
32915c58d7
test(mobile/ios): exercise push notification resolver
...
Co-authored-by: Tom Brow <tomb@block.xyz >
Signed-off-by: Tom Brow <tomb@block.xyz >
2026-07-31 19:37:49 -07:00
npub1tquskdu6yc4h8l7xxtceculxw600grekeq0xg2ukqfrwl7vrzg3quz3gmp
9f5c895dda
test(mobile/ios): run Swift push tests in CI
...
Co-authored-by: Tom Brow <tomb@block.xyz >
Signed-off-by: Tom Brow <tomb@block.xyz >
2026-07-31 18:42:52 -07:00
npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6
0f069252a2
feat(mobile/ios): publish development push leases
...
Co-authored-by: npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6 <538324a65e0501285894932d5fb5df36e19a1bff8b4e822ed5701afc509e931d@buzz.block.builderlab.xyz >
Signed-off-by: npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6 <538324a65e0501285894932d5fb5df36e19a1bff8b4e822ed5701afc509e931d@buzz.block.builderlab.xyz >
2026-07-28 16:59:57 -07:00
npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6
7a3eae89a3
feat(mobile/ios): add development push enrollment
...
Co-authored-by: npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6 <538324a65e0501285894932d5fb5df36e19a1bff8b4e822ed5701afc509e931d@buzz.block.builderlab.xyz >
Signed-off-by: npub12wpjffj7q5qjsky5jvk4ldwlxmse5xll3d8gytk4wqd0c5y7jvwspg37n6 <538324a65e0501285894932d5fb5df36e19a1bff8b4e822ed5701afc509e931d@buzz.block.builderlab.xyz >
2026-07-28 14:28:40 -07:00
npub15uvq03jgm52chkxa5x7f2ud28xh9v48287f5fj5fsuu0wqpm63ns8hn2er
8912fdc5ac
fix(mobile/ios): harden push lifecycle failures
...
Co-authored-by: npub15uvq03jgm52chkxa5x7f2ud28xh9v48287f5fj5fsuu0wqpm63ns8hn2er <a71807c648dd158bd8dda1bc9571aa39ae5654ea3f9344ca898738f7003bd467@buzz.block.builderlab.xyz >
Signed-off-by: npub15uvq03jgm52chkxa5x7f2ud28xh9v48287f5fj5fsuu0wqpm63ns8hn2er <a71807c648dd158bd8dda1bc9571aa39ae5654ea3f9344ca898738f7003bd467@buzz.block.builderlab.xyz >
2026-07-24 11:30:41 -07:00
npub102wg7q285p64ch2fjvstmf2ntn2sz3c4u5hmwatalc76mhsuauysftjtfj
4c99a83075
fix(mobile/ios): secure push relay resolution
...
Co-authored-by: npub102wg7q285p64ch2fjvstmf2ntn2sz3c4u5hmwatalc76mhsuauysftjtfj <7a9c8f0147a0755c5d499320bda5535cd5014715e52fb7757dfe3dadde1cef09@buzz.block.builderlab.xyz >
Signed-off-by: npub102wg7q285p64ch2fjvstmf2ntn2sz3c4u5hmwatalc76mhsuauysftjtfj <7a9c8f0147a0755c5d499320bda5535cd5014715e52fb7757dfe3dadde1cef09@buzz.block.builderlab.xyz >
2026-07-23 17:41:34 -07:00
npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d
88be670406
feat(mobile/ios): Swift canonical NIP-PL App Attest transcript encoder
...
BuzzPushKit SwiftPM package with a hand-rolled ordered-compact-JSON
transcript encoder for all five App Attest domains (enroll / delegate /
rotate-endpoint / revoke-delegation / revoke-installation), verified
byte-for-byte + SHA-256 against the gateway-generated known-answer
vectors in crates/buzz-push-gateway/tests/vectors/app_attest_transcripts.json.
JSONSerialization is deliberately not used anywhere near these bytes:
it escapes '/' as '\/' and does not guarantee member order, either of
which silently strands every iOS client with 401 invalid_attestation.
Non-ASCII input fails closed per the NIP-PL ASCII profile.
The 'audience' member is a fixed NIP-PL protocol constant
(https://push.buzz.xyz/v1/ ...) hardcoded by the gateway for cross-route
domain separation — clients must never derive it from a discovered
gateway base URL or relay host.
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
2026-07-15 18:13:06 -04:00