Skip to content

Releases: Treehouse-00/waev-outpost-plugin

Release v0.9.398

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 05 Oct 16:55

Fixed

  • Companion channels no longer fill up with [data 0x…] rows. Apps share a channel with people by sending data packets that are not chat, and the Messages screen showed each one as an unread message from "unknown", which on a busy public channel buried the real conversation. These packets are now hidden by default: they leave no row and add nothing to the unread count.
  • Packet detail reads a data packet properly. The decrypted bytes of a data packet start with the app's identifier and a length, and the dialog showed the whole run as one blob. It now shows the application's name when it is registered (MeshCore Open, Ripple, MCO Advanced, StreamSensor, or Development for the 0xFF00 range) and just the app's own bytes.

Added

  • A "Show channel data" switch in the companion's Config dialog. Turn it on to see data packets in channel conversations as [data <app>] <bytes> rows, with the application's name when it is registered. The choice is kept per browser.

Under the hood

  • The Packet detail dialog's decryption state is now derived instead of being reset inside effects, and a control-character filter no longer uses a regular expression, which clears six lint errors that were already there.

Full history: CHANGELOG.md

Installation

In the built-in Repeater interface, open System → Plugins → Catalogue, find waev:outpost, and press Install. Catalogue installation enables the plugin automatically. Confirm UI READY on the Installed tab, then use Open UI or visit /plugins/waev.outpost/ with your existing Repeater credentials.

To use waev:outpost at /, open System → Configuration → Access → Web Options → Web Frontend and select the waev:outpost plugin entry. The built-in interface applies this selection immediately.

For a direct installation, download this release's .whl, use System → Plugins → Install wheel, select the file and press Install, then Enable if disabled.

Moving from pymc_console-dist? v0.9.394 is the final legacy standalone release. Keep your existing files and Repeater configuration. In waev:outpost, use Configuration → Web Frontend → Default Frontend to return to the built-in Repeater interface, then follow the plugin installation steps. See the migration and recovery guide. No credential reset or standalone uninstall is needed.

Upgrade

For catalogue installs, use System → Plugins → Catalogue → Refresh → Update when offered, or What's new → Update in waev:outpost. A published release becomes available there only after catalogue approval.

A fresh local-wheel installation has no catalogue repository metadata, so automatic Update may be unavailable. Upload the newer wheel with Install wheel again, or use the guide's catalogue-install API to adopt the approved version. Check that version first because it may be older than a manually uploaded release. Repeater configuration and credentials remain in place.

Release v0.9.397

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 03 Oct 21:09

Fixed

  • A Waev or LetsMesh broker no longer publishes under a leftover custom topic. The Observer page sent the custom base topic for every broker, although the field only shows for the Custom MQTT format. A value typed there before switching the format replaced the whole topic the broker expects, and the broker refused everything the repeater sent. The topic now goes out only for a Custom MQTT broker.
  • Typing a broker's host no longer sets its JWT audience to the first letter. The audience followed the host one keystroke at a time and stopped at the first character, so a broker added by hand presented m as its audience. Leave the audience blank and the host is used.
  • The Observer page cannot save before its settings have loaded. Edit Settings opened on an empty form while the repeater's answer was still on its way, and Save then wrote that empty form, dropping every broker. The key now waits for the settings.
  • Saved Observer settings stay on screen. After a save the page showed the values from before it until the next refresh, and a second Edit and Save sent those old values back. The page re-reads the settings as part of saving.
  • A blank IATA code is refused. The repeater publishes under a topic that begins with the code, and a broker drops a blank one without a word.
  • Packets heard from an openHop repeater over MQTT keep their real time. The browser-side MQTT subscriber could not read the repeater's timestamps and stamped every packet with the moment it reached the browser.
  • A broker added to the repeater's configuration as a preset shows on the Observer page. An entry such as preset: waev, the form the repeater's own example file recommends, appeared as a blank broker, and Save refused it as incomplete. The page now lists it as a preset you can keep or remove, and saves it back as it is, so the repeater keeps using the preset's current addresses.
  • A password your browser fills in no longer counts as an unsaved change on the Configuration page. Browsers put the saved sign-in password into the Password section's Current Password box on their own. The page then asked "Leave unsaved changes?" whenever you moved to another page, and it also held back the default-interface switch and the other sections' apply buttons. Only a new password you type, or its confirmation, counts as a draft now.

Security

  • Source passwords are no longer saved in the browser. The MQTT Subscription and External Database sources wrote their passwords to the browser's storage in plain text, where any script on the page could read them, including another plugin's page when the console runs as a plugin. A password now lasts until the page is closed or reloaded, so enter it again after a reload; one an earlier version saved is erased the next time the console opens.

Under the hood

  • Two test files that failed about one run in four now wait for the key calculation they depend on, so the full test run no longer fails at random.

Full history: CHANGELOG.md

Installation

In the built-in Repeater interface, open System → Plugins → Catalogue, find waev:outpost, and press Install. Catalogue installation enables the plugin automatically. Confirm UI READY on the Installed tab, then use Open UI or visit /plugins/waev.outpost/ with your existing Repeater credentials.

To use waev:outpost at /, open System → Configuration → Access → Web Options → Web Frontend and select the waev:outpost plugin entry. The built-in interface applies this selection immediately.

For a direct installation, download this release's .whl, use System → Plugins → Install wheel, select the file and press Install, then Enable if disabled.

Moving from pymc_console-dist? v0.9.394 is the final legacy standalone release. Keep your existing files and Repeater configuration. In waev:outpost, use Configuration → Web Frontend → Default Frontend to return to the built-in Repeater interface, then follow the plugin installation steps. See the migration and recovery guide. No credential reset or standalone uninstall is needed.

Upgrade

For catalogue installs, use System → Plugins → Catalogue → Refresh → Update when offered, or What's new → Update in waev:outpost. A published release becomes available there only after catalogue approval.

A fresh local-wheel installation has no catalogue repository metadata, so automatic Update may be unavailable. Upload the newer wheel with Install wheel again, or use the guide's catalogue-install API to adopt the approved version. Check that version first because it may be older than a manually uploaded release. Repeater configuration and credentials remain in place.

Release v0.9.396

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 28 Sep 01:24

Added

  • Radio Fabric controls in Configuration. Choose the default radio and select Default, Sticky, or Bridge routing. Repeat on ingress and transmission of locally originated packets on both radios appear when the repeater reports support; both require exactly two radios, and ingress repeat also requires Bridge routing.
  • Raw repeater commands from the terminal. Use cli <command> to send a command and read the repeater's own reply, including commands that otherwise have a dedicated console display. Command lookup, help, and autocomplete include the repeater command families, with unavailable Linux commands and conditional region support identified.
  • Per-radio airtime in Statistics. Choose Airtime → Trend to view the repeater's estimated receive and transmit airtime for all radios or one radio. The report counts separate physical transmissions when a relay leaves through both radios, and identifies missing attribution or incomplete radio profiles.

Changed

  • Configuration is easier to navigate on a phone. Search, section actions, the selected device and radio, and the last synchronization time share a compact header. All nine configuration destinations remain available, with a section index, readable labels, wrapping summaries, larger controls, and visible keyboard focus.
  • Review a module's changes before applying them. Editors show original values and the number of unsaved changes, with explicit Apply and Discard actions. Inline validation identifies the field that needs attention, while standalone settings retain their individual save controls.
  • Radio Fabric shows the route being programmed. Its instrument readout brings the default radio, routing mode, ingress repeat, and originated-packet behavior together, with distinct draft, saving, error, and restart states. Saving and restarting remain separate actions; the title, search badge, and status also fit narrow screens.
  • Changing the default web interface requires an explicit Apply. Selecting an interface stages the choice; Set as default interface applies and verifies it. The current page stays open, unavailable choices cannot be applied, and failed selections remain available to retry.
  • Disruptive configuration changes explain their consequences. Disabling forwarding, airtime enforcement, advert protection, or flood-loop detection, allowing other browser origins, and increasing transmit power require confirmation. Pending edits and requests prevent conflicting actions.
  • Update status says what is actually known. The update panel distinguishes unchecked, stale, failed, and current results and shows when the last check ran. Stable and Development remain available, with other branches under the advanced controls.

Fixed

  • Drafts survive status refreshes, collapsing a card, and changing or clearing a search. Clicking outside a modified stealth location also keeps its draft; leaving the page warns about unsaved edits, and pending writes must finish before navigation or restart. A failed save keeps the entered values available to correct or retry.
  • Search opens the setting it finds. Results name matching sections and reveal matching fields, including advanced advert controls. Clearing a search restores disclosure state while keeping active drafts visible, including cards that started collapsed on a phone; keyboard activation of card actions works correctly.
  • Settings stay attached to the device and radio being edited. Apply checks the captured target and current configuration before writing and verifies the result afterward. A changed device, missing radio, changed topology, or conflicting setting keeps the draft open instead of applying it to a different target.
  • Save feedback distinguishes configuration, disk storage, and live behavior. A matching configured value no longer turns an explicit rejection or failed disk write into success. Restart requirements and unconfirmed outcomes remain visible, failed writes can be retried even when values already match, and standalone fields retain the returned receipt after their editor closes.
  • Numeric edits no longer conflict solely because of formatting. Equivalent values such as 434.0 and 434.000 compare as the same number. Empty, non-finite, out-of-range, and invalid-step values are rejected before saving; supported fractional advert settings retain their precision.
  • Radio Hardware preserves the rest of the radio stack. Hardware changes use a fresh configuration while retaining other radios and existing backend details. An untouched hidden modem token stays unchanged, clearing it is explicit, and an empty optional enable-pin list no longer becomes GPIO 0.
  • Protection controls retain actionable failures. Advert presets, flood-loop modes, and Auto-Configure verify the requested configuration and keep errors or restart notices visible. Analysis and Apply remain tied to the same device, and failed operations can be retried without dismissing their results.
  • Configuration switches cannot start overlapping requests. Failed or uncertain forwarding, duty-cycle, and browser-origin changes remain visible until resolved. Updating the airtime limit preserves the current enforcement setting, and older wrapped numeric values are read correctly.
  • Token management separates unsupported features from connection failures. Failed token loading offers a retry instead of an empty list, repeated create or revoke actions are blocked while a request is pending, and failed clipboard copying leaves the new token available for manual copying.
  • Password changes cannot remain pending indefinitely. The request has a deadline covering both the response and its body. An incorrect current password preserves the session and entered fields, while a timeout explains that the outcome may need checking.
  • Software update controls recover after temporary status failures. A failed initial request no longer permanently hides the panel, later checks can recover it, and late responses cannot revive an abandoned request. The existing installation flow and channel choices remain available.
  • Configuration imports report failed disk writes. Backup restore recognizes both supported receipt shapes and reports when configuration was accepted in memory but could not be stored, including restart information.
  • Terminal settings use the repeater's actual command handling. get/set af controls airtime factor independently of transmit delay. Advanced acknowledgement, interference-threshold, and automatic-gain-control settings use the repeater command endpoint; an error inside a successful HTTP response is treated as failure, and clock reads repeater time rather than browser time.
  • Terminal radio setters keep their multi-radio behavior. set tx, set freq, set bw, set sf, and set cr retain the radio configuration endpoint, which resolves the Fabric default radio on current upstream Development; older backends may update only shared defaults. Raw cli set ... and the full set radio ... command retain the repeater's shared-default behavior, which explicit per-radio settings can override.
  • Terminal command routing preserves local tools. clear stats reaches the repeater instead of clearing the screen, while clear and packet capture keep their existing behavior; ordinary advert commands still wait for send confirmation or failure. Password-changing commands are excluded from command recall history, unsupported commands such as setperm are labelled honestly, and cli advert shows the raw repeater reply.
  • Airtime charts include silent periods. Quiet buckets contribute zero airtime to the line and its average, and a partial selection does not inflate a full server bucket's utilization. Invalid multi-radio reports are rejected, and a failed refresh labels the last available report instead of presenting it as current.
  • Live airtime remains readable as packets arrive. Moving live windows no longer start a request and clear the report for every incoming packet. Explicit historical selections keep their exact bounds, while device or radio-profile changes invalidate old results.

Compatibility and distribution

  • New releases use the waev:outpost plugin channel. In the built-in Repeater Frontend, open System → Plugins → Catalogue, find waev:outpost, and press Install. Catalogue installation enables it automatically; open the plugin once UI READY is shown. The standalone pymc_console-dist distribution is retired at v0.9.394, with its existing downloads retained and plugin migration instructions left for current users.
  • Choose the default interface on its configuration page. In the built-in Repeater Frontend, use System → Configuration → Access → Web Options → Web Frontend. In waev:outpost, use Configuration → Web Frontend, then Set as default interface. Selecting the plugin changes the web interface without replacing repeater configuration, radio settings, or credentials.
  • Catalogue and wheel installs have different update paths. Approved catalogue releases can be installed through the repeater's plugin update controls or waev:outpost's update notice. A manually uploaded wheel may lack catalogue update tracking; upload a newer wheel again, or install through the catalogue. A published wheel may appear before catalogue approval reaches the plugin list.
  • Fabric controls follow the connected repeater's capabilities. Older multi-radio repeaters keep the routing controls they support without receiving newer fan-out fields. Fabric configuration requires a repeater restart before the running radio stack adopts it; the console does not restart or reload automatically.
  • Terminal support comes from the connected repeater. Shared commands require its authenticated command endpoint; exposing a command in help does not implement it on Linux. Existing structured setters re...
Read more

Release v0.9.395

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 18 Sep 19:12

Fixed

  • Saving a stealth location works again. Pressing the save tick on the Stealth Location panel discarded what you typed, and both coordinate fields went back to reading "Not set". The panel treated its own save key as a press outside itself and abandoned the edit before the key could act, so there was no way to store a stealth location at all. Your coordinates are saved and switched on as soon as you press it.
  • Selecting text in a coordinate field no longer cancels the edit. Dragging across a field and releasing outside it used to throw the entry away.

Added

  • Enter saves, Escape cancels. Both coordinate fields now respond to the keyboard, so you never depend on hitting the right key with a pointer.

Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.

Release v0.9.394

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 17 Sep 21:06

Added

  • Set a companion's Path Hash Size from the console. Each companion the repeater hosts stamps its outgoing paths with 1-, 2- or 3-byte route hashes, and until now only a phone app could change that. Open the companion's Edit dialog (the pencil in Messages → CONFIG) or the new Configuration → Companion Devices page and press the width you want. Leaving 1-byte asks you to confirm first, because older repeaters cannot forward wider hashes; a line under the keys shows the command being sent and the companion accepting it, and the next message you send prints the new width on its row.
  • Companion Devices page. A home in the Configuration workspace for the settings that live on each companion itself, shown as an instrument in the same style as Regions Management. Pick a companion, connect, and set.

Changed

  • The repeater's own Path Hash Size field now says whose radio it is. It sets the repeater's width only; each companion has its own, and the two never affect each other. Dropdown settings across Configuration can now carry a help note and an info tooltip.

Fixed

  • Moving between Messages, Regions Management and Companion Devices no longer drops the companion link. The link was torn down and reopened on every move, and the repeater briefly reported the console's own previous session as "another client". The link now stays up across all companion pages.
  • Manual paths at 2- and 3-byte widths. The contact path editor accepted only 1-byte hops and could mis-encode a path on a companion set to a wider hash. Each hop can now be 2, 4 or 6 hex characters, all the same width, and the path is sent at the width you typed.
  • Bot path and test reports on wider hashes. HOWL bot replies with 2- or 3-byte route hashes were read as the wrong hops; they now parse whole.

Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.

Release v0.9.393

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 15 Sep 05:50

Fixed

  • refine regions hardware and screen hierarchy

Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.

Release v0.9.392

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 15 Sep 05:13

Added

  • Regions have their own management page. Review nearby repeaters' saved region reports, add regions, and manage repeater forwarding rules and companion scope settings from one place. Discovery requires an explicit repeater selection before Scan is enabled; querying all nearby repeaters is an opt-in choice with an airtime warning.

Changed

  • Region controls fit the available panel width. Saved-report counts share one row, default-scope actions sit beside their selector when space allows, and companion scope summaries sit side by side on wider panels. The discovery instrument uses a compact hardware face and ribbon connection to the settings below.
  • Companion selectors preserve device names. Names keep their original case and characters rather than being shortened into uppercase hardware labels.
  • Message region labels distinguish intent from delivery. Labels describe the requested region or locally known settings, without claiming that radio coverage or the packet's actual scope was verified.

Fixed

  • Failed browser-storage resets remain visible. If saved channel-region settings cannot be cleared, the console reports the failure instead of pretending the reset succeeded.


Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.

Release v0.9.391

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 14 Sep 18:14

Added

  • Per-channel region overrides work now. Sending one message to a named region, without changing the region your node is otherwise on, needed matching support in openHop Core. That has shipped, so a repeater running the current Core can do it and the console will use it. The console checks each connection and says so plainly when a repeater is too old, rather than sending the message somewhere you did not name.
  • A message sent to a region says so plainly. A message you sent under a per-channel region override now carries a filled tag naming that region, the same solid lit cell the unread counts use, instead of a line of dim text beside the delivery marks. It went somewhere other than your node's usual region, and that is the one thing about it worth not missing.

Fixed

  • The message counter knows a region override costs room. A message sent to a named region carries that region's key, which leaves seven fewer bytes for your text than an ordinary channel message. If your node's name was four characters or shorter, the composer would let you write past what such a message can carry and the send would then fail. The counter now stops the draft at the real wall.
  • A channel region keeps the capitals you typed. Typing #USA as a per-channel region used to save and send it as #usa. Those are two different regions on the mesh, and they reach different people, so the console was quietly moving your messages somewhere you had not asked for. Regions now keep their case exactly as entered, and #USA and #usa can both sit in your saved list as the separate regions they are. Regions you saved before this are unchanged, in the lowercase form the list has been showing you; add the capitalised name as a new entry if that is the one you meant. A region name is still letters, digits and hyphens only, and a lookalike letter from another alphabet is still refused.

Changed

  • A region now travels as its key rather than its name. The agreed format for this changed while the feature was being built on both sides, and the message now carries the region's key. That is what makes the capitals above matter. The console asks each repeater which version of the format it speaks and refuses to send an override to one that answers anything else, so a mismatch leaves the feature unavailable rather than delivering to the wrong region.


Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.

Release v0.9.390

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 11 Sep 23:28

Added

  • Messages on a phone: one list at a time. The roster page used to stand channels and contacts side by side, each half a screen wide, which left neither wide enough to read a name. Now they stack: channels open to the full height and contacts folds to a single row under them that names it, shows how many of its conversations have something unread, and opens with a tap; opening contacts folds channels to its own row at the top the same way. Channels is open every time you arrive. The swap moves like a machine: the two screens trade heights in one short travel of eight detents that come closer as it ends, so the door slides with a mechanism's cadence and stops dead, and with your system set to reduce motion it cuts straight to the new state. On a desktop the three columns and the contacts fold to its icon column are unchanged.
  • Unread counts you can see. In the Messages rosters the unread count is a lit cell now, the number in the panel's black on the display's own colour, at the right of the name, and a channel or contact with anything unread prints its name in the heavier weight. It was a faint grey chip that read as furniture. The count is part of the row itself, so tapping it opens the conversation rather than the remove key that used to share its spot, and every row reserves one piece at the end of its name line for it, flush with the head's keys, holding the count and, on a touch screen, the chevron under it, so the counts line up on one edge and nothing runs under them (the remove and options keys no longer take a track of their own; on a pointer screen they appear over that piece under the hand): a long channel name is cut with an ellipsis instead of spilling over, the preview line under the name runs the row's full width, and the Public channel's radio settings (frequency, spreading factor, bandwidth) move to a line of their own under the name, so Public runs three lines where the others run two. That line always stays one line: as the roster narrows the three chips take a smaller cut, and narrower still only the frequency prints. On a touch screen every roster row also ends in a small chevron, the way a phone's settings list says a row opens something, and a row with something unread draws its chevron heavier and brighter to say the same thing as its count: tap here.

Changed

  • The companion keys carry the radio's full name. The keys that pick which companion radio the console is holding were one narrow cap each and cut a name to a letter or three; they are three units wide now, about eighteen letters, and the row of them breaks onto a second row instead of running off the plate when there are more than two. On a phone the keys shrink a little together so the row still fits.
  • The bank's tallies stand as the screens do. Channels before contacts, matching the channels screen at the left and the contacts screen at the right below them.
  • A shorter bank on a phone. The monitor drops its three lamps there and prints two lines, the packet type and its channel on the first and the message under them, and shares the last row with the RF bar, monitor at the left and bar at the right, so the bank stays three rows tall with the wider keys.


Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.

Release v0.9.389

Choose a tag to compare

@Treehouse-00 Treehouse-00 released this 08 Sep 02:27

Added

  • The console can hand the repeater's front door to the plugin. Configuration → Web Frontend now lists every interface the repeater can serve at its root: the repeater's own, the hand-installed copy under /opt, and the waev:outpost plugin, each with its version. Pick one and the repeater switches at once, no restart. On a repeater that cannot list them yet, the two older choices remain.
  • One question after installing the plugin. When the waev:outpost plugin finishes installing from the Plugins page, a small plate asks whether to make it your default experience. Yes makes the repeater serve it at the root and takes you there; No leaves things as they are. The choice stays under Configuration → Web Frontend.

Changed

  • The hand-installed copy is marked as retiring. Its row in Web Frontend carries an amber DEPRECATED tag and says plainly that the files under /opt and the pymc_console-dist repository will stop receiving releases, and that the plugin is the way forward.
  • The README leads with the plugin. Install from the repeater's Plugins page in three presses, and let it update itself; the hand install is documented as the fallback.

Full history: CHANGELOG.md

Installation

Upload the .whl on the repeater's System → Plugins page (or POST /api/plugins/install), enable it, then open /plugins/waev.outpost/.

Upgrade

The repeater's plugin update check reads this release; approve the update from the same page.