Skip to content

Instantly share code, notes, and snippets.

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import argparse
import os
import subprocess
from enum import Enum
from mach.decorators import Command, CommandArgument, SubCommand
@bendk
bendk / changes.diff
Last active June 3, 2025 16:14
Diff from removing AsRef
diff --git a/docs/manual/src/internals/bindings_ir_pipeline.md b/docs/manual/src/internals/bindings_ir_pipeline.md
index ec5c5223a2..3e985e4a85 100644
--- a/docs/manual/src/internals/bindings_ir_pipeline.md
+++ b/docs/manual/src/internals/bindings_ir_pipeline.md
@@ -178,46 +178,6 @@
}
```
-## AsRef
-
diff --git a/examples/custom-types/Cargo.toml b/examples/custom-types/Cargo.toml
index 772d1bbcad..540e9f270b 100644
--- a/examples/custom-types/Cargo.toml
+++ b/examples/custom-types/Cargo.toml
@@ -12,6 +12,7 @@
[dependencies]
anyhow = "1"
bytes = "1.3"
+thiserror = "1"
uniffi = { workspace = true }
@bendk
bendk / data.json
Created May 10, 2024 14:31
Harry & David keywords example
{
"full_keywords": [...],
"iab_category": "22 - Shopping",
"id": 4608,
"impression_url": "https://imp.mt48.net/static?v=2&partner=firefoxmobilecla&sub1=harrydavid&sub2=us&adv-id=75041&custom-data=4608",
"keywords": [
"bak",
"bake",
"baker",
"baker ",
diff --git a/toolkit/components/uniffi-js/UniFFIPointer.cpp b/toolkit/components/uniffi-js/UniFFIPointer.cpp
index b77ef853957a7..edc6f69d90c28 100644
--- a/toolkit/components/uniffi-js/UniFFIPointer.cpp
+++ b/toolkit/components/uniffi-js/UniFFIPointer.cpp
@@ -81,6 +82,11 @@ void UniFFIPointer::Write(const ArrayBuffer& aArrayBuff, uint32_t aPosition,
// in Rust and Read(), a u64 is read as BigEndian and then converted to
// a pointer we do the reverse here
const auto& data_ptr = aData.Subspan(aPosition, 8);
+ // The hazard checker assumes all calls to a function pointer may result in a GC call and
+ // `ClonePtr` calls mType->clone. However, we know that mtype->clone won't make a GC call
diff --git a/components/suggest/src/db.rs b/components/suggest/src/db.rs
index b92942d8e..a237f6893 100644
--- a/components/suggest/src/db.rs
+++ b/components/suggest/src/db.rs
@@ -400,7 +400,7 @@ impl<'a> SuggestDao<'a> {
&self,
query: &SuggestionQuery,
provider: &SuggestionProvider,
- mapper: impl FnMut(&rusqlite::Row) -> Result<T>,
+ mut mapper: impl FnMut(&rusqlite::Row, &str, &str) -> Result<T>,
@bendk
bendk / output.txt
Created November 6, 2023 19:50
places-async log output
creating PlacesApi
write: inserting bookmark
sync: started
sync: Fetching incoming records...
write: inserting bookmark
write: inserting bookmark
write: inserting bookmark
write: inserting bookmark
write: inserting bookmark
write: inserting bookmark
@bendk
bendk / auth-signin.txt
Last active October 16, 2023 16:01
Fxa Logs
10-03 18:19:17.805 7160 7211 D fxa_client: uniffi_fxa_client_fn_constructor_firefoxaccount_from_json
10-03 18:19:17.808 7160 7211 D fxa_client: uniffi_fxa_client_fn_method_firefoxaccount_get_auth_state
10-03 18:19:17.809 7160 7215 D fxa_client: processChannel started: Disconnected(fromAuthIssues=true, connecting=false)
10-03 18:19:17.810 7160 7211 D fxa_client: uniffi_fxa_client_fn_method_firefoxaccount_get_auth_state
10-03 18:19:29.623 7160 7211 D fxa_client: Processing action: BeginOAuthFlow(scopes=[profile, https://identity.mozilla.com/apps/oldsync, https://identity.mozilla.com/tokens/session], entrypoint=settings-menu, result=CompletableDeferredImpl{Active}@990033)
10-03 18:19:29.629 7160 7211 D fxa_client: uniffi_fxa_client_fn_method_firefoxaccount_begin_oauth_flow
10-03 18:19:29.637 7160 7211 D fxa_client: uniffi_fxa_client_fn_method_firefoxaccount_to_json
10-03 18:19:29.645 7160 7211 D fxa_client: Changing state from Disconnected(fromAuthIssues=true, connecting=false) to Disconnected(fr

FxAccountConfig.swift

  • FxAConfig and Server: I think we can start using the Rust versions of these rather than the wrapped ones

FxAccountDeviceConstellation.swift

  • constellationStateUpdate: applications can use register_event_listener and listen for the FxaEvent::DeviceListChanged event instead.
bdk@fedora ~/Downloads ] > curl -L -v https://archive.mozilla.org/pub/app-services/releases/116.0/FocusRustComponents.xcframework.zip | sha256sum 08:57:19
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 34.117.35.28:443...
* Connected to archive.mozilla.org (34.117.35.28) port 443 (#0)
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* CAfile: /etc/pki/tls/certs/ca-bundle.crt