Skip to content

Sync from Fork - #7

Open
ivan-flamingo wants to merge 224 commits into
flamingo-stack:masterfrom
Ylianst:master
Open

Sync from Fork#7
ivan-flamingo wants to merge 224 commits into
flamingo-stack:masterfrom
Ylianst:master

Conversation

@ivan-flamingo

@ivan-flamingo ivan-flamingo commented Apr 3, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Software inventory panel (installed apps + store apps) with search and uninstall
    • Mobile trackpad mode for remote desktop with touch/trackpad controls
    • Linux inspection (AV/firewall/packages) and macOS flat .pkg installer support
    • Configurable terminal user-variable exposure for sessions
  • Bug Fixes

    • Fixed AMT activation password handling
    • Corrected consent message option name
    • Device event cleanup now domain-aware
  • Improvements

    • Better Windows app/store detection and uninstall flows; richer hardware/kernel details
    • Raised Node engine requirement; DOMPurify upgraded; stricter icon upload and web security
    • Docker: trusted-proxy and TLS offload options, default host ports standardized (80/443)

si458 and others added 17 commits March 21, 2026 16:38
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Updated checkout action to version 6 and removed token input.
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
si458 added 2 commits April 4, 2026 17:16
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
yevhen-maker
yevhen-maker previously approved these changes Apr 6, 2026
…up (#7741)

The addusertodevicegroup command sends the --userid value in the
'usernames' field of the addmeshuser websocket command. The server-side
handler treats 'usernames' as short username lookups, which fails for
full user IDs (e.g. user/domain/~azure:user@example.com).

This changes the field to 'userids', which the server resolves correctly
by full ID. This matches the behavior of removeuserfromdevicegroup which
already uses 'userid' (singular) and works correctly.

Fixes #7740
si458 and others added 6 commits April 14, 2026 11:01
Signed-off-by: si458 <simonsmith5521@gmail.com>
* Make the "Expand All"/"Collapse All" button larger

Cosmetic changes in the HTML to make the "Expand all"/"Collapse all" button larger and easier to click as proposed in #5360.

* Make the "Expand All"/"Collapse All" button larger on modern UI

Cosmetic changes in the HTML to make the "Expand all"/"Collapse all" button larger and easier to click as proposed in #5360. Now for the modern UI as well.
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
* Add files via upload

* Add files via upload
* feat: add TLSOffload variable to docker

* chore: add readme values

* chore: also edit the rest

* chore: remove parameters readme paragraph

* chore: set reasonable defaults

---------

Co-authored-by: DaanSelen <dselen@systemec.nl>
multiflexi and others added 30 commits July 20, 2026 17:42
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
* Another typo related to self-updating

* Added a message when it fails.
Signed-off-by: si458 <simonsmith5521@gmail.com>
serverversion is read-only and already gated by userHasSiteUpdate()
and domainHasMyServerUpgrade(), so the loginToken check adds no
additional security while silently breaking automation that relies
on Login Token auth (e.g. HA integrations). serverupdate remains
restricted since it triggers an actual install.

Fixes #8008
* Guard against null rauth cookie in CreateMeshRelayEx

Signed-off-by: Sai Asish Y <say.apm35@gmail.com>

* add extra rcookie checks

---------

Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
Co-authored-by: si458 <simonsmith5521@gmail.com>
The mc1migration action dates back to the old MeshCentral1/.NET-era device
migration and is no longer used by current agents. Removing the server-side
handler in meshagent.js and the agent-side call in meshcore.js that sent it on
server connect. The OldNodeId diagnostic line in the agent 'info' command is
left as-is since it is independent of this function.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
In the agent 'log' handler, the msgid==98 (help request) branch read
command.msgArgs[0]/[1] without checking msgArgs was present, so a log
message with msgid 98 and no msgArgs threw inside the async db.Get
callback and stopped the server. Guard the call with Array.isArray and a
length check before using msgArgs.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Escape guest name in the device Sessions dialog

The Sessions dialog builds its user list with getUserName(), which
decoded the guest name from the user id and returned it without escaping.
The result is placed into the dialog as HTML, so a guest name containing
markup was rendered as-is. Run the decoded guest name through EscapeHtml,
matching how the same value is already handled elsewhere in the file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Escape guest name in the modern UI Sessions dialog too

Apply the same guest-name escaping fix to default3.handlebars (the modern
UI); the previous commit only covered default.handlebars (the classic UI).
getUserName() is identical in both files and feeds the Sessions dialog the
same way, so the decoded guest name is now run through EscapeHtml here as
well.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- add mkdir -p /usr/local/etc/rc.d on freebsd
* Fix RDP keyboard layout selection from browser locale

The Web-RDP client only matched the exact locale strings 'fr' and 'en',
but browsers report language tags such as 'de-AT' or 'fr-FR'. Anything
that was not literally 'fr' fell through to the default and was sent as
the US layout (0x409), so non-US users had an en-US input locale added
to their session on every new RDP connection.

Map the primary language subtag to the keyboard layouts that are already
defined in t125.gcc.KeyboardLayout. The default stays US.

Root cause was identified by @GA-Leftclick in #5097.

Refs #5097

* Take the locale region into account when picking the keyboard layout

Using only the language subtag was too coarse: en-GB is 0x809, not the
0x409 that en-US uses. Look up the full language tag first and fall back
to the language, then to US as before.

Adds region specific layouts for languages the KeyboardLayout enum
already covered: de-CH, en-GB, en-IE, fr-BE, fr-CA, fr-CH and nl-BE.
Identifiers taken from the Microsoft keyboard identifier reference.

Regions that share the plain language layout (de-AT, de-LI, de-LU,
fr-LU, fr-MC) are deliberately not listed.
Signed-off-by: si458 <simonsmith5521@gmail.com>
- Remove encryptionmethod property from wmi query
- Add encryptionmethod through execmethod
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
…8029)

The Remote Desktop Settings dialog computes desktopsettings.rdpflags from the
RDP tab checkboxes and the server already applies them (apprelays.js maps
infos.options.flags to args.perfFlags). The embedded desktop tab passes the
value, but the standalone mstsc.html window never did, so it always fell back
to the hardcoded enablePerf defaults and, for example, removed the remote
wallpaper regardless of what the user had configured.

Pass the value through the URL, following the pattern already used for the
noVNC window, and read it via the existing urlargs parser, which already
coerces numeric values to Number.

The flags argument is placed before ws= on purpose: parseUriArgs() splits the
URL on [?&|=] and pairs even/odd indices, so a base64 cookie ending in a
single = padding character shifts the pairing and drops every argument that
follows it. Placing flags first keeps it at index 0/1 and unaffected.

A flags value of 0 (all options unchecked) is preserved: the check is
typeof == 'number' rather than a truthy test, and the server compares against
null. Without a flags argument, behaviour is unchanged.
Change suggested by @mark-pippin based on an LLM work
Fixes #6491
Signed-off-by: si458 <simonsmith5521@gmail.com>
Signed-off-by: si458 <simonsmith5521@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.