Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Screen refresh and service failing #6666

Open
WingedSpur opened this issue Jan 6, 2025 · 26 comments
Open

Screen refresh and service failing #6666

WingedSpur opened this issue Jan 6, 2025 · 26 comments
Assignees
Labels

Comments

@WingedSpur
Copy link

WingedSpur commented Jan 6, 2025

Describe the bug
A little over a month ago the MeshCentral Server's service (Hosted on Windows 10) failed. It would restart but immidiately fail again. I reinstalled but it didnt help. To correct the issue I used a blank config file. To regain my funtionality I enabled one thing at a time. When it came to re-enabling the session recording it crashed the service again. I have since left it off.

SInce it was off I tried running the session recordings manually but as soon as the recording starts the screen only refreshes in the spots where something changes.

To Reproduce
Steps to reproduce the behavior:
If you minimize a window only the menu bar section refreshes to show what is behind it. If you then mvoe your mouse to where the icons are (but are hidden behind the remnant of the previously minimized window) the Icons highlight as your mouse passes over them and you can see that icon.

Expected behavior
Session recordings previously were always clear and were created automattically for review later.

Screenshots
I have a short screen recording I can add to this bug report that shows the problem.

Server Software (please complete the following information):

  • OS: Microsoft Windows 10 Pro - 22H2/19045
  • Virtualization: N/A
  • Network: LAN/WAN
  • Version: v1.1.35
  • Node: v16.16.0

Client Device (please complete the following information):

  • Device: Laptop (but its the same with all devices)
  • OS: Microsoft Windows 10 Home - 22H2/19045
  • Network: LAN & WAN
  • Browser: Google Chrome
  • MeshCentralRouter Version: N/A

Remote Device (please complete the following information):

  • Device: Workstation (but its the same on all devices)
  • OS: Microsoft Windows 11 Pro for Workstations - 23H2/22631
  • Network: LAN and WAN
  • Current Core Version (if known): Dec 9 2022, 3493876492

Additional context
I know it may be two separate issues but they occured at the same time with the same session recording function

Your config.json file

{
  "$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
  "__comment__": "This is a sample configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
  "settings": {
    "cert": "mc.wingedspur.com",
    "_SQLite3": true,
    "_acebase": { "_sponsor": true },
    "_mongoDb": "mongodb://127.0.0.1:27017",
    "_mongoDbName": "meshcentral",
    "_mongoDbChangeStream": true,
    "_mongoDbBulkOperations": true,
    "_WANonly": true,
    "_LANonly": true,
    "_maintenanceMode": true,
    "_certificatePrivateKeyPassword": [ "password1", "password2" ],
    "_sessionTime": 60,
    "_sessionKey": "MyReallySecretPassword1",
    "_sessionSameSite": "strict",
    "_dbEncryptKey": "MyReallySecretPassword2",
    "_dbRecordsEncryptKey": "MyReallySecretPassword",
    "_dbRecordsDecryptKey": "MyReallySecretPassword",
    "__dbExpire": "Amount of time to keep various events in the database, in seconds. Below are the default values.",
    "_dbExpire": {
      "events": 1728000,
      "powerevents": 864000,
      "statsevents": 2592000
    },
    "port": 443,
    "_portBind": "127.0.0.1",
    "aliasPort": 444,
    "redirPort": 80,
    "_redirPortBind": "127.0.0.1",
    "_redirAliasPort": 80,
    "_relayPort": 453,
    "_relayAliasPort": 463,
    "_relayDNS": "relay.myserver.mydomain.com",
    "_agentPort": 1234,
    "_agentPortBind": "127.0.0.1",
    "_agentAliasPort": 1234,
    "_agentAliasDNS": "agents.myserver.mydomain.com",
    "_agentPortTls": false,
    "_agentLogDump": true,
    "_agentCoreDump": true,
    "_agentCoreDumpUsers": "user1,user2",
    "_agentSignLock": true,
    "_agentTimeStampServer": "http://timestamp.digicert.com",
    "_agentTimeStampProxy": "http://1.2.3.4:80",
    "_ignoreAgentHashCheck": true,
    "_exactPorts": true,
    "_allowLoginToken": true,
    "_StrictTransportSecurity": true,
    "allowFraming": true,
    "_cookieIpCheck": false,
    "_cookieEncoding": "hex",
    "_webRTC": false,
    "_nice404": false,
    "_selfUpdate": true,
    "_cleanNpmCacheOnUpdate": true,
    "_browserPing": 60,
    "_browserPong": 60,
    "_agentsInRam": false,
    "_agentPing": 60,
    "_agentPong": 60,
    "_orphanAgentUser": "admin",
    "_agentIdleTimeout": 150,
    "_webPageLengthRandomization": false,
    "_compression": true,
    "_wsCompression": false,
    "_agentWsCompression": true,
    "_noAgentUpdate": 1,
    "_agentUpdateSystem": 1,
    "_temporaryAgentUpdate": false,
    "_amtScanner": false,
    "_meshScanner": false,
    "_meshErrorLogPath": "c:\\tmp",
    "_npmPath": "c:\\npm.exe",
    "_npmProxy": "http://1.2.3.4:80",
    "_allowHighQualityDesktop": true,
    "_webPush": { "email": "[email protected]" },
    "_publicPushNotifications": true,
    "_desktopMultiplex": true,
    "_ipBlockedUserRedirect": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "_userAllowedIP": "127.0.0.1,192.168.1.0/24",
    "_userBlockedIP": "127.0.0.1,::1,192.168.0.100",
    "_agentAllowedIP": "192.168.0.100/24",
    "_agentBlockedIP": "127.0.0.1,::1",
    "_authLog": "c:\\temp\\auth.log",
    "_InterUserMessaging": [ "user//admin" ],
    "_manageAllDeviceGroups": [ "user//admin" ],
    "_manageCrossDomain": [ "user//admin" ],
    "localDiscovery": {
      "name": "DESKTOP-OTP5U3I",
      "info": "Main Computer"
    },
    "_tlsOffload": "127.0.0.1,::1",
    "_trustedProxy": "127.0.0.1,::1",
    "_mpsPort": 44330,
    "_mpsPortBind": "127.0.0.1",
    "_mpsAliasPort": 4433,
    "_mpsAliasHost": "mps.mydomain.com",
    "_mpsTlsOffload": true,
    "_mpsHighSecurity": true,
    "_no2FactorAuth": true,
    "_lockAgentDownload": true, 
    "_runOnServerStarted": "c:\\tmp\\mcstart.bat",
    "_runOnServerUpdated": "c:\\tmp\\mcupdate.bat",
    "_runOnServerError": "c:\\tmp\\mcerror.bat",
    "_log": "main,web,webrequest,cert",
    "_syslog": "meshcentral",
    "_syslogauth": "meshcentral-auth",
    "_syslogjson": "meshcentral-json",
    "_syslogtcp": "localhost:514",
    "_webrtcConfig": {
      "iceServers": [
        { "urls": "stun:stun.services.mozilla.com" },
        { "urls": "stun:stun.l.google.com:19302" }
      ]
    },
    "_autoBackup": {
      "_mongoDumpPath": "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongodump.exe",
      "backupIntervalHours": 24,
      "keepLastDaysBackup": 10,
      "zipPassword": "MyReallySecretPassword3",
      "_backupPath": "C:\\backups",
      "_googleDrive": {
        "folderName": "MeshCentral-Backups",
        "maxFiles": 10
      },
      "webdav": {
        "url": "https://server/remote.php/dav/files/[email protected]/",
        "username": "user",
        "password": "pass",
        "folderName": "MeshCentral-Backups",
        "maxFiles": 10
      }
    },
    "_redirects": {
      "meshcommander": "https://www.meshcommander.com/"
    },
    "__maxInvalidLogin": "Time in minutes, max amount of bad logins from a source IP in the time before logins are rejected.",
    "_maxInvalidLogin": {
      "time": 10,
      "count": 10,
      "coolofftime": 10
    },
    "__maxInvalid2fa": "Time in minutes, max amount of bad two-factor authentication from a source IP in the time before 2FA's are rejected.",
    "_maxInvalid2fa": {
      "time": 10,
      "count": 10,
      "coolofftime": 10
    },
    "watchDog": {
      "interval": 100,
      "timeout": 400
    },
    "_AmtProvisioningServer": {
      "port": 9971,
      "deviceGroup": "mesh//xxxxxxxxxxxxxxxxxxxxx",
      "newMebxPassword": "amtpassword",
      "trustedFqdn": "sample.com",
      "ip": "192.168.1.1"
    },
    "_crowdsec": {
      "url": "http://localhost:8080",
      "apiKey": "BOUNCER_API_KEY"
    },
    "plugins": { "enabled": true }
  },
  "_domaindefaults": {
    "__comment__": "Any settings in this section is used as default setting for all domains",
    "title": "MyDefaultTitle",
    "footer": "Default page footer",
    "newAccounts": false
  },
  "domains": {
    "": {
      "allowedOrigin": "mc.wingedspur.com",
      "_siteStyle": 2,
      "title": "Winged Spur Consulting",
      "title2": "MeshCentral",
      "_titlePicture": "title-sample.png",
      "_loginPicture": "title-sample.png",
      "_rootRedirect": "https://www.youtube.com/watch?v=Gs069dndIYk",
      "_mobileSite": false,
      "_maxDeviceView": 1000,
      "_unknownUserRootRedirect": "https://www.youtube.com/watch?v=2Q_ZzBGPdqE",
      "_nightMode": 1,
      "_scrollToTop": true,
      "_userQuota": 1048576,
      "_meshQuota": 248576,
      "_loginKey": [ "abc", "123" ],
      "_agentKey": [ "abc", "123" ],
      "_ipkvm": false,
      "_minify": true,
      "_hidePowerTimeline": true,
      "_showNotesPanel": true,
      "_newAccounts": true,
      "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
      "_userNameIsEmail": true,
      "_newAccountEmailDomains": [ "sample.com" ],
      "_newAccountsRights": [ "nonewgroups", "notools" ],
      "_welcomeText": "Sample Text on Login Page.",
      "_welcomePicture": "mainwelcome.jpg",
      "_welcomePictureFullScreen": false,
      "_meshMessengerTitle": "MeshMessenger",
      "_meshMessengerPicture": "messenger.png",
      "___hide__": "Sum of: 1 = Hide header, 2 = Hide tab, 4 = Hide footer, 8 = Hide title, 16 = Hide left bar, 32 = Hide back buttons",
      "_hide": 4,
      "footer": "<a href='https://www.wingedspur.com'>Nunquam Non Paratus</a>",
      "_loginfooter": "This is a private server.",
      "_allowSavingDeviceCredentials": false,
      "_guestDeviceSharing": false,
      "_AutoRemoveInactiveDevices": 37,
      "_DeviceSearchBarServerAndClientName": false,
      "_agentSelfGuestSharing": {
        "expire": 120
      },
      "_certUrl": "https://192.168.2.106:443/",
      "_altMessenging": [
        {
          "name": "Jitsi",
          "url": "https://meet.jit.si/myserver-{0}",
          "localurl": "https://meet.jit.si/myserver-local-{0}",
          "type": "device"
        },
        {
          "name": "Jitsi",
          "url": "https://meet.jit.si/myserver-{0}-{1}-{2}-{3}",
          "localurl": "https://meet.jit.si/myserver-local-{0}-{1}-{2}-{3}",
          "type": "user"
        }
      ],
      "_deviceMeshRouterLinks": {
        "rdp": true,
        "ssh": true,
        "scp": true,
        "extralinks": [
          {
            "name": "HTTP",
            "protocol": "http",
            "port": 80,
            "_ip": "192.168.1.100",
            "_filter": [ "mesh/(domainid)/(meshid)", "node/(domainid)/(nodeid)" ]
          },
          {
            "name": "HTTPS",
            "protocol": "https",
            "port": 443
          }
        ]
      },
      "_assistantTypeAgentInvite": 2,
      "PreconfiguredScripts": [
        {
          "name": "Run NotePad as user",
          "file": "scripts/notepad.bat",
          "type": "bat",
          "runas": "user"
        },
        {
          "name": "Run NotePad as agent",
          "cmd": "notepad.exe",
          "type": "bat",
          "runas": "agent"
        },
        {
          "name": "Run echo",
          "cmd": "echo \"hello world\"",
          "type": "sh",
          "runas": "agent"
        },
        {
          "name": "Agent Update",
          "cmd": "agentupdate",
          "type": "agent"
        }
      ],
      "PreconfiguredRemoteInput": [
        {
          "name": "CompanyUrl",
          "value": "https://help.mycompany.com/"
        },
        {
          "name": "Any Text",
          "value": "Any text\r"
        },
        {
          "name": "Welcome",
          "value": "Default welcome text"
        }
      ],
      "myServer": {
        "Backup": true,
        "Restore": true,
        "Upgrade": false,
        "ErrorLog": false,
        "Console": true,
        "Trace": true,
        "Config": false
      },
      "passwordRequirements": {
        "min": 8,
        "max": 128,
        "upper": 1,
        "lower": 1,
        "numeric": 1,
        "nonalpha": 1,
        "reset": 90,
        "force2factor": true,
        "skip2factor": "127.0.0.1,192.168.2.0/24",
        "oldPasswordBan": 5,
        "banCommonPasswords": false,
        "twoFactorTimeout": 300
      },
      "_twoFactorCookieDurationDays": 30,
      "_agentInviteCodes": true,
      "_agentNoProxy": true,
      "_lockAgentDownload": true, 
      "_geoLocation": true,
      "_novnc": false,
      "_mstsc": true,
      "_ssh": true,
      "_WebEmailsPath": "/myserver/email-templates",
      "_consentMessages": {
        "title": "MeshCentral",
        "desktop": "{0} requesting remote desktop access. Grant access?",
        "terminal": "{0} requesting remote terminal access. Grant access?",
        "files": "{0} requesting remote files access. Grant access?",
        "consentTimeout": 30,
        "autoAcceptOnTimeout": false
      },
      "_notificationMessages": {
        "title": "MeshCentral",
        "desktop": "{0} started a remote desktop session.",
        "terminal": "{0} started a remote terminal session.",
        "files": "{0} started a remote files session."
      },
      "_agentCustomization": {
        "displayName": "Company® Product™",
        "description": "Company® Product™ agent for remote monitoring, management and assistance.",
        "companyName": "Company®",
        "serviceName": "companyagent",
        "image": "agent-logo.png",
        "fileName": "compagnyagent"
      },
      "_agentFileInfo": {
        "icon": "agent.ico",
        "filedescription": "sample_filedescription",
        "fileversion": "0.1.2.3",
        "internalname": "sample_internalname",
        "legalcopyright": "sample_legalcopyright",
        "originalfilename": "sample_originalfilename",
        "productname": "sample_productname",
        "productversion": "v0.1.2.3"
      },
      "_assistantCustomization": {
        "title": "Company® Product™",
        "image": "assistant-logo.png",
        "fileName": "compagny"
      },
      "_androidCustomization": {
        "title": "Company® Product™",
        "subtitle": "Product Subtitle™",
        "image": "assistant-logo.png"
      },
      "_userAllowedIP": "127.0.0.1,192.168.1.0/24",
      "_userBlockedIP": "127.0.0.1,::1,192.168.0.100",
      "_agentAllowedIP": "192.168.0.100/24",
      "_agentBlockedIP": "127.0.0.1,::1",
      "___userSessionIdleTimeout__": "Number of user idle minutes before auto-disconnect",
      "_userSessionIdleTimeout": 30,
      "userConsentFlags": {
        "desktopnotify": false,
        "terminalnotify": false,
        "filenotify": false,
        "desktopprompt": false,
        "terminalprompt": false,
        "fileprompt": false,
        "desktopprivacybar": false
      },
      "_urlSwitching": false,
      "_desktopPrivacyBarText": "Privacy bar: {0}, {1}",
      "_limits": {
        "_maxDevices": 100,
        "_maxUserAccounts": 100,
        "_maxUserSessions": 100,
        "_maxAgentSessions": 100,
        "maxSingleUserSessions": 10
      },
      "_terminal": {
        "_linuxshell": "login",
        "launchCommand": {
          "linux": "clear\necho \"Hello Linux\"\n",
          "darwin": "clear\necho \"Hello MacOS\"\n",
          "freebsd": "clear\necho \"Hello FreeBSD\"\n"
        }
      },
      "_amtScanOptions": [
        "LabNetwork 192.168.15.0/23",
        "SalesNetwork 192.168.8.0/24"
      ],
      "_amtAcmActivation": {
        "log": "amtactivation.log",
        "strictCommonName": false,
        "certs": {
          "mycertname": {
            "certfiles": [
              "amtacm-leafcert.crt",
              "amtacm-intermediate1.crt",
              "amtacm-intermediate2.crt",
              "amtacm-rootcert.crt"
            ],
            "keyfile": "amtacm-leafcert.key"
          }
        }
      },
      "_amtManager": {
        "adminAccounts": [
          {
            "user": "admin",
            "pass": "MyP@ssw0rd"
          }
        ],
        "environmentDetection": [
          "domain1.com",
          "domain2.com",
          "domain3.com",
          "domain4.com"
        ],
        "wifiProfiles": [
          {
            "name": "Profile1",
            "ssid": "MyStation1",
            "authentication": "wpa2-psk",
            "encryption": "ccmp-aes",
            "password": "MyP@ssw0rd"
          }
        ]
      },
      "_redirects": {
        "meshcommander": "https://www.meshcommander.com/"
      },
      "_yubikey": {
        "id": "0000",
        "secret": "xxxxxxxxxxxxxxxxxxxxx",
        "_proxy": "http://myproxy.domain.com:80"
      },
      "_httpHeaders": {
        "Strict-Transport-Security": "max-age=360000",
        "x-frame-options": "SAMEORIGIN"
      },
      "_agentConfig": [ "coreDumpEnabled=1" ],
      "_assistantConfig": [ "disableUpdate=1" ],
      "_sessionRecording": {
        "_onlySelectedUsers": true,
        "_onlySelectedUserGroups": true,
        "_onlySelectedDeviceGroups": true,
        "_filepath": "C:\\Program Files\\Open Source\\MeshCentral\\meshcentral-recordings",
        "_index": true,
        "_maxRecordings": 10,
        "_maxRecordingDays": 15,
        "_maxRecordingSizeMegabytes": 3,
        "__protocols__": "Is an array: 1 = Terminal, 2 = Desktop, 5 = Files, 100 = Intel AMT WSMAN, 101 = Intel AMT Redirection, 200 = Messenger",
        "protocols": [ 1, 2, 101 ]
      },
      "_authStrategies": {
        "__comment__": "This section is used to allow users to login using other accounts. You will need to get an API key from the services and register callback URL's",
        "twitter": {
          "_callbackurl": "https://server/auth-twitter-callback",
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
          "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        },
        "google": {
          "_callbackurl": "https://server/auth-google-callback",
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "clientid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
          "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxx"
        },
        "github": {
          "_callbackurl": "https://server/auth-github-callback",
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
          "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        },
        "reddit": {
          "_callbackurl": "https://server/auth-reddit-callback",
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
          "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        },
        "azure": {
          "_callbackurl": "https://server/auth-azure-callback",
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "clientid": "00000000-0000-0000-0000-000000000000",
          "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
          "tenantid": "00000000-0000-0000-0000-000000000000"
        },
        "jumpcloud": {
          "_callbackurl": "https://server/auth-jumpcloud-callback",
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "entityid": "meshcentral",
          "idpurl": "https://sso.jumpcloud.com/saml2/saml2",
          "cert": "jumpcloud-saml.pem"
        },
        "saml": {
          "_callbackurl": "https://server/auth-saml-callback",
          "_disableRequestedAuthnContext": true,
          "newAccounts": true,
          "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
          "_newAccountsRights": [ "nonewgroups", "notools" ],
          "entityid": "meshcentral",
          "idpurl": "https://server/saml2",
          "cert": "saml.pem"
        },
        "oidc": {
          "authorizationURL": "https://sso.server.com/api/oidc/authorization",
          "callbackURL": "https://mesh.server.com/oidc-callback",
          "clientid": "00000000-0000-0000-0000-000000000000",
          "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
          "issuer": "https://sso.server.com",
          "tokenURL": "https://sso.server.com/api/oidc/token",
          "userInfoURL": "https://sso.server.com/api/oidc/userinfo",
          "logoutURL": "https://sso.server.com/logout",
          "newAccounts": true,
          "groups": {
            "required": [ "groupA", "groupB", "groupC" ],
            "siteadmin": [ "groupA" ],
            "sync": {
              "enable": true,
              "filter": [ "groupB", "groupC" ]
            }
          }
        }
      }
    },
    "_customer1": {
      "_dns": "customer1.myserver.com",
      "_title": "Customer1",
      "_title2": "TestServer",
      "_newAccounts": 1,
      "_auth": "sspi",
      "__auth": "ldap",
      "_LDAPUserName": "gecos",
      "_LDAPUserKey": "uid",
      "_LDAPUserEmail": "otherMail",
      "_LDAPUserGroups": "memberOf",
      "_LDAPSiteAdminGroups": [ "CN=Domain Admins,CN=Users,DC=sample,DC=com" ],
      "_LDAPUserRequiredGroupMembership": [ "CN=Domain Admins,CN=Users,DC=sample,DC=com" ],
      "_LDAPSyncWithUserGroups": { "filter": [ "CN=Domain Admins" ] },
      "_LDAPOptions": {
        "URL": "ldap://1.2.3.4:389",
        "BindDN": "CN=svc_meshcentral,CN=Users,DC=meshcentral,DC=local",
        "BindCredentials": "Password.1",
        "SearchBase": "DC=meshcentral,DC=local",
        "SearchFilter": "(sAMAccountName={{username}})"
      },
      "_footer": "Test",
      "_certUrl": "https://192.168.2.106:443/"
    },
    "_info": {
      "_share": "C:\\ExtraWebSite"
    }
  },
  "letsencrypt": {
    "__comment__": "Requires NodeJS 8.x or better, Go to https://letsdebug.net/ first before trying Let's Encrypt.",
    "email": "[email protected]",
    "names": "mc.wingedspur.com",
    "skipChallengeVerification": false,
    "production": true
  },
  "_peers": {
    "serverId": "server1",
    "servers": {
      "server1": { "url": "wss://192.168.2.133:443/" },
      "server2": { "url": "wss://192.168.1.106:443/" }
    }
  },
  "_smtp": {
    "host": "smtp.gmail.com",
    "port": 587,
    "from": "[email protected]",
    "__tls__": "When 'tls' is set to true, TLS is used immidiatly when connecting. For SMTP servers that use TLSSTART, set this to 'false' and TLS will still be used.",
    "tls": true,
    "___tlscertcheck__": "When set to false, the TLS certificate of the SMTP server is not checked.",
    "_tlscertcheck": true,
    "__tlsstrict__": "When set to true, TLS cypher setup is more limited, SSLv2 and SSLv3 are not allowed.",
    "_tlsstrict": true,
    "_emailDelaySeconds": 300
  },
  "_sendgrid": {
    "from": "[email protected]",
    "apikey": "***********",
    "_emailDelaySeconds": 300
  },
  "_sendmail": {
    "newline": "unix",
    "path": "/usr/sbin/sendmail",
    "_args": [ "-f", "[email protected]" ],
    "_emailDelaySeconds": 300
  },
  "_sms": {
    "provider": "twilio",
    "sid": "ACxxxxxxxxx",
    "auth": "xxxxxxx",
    "from": "+1-555-555-5555"
  },
  "__sms": {
    "provider": "plivo",
    "id": "xxxxxxx",
    "token": "xxxxxxx",
    "from": "1-555-555-5555"
  },
  "___sms": {
    "provider": "telnyx",
    "apikey": "xxxxxxx",
    "from": "1-555-555-5555"
  },
  "____sms": {
    "provider": "url",
    "url": "http://example.com/sms.ashx?phone={{phone}}&message={{message}}"
  },
  "_messaging": {
    "_telegram": {
      "apiid": 0,
      "apihash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "session": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "useWSS": "false",
      "connectionRetries": 60
    },
    "_discord": {
      "serverurl": "https://discord.gg/xxxxxxxxx",
      "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "_ntfy": {
      "host": "https://[my]ntfy.sh",
      "userurl": "https://[my]ntfy.sh/userhelp",
      "authorization": "Basic xxxxxxxxxxxxxxxxxxxx" 
    }
  }
}
@WingedSpur WingedSpur added the bug label Jan 6, 2025
@si458
Copy link
Collaborator

si458 commented Jan 6, 2025

this might be a nodejs issue, you are running the min version 16 and you should really use the latest LTS version
i would recommend, you stop meshcentral, update nodejs to latest lts version (22), then start meshcentral again
and try again and see how you get on

also session recording uses memory and hard drive,
so make sure you have free memory like 1GB and also quick storage (ssd)

@WingedSpur
Copy link
Author

WingedSpur commented Jan 6, 2025 via email

@si458
Copy link
Collaborator

si458 commented Jan 6, 2025

if its windows, did you use the meshcentral installer to set it up originally?
if so just stop meshcentral service in task manager,
then visit https://nodejs.org/en and download the LTS version,
install it (you can ignore the tick to install modules like chocolatey),
then start the meshcentral service in task manager again :)

@WingedSpur
Copy link
Author

WingedSpur commented Jan 6, 2025 via email

@WingedSpur
Copy link
Author

Thank you again for your help.
I have updated to v22.12.0 but the screen refresh issue when manually starting session recordings remains. I havent tried enabling automattically session recording in the config.json yet.

@si458
Copy link
Collaborator

si458 commented Jan 6, 2025

can you share a video at all of whats happening? (i know it sounds strange but sometimes i work best if i can SEE an issue)

@WingedSpur
Copy link
Author

WingedSpur commented Jan 6, 2025 via email

@si458
Copy link
Collaborator

si458 commented Jan 6, 2025

yeh dont include .mcrec file as they are WAY too big,
also no pic attached 👎
you can try the snipping tool to capture a short video and upload that on github.com
https://support.microsoft.com/en-gb/windows/use-snipping-tool-to-capture-screenshots-00246869-1843-655f-f220-97299b865f6b

@WingedSpur
Copy link
Author

WingedSpur commented Jan 6, 2025 via email

@WingedSpur
Copy link
Author

WingedSpur commented Jan 6, 2025 via email

@WingedSpur
Copy link
Author

screen refresh

@si458
Copy link
Collaborator

si458 commented Jan 6, 2025

is that YOUR desktop OR the remotes desktop (but shown in meshcentral) ?
that doesnt seem right?
what settings/quality/etc do you have set in the settings button for the agent?

@WingedSpur
Copy link
Author

WingedSpur commented Jan 7, 2025 via email

@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

no screenshot again im afraid, github just doesnt like picture attachments in emails 😆

@WingedSpur
Copy link
Author

settings button

@WingedSpur
Copy link
Author

That was the screen of the test computer I was remoting into.

@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

so it does this when you click the local session recording icon (bottom right)
OR have session recording enabled on the server itself?

does it do it with ALL your computers OR only a single computer?

daft one, have u tried connecting to the computers from a different computer?

also tried different browsers too?

@WingedSpur
Copy link
Author

WingedSpur commented Jan 7, 2025 via email

@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

whats weird is the localsessionrecording (when u click the record button)
is totally different to the sessionrecording (which is done on the server)
localsessionrecording is done in the browser and sessionrecording is on the server (middle man as you where)
you say its happened from every computer you have remoted from,
have you tried connecting to DIFFERENT computers and seeing if the same thing happens?
if other computers u connect to dont have this issue, then its something with that single computer

@WingedSpur
Copy link
Author

WingedSpur commented Jan 7, 2025 via email

@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

im really not too sure?
im out of ideas apart from try different browsers or try clearing your browser history/cache/cookies/etc
if you are happy, email myself (email on my github profile left hand side) and provide details
and i can connect into your machine and have a look for you as it might be a bug of some form 👍

@WingedSpur
Copy link
Author

I'd be happy to have you take a look remotely. I just left my office so we would need to schedule a time tomorrow that works for you.

@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

@WingedSpur sure! email me whenever or find me @si458 on discord 👍 (its 12.38am here now for me UK TIME GMT)

@WingedSpur
Copy link
Author

WingedSpur commented Jan 7, 2025 via email

@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

@WingedSpur sure email myself (check my github profile left hand side) 👍

@si458 si458 self-assigned this Jan 7, 2025
@si458
Copy link
Collaborator

si458 commented Jan 7, 2025

so just updating this issue for others, after investigating the issue with @WingedSpur,

it appears in some version of chrome/edge when you click local recording,
its hitting a Uncaught RangeError: Maximum call stack size exceeded error
and this is due to String.fromCharCode.apply(null, view)
the fix is actually to split the view up into chunks,
then fromCharCode each chunk and stitch them back together

as for the server not starting when you enable server side sessionRecording,
it appears meshcentral tries to install image-size as expected,
HOWEVER in the process node-sspi tries to reinstall/rebuild itself and it fails for some mad reason, which stops the server from running!
as a general rule NOBDOY uses the sspianymore that im aware of,
so i will disable this being installed via the meshcentralinstaller as this is also another factory,
this problem only comes about IF you used the meshcentralinstaller to setup your server in the first place
node-sspi isnt installed with a normal NPM install unless you setup sspi in the config.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants