These 52 commits are when the Protocol Buffers files have changed:
Commit: | 73427f7 | |
---|---|---|
Author: | Sammy Khamis | |
Committer: | GitHub |
Places uniffication (#4770) * initial conversion of errors for places uniffication * Converted history metadata functions for places uniffication * Converted kotlin history metadata functions * Converted iOS history metadata functions * [Places uniffication] Fix places error issues (#4687) * remove uniffi-specific wrapper and updated error test * Uniffi VisitObservation and apply_observation (#4689) * uniffied VisitObservation, HistoryVisitInfo and methods using those structs * Uniffi top frecent site info (#4711) * Uniffi top frecent site info * Uniffis FrecencyThresholdOption * Uniffi Places Sync (#4714) * uniffi places sync and sync15 functions * Uniffi Search result and match url (#4720) * Uniffi query autocomplete * uniffi places_accept_result * uniffi places_match_url * cargo fmt * cargo clippy * remove accept_result from ffi crate * Adds comment on the uniffi bug with varaint shadowing type * Uniffi Places Interrupt methods (#4726) * uniffi places interrupt functions * Consolidate types (#4736) * Updates the visit observation to use URL * Uses VisitTransition for HistoryVisitInfo * updates uniffi to 0.16 * Uniffied bookmarks * switch to use uint in the apis for adding bookmarks (#4747) * Remove the manual places FFI entirely. * folders and separators now have non-nullable parents * Always insert via Insertable items, and clarify separation between node types. * Add json_tree module with all json-based types and implementation. * Fix swift warnings re non-null parentGuid * bookmarks: Remove public_node and introduce a fetch module * Update swift code to make breaking changes fixes cleaner (#4766) * rebased and added changelog entry Co-authored-by: lougeniac64 <lougeniaC64@users.noreply.github.com> Co-authored-by: Tarik Eshaq <teshaq@mozilla.com> Co-authored-by: Mark Hammond <mhammond@skippinet.com.au>
The documentation is generated from this commit.
Commit: | cb49e3b | |
---|---|---|
Author: | Mathieu Leplatre | |
Committer: | GitHub |
Add support for PATCH in viaduct (#4751)
Commit: | c63dd82 | |
---|---|---|
Author: | Ben Dean-Kawamura | |
Committer: | Ben Dean-Kawamura |
UniFFI SyncManager - Replaced hand-written FFI code with UniFFI code - Updated error handling to just use thiserror. There's no need for error-support anymore. - Added an enum for the SyncParams.engine. This seems cleaner than having None mean sync all engines. - Replaced `SyncResult.results` with `SyncResult.successful` and `SyncSyncResult.failures`. Before this was handled in the Kotlin wrapaper code. - Made the megazord depend on tabs directly. Before it pulled in tabs because of a transitive dependency from sync_manager_ffi.
Commit: | 7a1533b | |
---|---|---|
Author: | Tarik Eshaq | |
Committer: | GitHub |
Uniffi push component (#4431) * Adds Push UDL * [push] Rust code compiles with scaffolding * [push] removes FFI crate * [push] removes protocol buffers * [push] cleans up android api after uniffication * Removes push from protobuf_files.toml * Adds changelog
Commit: | a447079 | |
---|---|---|
Author: | Grisha Kruglov | |
Committer: | GitHub |
Closes #4433: Allow observing previewImageUrl for visits (#4448) * Closes #4433: Allow observing previewImageUrl for visits We already have this field in moz_places; this PR adds just enough piping to allow observing preview image urls and reading them back via VisitInfo and HistoryMetadata APIs.
Commit: | 212b6fc | |
---|---|---|
Author: | Mark Hammond | |
Committer: | GitHub |
Replace places history_metadata's protobuf implementations with uniffi. (#4183) This is intended to be a small but significant step on the road to uniffi-ing places. It takes all the hard stuff from Ryan's #3900, but limits the scope to just the new-ish history_metadata module. Co-authored-by: Ryan Kelly <ryan@rfk.id.au> Co-authored-by: Sammy Khamis <skhamis@mozilla.com>
Commit: | d0b7b74 | |
---|---|---|
Author: | Sammy Khamis | |
Committer: | GitHub |
Uniffi-ing the Tabs component (#4192) * uniffi-ed the tabs component Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
Commit: | b43d904 | |
---|---|---|
Author: | Sammy Khamis | |
Committer: | GitHub |
Uniffi-ing the Logins component (#4068) * converting logins to using uniffi * nits and review changes * update changelog to put breaking changes on top
Commit: | 0103480 | |
---|---|---|
Author: | Grisha Kruglov | |
Committer: | Grisha Kruglov |
Observation API for History Metadata Storage Switch from a crud-like API to an observation-like API for history metadata, similar to what we have in places. TitleObservation present in iOS bindings is temporary, necessary because Firefox iOS doesn't currently use places history which provides an API for noting page titles.
Commit: | 02ab3c9 | |
---|---|---|
Author: | Grisha Kruglov | |
Committer: | GitHub |
Introduce History Metadata storage & API for Android (#4048)
Commit: | 20f940e | |
---|---|---|
Author: | Mark Hammond | |
Committer: | GitHub |
Allow the sync manager to accept local encryption keys to pass to engines (#3995)
Commit: | d77600e | |
---|---|---|
Author: | Ryan Kelly | |
Committer: | GitHub |
Restructure, UniFFI, and document the fxa-client crate. (#3876) This is a substantial refactor of the fxa-client crate, intended to bring it up to speed with our latest best-practices around developing cross-platform Rust components, in order to ease ongoing maintenance. THe core change here is that I've deleted the hand-written Kotlin and Swift bindings, replacing them with autogenerated bindings thanks to UniFFI. There is still a little bit of hand-written Kotlin, since we have a layer that automatically manages persistence via a callback. There is still a nontrivial amount of hand-written Swift, since we have a higher-level state machine built atop the lower-level fxa-client functionality (such state-machine also exists for Kotlin, but lives in the android-components repo). If UniFFI works out then we should look into moving more of that logic into shared Rust code over time. To support the introduction of UniFFI, I have restructured to Rust crate so that its public interface deliberately parallels the interface offered to Kotlin and Swift, and have moved the implementation details into a submodule named `internal`. It's my opinionated belief that structuring the crate this way will help us focus on producing a nice consumer API, which is not always the same thing as producing a nice Rust crate. On top of that, I've also revamped the documentation in the crate, leaning in to the use of `cargo doc` as the source of truth for both developer- and consumer-facing documentation. Let's consider that an experiment and see how we like it in practice. Unfortunately, this is a big PR, but I don't think I could have made it too much smaller. Hopefully it will be easier to review than its size suggests since it's mostly additions and deletions rather than complex changes.
Commit: | d75b2ba | |
---|---|---|
Author: | Tarik Eshaq | |
Committer: | Tarik Eshaq |
Adds optional metrics params
Commit: | 707b2c0 | |
---|---|---|
Author: | Tarik Eshaq | |
Committer: | Tarik Eshaq |
Adds using protobufs to pass arguments
Commit: | 592ca28 | |
---|---|---|
Author: | Gabriel Luong | |
Committer: | Gabriel Luong |
Add an API to get the top frecent sites
Commit: | 014c491 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Remove cookies support from Viaduct
Commit: | 716d134 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
optimize_for LITE_RUNTIME
Commit: | 9ec08bb | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Use swift_prefix for Swift
Commit: | 3407ac1 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Replace msg_types package names
Commit: | beb3f2f | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Only deserialize the `active` field in oauth/introspect response
Commit: | da5adc9 | |
---|---|---|
Author: | Jonathan Almeida | |
Committer: | Jonathan Almeida |
Rename push SubscriptionChange MsgTypes For issue #2049.
Commit: | 94b2d15 | |
---|---|---|
Author: | Jonathan Almeida | |
Committer: | Jonathan Almeida |
Update verify_connection to return updated subscriptions Closes #2049 Co-authored-by: Edouard Oger <eoger@fastmail.com>
Commit: | ca7ec74 | |
---|---|---|
Author: | YLyu |
De-jsonificate logins crate
Commit: | f15e676 | |
---|---|---|
Author: | Edouard Oger |
Add deviceId to AccountEvent.deviceDisconnected
Commit: | 1e9971a | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Handle all possible FxA push payloads
Commit: | bf5797d | |
---|---|---|
Author: | YLyu |
Expose SearchResult as Protobuf through FFI
Commit: | dc09610 | |
---|---|---|
Author: | Ryan Kelly | |
Committer: | GitHub |
Merge pull request #2165 from lyuyuan/issue-1019; r=rfk Faster visit paging with bound and offset
Commit: | 1a1055a | |
---|---|---|
Author: | Christina Cheung | |
Committer: | Edouard Oger |
Add FirefoxAccount.checkAuthorizationStatus() Co-authored-by: Edouard Oger <eoger@fastmail.com>
Commit: | 8dc9605 | |
---|---|---|
Author: | YLyu | |
Committer: | YLyu |
Faster visit paging with bound and offset
Commit: | f12f43c | |
---|---|---|
Author: | JR Conlin | |
Committer: | GitHub |
feat: return endpoint and appServerKey in dispatch_info_for_chid() (#2080) * feat: return endpoint and appServerKey in dispatch_info_for_chid() * move mostly unused appServerKey from PushConfig to an optional string in `subscribe()` (easier for customer to use) * removed unused `regenerate_endpoints()` function. * add hack to drop "empty" application keys Closes #2047
Commit: | 27643d4 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Remote Tabs FFI
Commit: | ed82a41 | |
---|---|---|
Author: | Lina Cambridge | |
Committer: | Lina Cambridge |
Expand the list of client types.
Commit: | 4d4f254 | |
---|---|---|
Author: | Lina Cambridge | |
Committer: | Lina Cambridge |
Implement a clients engine in the sync manager. The clients engine handles commands for sync engines, like wiping local data and resetting Sync metadata. These are sent in a client record's `commands` list, and acked by removing the command from the list. Our implementation is based on Desktop's, but works a little differently: * Instead of holding commands in memory, ours pulls outgoing commands directly from logins and Places. This follows the approach of bookmark restore on Desktop, which writes a flag into Places to send a `wipeEngine` command on the next sync. * Our engine relies on the embedding app to supply it with info about the current client. Thanks to these two changes, our engine doesn't need to store any state itself. This means it can be used as a short-lived object that's dropped after it syncs, like our other syncable stores, and not a long-lived singleton as on Desktop.
Commit: | 9f6fced | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | Thom Chiovoloni |
Initial implementation of the Kotlin Sync Manager API
Commit: | f1e74ba | |
---|---|---|
Author: | Lina Cambridge | |
Committer: | Lina Cambridge |
Exclude hidden URLs from syncing and views. Hidden URLs are useful for storing redirect chains, and may be useful for manual searching or awesomebar matches. However, the history record format doesn't currently include the referrer or hidden state, so we exclude them entirely to match Desktop, and to avoid cluttering other devices with redirect sources. We also filter them out in visit queries, so that Fenix doesn't have to make changes for mozilla-mobile/fenix#3526. In a future release, we can either return them and have Fenix filter them out in some views, or add a flag to include or exclude them. See #1492.
Commit: | 08217ed | |
---|---|---|
Author: | YLyu |
Use protobufs instead of JSON in push component
Commit: | d5fdafa | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Add VR and TV device types
Commit: | 9ca7475 | |
---|---|---|
Author: | Thom Chiovoloni |
Simplify viaduct error reporting, and add logging for error cases
Commit: | 0ae23eb | |
---|---|---|
Author: | Lina Cambridge | |
Committer: | Lina Cambridge |
Use JSON, not protobufs for pings. This commit reverts the protobuf schema, in favor of passing the serialized ping directly. On iOS, we can pass this ping directly through to the existing ping sender. On Android, we'll need to unpack the ping into a Kotlin structure, and pass that to Fenix via Android Components. Fenix can then assemble a Glean ping from the Kotlin `SyncTelemetryPing`.
Commit: | 7eddefe | |
---|---|---|
Author: | Lina Cambridge | |
Committer: | Lina Cambridge |
Add a protobuf representation for telemetry pings.
Commit: | 57823e5 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Send Tab implementation
Commit: | 935c169 | |
---|---|---|
Author: | Thom Chiovoloni |
Handle illegal header values, use `bytes` for transfer over the FFI to avoid encoding issues and copies
Commit: | bd049f4 | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | Thom Chiovoloni |
Rename support_fetch to viaduct
Commit: | 114f709 | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | Thom Chiovoloni |
Add protobufs to support_fetch
Commit: | 03a6cb4 | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | Thom Chiovoloni |
Write the rust side of an FFI for support_fetch
Commit: | 56a6764 | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | GitHub |
Bookmark APIs for iOS and Kotlin and implement them using the FFI (#743) * Define conversions to/from protobuf types * Define bookmark message types * Add method of getting 'shallow' tree info * Properly provide parent/position for items * Add the rust side of the Bookmarks FFI * Kotlin bookmarks FFI * Copy xcode project over from logins to start places ios ffi * places ios: C bindings for places * protobuf setup for places ios (and docs) * Fix some things that were annoying me about BookmarkRootGuid, and move it to it's own file * Add a bookmarks FFI function to return all bookmarks with the requested URL * Clean up leftover logins stuff in places ios * Implement swift bookmarks API * Fix bad comment and missing null check in kotlin bookmarks * Try and add places to the iOS megazord (hit issue with msg_types name collision) * Rename msg_types to be unique, finish integration with iOS megazord * Finish documenting how to pass protobuf data back and forth for swift * Comment tweak and change canEdit -> isRoot * Small tweaks to the swift API (some renaming, change class => struct, etc) * Don't require type in update (since it can't be changed), and handle errors better * Undo struct -> class change since it subtly broke things * Respond to feedback from justin * Allow requesting a only the first level of folder children * connUseAfterApiClosed -> connUseAfterAPIClosed * WIP iOS tests * Make iOS tests build * Improve path handling for iOS * Fix megazord test setup and document the weird testing steps that were needed * Fix failing iOS tests * Move protobuf-returning functions into their own file * Add searchBookmarks function * Use a sealed class and data classes in the kotlin API * Require that callers of getBookmarksTree pass in the root and whether or not to fetch recursively, rather than using the most expensive possible default * rename deleteBookmark => deleteBookmarkNode * Use InterruptScope in the reader bookmark methods * Fix rebase issue * Allow interrupt() on iOS * Use changes from #788 to make places xcode project build much faster * Change `extern` to `public`, use fewer protobuf types in the rust because they make testing it painful * More tests of new rust code * Expose relevant errors over the FFI, and document them (also, fix the kotlin doc formatting) * fix 'its' being wrong basically everywhere * Fix many doc typos * Use FfiStr in bookmarks * Fix doc nit * Make missing titles come through as '' for better API consistency * Tests for the rest of the new rust functions * Clarify doc nit * Changelog entry for bookmark ffi * Expose runMaintenance to Swift * Handle NoItem => NoSuchGuid * Rename places::storage::bookmarks::public to places::storage::bookmarks::public_node * Lina's review feedback
Commit: | 6a82a80 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Move everything under org.mozilla.appservices
Commit: | 8993732 | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Return AccessTokenInfo using protobufs
Commit: | 38c6a1d | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Move package to mozilla.appservices.fxaclient
Commit: | 8366b8a | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | Thom |
Pre: rename ffi_types to msg_types
Commit: | 940a3bb | |
---|---|---|
Author: | Thom Chiovoloni | |
Committer: | Thom |
Finish up using protobufs in places, and document everything
Commit: | 365390d | |
---|---|---|
Author: | Edouard Oger | |
Committer: | Edouard Oger |
Use protobuf for fxa_profile return value