You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merged the Mesh menu, Channels and Contacts apps into a single tactility.mesh app (MeshApp.cpp) with three view modes: menu, contacts and channels.
The main menu lists Channels and Contacts and has a settings button in its toolbar.
Settings was removed from the Channels and Contacts toolbars and from the Contacts overflow menu.
The back button in Contacts and Channels returns to the menu. Close in the menu exits the app.
Removed MeshChannels.cpp and MeshContacts.cpp and their manifests.
Renamed the app icon files from tactility.meshchannels* to tactility.mesh*.
log shell command
New kernel API log_subscribe() / log_unsubscribe() (tactility/log.h).
The log drain task calls listeners after it writes each line. Nothing is stored while there are no listeners.
New headless log app in coreutils-module that streams log lines to the terminal.
It uses a 2 KB handoff buffer in external RAM, drops whole lines when the buffer is full and reports how many it dropped.
Any key press, closed stdin, or SIGINT/SIGTERM/SIGHUP stops it.
Added a kernel test for subscribing, receiving a line and unsubscribing.
Only INFO and above is shown by default. Output from ets_printf doesn't reach the log queue.
Terminal
Fixed a burst of newlines after commands such as ls on the simulator.
Drivers like the SDL keyboard keep reporting a held key as pressed on every poll, and each report was handled as a new keypress. KeyboardInput::pump() now only acts on a key's press edge.
When the terminal closes, it waits (up to 1 s) for the held key to be released before it re-enables the LVGL keyboard input.
Before this, the Return that ran exit opened the system menu.
Simulator
Profiles now set UI spacing and UI size separately (uiSpacing, uiSize) from each device's device.properties, replacing the single compact flag.
Maps icons
Redrew the colour icon with streets and flat blocks, and a pin without an outline.
Redrew the mono icon with a cleaner street layout and a solid pin.
Other
Initialized TileGrid::Callbacks::onTilesCleared in the Files app to fix a -Wmissing-field-initializers warning.
Summary by CodeRabbit
New Features
Added a Mesh app that combines channel and contact management, including contact-adding options and access to this device’s QR code.
Added a log app that streams system logs to standard output.
Simulator profiles now apply their configured interface spacing and size.
Bug Fixes
Prevented held keys from triggering repeatedly and improved status icon refresh during startup.
Style
Tile label spacing now adapts to the current theme.
Documentation
Updated README links to the website, installer, and documentation.
Simulator profiles now set theme spacing and size separately. The kernel log queue supports listeners, and coreutils adds a headless app that writes log output to standard output. The Mesh channels and contacts apps are consolidated into one app with channel and contact views. Other changes update terminal key handling, status bar startup refresh, tile label spacing, font type spelling, a file-view callback initializer, and README links.
Pre-merge checks: 4
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
The title names two of the main changes: merging the mesh apps into one app and adding the headless log command. It also mentions terminal and simulator fixes, which are real parts of the changeset. T…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Title check
Explanation
The title names two of the main changes: merging the mesh apps into one app and adding the headless log command. It also mentions terminal and simulator fixes, which are real parts of the changeset. The title is accurate and specific, though it lists several items rather than one main change. The mesh merge is the largest change, and the title covers it.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.
devices_ retains its allocation for the terminal session. Change it to tt::std::vector<Keyboard> and include the corresponding header. This keeps the allocation under the repository's external-RAM policy.
As per coding guidelines, “Containers that live long use the tt::std replacements from TactilityKernel.”
Source: Coding guidelines
Review info
Run configuration
Source mode: Auto
Repository: Unavailable
Branch: Unavailable
File: No configuration file from this repository applied
Commit: Unavailable
Layers: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 36f1018b-9c6e-4fc1-9d1a-8942bf996f1c
Commits
Reviewing files that changed from the base of the PR and between e5f3ef7 and 358afea.
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mesh app
tactility.meshapp (MeshApp.cpp) with three view modes: menu, contacts and channels.Settings was removed from the Channels and Contacts toolbars and from the Contacts overflow menu.
MeshChannels.cppandMeshContacts.cppand their manifests.tactility.meshchannels*totactility.mesh*.logshell commandlog_subscribe()/log_unsubscribe()(tactility/log.h).The log drain task calls listeners after it writes each line. Nothing is stored while there are no listeners.
logapp incoreutils-modulethat streams log lines to the terminal.It uses a 2 KB handoff buffer in external RAM, drops whole lines when the buffer is full and reports how many it dropped.
Any key press, closed stdin, or SIGINT/SIGTERM/SIGHUP stops it.
ets_printfdoesn't reach the log queue.Terminal
lson the simulator.Drivers like the SDL keyboard keep reporting a held key as pressed on every poll, and each report was handled as a new keypress.
KeyboardInput::pump()now only acts on a key's press edge.Before this, the Return that ran
exitopened the system menu.Simulator
uiSpacing,uiSize) from each device'sdevice.properties, replacing the singlecompactflag.Maps icons
Other
TileGrid::Callbacks::onTilesClearedin the Files app to fix a-Wmissing-field-initializerswarning.Summary by CodeRabbit