Skip to content
CAI
Software that uses CAICheck a score

wuba/Fair

47.6

Weak · 23 September 2026

162.1k

lines of production code

Dart

with JavaScript

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a cross-platform framework that enables dynamic, hot-updatable UIs by compiling Dart code into a JSON-based DSL and JavaScript runtime. It provides a compiler to generate bundle assets and a runtime engine that bridges Flutter with native Android and iOS platforms via JavaScript execution. The framework supports state management, plugin integration, and compatibility with multiple Flutter SDK versions.

How it got here

2021 — Cross-platform runtime and DSL infrastructure

66 changes.

The project established a cross-platform runtime by implementing synchronous JavaScript execution via V8 on Android and JavaScriptCore on iOS, supported by a new message channel system. Concurrently, the team developed a Dart-to-Domain-Specific-Language (DSL) compiler and generated widget bindings for multiple Flutter versions to enable dynamic UI rendering.

2022 — Flutter version compatibility and test expansion

32 changes.

This period focused on expanding the framework's compatibility with newer Flutter SDK versions (2.8.0 through 3.13.x) and adding corresponding compatibility layers. Simultaneously, the project significantly expanded its test suite by introducing numerous new demo applications and templates, covering state management patterns, UI components, and native platform configurations for Android and iOS.

2023 — Fair framework extension and state management

8 changes.

This period focused on expanding the Fair framework's capabilities by introducing the fair\_extension plugin for common platform features and the fair\_provider package for state management. Additionally, the project maintained compatibility with newer Flutter versions (3.7.0, 3.10.0, and 3.13.0) by updating version mappings and widget definitions.

Features

Add Android app scaffolding for the fair\_provider test case

The Android side of the fair\_provider test case is now fully configured with the standard Flutter V2 embedding structure. This includes the main AndroidManifest.xml defining the FlutterActivity and required meta-data, the corresponding debug and profile manifests with internet permissions, Kotlin MainActivity classes extending FlutterActivity, and the necessary XML resources for the splash screen and launch/normal themes. This provides the complete Android runtime environment required to run the Flutter UI within the test case.

_test\_case/fair\provider/android · high confidence

Add Android-side FFI bridge and callback interfaces for synchronous JavaScript invocation

The Android module now includes new callback interfaces (JsResultCallback, JsVoidCallback) and a FairFfi class that loads the native 'fairflutter' library and exposes a synchronous JavaScript invocation method (invokeJSCommonFuncSync). This method runs the JS call on a background thread and waits for the result, providing a synchronous bridge for Dart FFI calls. The change also adds a LibraryLoader utility to handle native library loading.

fair/android/src/main/java/com/wuba/fair/channel · high confidence

Add Fair 2.5.0 version support

The Fair library now supports Flutter 2.5.0, including updated widget mapping and an auto-import script to fix import paths for generated Dart files.

_flutter\_version/flutter\_2\_5\0 · high confidence

Add Fair extension Android plugin and example app

The Fair extension now includes an Android implementation, exposing a \FairExtensionPlugin\ that registers a \MethodChannel\ named 'fair\_extension' to handle calls like 'getPlatformVersion'. The change also introduces a complete example application demonstrating the extension's capabilities, including navigation, logging, network requests, image picking, toast notifications, and URL launching. Android-specific configurations, such as storage and internet permissions, are added to the example app's manifest, and the example app's Android project structure (including styles and launch backgrounds) is established to support the Flutter integration.

_fair\_extension/android, fair\_extension/example, fair\extension/example/android · high confidence

Add Fair package files for Flutter 2.0.6

The Fair package for Flutter 2.0.6 is now available, including the necessary build artifacts, license, and changelog. The update adds support for the LinearGradient mapping and updates the autoImport script to fix the import of $$p.dart, while removing the previous fix for $$c.dart.

_flutter\_version/flutter\_2\_0\6 · high confidence

Add Fair plugin examples for network, permissions, and photo selection

Added three new JavaScript plugin implementations in the example assets: fair\_net\_plugin.js for handling network requests, sample\_fair\_permission.js for managing system permissions, and sample\_fair\_photo\_selector.js for selecting photos. These files provide concrete examples of how to implement custom plugins that interact with the Dart/Flutter side via the common channel, demonstrating the new third-party plugin custom protocol.

fair/example/assets/plugin · high confidence

Add Fair template detail page and native platform configurations

Introduces a new Fair template detail page, including the Dart implementation (fair\_detail.dart, fair\_detail\_page.dart, main.dart) and the corresponding Android (AndroidManifest.xml, MainActivity.kt, styles.xml) and iOS (AppDelegate.swift, Info.plist, storyboards) native configurations. The change also adds the necessary asset bundles (lib\_fair\_detail.fair.js, lib\_fair\_detail.fair.json) and supporting configuration files (.gitignore, analysis\_options.yaml) to support the Fair framework's hot-reload and data-binding capabilities.

_test\_case/fair\_template\detail · high confidence

Add Fair template samples and UI components

Added a new set of template files for the Fair cloud development platform, including a main entry point (main.dart) that initializes the app and registers various page templates (such as AppBar, Drawer, FAB, GridView, and ListView templates) and component templates (such as HotelListViewItem and ListCard). The update also includes supporting files like fair\_common.dart, fair\_preview.dart, and config.json files that describe the purpose of each sample, providing users with ready-to-use code examples for common UI patterns and network requests.

_fair\_online/fair\_online\_service/fairDir/template/project/fair\samples · high confidence

Add FairNet plugin and dynamic list demo for network requests

The example app now includes a new \FairNet\ plugin that wraps the \dio\ library to handle HTTP requests (GET/POST) with callbacks for success, failure, and completion states. This plugin is demonstrated in \sampe\_list\_view.dart\ (renamed from \sample\_dynamic\_page.dart\), which fetches data from WanAndroid and renders it in a \ListView\ using \FairWidget\ for each item. The change also updates the demo page to load a different Fair bundle (\hello\_world.fair.bin\ instead of \dynamic\_widget.fair.json\).

fair/example/lib/src/page/plugins/net · high confidence

Add FairNet plugin for network requests

A new \FairNet\ plugin class has been added to both the empty project template and the fair\_samples template. This plugin provides a singleton implementation for handling HTTP GET and POST requests using the \dio\ library, supporting callbacks for success, failure, and completion states for both Dart and JS environments.

_fair\_online/fair\_online\_service/fairDir/empty/project/empty\_project/lib/plugins/net, fair\_online/fair\_online\_service/fairDir/template/project/fair\samples/lib/plugins/net · medium confidence

Add Flutter 3.13.0 compatibility layer

The \flutter\_version/flutter\_3\_13\_0\ directory now contains a complete set of generated widget mappings and supporting files (including \fair\version.dart\, \all.dart\, and various \$$\.dart\ files) that enable the \fair\ library to function with Flutter SDK versions 3.13.0 through 3.13.9. This update provides the necessary widget mappings for the 3.13.x series, as documented in the new \CHANGELOG.md\ and \README.md\ files which explicitly recommend using \fair\_version\ 3.13.0 for these SDK versions.

_flutter\_version/flutter\_3\_13\0 · high confidence

Add V8 JavaScript engine integration for Android

Added the core V8 engine classes to the Android build, including the V8 runtime, NodeJS support, and platform detection logic. This enables executing JavaScript code within the Android application using the V8 engine, with specific loaders for native libraries and callbacks for Java-JavaScript interop.

fair/android/src/main/v8 · high confidence

Add best\_flutter\_ui\_templates test case with Fair framework integration

A new test case directory for Flutter UI templates has been added, containing a complete set of UI components and pages (including home, design course, hotel, and drawer layouts) that utilize the Fair framework for state management and data binding. The implementation includes theme definitions, reusable widgets, and navigation logic, providing a structured environment for testing UI templates.

_test\_case/best\_flutter\_ui\templates · high confidence

Add core type implementations and tests for Dart2Dsl JavaScript runtime

The dart2dsl/lib/dartjs/core-types directory now includes JavaScript implementations for Dart core types, including Duration, DateTime, Iterable, List, Map, Number, RegExp, Set, and BigInt, along with corresponding test files. This adds support for time handling (Duration, DateTime), collection types (List, Map, Set, Iterable), and primitive types (Number, RegExp) in the generated JavaScript output. The commit also removes the previous custom BigInt implementation due to compatibility issues, replacing it with a new BigInt implementation that uses the native BigInt object where available. A shell script (combine.sh) and a core.js file are added to bundle these core type files into a single output.

dart2dsl/lib/dartjs · high confidence

Add data models for list and loupan examples

Added new data model classes (DemoList, DemoItem, LouPanDetail, GoodsDesc) in the example app's model layer to support list and loupan UI components. These models handle JSON serialization/deserialization for example data structures, enabling the example app to parse and display list-based and loupan-specific content.

fair/example/lib/src/model · high confidence

Add dynamic list cell demo with mixed native and Fair widgets

Added a new example page, sample\_list\_with\_dynamic\_cell\_page.dart, which demonstrates a list that mixes native Flutter widgets with dynamic Fair widgets. The implementation uses a conditional check in the list builder to render either a standard native cell or a FairWidget for items marked as 'fair' type, showcasing how to integrate dynamic UI components within a standard Flutter ListView.

fair/example/lib/src/page/list/cells · high confidence

Add dynamic logic page demo

A new example page, sample\_logic\_page.dart, is added to the fair/example project. It demonstrates a dynamic logic page with a title, an image, a counter, and a floating action button that increments the counter. This serves as a demo for dynamic logic capabilities.

fair/example/lib/src/page/logic-page · high confidence

Add example pages for Sugar DSL syntax features

The example app now includes new pages demonstrating the Sugar DSL syntax features: ifEqual, ifEqualBool, ifRange, map, and mapEach. These pages serve as interactive examples of how to use these specific sugar functions within the Fair framework.

fair/example/lib/src/page/sugars · high confidence

Add fair\_extension plugin with common capability plugins

The fair\_extension plugin is introduced to provide built-in support for common business logic and platform capabilities, including logging, toast notifications, network requests, permission handling, image picking, URL launching, and page navigation. Developers can integrate these features by adding the fair\_extension dependency and initializing the plugins during the Fair setup, enabling dynamic updates for these functionalities without requiring app releases.

_fair\extension · high confidence

Add fair\_list\_demo test case for pull-to-refresh and infinite scroll

A new test case named fair\_list\_demo has been added to the test\_case directory. This demo showcases a Flutter-based list view that supports pull-to-refresh and infinite scrolling (load more on scroll). The implementation includes a Dart widget (JRList) and a corresponding proxy (ListDelegate) that binds the UI state and actions (refresh, load more) to a JSON-based layout definition (lib\_JRList.fair.json). The project also includes standard Flutter/iOS/Android configuration files to support building and running the demo.

_test\_case/fair\_list\demo · high confidence

Add fair\_provider SDK for state management in Fair applications

The fair\_provider package (version 0.0.1) is introduced to provide state management capabilities for Fair applications, adapting the popular \provider\ library's core components (ChangeNotifierProvider, Consumer, Selector, ChangeNotifier) into Fair-compatible equivalents (FairChangeNotifierProvider, FairConsumer, FairSelector, FairChangeNotifier). This allows developers to manage state in Fair pages using a familiar \provider\-like API, including support for JSON-based initial data, automatic notification of state changes, and helper methods for reading and updating state within the Fair layout system.

_fair\provider · high confidence

Add list load-more example page

Added a new example page for the list component that demonstrates infinite scrolling and pull-to-refresh functionality. The page implements a scroll listener to trigger loading more items when the user reaches the bottom of the list, and includes a refresh mechanism to update the list header.

fair/example/lib/src/page/list/load-more · high confidence

Add list proxy with infinite scroll and refresh support

A new ListDelegate proxy is introduced in the example app to handle list rendering and scrolling behavior. It manages a ScrollController to detect when the user reaches the bottom of the list, triggering a 'load more' action, and provides a refresh mechanism. The proxy binds specific functions for item building, refreshing, and loading more data, enabling the example to demonstrate dynamic list interactions.

fair/example/lib/src/proxy · high confidence

Add network image loading examples to the Fair framework

Added three new example pages in the \fair/example/lib/src/page/plugins/net/pic\ directory to demonstrate image loading capabilities. \net\_demo\_pic.dart\ shows how to fetch and display an image from a remote URL using the \FairNet\ plugin. \net\_demo\_pic2.dart\ provides a static example of displaying a remote image alongside descriptive text. \net\_demo\_pic\_fair.dart\ demonstrates loading and refreshing a Fair JSON bundle to render a page containing an image. These additions serve as practical references for integrating network-based image loading into Fair applications.

fair/example/lib/src/page/plugins/net/pic · high confidence

Add new example pages for dynamic logic, list rendering, and plugins

The example application now includes several new demo pages in the \fair/example/assets/bundle\ directory, demonstrating dynamic logic and UI components. These include a stateful cell list with image and text details, a load-more list with pull-to-refresh functionality, a simple logic page with a counter, a page for fetching and displaying images from a network API, a permission and photo-selection demo, and conditional rendering examples using \ifEqual\ and \ifEqualBool\ sugar components. These files provide concrete implementations of the framework's capabilities for handling state, lists, and external plugins.

fair/example/assets/bundle · high confidence

Add permission and image/camera demo pages

Added new files implementing a permission request plugin and demo pages for image selection and camera capture. The \fair\_permission\_plugin.dart\ file introduces a \WBPermission\ plugin that handles permission requests for photos, phone, and audio, integrating with the \permission\_handler\ package. The \sample\_permission\_demo\_page.dart\ and \sample\_permission\_page.dart\ files provide UI components for demonstrating these capabilities, including buttons to request camera permissions and select images from the album or take photos.

fair/example/lib/src/page/plugins/permission · high confidence

Add sample plugin page for network and camera permissions

A new sample plugin page has been added to the example app, providing a user interface for demonstrating network functionality and camera/permission capabilities. The page includes navigation to a network demo and a permission demo, allowing users to test these specific plugin features within the example application.

fair/example/lib/src/page/plugins · medium confidence

Add support for Flutter 3.3.0

This update introduces compatibility with Flutter SDK version 3.3.0. The \fair\_version\ package now includes generated widget mappings and utility files tailored for this specific Flutter release, ensuring that the \fair\ framework can correctly interpret and render UI components built with Flutter 3.3.0. Users targeting this SDK version should use \fair\_version\ 3.3.0 to maintain compatibility.

_flutter\_version/flutter\_3\_3\0 · high confidence

Added Android configuration files for test case apps

Added Android manifest, activity, and resource files for the test case applications (fair\_list\_demo, fair\_mobx, flutter\_component, and flutter\_slidable). These files configure the Android app structure, including the main activity, internet permissions, and splash screen themes, enabling the test cases to run on Android devices.

(repo-wide) · high confidence

Added Android logging utilities for Fair

A new logging subsystem was introduced to the Android side of Fair. This includes a \FairLogger\ class that wraps Flutter's \Log\ utility and respects a debug-mode flag, as well as a \Console\ class exposing \log\, \error\, and \warn\ methods via \@JavascriptInterface\ for JavaScript-to-Android communication.

fair/android/src/main/java/com/wuba/fair/logger · high confidence

Added Android project scaffolding for new and template projects

The Android configuration files for the main application, the empty project template, and the fair\_samples template have been added. This includes the AndroidManifest.xml files defining the application package, activity configurations, and internet permissions, alongside the MainActivity Kotlin classes and resource files for the launch splash screen and themes. These changes establish the standard Flutter Android project structure required to build and run the application on Android devices.

_fair\_online/fair\_online/android, fair\_online/fair\_online\_service/fairDir/empty/project/empty\_project/android, fair\_online/fair\_online\_service/fairDir/template/project/fair\samples/android · high confidence

Added Dart core library implementations for dart2js

The dart2js/core-types directory now includes JavaScript implementations for several Dart core types, including Duration, DateTime, Iterable, List, Map, Number, RegExp, Set, and String, along with their corresponding test files. These additions provide the underlying runtime support for these types in the dart2js environment, enabling features such as duration arithmetic, date manipulation, collection operations, and regular expression matching for compiled Dart code.

dart2js/core-types · high confidence

Added Fair example app with state management demos

The fair\_provider/example directory now contains a complete Flutter application demonstrating the Fair framework's state management capabilities. The example includes a plugin implementation (fair\_provider\_plugin.js) that manages change notifiers and bridges to Flutter via a common channel. It also provides several UI examples: a counter page showing basic state updates, an example page demonstrating various data types (strings, integers, doubles, booleans, lists, and nested models), and a two-page navigation demo where state is shared across pages. The project includes all necessary configuration files for Android and iOS platforms, along with the generated .fair.json and .fair.js assets that define the UI structure and logic.

_fair\provider/example · high confidence

Added Fair example project with UI templates and usage documentation

The example directory now contains a complete Flutter application demonstrating the Fair framework's capabilities. This includes standard demo implementations for using the Fair plugin, Fair delegate, and @props annotations, alongside generated Fair assets (JSON, JS, and metadata) for UI components like home lists, hotel list views, feedback screens, help screens, and invite friend screens. The project also includes necessary configuration files (Android manifests, styles, gitignore) and Markdown documentation explaining how to use these features.

example · high confidence

Added Fair-generated UI components for the test case project

The test\_case/best\_flutter\_ui\_templates/assets/bundle directory now includes a new set of Fair-generated JSON and JavaScript files that define UI components for the test case project. These include lib\_component\_composer\_widget, lib\_component\_home\_list, lib\_component\_hotel\_listview\_content, lib\_fair\_component\_grid\_gridview\_template, lib\_fair\_component\_meals\_list\_meals\_list\_view, lib\_fair\_component\_my\_diary\_body\_measurement, lib\_fair\_component\_my\_diary\_glass\_view, lib\_fair\_component\_my\_diary\_mediterranean\_diet, and lib\_fair\_component\_my\_diary\_water. These files represent the UI structure and logic for various interface elements such as home lists, hotel listings, grid views, meal lists, and diary tracking components.

_test\_case/best\_flutter\_ui\templates/assets · high confidence

Added Flutter 1.22.6 widget mapping and supporting files

The flutter\_version/flutter\_1\_22\_6 directory now contains the complete set of files required for the Fair framework's support of Flutter 1.22.6. This includes the primary widget mapping files (such as $$a.dart, $$c.dart, $$m.dart, $$p.dart, and $$r.dart) which map Flutter's internal widget constructors to the Fair framework's JSON-based configuration system. The entry point lib/fair\_version.dart and its associated utility and versioning files (version.dart, module.dart, utils.dart) have been added to expose these mappings. Additionally, standard project configuration files (.gitignore, .metadata, analysis\_options.yaml) and documentation (README.md, CHANGELOG.md, LICENSE) have been included to support the package's distribution and development.

_flutter\_version/flutter\_1\_22\6 · high confidence

Added Flutter 2.0.6 widget bindings for UI components

The \flutter\_version/flutter\_2\_0\_6/lib/src/widgets\ directory now contains generated bindings for 342 widgets and 208 API methods, covering layout, animation, and interaction components such as \Hero\, \AnimatedSize\, \Focus\, and \Autocomplete\. This update provides the necessary mappings for these UI elements to function within the Fair framework, supporting the transition to Flutter 2.0.6.

_flutter\_version/flutter\_2\_0\6/lib/src/widgets · high confidence

Added Flutter 3.0 widget and utility mappings

The library now includes generated mapping files for Flutter 3.0, providing support for a wide range of widgets including Cupertino components, Material widgets (such as InkWell, ElevatedButton, and CalendarDatePicker), layout widgets (like Stack, Row, and Column), and utility classes (such as BoxShadow, LinearGradient, and EdgeInsets). This update enables the framework to correctly interpret and render these specific Flutter 3.0 widget properties and behaviors.

_flutter\_version/flutter\_3\_0\0/lib/src · high confidence

Added Flutter Slidable test case with Fair integration

A new test case for the Flutter Slidable library has been added to the test\_case directory. This includes the core Dart implementation (home\_page.dart, delegate.dart, module.dart) that integrates with the Fair framework, along with the corresponding JSON asset bundle (lib\_home\_page.fair.json) and generated code (generated.fair.dart) that maps Slidable components to the Fair runtime. The entry also includes the standard Flutter project scaffolding for iOS, Android, and Web platforms to support the test case.

_test\_case/flutter\slidable · high confidence

Added Flutter test case app with Android and JS plugin infrastructure

The test\_case/flutter\_libs\_app directory now contains a complete Flutter application structure, including Android configuration files (AndroidManifest.xml, styles, MainActivity), a .gitignore, and a .metadata file. Additionally, the app includes a bundle of JavaScript files for Fair plugins (fair\_jsbase, fair\_net\_plugin, fair\_plugins, sample\_fair\_permission, sample\_fair\_photo\_selector) and JSON definitions for various widgets (ConvexBottomBar, GoogleFonts, PackageInfo, SignInWithApple, UrlLauncher), enabling the testing of these specific Flutter libraries.

_test\_case/flutter\_libs\app · high confidence

Added Flutter test case for slidable widget and bottom navigation bar

Added a new test case in the test\_case/flutter\_component directory that includes a Flutter application setup with a slidable widget, bottom navigation bar, and associated modules. The test case includes all necessary configuration files, iOS/Android project files, and Dart code for a home page with a counter, slidable actions, and bottom navigation items.

_test\_case/flutter\component · high confidence

Added Sugar TabBar demo with custom scroll view and list builder

A new Flutter example project, sugar\_demo\_tabbar, has been added to demonstrate a TabBar implementation using Fair widgets. The demo features a main menu that navigates to a tabbed interface with three tabs (All, Active, Inactive). The first tab displays a CustomScrollView with SliverList items, while the second tab uses a ListView.builder. The project includes all necessary platform configurations for Android and iOS, along with the core Dart logic and Fair bundle assets.

_test\_case/sugar\_demo\tabbar · high confidence

Added a Flutter-based counter application using the BLoC/Cubit pattern

A new test case application named 'fair\_bloc' has been added, providing a complete Flutter example that implements a counter feature using the Cubit state management pattern. The project includes the necessary iOS and Android platform configurations, a build runner script, and the Dart source code for the counter view and logic, enabling users to test the Fair framework's integration with Flutter's BLoC architecture.

_test\_case/fair\bloc · high confidence

Added default Flutter project templates for iOS and Android

The service now includes a complete, empty Flutter project template (located under fairDir/empty/project) that can be used to generate new projects. This addition includes the full iOS and Android native project structures, including Xcode project files, Gradle configurations, and platform-specific assets, alongside the corresponding Dart and JavaScript template files for the Fair framework.

_fair\_online/fair\_online\service · high confidence

Added dynamic list and load-more demo pages

A new demo page for the Fair example app has been added, providing a navigation hub for list-related features. Users can now access a 'Dynamic List' page and a 'LoadMore & PullRefresh' page, allowing them to test list rendering and infinite scroll behaviors within the Fair framework.

fair/example/lib/src/page/list · medium confidence

Added fair\_mobx test case with MobX state management and Flutter integration

Added a new test case for fair\_mobx, introducing a Flutter application that integrates MobX for state management. The change includes Dart source files (counter, widgets, main) that demonstrate a counter app using MobX stores and observers, alongside the corresponding generated code. It also adds iOS project configuration files (Xcode project, schemes, assets) and a widget test to verify the counter increments correctly, ensuring the test case is fully buildable and testable on iOS.

_test\_case/fair\mobx · high confidence

Added fair\_provider test case with Flutter and iOS/Android scaffolding

A new test case named fair\_provider has been added to the test\_case directory, providing a complete Flutter application structure for testing. This includes Dart source files (main.dart, my\_home\_page.dart, count\_widget.dart) that demonstrate a counter state management pattern using the Fair framework and Provider. The entry also includes the corresponding iOS project configuration (Xcode project, schemes, and build settings), Android build configuration (Gradle wrapper), and a basic widget test to verify the counter increments correctly.

_test\_case/fair\provider · high confidence

Added iOS build configuration and source files for the FairDynamicFlutter framework

The FairDynamicFlutter iOS project has been established with a new Xcode project file (project.pbxproj) that defines the FairDynamicFlutter framework target, its source files (FairDynamicFlutter.h, FairDynamicFlutter.m), and a corresponding test target (FairDynamicFlutterTests). The implementation provides a singleton access point (sharedInstance) and a synchronous invocation method (invokeJSCommonFuncSync) that delegates to the FAIRFFIProtocol, enabling synchronous communication with the Flutter engine. The addition of these files enables the iOS application to build and link against the FairDynamicFlutter framework.

fair/ios/FairDynamicFlutter · high confidence

Added list card demo application

A new Flutter application named 'fairbloc' has been added to the test cases, featuring a list card UI component and a moments list view. The demo includes the necessary Android and iOS native project files, configuration, and the core Dart logic that renders a scrollable list of cards with user avatars, text, and images.

_test\_case/list\_card\_demo, test\_case/list\_card\demo/android · high confidence

Added list demo for Flutter 3.13.x

Added a new list demo application in the test\_case/list\_demo directory, including the full set of native iOS and Android project files, platform-specific configurations, and the core Dart/Flutter source code. This provides a working example of a list-based UI component for Flutter 3.13.x.

_test\_case/list\demo · high confidence

Added login page template for Flutter

Added a new login page template for Flutter, including the Dart source file (lib/login/login\_page.dart) that renders a login UI with email and password fields, a login button, and social login options. The change also includes the corresponding Fair asset files (lib\_login\_login\_page.fair.js, .fair.json, .fair.metadata) that define the UI structure, along with the necessary Android and iOS platform files (AndroidManifest.xml, MainActivity.kt, styles.xml, launch backgrounds, Info.plist, etc.) to support the new template.

_test\_case/login\template · high confidence

Added sugar\_demo test case with UI and logic demos

A new Flutter test case named sugar\_demo has been added to the project. It includes the standard Flutter project structure (Android, iOS, and Dart files) and contains several .fair.js and .fair.json files that demonstrate various UI components and logic patterns. These demos include an animated opacity page, an animated positioned widget, a home page with a NestedScrollView header, a switch-case logic test, a popup menu, and a wrap layout with chips. This provides a functional example of how to use the 'sugar' syntax and components within the test environment.

_test\_case/sugar\demo · high confidence

Added web platform support for the Fair example application

The Fair example application now supports the web platform. This change introduces new JavaScript files (fair\_core.js and fair\_jsbase.js) that handle JavaScript-to-Flutter communication and core utilities, and updates the main HTML entry point to load these scripts, enabling the example to run in a browser environment.

fair/example/web · high confidence

Adds iOS bridge for Dart-to-Native and Native-to-JavaScript communication

The Fair iOS plugin now includes a new communication layer for Dart and JavaScript. The \FairDartBridge\ class manages Flutter channels to handle Dart-to-Native calls, while \FairJSBridge\ manages JavaScriptCore execution. This change introduces a \FairProcessManager\ to orchestrate the initialization of these bridges, enabling features such as injecting and executing JavaScript scripts, invoking JS functions from Dart, and allowing JavaScript to call back to Dart via the \FairJSExportDelegate\ protocol.

fair/ios/Classes/FairDynamicJSPlugin · high confidence

Android V8 engine integration for JS execution

The Android side now uses the V8 engine to execute JavaScript code. This change introduces new core classes (FairJsEngineProvider, FairJsFlutterEngine, FairV8JsExecutor, FairV8JsLoader) that handle JS engine initialization, resource loading, method execution, and message passing to the Dart side. It also adds exception handling and logging for JS execution.

fair/android/src/main/java/com/wuba/fair/core · high confidence

Initial project scaffolding and iOS/Flutter configuration

The fair\_online project has been initialized with standard Flutter and iOS configuration files. This includes \.gitignore\ and \.metadata\ for version control and Flutter tooling, a \README.md\ for project documentation, and \analysis\_options.yaml\ for static analysis. For the iOS platform, the change adds the complete Xcode project structure (\project.pbxproj\, schemes, workspaces), build configurations (\Debug.xcconfig\, \Release.xcconfig\), and native iOS assets (storyboards, app icons, launch images). On the Dart side, it introduces the core application initialization logic (\app\_initializer.dart\), global state management (\globals.dart\), and UI styling/themes (\styles.dart\, \themes.dart\) that define the visual identity and navigation structure of the app.

_fair\_online/fair\online · high confidence

Introduce Fair DSL code generation infrastructure

Added new source files in dart2dsl/lib/src to support the Fair DSL code generation pipeline. This includes a file parser (bundle.dart), a compile error type (error.dart), a transformer system for code modification (transformer.dart), and a widget parser (widget.dart) that analyzes Flutter framework files to generate corresponding DSL components. The widget parser processes files from the Flutter SDK's widgets, painting, material, cupertino, rendering, and animation directories, mapping them to generated Dart files with specific imports and helper constants.

dart2dsl/lib/src · high confidence

Introduce FairJsLoader for JS loading logic

A new abstract class FairJsLoader has been added to handle JavaScript loading and release operations. It establishes a MethodChannel for communication and routes load and release requests to a background thread via FairThread, ensuring that the main UI thread is not blocked during these operations.

fair/android/src/main/java/com/wuba/fair/core/base · medium confidence

Introduce FairProvider integration layer for Flutter state management

The \fair\_provider\ library now provides a complete integration layer that bridges the Fair framework with Flutter's \provider\ package. This includes a \FairProviderAdapter\ to register the plugin, a \FairChangeNotifier\ that syncs state between the Dart and JS runtime, and a \SugarProvider\ utility class offering helper methods like \readString\, \readInt\, and \evaluationToString\ to simplify data access. Additionally, new widgets such as \FairContextBuilder\ and \FairConsumer\ are introduced to manage context and build UI based on state changes, enabling seamless two-way communication between Fair pages and Flutter widgets.

_fair\provider/lib · high confidence

Introduce FairThread and FairTask for background execution

Added FairThread and FairTask classes in the fair/android/src/main/java/com/wuba/fair/thread package. FairThread provides a singleton-managed single-threaded executor backed by a ScheduledExecutorService, along with a convenience method to post runnables to the main UI thread. FairTask is an abstract base class implementing Runnable that delegates execution to a runTask() method, enabling structured task submission to the background thread.

fair/android/src/main/java/com/wuba/fair/thread · medium confidence

Introduce JSExecutor interface and V8 object caching

Added the IJSExecutor interface and the abstract JSExecutor class in the jsexecutor package. The interface defines methods for initializing, loading, and invoking JavaScript, as well as releasing resources. The JSExecutor class implements this interface and introduces a Map to cache V8Object instances by page name, supporting multi-page resource management and cleanup.

fair/android/src/main/java/com/wuba/fair/jsexecutor · high confidence

Introduce core JavaScript runtime and common plugin infrastructure for Fair

New JavaScript files are added to the Fair core assets: fair\_core.js provides the main runtime logic for invoking JS functions and variables, fair\_common\_plugin.js implements a generic plugin mechanism for cross-platform interaction, and fair\_jsbase.js supplies base utilities, module loading, and object conversion helpers. These files establish the foundational JS bridge that enables Fair pages to call into JavaScript and receive results.

_fair/assets/fair\core · high confidence

Introduce dart2js conversion logic and test fixtures

The dart2js/lib directory now contains the core implementation for converting Dart code to JavaScript, including the main entry point (index.dart), the primary conversion logic (convertor.dart, convertorV2.dart), and a suite of test data files covering operators, control flow, classes, functions, and types. This change adds the foundational components for the Dart-to-JS transpiler, enabling the conversion of Dart source files into executable JavaScript code.

dart2js/lib · high confidence

Introduce fairc CLI and AST generation pipeline for Fair DSL

The dart2dsl package now includes a new command-line interface (fairc) and a comprehensive AST (Abstract Syntax Tree) generation pipeline. Users can now invoke fairc to parse Dart files or directories into DSL representations, supporting multiple output modes including bundle, dart, flutter, and sdk. The update introduces core components for AST parsing (fair\_ast\_gen.dart), node validation (fair\_ast\_check\_gen.dart), and DSL generation (fair\_dsl\_gen.dart), enabling the conversion of Dart code into a structured DSL format for the Fair framework.

dart2dsl/lib/fairdsl · high confidence

Introduce runtime infrastructure and error reporting UI

The Fair runtime is restructured to support cross-platform communication and improved debugging. A new message channel system is introduced, with separate implementations for native (FairMessageChannel) and web (FairMessageChannelWeb) to handle JS-to-Dart and Dart-to-JS messaging. A plugin dispatcher is added to route calls to registered plugins. Additionally, a new error handling system is introduced, featuring a StackTraceDetailPage for detailed error logs and a WarningDialog widget to display runtime errors to the user, replacing the previous implicit error handling.

fair/lib · high confidence

Introduces constant definitions for Fair Android bridge channels

New Java classes Constant and FairConstant are added to the Android source tree, defining string constants for message channels (e.g., js\_loader, common\_message\_channel, basic\_message\_channel) and method names (e.g., setState, print, loadMainJs) used for communication between the Fair engine and the native Android/Flutter environment.

fair/android/src/main/java/com/wuba/fair/constant · medium confidence

Modernizes example app architecture and adds photo selection plugin

The example app's entry point (main.dart) has been refactored to use the newer FairApp.runApplication API, which explicitly registers third-party plugins such as FairNet, WBPermission, and FairPhotoSelector. A new FairPhotoSelector plugin is introduced to handle image picking from the camera or gallery, integrating with the image\_picker package. The app's navigation structure is updated to support dynamic page loading and native page transitions, moving away from the previous hardcoded hello\_world delegate.

fair/example/lib · high confidence

New scripts for Fair version switching and documentation generation

Added two new shell scripts to automate project maintenance tasks. The 'switchFairVersion' script allows users to switch the Flutter version used in the example project by updating the pubspec.yaml with a local path to a specific fair\_version directory. The 'update' script automates the generation of the Flutter web sample and Dart API documentation, cleaning previous outputs and building the necessary assets for the documentation site. A 'deploy' script was also moved into the scripts directory.

scripts · high confidence

Restructure example app with new demo pages and navigation

The example application has been reorganized to better showcase the framework's capabilities. A new 'Hello World' demo page was added to demonstrate basic usage. The main navigation was updated to include a dedicated 'Logic' section, which provides entry points to demos for dynamic interfaces, page navigation with value passing, custom plugins, a DSL syntax sugar demo, and dynamic lists. Additionally, the 'Hello World' component was moved into a 'hello' subdirectory, and the 'modules' file was updated to handle nullable props.

fair/example/lib/src/page · high confidence

iOS and Web scaffolding added for the test\_case project

The iOS and Web directories for the best\_flutter\_ui\_templates project have been populated with standard configuration files, including the Xcode project structure, build configurations, app icons, launch screens, and the web manifest, establishing the environment for running the test cases on these platforms.

_test\_case/best\_flutter\_ui\_templates/ios, test\_case/best\_flutter\_ui\templates/web · high confidence

iOS example app updated with JS bridge implementation and privacy permissions

The iOS example app now includes a JavaScript bridge (main.js) that enables two-way communication between the Flutter engine and JavaScript, supporting multiple page loads, method invocation, and data binding. The app's configuration has been updated to include camera and photo library usage descriptions in Info.plist, and the Xcode project settings and storyboard have been modernized to support newer iOS device dimensions and tooling versions.

fair/example/ios/Runner · medium confidence

Removals

Removal of Best Flutter UI Templates sample code

The \best\_flutter\_ui\_templates\ sample directory has been removed from the repository. This change eliminates the collection of Flutter UI templates, including the main application theme, custom drawer components, and specific feature screens such as the design course, fitness app, and feedback screens. As a result, users will no longer have access to these pre-built UI templates in this location.

_samples/best\_flutter\_ui\templates · high confidence

Removal of Fair compiler generator classes

The file fair\_compiler/lib/src/generator.dart has been deleted, removing the BundleGenerator, BindingGenerator, and PackageBuilder classes that previously handled code generation for Fair patches, bindings, and package building. This eliminates the compiler's ability to generate Dart source files and bundles from annotations and .fair.ignore assets.

_fair\compiler/lib · high confidence

Behavioural changes

Add Flutter 2.8.0 compatibility layer

The Fair library now supports Flutter SDK 2.8.0. This update provides a complete set of widget mappings and utility classes for that version, enabling developers to use Fair with Flutter 2.8.0/2.8.1. The release also includes fixes for 'Border.all' width errors and adds support for the 'Clip' attribute.

_flutter\_version/flutter\_2\_8\0 · medium confidence

Add UTF-8 encoding/decoding utilities for Flutter 2.5.0 compatibility

A new FairUtf8 utility class has been added to provide UTF-8 string conversion methods (fromUtf8 and toUtf8) using dart:ffi and the ffi package. This change supports Flutter 2.5.0 and resolves compatibility issues with FFI and the local environment, as indicated by the commit messages referencing null-safety adaptation and version support.

_flutter\_version/flutter\_2\_0\6/lib/src · medium confidence

Add support for Flutter 3.10.0

This change introduces a new version of the fair\_version package tailored for Flutter 3.10.0. The update includes a generated mapping of Flutter widgets and APIs (found in lib/src/widgets/), a version file specifying Flutter SDK 3.10.6, and updated documentation in the README and CHANGELOG. Users targeting Flutter 3.10.x should use fair\_version 3.10.0.

_flutter\_version/flutter\_3\_10\0 · high confidence

Add test cases for Flutter 2.10.0 and 3.13.x compatibility

New test case projects have been added to the repository to validate compatibility with Flutter 2.10.0 and 3.13.x. These include full Android and iOS project scaffolding (manifests, build configurations, and native entry points) alongside Dart source files that exercise specific UI components, such as the \animated\_text\_kit\ and \bottom\_navy\_bar\ examples, ensuring the framework's test suite can run against these specific versions.

(repo-wide) · high confidence

Added Flutter 2.10.0 compatibility layer

The \flutter\_version/flutter\_2\_10\_0\ directory now contains a complete set of generated widget mappings and utility files (including \fair\_version.dart\, \all.dart\, and various \$$\ prefixed widget files) that provide compatibility for Flutter SDK versions 2.10.0 through 2.10.5. This update allows the Fair framework to correctly map and render UI components for these specific Flutter versions.

_flutter\_version/flutter\_2\_10\0 · high confidence

Added Flutter 2.5.0 compatibility layer for Fair

A new \fair\_version.dart\ entry point and supporting source files were added to the \flutter\_2\_5\_0\ directory. This introduces a compatibility layer for Fair version 2.2.0 with Flutter 2.5.0, including a \FairUtf8\ utility class that leverages \dart:ffi\ and the \ffi\ package to handle UTF-8 string conversions, addressing local environment compatibility issues.

_flutter\_version/flutter\_2\_5\_0/lib, flutter\_version/flutter\_3\_0\0/lib · medium confidence

Added Flutter 2.5.0 widget bindings and generated component mappings

The update introduces support for Flutter version 2.5.0 by adding a comprehensive set of generated widget bindings and component mappings. This includes new files for core widgets (such as \$$a\, \$$c\, \$$m\, \$$p\, \$$r\, \$$w\) that map Flutter's \Material\ and \Cupertino\ UI components to a JSON-based configuration format, enabling the framework to render these widgets. The update also includes utility functions and version metadata to support the new widget set.

_flutter\_version/flutter\_2\_5\0/lib/src/widgets · high confidence

Added local registration mechanism for camera plugin

Introduced a new local registration system for the camera plugin, consisting of an ILocalRegister interface and a LocalRegister singleton class that manages a thread-safe map of registered components.

fair/android/src/main/java/com/wuba/fair/register · medium confidence

The documentation theme now includes a fixed announcement header displaying the 'Fair 2.0 release' message with a link to the 'What's new' article, and a copyright footer at the bottom of each page. These UI additions adjust the layout to accommodate the header and footer elements.

doc/.vuepress/theme · high confidence

Adds C++/JNI bridge for synchronous Dart-to-Android calls

New C++ and header files in the Android native layer establish a synchronous communication channel between Dart and Android. The implementation includes a JNI helper to manage the JavaVM and thread attachment, a global reference to the Dart FFI object, and an invokeJSCommonFuncSync function that calls back into the Dart side to execute a common function synchronously, returning the result as a string.

fair/android/src/main/cpp · high confidence

Android demo app requests storage and internet permissions and updates Gradle

The Android demo app now declares READ/Write\_EXTERNAL\_STORAGE and INTERNET permissions in its manifest, enabling file access and network access for the example app. The MainActivity Kotlin file was updated to use the newer FlutterActivity base class and includes commented-out code for runtime permission requests. Additionally, the Android build system was upgraded from Gradle 5.6.2 to 6.1.1.

fair/example/android · medium confidence

Fair 3.4.0 release with Flutter 3.13 support and provider integration

The Fair library has been updated to version 3.4.0, adding support for Flutter 3.13 and introducing a new Fair Provider. This release also includes runtime and compiler log optimizations, fixes for known issues, and updates to the README to reflect the new version number and usage patterns.

fair · high confidence

Fair compiler refactored to support module-based output and JS minification

The Fair compiler in \compiler/lib\ has been restructured to support module-based output naming and optional JavaScript minification. The \BundleBuilder\ now accepts optional \generatedExtension\ and \formatOutput\ parameters, and the \ArchiveBuilder\ generates a \.fair.json\ file prefixed by a \module\ value specified in the \@FairPatch\ annotation (defaulting to 'lib'). Additionally, the build process now compiles Dart to JavaScript via \dart2js\ and can minify the output if \uglify\ is enabled in \fair\_compiler\_options.yaml\. The \state\_transfer\ utility was added to copy generated files to an export directory, and the \helper.dart\ mixin was updated to use \dart2dsl\ instead of a hardcoded Flutter version check, improving compatibility across Dart versions.

compiler/lib · high confidence

FairPatch annotation updated with module parameter and null-safety support

The FairPatch annotation now accepts an optional 'module' parameter, allowing users to specify the module for generated bundle resources, which enables downloading related resources as a set. Additionally, the library has been updated to support null-safety, and the 'packages' parameter in FairBinding and the 'tag'/'path' parameters in FairWell have been made nullable to align with these changes.

annotation · medium confidence

FairProcessManager integration and license header addition

The iOS plugin now initializes and starts the FairProcessManager via a new \FairProcessManager\ import and a \startFairProcessWithRegistrar:\ call during plugin registration. Additionally, BSD-style copyright and license headers have been added to \FairPlugin.h\ and \FairPlugin.m\.

fair/ios/Classes · high confidence

Flutter 3.0 compatibility update for fair\_version

The fair\_version package has been updated to version 3.0.0 to support Flutter SDK 3.0.0 and its subsequent patch releases (3.0.1 through 3.0.5). This update includes bug fixes and adds the InkWell widget to the mapping table. Users with Flutter SDK 3.0.x should use fair\_version 3.0.0+2 to ensure compatibility.

_flutter\_version/flutter\_3\_0\0 · high confidence

Introduce fair\_version.dart as the public API entry point

A new top-level export file, fair\_version.dart, has been added to the library. It consolidates the public API by re-exporting widgets, utilities, and the fair\_utf8 module, providing a single entry point for consumers of the Fair framework.

_flutter\_version/flutter\_2\_0\6/lib · high confidence

Refactored FairPlugin to use modern Flutter plugin API and async JS engine initialization

The Android plugin implementation was migrated from the deprecated \PluginRegistry.Registrar\-based registration to the modern \FlutterPlugin\ interface, removing the static \registerWith\ method. Additionally, the initialization of the JavaScript engine and loader was moved to run asynchronously on a background thread using \FairThread\, ensuring the plugin waits for the JS engine to be ready before completing attachment, improving reliability during startup.

fair/android/src/main/java/com/wuba/fair · medium confidence

Release fair\_version 3.7.0 for Flutter 3.7.0

The fair\_version package is updated to 3.7.0 to support Flutter 3.7.0. This update includes a new version mapping, updated widget mappings for Flutter 3.7.0, and a fix for the Clip property.

_flutter\_version/flutter\_3\_7\0 · medium confidence

Removed Git metadata from served content

The document server now removes the .git directory from the cloned repository before serving it. This ensures that internal version control metadata is not exposed or included in the public output, keeping the served content clean and secure.

_doc\server · medium confidence

Removed iOS and macOS build artifacts from sample projects

The \samples\ directory has been cleaned up by removing platform-specific build files and configuration artifacts for the \adobe\_xd\, \best\_flutter\_ui\_templates\, and \my\_app\ sample projects. This includes deleting iOS \xcconfig\ files, \Info.plist\, storyboards, asset catalogs, and macOS configuration files. These changes streamline the sample projects by removing generated or redundant files, ensuring a cleaner repository state for these examples.

samples · high confidence

Removed internal animation utility mapping

The internal animation utility file containing mappings for Flutter's animation classes and curves has been removed. This eliminates a layer of indirection for animation state and curve configurations, meaning the application no longer uses this specific helper for managing animation properties.

_fair\_version/flutter\_1\_20\4 · high confidence

Support for Flutter 2.5.0 and resolution of FFI compatibility issues

The library has been updated to support Flutter version 2.5.0, addressing compatibility issues with the FFI (Foreign Function Interface) and the local environment. This update includes the addition of a \FairUtf8\ utility class for UTF-8 string conversion using \dart:ffi\ and the \ffi\ package, and updates to the \autoImport\ script to handle specific import fixes for various widget files. Additionally, the project structure has been reorganized, with the \fair\_version\ directory renamed to \flutter\_version\ across multiple Flutter version-specific directories (1.12.13, 1.17.3, 2.0.0, 2.2.0, 2.5.0).

(repo-wide) · medium confidence

Updated adobe\_xd test case for Flutter 3.13.x compatibility

The adobe\_xd test case has been migrated from the samples directory to the test\_case directory and updated to support Flutter 3.13.x. This includes updating the Gradle wrapper to use Gradle 7.5, adding a build runner script, and modifying Dart code to handle null safety (e.g., nullable strings for SVG data). The generated Fair code has also been updated to include color filter caching and updated module mappings.

_test\_case/adobe\xd · high confidence

Updated contributor list and documentation structure

The project's contributor list has been updated to include new and existing contributors such as gongpengyang, XIAOYUAOQISHI, yancechen, yyzl0418, wanbing, bujiee, windkc, avenwu, LinLeyang, 153493932, waynesonic, paozhuanyinyu, Alzzzz, xiangwc, KKProject, JunZiJianYi, shanpengtao, lswc225, gaofeiyu, and itzhaoqian. Additionally, the README structure has been reorganized: the English README now includes a build status badge, a Gitter community badge, and a version badge; the Chinese README has been updated with similar badges and version information; and a new fair\_tools.md file was added to document the faircli command-line tool and IDE plugin for development efficiency.

(repo-wide) · high confidence

Updated sample page to use dynamic navigation with arguments

The sample page in the Fair example app was refactored to demonstrate dynamic page navigation with data passing. The page now accepts props via constructor, initializes state in initState, and uses Navigator.pushNamed to navigate to a dynamic page while passing arguments (name, path, and data). The previous implementation used static text and a different navigation pattern.

fair/example/lib/src/page/logic-page2page · high confidence

Updated site metadata and restructured documentation navigation

The English and Chinese site descriptions have been updated to more accurately reflect the framework's capabilities. The documentation structure has been significantly reorganized: the 'Sample' navigation items have been removed from both language versions, while new guide pages for dynamic logic, page navigation, and list rendering have been added to the sidebar. Additionally, new articles regarding 'what's new' and 'unsupported' features have been introduced, and the 'development\_environment' guide has been added to the Chinese section.

doc/.vuepress · medium confidence

iOS Xcode scheme configuration updated

The iOS build scheme configuration has been updated to move the empty \<Testables\> element from the end of the file to the \<TestAction\> section, and the empty \<AdditionalOptions\> elements have been removed from both the \<TestAction\> and \<LaunchAction\> sections.

fair/example/ios/Runner.xcodeproj/xcshareddata · medium confidence

iOS build configuration and project structure updates

The iOS project configuration has been updated to include a JavaScript file (main.js) in the app's resources, and the bundle identifier has been changed from fair.example to fair.58.example. Additionally, the Xcode project file format was upgraded to version 51, and build settings were adjusted to specify supported platforms, valid architectures, and excluded architectures for simulators.

fair/example/ios/Runner.xcodeproj · medium confidence

iOS minimum OS version increased to 9.0

The iOS minimum deployment target for the Flutter example app has been raised from 8.0 to 9.0, meaning the app will no longer support devices running iOS 8.

fair/example/ios/Flutter · high confidence

Test coverage

Added tests for Fair-Net and Fair-Plugin; Added widget and package parsing tests for the best\_flutter\_ui\_templates module.

Dependencies

Updated Fair compiler and example project dependencies

The Fair compiler package (fair\_compiler) has been updated to version 1.9.0, which includes an upgrade to the analyzer library to version 5.5.0. Additionally, the example project's pubspec.yaml has been updated to include dependencies on fair\_extension and fair\_compiler, with specific version constraints for packages like dio, build\_runner, and fair\_annotation. The Android build configuration for the example app has also been updated to use compileSdkVersion 33 and minSdkVersion 20.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 43 → 48 (+4.5)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 56 → 55 (-0.8)
  • Architecture 100 → 93 (-7.0)
  • Maturity 41 → 55 (+13.9)
  • Readiness 32 → 36 (+4.0)
  • Security 56 → 53 (-2.7)
  • Domain Modelling 100 → 100 (+0.0)
  • Accessibility 60 → 60 (+0.0)

Resolved (69)

  • Change coupling: FairFfi.java ↔ FairV8JsLoader.java (fair/android/src/main/java/com/wuba/fair/channel/FairFfi.java)
  • Change coupling: fair_ast_gen.dart ↔ fair_dsl_gen.dart (dart2dsl/lib/fairdsl/fair_ast_gen.dart)
  • Coverage not included — suite not readable by the collector
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical vulnerability: [GHSA redacted] (package-lock.json)
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • …and 49 more

New (1026)

  • (anonymous) (cognitive 19) (dart2dsl/lib/dartjs/core-types/core.js)
  • (anonymous) (cognitive 19) (dart2js/core-types/core.js)
  • (anonymous) (cognitive 19) (fair/assets/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 19) (fair_online/fair_online_service/fairDir/empty/project/empty_project/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 19) (fair_online/fair_online_service/fairDir/template/project/fair_samples/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 19) (fair_online/fair_online_service/fairDir/template/project/fair_samples/web/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 20) (dart2dsl/lib/dartjs/core-types/core.js)
  • (anonymous) (cognitive 20) (dart2js/core-types/core.js)
  • (anonymous) (cognitive 20) (fair/assets/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 20) (fair_online/fair_online_service/fairDir/empty/project/empty_project/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 20) (fair_online/fair_online_service/fairDir/template/project/fair_samples/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 20) (fair_online/fair_online_service/fairDir/template/project/fair_samples/web/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 21) (dart2dsl/lib/dartjs/core-types/core.js)
  • (anonymous) (cognitive 21) (dart2js/core-types/core.js)
  • (anonymous) (cognitive 21) (fair/assets/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 26) (dart2dsl/lib/dartjs/core-types/core.js)
  • (anonymous) (cognitive 26) (dart2js/core-types/core.js)
  • (anonymous) (cognitive 26) (fair/assets/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 26) (fair_online/fair_online_service/fairDir/empty/project/empty_project/web/fair_core/fair_jsbase.js)
  • (anonymous) (cognitive 26) (fair_online/fair_online_service/fairDir/template/project/fair_samples/web/fair_core/fair_jsbase.js)
  • …and 1006 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

wuba/Fair was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 0a6a9991b254d62df5f6784fae13009b70280961 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.