| error.rs |
|
3923 |
| lib.rs |
|
19009 |
| rs.rs |
Remote Settings integration for Firefox Relay
This module handles fetching allowlist and denylist data from Remote Settings
to determine which sites should show Relay email mask suggestions.
## Public Suffix List (PSL) Usage
Mobile clients should use PSL libraries to extract domains before calling this API:
- **URL**: `https://mail.google.com/inbox` (full URL)
- **Host**: `mail.google.com` (hostname from URL)
- **Domain**: `google.com` (registrable domain via PSL, also known as eTLD+1)
The PSL ensures proper domain matching:
- `mail.google.com` → domain `google.com` ✓
- `evil-google.com` → domain `evil-google.com` ✗ (won't match rules for google.com)
- `mysite.github.io` → domain `mysite.github.io` ✓ (github.io is in PSL)
## Caching Behavior
Remote Settings automatically caches collection data in SQLite:
- **First call**: Fetches from server and caches (network request)
- **Subsequent calls**: Reads from cache (fast, no network)
- **Updates**: Mobile apps should call `RemoteSettingsService.sync()` periodically
to refresh all collections, or individual clients will sync on first access
This makes the component self-sufficient - it will automatically fetch data when needed
and cache it for fast subsequent access. |
16999 |