Sign in
Checking how this server is configured…
Sign in with your approved work account.
or sign in with a password
Your password is handled by the sign-in provider, not this console.
Group Ride management
Review safety · Why
Review the meeting point and copy carefully. Approval publishes the ride to signed-in riders.
Published rides and moderation history
Administrators may open an attendance roster with attendee references. Creators never receive a roster.
Attendance
Attendee references only — no names or contact details. Cancelled and removed rides are history only.
Loading attendance.
No attendance records.
Asking the server for matching rides.
No rides match this selection.
Staff Accounts
Staff only · Why
Staff Accounts lists Engineer, Admin, and Super Admin accounts. Manage customers from Vehicle dashboard.
Staff accounts — engineer, admin, super admin
Super Admins can set staff accounts to Customer, Engineer, or Admin. Changes take effect when that account refreshes its permissions.
| User id | First seen | Account type | Change |
|---|
Loading staff accounts…
No staff accounts found.
Internal tester password
Rotation signs out testers · Why
Set or rotate the shared Internal Tester password. Rotating signs out all active testers. The current password cannot be viewed.
Asking the server whether an internal tester password is configured.
After setting or rotating the password, share it with testers through your normal secure channel.
Talking to the server. Nothing is shown until it answers.
Customers — identity-provider directory
Find customers by exact contact details or search display names. Account type changes require confirmation and a reason.
Exact lookup. Enter an exact user ID, email address, or E.164 phone number. Partial values do not match. An empty result does not prove the account is absent.
Filters only the rows already loaded. Load more rows or use exact lookup if no row matches.
Searches display names only. Enter at least two characters. The first 50 matches are shown; use exact lookup for an email address, phone number, or user ID.
| Display name | Phone | Firebase UID | Registered | First seen here | Account type | Change |
|---|
| Display name | Phone | Account type | Change | Associated bikes |
|---|
More than 50 customers matched. Only the first 50 are shown. Narrow the search or use exact lookup.
Customers are shown 50 at a time in provider order, not alphabetical order. Use exact lookup when the result must be exact.
Page one refreshes automatically. Refresh pauses during exact lookup, search, later pages, or while this tab is in the background.
Loading customers…
No customer matched. An empty result does not prove the account is absent.
Vehicle dashboard
Independent update diagnostic files (including attempts without summaries)
Customer-only files. Access stops after consent revocation, password rotation or expiry.
Customers and their recently reported bikes.
Identity & ownership unverified · What this means
External / Customer Accounts
Customers and vehicles
Filter by report reference, bike ID, Bluetooth label, or controller label.
Server search does not match email or phone. The local filter matches loaded names, references and bike labels only; it does not search all customers.
Contact labels are available for these loaded rows.
| Customer | Bikes loaded | Attention | Last report / share | Sources | Open |
|---|
Loading customers…
No customer or bike matched this filter. Clear the filter to view all recently reported bikes.
Your access changed. Nothing from this screen is kept.
Bikes are grouped from reports loaded so far. Unloaded pages may contain more.
Identity & ownership unverified · Why?
Reported bike — identity and ownership unverified. No VIN, frame serial, controller serial, or hardware proof was checked. A reporting account is not proof of ownership.
Select a bike to see its codes and details.
Loading this reported bike's history.
Reporting account / 上报账号
Reported bike — identity and ownership unverified. No VIN, frame serial, controller serial, or hardware proof was checked.
Select Show reporting account when contact details are needed.
Loading reporting account…
Normalized battery information and Total Mileage appear when the latest support report contains validated values. Controller serial / VIN remains “Not reported” because it is not collected. Inaccurate legacy odometer values remain hidden.
Approximate location appears only with the rider’s consent and is rounded to about 1 km. Only the latest position is retained; no location history is kept.
Controller warning and error codes
WarnCode and ErrCode are shown as raw values. Zero is clear. For a nonzero value, record the number and address, arrange a service check, and escalate to engineering.
| Source | Debug address | Raw value | Observed | State |
|---|
The latest report did not include a controller warning or error code.
Account-level update history: attempts are associated with the reporting account, not a particular bike.
Controller update attempt history
This sanitized history belongs to the reporting account associated with the selected bike. An attempt is not linked to, and does not prove ownership of, this bike.
Loading received controller update attempt reports…
No controller update attempt report has been received for this reporting account. The server does not infer an attempt state from absence.
Report history
| Reference | Received | Captured | Firmware | App | Codes | Retained until | Status |
|---|
Internal Accounts
Nothing loads until you select Refresh.
Reading internal account vehicles.
No internal account vehicle report was found.
More internal account vehicles are available. Use Load more to continue.
Internal Tester — controller update history
Reading shared tester update reports.
No shared tester controller update report has been received. Absence is not a pending or failed attempt.
Vehicle search
Search by serial, controller, or model.
Asking the server for vehicles. Nothing is shown until it answers.
No vehicle matched that search. This deployment does not enroll vehicles, so this list is expected to be empty.
Select a vehicle on the left to see its diagnostics.
Loading this vehicle's diagnostics.
Controller warning and error codes
WarnCode and ErrCode are shown as raw values. Zero is clear. For a nonzero value, record the number and address, arrange a service check, and escalate to engineering.
| Source | Debug address | Raw value | Observed | State |
|---|
The latest report did not include a controller warning or error code.
Diagnostic history
| Received | Reported | Firmware | SoC | Odometer | Controller temp | Codes | Status |
|---|
Display Firmware
Public links · Why
This is separate from controller OTA. Taking down an entry removes it from the App and disables a hosted link. Externally hosted links and already downloaded copies cannot be recalled here.
Display firmware releases
| Status | Version | Display model | Download link | Created | Action |
|---|
Reading Display Firmware metadata from the server.
No Display Firmware release has been created. The App will honestly show no available release.
Upload ZIP · separate from controller OTA
Upload does not publish. Anyone with the generated link can download only while the release is Live.
No ZIP inspected yet.
Create draft
Enter an owner-approved HTTPS download link, or select an inspected uploaded asset above. This server will not fetch external links.
OTA releases
Publish safety · Why
Upload keeps a program Not Live. Make Live offers it to the selected audience. Take Down stops future downloads.
OTA test programs
Only a Live program can be offered to the test App.
| Status | Version | Vehicle model (label) | Audience | Files | Uploaded | Action |
|---|
Reading the release library from the server.
No test program has been uploaded yet.
Upload test program — Not Live
Choose both files. The App cannot see the program until you select Make Live.
Vehicle model and hardware version are labels. Installation availability follows the selected account types.
New release draft
Stage packages
Publish or revoke
Confirm the exact release before publishing or revoking it.
Select a release.