Telemetry CLI message contains unknown unicode block (U+FFFD)

Please select the area your bug applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[ ] Workspace.  VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings
[ ] Lookup.  Dendron's Lookup Command
[ ] Views.  Dendron Preview, Tree View, Side Panels in the UI
[ ] Schema.  Dendron Schemas
[ ] Pod.  Data import from / export to Dendron
[ ] Publish.  External Site Publish
[ ] Markdown.  Markdown features, such as syntax support and features

(dendron-cli)
Describe the bug
A clear and concise description of what the bug is.
Displaying an unexpected Unicode block � (Unicode Character 'REPLACEMENT CHARACTER' (U+FFFD))

To Reproduce
Steps to reproduce the behavior:
This is likely only reproducible on Windows (10)

clone repo
run yarn setup
See error

Expected behavior
A clear and concise description of what you expected to happen.
I expected no erroneous characters.
As described in https://github.com/dendronhq/dendron/pull/1487#discussion_r726709371 , it's actually an emoji

Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information)

OS: Windows 10
Browser (if with published websites; include version): [e.g. chrome, safari]
Versions (all that apply to bug):

Dendron Extension: v0.119.0
VS Code version: 1.74.0
Dendron CLI: 0.119.0

Additional context
Add any other context about the problem here.
I am using the integrated terminal (git bash) in vs code
Dendron Log file
Please attach the output of > Dendron:Dev: Open Logs here

{"level":30,"time":1670854210900,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"Logger:configure","msg":"exit","logLevel":"info"}
{"level":30,"time":1670854211024,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"_activate","stage":"prod","isDebug":false,"logLevel":"info","logPath":"c:\Users\User\AppData\Roaming\Code\logs\20221212T220952\window1\exthost\dendron.dendron","extensionPath":"c:\Users\User\.vscode\extensions\dendron.dendron-0.119.0","extensionUri":"c:\Users\User\.vscode\extensions\dendron.dendron-0.119.0","workspaceFolders":["c:\Users\User\Documents\GitHub\dendron"]}
{"level":30,"time":1670854211395,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"No cache path for Segment specified. Failed event uploads will not be retried."}
{"level":30,"time":1670854211396,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"user telemetry setting: enabled by config"}
{"level":30,"time":1670854211396,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"telemetry initializing"}
{"level":30,"time":1670854211396,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"using existing id"}
{"level":30,"time":1670854211396,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"anonymous id","anonymousId":"4l57w24rk7epnsjvxt3p61z"}
{"level":30,"time":1670854211402,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"DendronExtension","msg":"initialized"}
{"level":30,"time":1670854213792,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"_activate","msg":"initializeWorkspace","wsType":"NATIVE","currentVersion":"0.119.0","previousGlobalVersion":"0.119.0","extensionInstallStatus":"NO_CHANGE"}
{"level":30,"time":1670854214092,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceActivator.init:postSetupTraits","wsRoot":"c:\Users\User\Documents\GitHub\dendron\docs"}
{"level":30,"time":1670854214099,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"runMigrationsIfNecessary","changes":[],"workspaceInstallStatus":"NO_CHANGE"}
{"level":30,"time":1670854214099,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceActivator.init:postMigration","wsRoot":"c:\Users\User\Documents\GitHub\dendron\docs"}
{"level":30,"time":1670854214114,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceActivator.init:postWsServiceInitialize","wsRoot":"c:\Users\User\Documents\GitHub\dendron\docs"}
{"level":30,"time":1670854214120,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"execServer","state":"enter"}
{"level":30,"time":1670854214131,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"execServer","state":"post:exec.node"}
{"level":30,"time":1670854215103,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"No cache path for Segment specified. Failed event uploads will not be retried."}
{"level":30,"time":1670854215104,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"user telemetry setting: enabled by config"}
{"level":30,"time":1670854215104,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"telemetry initializing"}
{"level":30,"time":1670854215104,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"using existing id"}
{"level":30,"time":1670854215104,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"anonymous id","anonymousId":"4l57w24rk7epnsjvxt3p61z"}
{"level":30,"time":1670854215126,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"execServer","state":"message","message":"55645"}
{"level":30,"time":1670854215126,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"handleServerProcess","msg":"subprocess running","pid":19980}
{"level":30,"time":1670854215126,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"startServerProcess","msg":"post-start-server","port":55645,"durationStartServer":1009}
{"level":30,"time":1670854215127,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceActivator.init:verifyOrStartServerProcess","port":55645}
{"level":30,"time":1670854215130,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceActivator.init:exit"}
{"level":30,"time":1670854215136,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"user telemetry setting: enabled by config"}
{"level":30,"time":1670854215136,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"telemetry initializing"}
{"level":30,"time":1670854215136,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"using existing id"}
{"level":30,"time":1670854215137,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"anonymous id","anonymousId":"4l57w24rk7epnsjvxt3p61z"}
{"level":30,"time":1670854215137,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","msg":"Telemetry is disabled? false"}
{"level":30,"time":1670854215137,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","msg":"Segment Residual Cache Path is at c:\Users\User\AppData\Roaming\Code\User\globalStorage\dendron.dendron\segmentresidualcache.log"}
{"level":30,"time":1670854215137,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"SegmentClient","msg":"Attempting to flush residual segment data from file."}
{"level":30,"time":1670854215146,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"_activate:postSetupWorkspace","platform":"win32","extensions":[{"id":"dendron.dendron","version":"0.119.0","active":true},{"id":"dendron.dendron-paste-image","version":"1.1.1","active":false},{"id":"dendron.dendron-markdown-shortcuts","version":"0.12.1","active":true},{"id":"redhat.vscode-yaml","version":"1.10.1","active":false}],"vaults":[{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"}]}
{"level":30,"time":1670854215147,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"dendron.reloadIndex:run","msg":"pre-execute"}
{"level":30,"time":1670854215147,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"ReloadIndex.execute","msg":"enter"}
{"level":30,"time":1670854215247,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"dev","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},"imports":["module"]}
{"level":30,"time":1670854215249,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"lang","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},"imports":["module"]}
{"level":30,"time":1670854215250,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"lsdk","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},"imports":[]}
{"level":30,"time":1670854215311,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"module","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}}}
{"level":30,"time":1670854215320,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"pkg","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},"imports":["module"]}
{"level":30,"time":1670854215321,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"rfc","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}}}
{"level":30,"time":1670854215322,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"root","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},"imports":[]}
{"level":30,"time":1670854215322,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"vpkg","root":{"fsPath":"dendron-docs","name":"dendron.docs","selfContained":true,"siteUrl":"https://docs.dendron.so","remote":{"type":"git","url":"https://github.com/dendronhq/dendron-docs.git"}},"imports":["module"]}
{"level":30,"time":1670854215323,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"changelog","root":{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"},"imports":[]}
{"level":30,"time":1670854215323,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"cli","root":{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"},"imports":[]}
{"level":30,"time":1670854215324,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"community","root":{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"},"imports":[]}
{"level":30,"time":1670854215326,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"dendron","root":{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"}}
{"level":30,"time":1670854215327,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"journal","root":{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"},"imports":[]}
{"level":30,"time":1670854215328,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"root","root":{"fsPath":"vault","seed":"dendron.dendron-site","name":"dendron.dendron-site"},"imports":[]}
{"level":30,"time":1670854215333,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"module","root":{"fsPath":"c:\Users\User\Documents\GitHub\dendron\docs\dendron-docs\notes"}}
{"level":30,"time":1670854215339,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"module","root":{"fsPath":"c:\Users\User\Documents\GitHub\dendron\docs\dendron-docs\notes"}}
{"level":30,"time":1670854215346,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"module","root":{"fsPath":"c:\Users\User\Documents\GitHub\dendron\docs\dendron-docs\notes"}}
{"level":30,"time":1670854215352,"pid":19980,"hostname":"DESKTOP-TLHC5B7","name":"logger","ctx":"parsingSchemas","fname":"module","root":{"fsPath":"c:\Users\User\Documents\GitHub\dendron\docs\dendron-docs\notes"}}
{"level":30,"time":1670854216188,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"ReloadIndex.execute","durationEngineInit":1034}
{"level":30,"time":1670854216188,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"ReloadIndex.execute","msg":"exit"}
{"level":30,"time":1670854216188,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"dendron.reloadIndex:run","msg":"post-execute"}
{"level":30,"time":1670854216192,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"reloadWorkspace","msg":"post-ws.reloadWorkspace"}
{"level":30,"time":1670854216192,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"reloadWorkspace","msg":"exit"}
{"level":30,"time":1670854216196,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"postReloadWorkspace","msg":"same wsVersion"}
{"level":30,"time":1670854216196,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"postReloadWorkspace","msg":"exit"}
{"level":30,"time":1670854216196,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"setupViews","msg":"init:treeViewV2"}
{"level":30,"time":1670854216196,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"setupBacklinkTreeView","msg":"init:backlinks"}
{"level":30,"time":1670854216247,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceActivator:activate","msg":"fin startClient","durationReloadWorkspace":1055}
{"level":30,"time":1670854216247,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"activateWorkspace","stage":"prod","msg":"enter"}
{"level":30,"time":1670854216252,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"togglePluginActiveContext","state":"togglePluginActiveContext: true"}
{"level":30,"time":1670854217140,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"showWelcomeOrWhatsNew","version":"0.119.0","previousExtensionVersion":"0.0.0"}
{"level":30,"time":1670854217454,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):onDidReceiveMessage","data":{"type":"onRequestGraphOpts","data":{},"source":"webClient"}}
{"level":30,"time":1670854217471,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"onDidReceiveMessage","data":{"type":"init","data":{"src":"DendronVSCodeApp"},"source":"webClient"}}
{"level":30,"time":1670854217471,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"onDidReceiveMessage","data":{"type":"messageDispatcherReady","data":{},"source":"webClient"}}
{"level":30,"time":1670854217479,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):onDidReceiveMessage","data":{"type":"init","data":{"src":"DendronVSCodeApp"},"source":"webClient"}}
{"level":30,"time":1670854217480,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):onDidReceiveMessage","data":{"type":"messageDispatcherReady","data":{},"source":"webClient"}}
{"level":30,"time":1670854232364,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","msg":"sendSavedAnalytics"}
{"level":30,"time":1670854232364,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"AnalyticsUtils.sendSavedAnalytics","message":"start"}
{"level":30,"time":1670854599451,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\Documents\GitHub\dendron\bootstrap\scripts\chmod-cli.js"]}
{"level":30,"time":1670854599470,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"CalendarView:openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\bootstrap\scripts\chmod-cli.js","msg":"not in workspace"}
{"level":30,"time":1670854599470,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670854599476,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\bootstrap\scripts\chmod-cli.js","msg":"not in workspace"}
{"level":30,"time":1670854599485,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"chmod-cli.js"}
{"level":30,"time":1670854808051,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670854808053,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670854808102,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\Documents\GitHub\dendron\packages\dendron-cli\src\utils\analytics.ts"]}
{"level":30,"time":1670854808110,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670854808112,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"analytics.ts"}
{"level":30,"time":1670855172798,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"dendron.dev.openLogs:run","msg":"pre-execute"}
{"level":30,"time":1670855172798,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"execute","opts":{}}
{"level":30,"time":1670855172807,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"dendron.dev.openLogs:run","msg":"post-execute"}
{"level":30,"time":1670855172877,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670855172878,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855172882,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\AppData\Roaming\Code\logs\20221212T220952\window1\exthost\dendron.dendron\dendron.log"]}
{"level":30,"time":1670855172895,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855172898,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"dendron.log"}
{"level":30,"time":1670855570204,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):onDidReceiveMessage","data":{"type":"onRequestGraphOpts","data":{},"source":"webClient"}}
{"level":30,"time":1670855570216,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"onDidReceiveMessage","data":{"type":"init","data":{"src":"DendronVSCodeApp"},"source":"webClient"}}
{"level":30,"time":1670855570216,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"onDidReceiveMessage","data":{"type":"messageDispatcherReady","data":{},"source":"webClient"}}
{"level":30,"time":1670855570231,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):onDidReceiveMessage","data":{"type":"init","data":{"src":"DendronVSCodeApp"},"source":"webClient"}}
{"level":30,"time":1670855570232,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):onDidReceiveMessage","data":{"type":"messageDispatcherReady","data":{},"source":"webClient"}}
{"level":30,"time":1670855577917,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670855577917,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855577967,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\Documents\GitHub\dendron\package.json"]}
{"level":30,"time":1670855577973,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"CalendarView:openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\package.json","msg":"not in workspace"}
{"level":30,"time":1670855577973,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855577973,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\package.json","msg":"not in workspace"}
{"level":30,"time":1670855577975,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"package.json"}
{"level":30,"time":1670855595546,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670855595546,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855595586,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\Documents\GitHub\dendron\lerna.json"]}
{"level":30,"time":1670855595590,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"CalendarView:openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\lerna.json","msg":"not in workspace"}
{"level":30,"time":1670855595590,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855595591,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\lerna.json","msg":"not in workspace"}
{"level":30,"time":1670855595592,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"lerna.json"}
{"level":30,"time":1670855604916,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670855604917,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855604950,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\Documents\GitHub\dendron\packages\dendron-cli\package.json"]}
{"level":30,"time":1670855604954,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"CalendarView:openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\packages\dendron-cli\package.json","msg":"not in workspace"}
{"level":30,"time":1670855604954,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855604955,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"GraphPanel(side):openTextDocument","uri":"c:\Users\User\Documents\GitHub\dendron\packages\dendron-cli\package.json","msg":"not in workspace"}
{"level":30,"time":1670855604956,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"package.json"}
{"level":30,"time":1670855629639,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670855629640,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855822745,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\Documents\GitHub\dendron\bootstrap\scripts\chmod-cli.js"]}
{"level":30,"time":1670855822747,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855825566,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"dendron.dev.openLogs:run","msg":"pre-execute"}
{"level":30,"time":1670855825566,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"execute","opts":{}}
{"level":30,"time":1670855825590,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"dendron.dev.openLogs:run","msg":"post-execute"}
{"level":30,"time":1670855825678,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":[]}
{"level":30,"time":1670855825679,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855825680,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WindowWatcher:onDidChangeVisibleTextEditors","editorPaths":["c:\Users\User\AppData\Roaming\Code\logs\20221212T220952\window1\exthost\dendron.dendron\dendron.log"]}
{"level":30,"time":1670855825696,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"refreshBacklinksChangeActiveTextEditor"}
{"level":30,"time":1670855825697,"pid":15528,"hostname":"DESKTOP-TLHC5B7","name":"dendron","ctx":"WorkspaceWatcher:onFirstOpen","msg":"enter","fname":"dendron.log"}

Thank you for the report!


Add skip_serializing_none feature

Closes #411 and #262 :)

@tomhoule requested changes were made, let me know if the test looks good.

Sorry for bumping this closed PR, but I'm really struggling to get this to work.
I've added skip_serializing_none to the struct as stated in the README, but doing so still leaves me with null values after serialization.
My first guess was that this hasn't been released yet, so I switch over to the main branch in Cargo.toml, but that changed nothing. Here's the code I'm using:
#[derive(GraphQLQuery)]
#[graphql(
    schema_path = "graphql/schema.graphql",
    query_path = "graphql/insert_mutation.graphql",
    response_derives = "Debug",
    skip_serializing_none
)]
pub struct InsertMutation;

let vars = Variables {
    // .. omitted
    user_id: None,
    // .. omitted
};

let q = crate::graphql::InsertMutation::build_query(vars);

let skipped = serde_json::to_string_pretty(&q).unwrap();
println!("{skipped}");

Output:
{
  "variables": {
    // .. omitted
    "user_id": null,
    // .. omitted
  },
  ...
}

Is there something obvious I'm missing here to make this work, or is this something that warrants it's own issue?


Make xfs as default container root filesystem

Currently ext4 is default root file system for docker. We try to override
it with xfs using docker-storage-setup but that works only when
docker-storage-setup is succesful out of the box. Many of the images
don't have volume groups or don't have free space in volume group so
there is no space to setup lvm thin pool hence docker-storage-setup fails
and hence ext4 is used by default.
This has couple of problems.

We are not consistent. Sometime we use ext4 as container rootfs and
other times we use xfs as rootfs.

Currently docker ext4 is taking long time to do mkfs. Reason being that
it is initializing all the metadata at mkfs time and that slows it down.
Especially with 100G thin device on AWS storage, it takes very long time
and systemd times out. In my experiment on AWS mkfs even on 10G device
was taking more than 3 minutes.

So change default fs to xfs. For upstream discussion about it, refer to.
https://github.com/docker/docker/issues/17464
https://github.com/docker/docker/pull/17627
Signed-off-by: Vivek Goyal<EMAIL_ADDRESS>

Looks fine to me, just another patch where we'll need to track upstreaming status.

upstream might/might not change their default to xfs. If they do change good, otherwise we will have carry this patch for a long time.

Docker already closed this.  Shouldn't the default be just the default of whatever /var/lib/docker has?  IE If it is xfs or ext4?

Why host fs type matters? For the sake of uniformity of fs throughout the whole stack?

I think it is a good indicator of the type of file systemd the user/distribution decided to use by default.

Right but at the same time some of the usage/considerations are different in container environment so what's best for host might not be best for container rootfs.

We don't take so many snapshots of host fs. So we can afford to do lazy initialization on host. But on guest, we take many snapshots and lazy initialization in ext4 should lead to multiple copies of same metadata leading to higher thin pool usage.

Host might be using a filesystem which is not supported as container rootfs (say btrfs).

We are not dealing with thin devices for host fs while do large thin devices for container rootfs.

Having said that, I like the idea in general. May be we can implement it down the line once we
have introduced lazy initialization back into ext4 as container rootfs.

@rhatdan I wrote proof of concept patches to determine default fs type based on fs type of /var/lib/docker/devmapper.
https://github.com/rhvgoyal/docker/commits/dynamic-default-rootfs
But this will work only if we first allow lazy initialization of metadata in ext4. And I think that can be a problem and can lead to huge amount of duplicated data in thin pool. So I am not keen to make that change till somebody has done some analysis and proven that impact of that additional duplicate data is not significant.

The idea of this patch was merged upstream.


No permission for accessing the dataset

Very nice work! However, I've encountered an issue where the provided Google Drive link for data download does not grant access permissions. Would you be able to assist in resolving this?

👀

mee too, How can I get access to the dataset?

I'm also experiencing the same issue with the Google Drive link for data download – it's not granting access permissions. Looking forward to a resolution or an alternative link.


Added 2 helper functions for creating plaster manifest files. Updated…

Added some minor updates to the xsd schema to include more parameters for new-modulemanifest.
Added code to invoke-plaster to accommodate the change above (and automatically look for more module manifest settings to pull in for existing manifest files.
Added 2 helper functions to more easily create both parameter and content xml code snippets for plaster manifest files from standard PowerShell hashes (Write-PlasterContent and Write-PlasterParameter).

@zloeber,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot

@zloeber, thanks for signing the contribution license agreement. We will now validate the agreement and then the pull request.
Thanks, Microsoft Pull Request Bot

Thanks for the contribution!  This probably would have been better to submit as two PRs - one for the schema change and another for the addition of the two commands.  But we'll go with it combined for now.  I'll have a number of comments - mostly style but there are a few other non-style issues to address.

Wow, that was a quick turnaround and review of things. I honestly expected the pull request to sit for a while. Regardless, I made some mistakes on the write-plastercontent function that I needed to rectify anyway. I was questioning some of the PascalCase formatting as it didn't seem to be consistent within the actual schema file. (companyName, rootModule, author, et cetera).
I'm extremely grateful for the review and will make all necessary changes. Thanks for nudging me in the right direction instead of stomping all over me, it absolutely is encouraging and helpful and I appreciate it probably more than you might realize.

No problem. It's great to have more contributors.  Oh, and ignore the comments about bumping the schema version.  Apparently I already updated the schema version for some changes to support Linux.  :-)

Thanks @zloeber, awesome that you decided to contribute!
Yep, we should release Plaster 1.1 with the next PowerShell extension update since I need to make a change to Plaster's prompting behavior when run inside of the editor.  I'll try to get a PR for that sent tomorrow.

I believe I've covered the bases for most of the items that have been pointed out. If you haven't figured it out I'm really just trying to lower the bar of entry to Plaster by making the parameter and content blocks a bit easier to fabricate than manually crafting xml. I'll take no offense if the proposed functions don't make the cut for being exported in the next release of the module (though I'll still use them to create my Plaster manifest files). Thanks again for tolerating my pull request from nowhere and giving constructive feedback. I don't contribute to projects very often so I'm a bit green on all this.

@zloeber Thanks for making those changes.  I'll try to carve out some time tonight to take the helper commands for a test spin.
BTW another way to ease creation of the Plaster template is to use the VSCode snippets we ship in the snippets dir of the Plaster module.  Unfortunately you have to manually copy these to your user snippets folder e.g. C:\Users\Keith\AppData\Roaming\Code\User\snippets\xml.json

I was testing this a little further and the additional module manifest properties never get added. I tinkered a bit with some of the code in invoke-plaster to get it working but I think I'm still missing the logic point of pulling in just some of the module manifest properties if the manifest file already exists. Anyway, here are the changes I made (specifically to ProcessNewModuleManifest and CopyModuleManifestPropertyToHashtable). It makes the attribute processing a bit more generic but then introduces more exceptions (openineditor, encoding, destination, et cetera). And Tags still don't work...
Not doing another pull request on this as I've futzed with some of the core module manifest creation code so it's more of a consideration I suppose.
function CopyModuleManifestPropertyToHashtable([PSModuleInfo]$oldModuleManifest, [hashtable]$hashtable, [string[]]$Property) {
    foreach ($prop in $Property) {
        # if the property exists in the old manifest file but not in our existing hash then add it.
        if (($oldModuleManifest.$prop) -and ($null -eq $hashtable.$prop)) {
            if ($prop -eq 'Tags') {
                $hashtable[$prop] = @($oldModuleManifest.$prop)
            }
            else {
                $hashtable[$prop] = ($oldModuleManifest.$prop).ToString()
            }
        }
    }
}

function ProcessNewModuleManifest([ValidateNotNull()]$Node) {
    $DefinedProperties = @($node | Get-Member -Type:Property).Name
    $newModuleManifestParams = @{}
    ForEach ($ModProp in $DefinedProperties) {
        $PropVal = InterpolateAttributeValue $Node.$ModProp (GetErrorLocationNewModManifestAttrVal $ModProp)
        if (![string]::IsNullOrWhiteSpace($PropVal)) {
            switch ($ModProp) {
                'tags' {
                    $newModuleManifestParams['Tags'] = @($PropVal -split ',' | ForEach-Object {$_.trim()})
                }
                'destination' {
                    $dstRelPath = $PropVal
                }
                'encoding' {}
                'openInEditor' {}
                Default {
                    $newModuleManifestParams[$ModProp] = $PropVal
                }
            }
        }
    }

    # We could choose to not check this if the condition eval'd to false
    # but I think it is better to let the template author know they've broken the
    # rules for any of the file directives (not just the ones they're testing/enabled).
    if ([System.IO.Path]::IsPathRooted($dstRelPath)) {
        throw ($LocalizedData.ErrorPathMustBeRelativePath_F2 -f $dstRelPath,$Node.LocalName)
    }

    $dstPath = $PSCmdlet.GetUnresolvedProviderPathFromPSPath((Join-Path $DestinationPath $dstRelPath))

    $condition  = $Node.condition
    if ($condition -and !(EvaluateConditionAttribute $condition "'<$($Node.LocalName)>'")) {
        $PSCmdlet.WriteDebug("Skipping module manifest generation for '$dstPath', condition evaluated to false.")
        return
    }

    $encoding = $Node.encoding
    if (!$encoding) {
        $encoding = $DefaultEncoding
    }

    if ($PSCmdlet.ShouldProcess($dstPath, $LocalizedData.ShouldProcessNewModuleManifest)) {
        $manifestDir = Split-Path $dstPath -Parent
        if (!(Test-Path $manifestDir)) {
            VerifyPathIsUnderDestinationPath $manifestDir
            Write-Verbose ($LocalizedData.NewModManifest_CreatingDir_F1 -f $manifestDir)
            New-Item $manifestDir -ItemType Directory > $null
        }

        # If there is an existing module manifest, load it so we can reuse old values not specified by
        # template.
        if (Test-Path -LiteralPath $dstPath) {
            $oldModuleManifest = Test-ModuleManifest -Path $dstPath -ErrorAction SilentlyContinue
            if ($? -and $oldModuleManifest) {
                # We are only interested in module manifest properties not defined in the plaster manifest
                $props = 'Guid', 'Description', 'DefaultCommandPrefix', 'RootModule', 'AliasesToExport',
                            'CmdletsToExport', 'DscResourcesToExport', 'VariablesToExport',
                            'FormatsToProcess', 'TypesToProcess', 'ScriptsToProcess', 'Tags', 'Author',
                            'CompanyName', 'LicenseUri', 'ProjectUri', 'IconUri' | Where-Object {$DefinedProperties -notcontains $_}

                if ($props.count -gt 0) {
                    CopyModuleManifestPropertyToHashtable $oldModuleManifest $newModuleManifestParams $props
                }
            }
        }

        $tempFile = $null

        try {
            $tempFileBaseName = "moduleManifest-" + [Guid]::NewGuid()
            $tempFile = [System.IO.Path]::GetTempPath() + "${tempFileBaseName}.psd1"
            $PSCmdlet.WriteDebug("Created temp file for new module manifest - $tempFile")
            $newModuleManifestParams['Path'] = $tempFile

            # Generate manifest into a temp file.
            New-ModuleManifest @newModuleManifestParams

            # Typically the manifest is re-written with a new encoding (UTF8-NoBOM) because Git hates UTF-16.
            $content = Get-Content -LiteralPath $tempFile -Raw

            # Replace the temp filename in the generated manifest file's comment header with the actual filename.
            $dstBaseName = [System.IO.Path]::GetFileNameWithoutExtension($dstPath)
            $content = $content -replace "(?<=\s*#.*?)$tempFileBaseName", $dstBaseName

            WriteContentWithEncoding -Path $tempFile -Content $content -Encoding $encoding

            CopyFileWithConflictDetection $tempFile $dstPath

            if ($PassThru -and ($Node.openInEditor -eq 'true')) {
                $InvokePlasterInfo.OpenFiles += $dstPath
            }
        }
        finally {
            if ($tempFile -and (Test-Path $tempFile)) {
                Remove-Item -LiteralPath $tempFile
                $PSCmdlet.WriteDebug("Removed temp file for new module manifest - $tempFile")
            }
        }
    }
}

The tags issue was a plaster manifest problem on my end. They do work. Here is one other alternate to allow for all valid new-modulemanifest parameters that are attainable through test-modulemanifest for reusing when the manifest file exist but values are not being passed through Plaster. This should hopefully cover for all new plaster schema changes for module manifest files moving forward (I think)
function CopyModuleManifestPropertyToHashtable([PSModuleInfo]$oldModuleManifest, [hashtable]$hashtable, [string[]]$Property) {
    foreach ($prop in $Property) {
        # if the property exists in the old manifest file but not in our existing hash then add it.
        if (($oldModuleManifest.$prop) -and ($null -eq $hashtable.$prop)) {
            if (($prop -eq 'Tags') -and (($oldModuleManifest.$prop).Count -gt 0)) {
                $hashtable[$prop] = @($oldModuleManifest.$prop)
            }
            else {
                $hashtable[$prop] = ($oldModuleManifest.$prop).ToString()
            }
        }
    }
}

function ProcessNewModuleManifest([ValidateNotNull()]$Node) {
    $DefinedProperties = @($node | Get-Member -Type:Property).Name
    $newModuleManifestParams = @{}
    ForEach ($ModProp in $DefinedProperties) {
        $PropVal = InterpolateAttributeValue $Node.$ModProp (GetErrorLocationNewModManifestAttrVal $ModProp)
        if (![string]::IsNullOrWhiteSpace($PropVal)) {
            switch ($ModProp) {
                'tags' {
                    Write-Output "Test Tags: $PropVal"
                    $newModuleManifestParams['Tags'] = @($PropVal -split ',' | ForEach-Object {$_.trim()})
                }
                'destination' {
                    $dstRelPath = $PropVal
                }
                'encoding' {}
                'openInEditor' {}
                Default {
                    $newModuleManifestParams[$ModProp] = $PropVal
                }
            }
        }
    }

    # We could choose to not check this if the condition eval'd to false
    # but I think it is better to let the template author know they've broken the
    # rules for any of the file directives (not just the ones they're testing/enabled).
    if ([System.IO.Path]::IsPathRooted($dstRelPath)) {
        throw ($LocalizedData.ErrorPathMustBeRelativePath_F2 -f $dstRelPath, $Node.LocalName)
    }

    $dstPath = $PSCmdlet.GetUnresolvedProviderPathFromPSPath((Join-Path $DestinationPath $dstRelPath))

    $condition = $Node.condition
    if ($condition -and !(EvaluateConditionAttribute $condition "'<$($Node.LocalName)>'")) {
        $PSCmdlet.WriteDebug("Skipping module manifest generation for '$dstPath', condition evaluated to false.")
        return
    }

    $encoding = $Node.encoding
    if (!$encoding) {
        $encoding = $DefaultEncoding
    }

    if ($PSCmdlet.ShouldProcess($dstPath, $LocalizedData.ShouldProcessNewModuleManifest)) {
        $manifestDir = Split-Path $dstPath -Parent
        if (!(Test-Path $manifestDir)) {
            VerifyPathIsUnderDestinationPath $manifestDir
            Write-Verbose ($LocalizedData.NewModManifest_CreatingDir_F1 -f $manifestDir)
            New-Item $manifestDir -ItemType Directory > $null
        }

        # If there is an existing module manifest, load it so we can reuse old values not specified by
        # template.
        if (Test-Path -LiteralPath $dstPath) {
            $oldModuleManifest = Test-ModuleManifest -Path $dstPath -ErrorAction SilentlyContinue
            if ($? -and $oldModuleManifest) {
                # First get all non-advanced function parameters that new-modulemanifest uses
                $IgnoredManifestVals = @('Path', 'PrivateData', 'PassThru')
                $ValidModuleManifestParams = (Get-Command New-ModuleManifest).Parameters.keys | ForEach-Object { if (($a.Parameters[$_].Attributes.TypeId.Name -notcontains 'AliasAttribute') -and ($IgnoredManifestVals -notcontains $_)) {$_} }

                # Get a list of properties that have values already from the old manifest but
                # are not defined in the plaster manifest and are also valid new-modulemanifest parameters
                $props = @(($oldModuleManifest | Get-member -Type 'Property' |
                            Where-Object {($null -ne $oldModuleManifest.($_.Name)) -and
                            ($_.Name -ne 'PSData') -and
                            (-not [string]::IsNullOrEmpty(($oldModuleManifest))) -and
                            ($ValidModuleManifestParams -contains $_.Name)}).Name |
                        Where-Object {$DefinedProperties -notcontains $_})
                if ($props.count -gt 0) {
                    CopyModuleManifestPropertyToHashtable $oldModuleManifest $newModuleManifestParams $props
                }
            }
        }

        $tempFile = $null

        try {
            $tempFileBaseName = "moduleManifest-" + [Guid]::NewGuid()
            $tempFile = [System.IO.Path]::GetTempPath() + "${tempFileBaseName}.psd1"
            $PSCmdlet.WriteDebug("Created temp file for new module manifest - $tempFile")
            $newModuleManifestParams['Path'] = $tempFile

            # Generate manifest into a temp file.
            New-ModuleManifest @newModuleManifestParams

            # Typically the manifest is re-written with a new encoding (UTF8-NoBOM) because Git hates UTF-16.
            $content = Get-Content -LiteralPath $tempFile -Raw

            # Replace the temp filename in the generated manifest file's comment header with the actual filename.
            $dstBaseName = [System.IO.Path]::GetFileNameWithoutExtension($dstPath)
            $content = $content -replace "(?<=\s*#.*?)$tempFileBaseName", $dstBaseName

            WriteContentWithEncoding -Path $tempFile -Content $content -Encoding $encoding

            CopyFileWithConflictDetection $tempFile $dstPath

            if ($PassThru -and ($Node.openInEditor -eq 'true')) {
                $InvokePlasterInfo.OpenFiles += $dstPath
            }
        }
        finally {
            if ($tempFile -and (Test-Path $tempFile)) {
                Remove-Item -LiteralPath $tempFile
                $PSCmdlet.WriteDebug("Removed temp file for new module manifest - $tempFile")
            }
        }
    }
}

Sorry, I made multiple mistakes on what could be a good addition to this project due to lack of git etiquette and experience. I think I have a better grip on things now and will split this PR out into two separate PRs based on your current code base.
BTW, the large number of modifications was due to VS code auto-code formatting after pasting a bunch of the code, whoops. Another lesson learned...


Width is not calculated properly when  is set with overflow property

I noticed there are some weird scenarios where width is not calculated properly with overflow visible property.
Consider this
<PanelGroup direction="horizontal" style={{ width: "500px" }}>
  <Panel defaultSize={25} style={{ background: "red" }}>
    CONTENT A
  </Panel>
  <PanelResizeHandle />
  <Panel
    defaultSize={25}
    minSize={10}
    style={{ overflow: "visible", background: "yellow" }}
  >

CONTENT B

  </Panel>
</PanelGroup>

In this case, since CONTENT B is set at 500px, it takes the entire panel group and becomes unadjustable. If we set it to 250px, then it takes half the screen and cannot be adjusted.
My initial assumption is the content should just overflow, regardless of the panel's width. But I am not sure if this is in line with the author's goals.

Real world use case:
In some cases you want a popover, a modal, or something else that lives within the Panel's component structure, this can be far down the list but is absolutely positioned to be rendered beyond the bounds of the Panel.
The default behavior is all contents are hidden outside the Panel's bounds.
Quickest solution is to used a fixed position for any target element, but this means the element in question will no longer adjust on panel resize.

This library is built on top of flexbox layout. What you're describing sounds like a behavior of flexbox, as I think the following Code Sandbox demonstrates: https://codesandbox.io/p/sandbox/wj6stg
I don't think this is something I should try to work around. (I'm not even sure that I could work around it without dramatically changing how I handle layout.) I'd suggest using a portal or something if you want content to exceed the boundaries of its parent panel. 😄


Display arrival and departure city as primary text

Is your feature request related to a problem? Please describe.
I would like to use this component to display all the segments in a reservation. For example, a guest has a reservation like so:
PDX-SEA
SEA-DCA
DCA-SEA
SEA-PDX
The auro-flight component seems to be a good fit, but it currently emphasizes the departure and arrival time (great for shopping  search results). However, in the post-booking path (when viewing a reservation), the emphasis is now on departure/arrival locations. See 1st screenshot below.
Describe the solution you'd like

Swap the departure/arrival time with departure/arrival city location.
Another component specifically designed for flights in a reservation. Is there an opportunity to unify how all flights in a reservation should look? See the mobileweb screenshot below.

Describe alternatives you've considered
None
Additional context
Desired UI for Preorder food

And here's the current ViewRes on m.alaskaair.com

And here is what ViewRes looks like on desktop:

It would be great if another designer could team up with @leeejune to help see if there is a variant we can do with the current auro-flight and auro-flightline elements to be useable in these other spaces.

@jordanchang do you have a status update for this? To move this forward, please have your product designer consult with @leeejune to see if there is a path forward in the current flight element or if there are other opportunities.
I am labeling this issue as BLOCKED as there needs to be a conversation before we can have a resolution.

This request appears to have been abandoned. @jordanchang if you are still interested in persuing this design feature, please have your team's designer reach out to @leeejune for consultation.


Extend cert time for a year in case of OKD

Right now our OKD bundles have cert validity is only 30days but on OCP side we now have 1 year after patching KCMO/KAO images and generating a new release on quay.io  . We should do same for OKD side, need to check with OKD community how those releases generated and try to create same script which we have for OCP to extend the cert with patched images.

As per internal discussion with community member looks like OKD bits are completely generated from the CI ( no brew/koji involved) so to we have to generate those patched images locally and push it. we can discuss it here if there is some better solution for it.

As per internal discussion with community member looks like OKD bits are completely generated from the CI ( no brew/koji involved) so to we have to generate those patched images locally and push it.

Not sure what you mean by "locally", but the patched images could be built directly on quay, or through a github action, or even on brew/koji if we want to. They don't have to be built on a local machine and pushed.


Switch the user profile link in sidebar to go to stats tab

It seems to me that this is likely the best tab, because the profit graph is likely to be the most interesting info.

Hmm, I don't think I agree. I believe most people go back to trades to check up on markets they already bet on.

Since there's no consensus on this and no way to get consensus I guess we aren't changing it.


Segmentation fault

I'm running julia version 1.10.0 on fedora core 38. After running the example code
>> jlcall('sort', {rand(2,5)}, struct('dims', int64(2)))
I obtain the following
Installing MATDaemon environment...
/home/maikel/.juliaup/bin/julia --project=/home/maikel/Documents/Papers/PNDDE/Demos/.jlcall --threads=auto --startup-f
ile=no --quiet --optimize=3 /home/maikel/Documents/Papers/PNDDE/Demos/.jlcall/tmp/0000_mat_tp4e940703_653a_4fbd_a470_1
1efb95cb486.jl: Segmentation fault

Hi, I had the same error and it turned out to be a Matlab issue: https://fr.mathworks.com/matlabcentral/answers/321256-system-command-gives-segmentation-fault
I solved it by changing the system commands in jlcall.m to: [st, res] = system(['source ~/.bash_profile; ', cmd]);
I'm sure there is a more robust solution but it worked.

Thanks for looking into this! That's very odd, but I have seen issues in the past with Matlab and environment variables. Somewhat confused why sourcing .bash_profile fixes your issue, but if it works for OP too then I'll close this.


"[ERROR] Failed to execute [...] upload-pacts on project consumer: Failed to read pacts: source" when pactBroker requires user & password

Hi. I have a working project, now I'm trying to change my pact broker to the one that requires a username and a password (I've created one with https://pact.dius.com.au/).
Unfortunately I keep getting an error message: Failed to execute goal com.github.warmuuh:pactbroker-maven-plugin:0.0.10:upload-pacts (default-cli) on project consumer: Failed to read pacts: source
You can find my settings and the full stack trace below. I can't see anything wrong with the config. But pact plugin is not able to establish the connection with my new pact broker. Is anything wrong with my config or is there a bug in the plugin?
BTW, error message is not very accurate, is it. It says "Failed to read pacts" while it actually failed to UPLOAD pacts. Maybe the plugin needs to read something first to then upload pacts, but for the end user it's really confusing. Could you do something about it pls?
My settings:
I've updated existing settings according to the description on the plugin page: https://github.com/warmuuh/pactbroker-maven-plugin
I've added <username> and <password> and upgraded plugin version from 0.0.5 to 0.0.10
The result is:
<plugin>
    <groupId>com.github.warmuuh</groupId>
    <artifactId>pactbroker-maven-plugin</artifactId>
    <version>0.0.10</version>
    <configuration>
        <brokerUrl>https://MY_P_BROKER.pact.dius.com.au</brokerUrl>
        <username>MY_USER</username>
        <password>MY_PASS</password>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>upload-pacts</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Full stack trace:
[ERROR] Failed to execute goal com.github.warmuuh:pactbroker-maven-plugin:0.0.10:upload-pacts (default-cli) on project consumer: Failed to read pacts: source -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.warmuuh:pactbroker-maven-plugin:0.0.10:upload-pacts (default-cli) on project consumer: Failed to read pacts
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to read pacts
	at com.github.wrm.pact.maven.UploadPactsMojo.execute(UploadPactsMojo.java:92)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
	... 19 more
Caused by: java.lang.NullPointerException: source
	at java.util.Objects.requireNonNull(Objects.java:228)
	at java.util.Scanner.<init>(Scanner.java:578)
	at com.github.wrm.pact.repository.BrokerRepositoryProvider.uploadPact(BrokerRepositoryProvider.java:111)
	at com.github.wrm.pact.repository.BrokerRepositoryProvider.uploadPacts(BrokerRepositoryProvider.java:40)
	at com.github.wrm.pact.maven.UploadPactsMojo.execute(UploadPactsMojo.java:89)
	... 21 more

I had the same problem, the password and username are only used for git auth (GitRepositoryProvider) and not for the broker:
AbstractPactsMojo.java
 if (url.endsWith(".git")) {
            Optional<CredentialsProvider> credentialProvider = this.getCredentialsProvider(username, password);
            return new GitRepositoryProvider(url, this.getLog(), credentialProvider);
        } else {
            return new BrokerRepositoryProvider(url, consumerVersion, this.getLog());
        }

No credentials are given to the broker repository

didnt saw that the pom versino is still set to 0.0.10. I bumped it to 0.0.13, please try with this version


feat: measureRec for strong induction use cases

This is from @nomeata's Zulip comment: https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Contributing.20a.20strong.20induction.20for.20lists/near/442796959. It can subsume, for example, mathlib's Finset.strongInductionOn and Multiset.strongInductionOn.
In situations where it doesn't make sense to extract a goal into a top-level theorem/def, induction _ using measureRec will be more convenient than let rec -> termination_by -> decreasing_by -> exact.

This is neat! I wonder though if this belongs in Batteries.Data.Nat.Basic or in Batteries.WF. Both options appear to have equal pros and cons to me.

This is neat! I wonder though if this belongs in Batteries.Data.Nat.Basic or in Batteries.WF. Both options appear to have equal pros and cons to me.

Interesting idea!

I think the Nat version makes more sense.

I think the Nat version makes more sense.

sure, changed it bakc.

awaiting-review


Updating osdssg.js file with code to process .md File

Hi Hung,
I have added code to process the . md file.
The functions I have modified are as following:

create a new function textToPMD to process transfer markdown text to HTML body part
Add  if-else code block to read file call back function
Please check my code and let me know if there are any issues.
Thank you!

Thanks for your hard-work Emily. I have seen no errors so far. Well done!!


Chat Controls: ollama model parameters override the options payload.

Bug Report
Description
Bug Summary:
In chat controls, you can set various options. For simplicity, we will use num_ctx as the example (but it applies to all parameters). If I set num_ctx to a value, but the model has a parameter set in OpenWebUI (not ollama!), then it is the parameter of the OpenWebUI model that will be used.
Steps to Reproduce:

Create an ollama model in OpenWebUI. Set its num_ctx parameter to something, say 4096.
Start a chat with said model, and set the num_ctx parameter to say 1024 in the chat  controls box.
The API request goes to /ollama/api/chat, and sends the proper payload to the server.
Check ollama logs, and num_ctx will still be 4096.

This affects all parameters that OpenWebUI supports.
Expected Behavior:
In the example above, I'd expect ollama to spawn with num_ctx = 1024.
Actual Behavior:
OpenWebUI forcibly overwrites any incoming parameters in the Ollama chat completion endpoint, if the model has parameters defined in OpenWebUI:

    model_id = form_data.model
    model_info = Models.get_model_by_id(model_id)

    if model_info:
        if model_info.base_model_id:
            payload["model"] = model_info.base_model_id

        model_info.params = model_info.params.model_dump()

        if model_info.params:
            payload["options"] = {}

            if model_info.params.get("mirostat", None):
                payload["options"]["mirostat"] = model_info.params.get("mirostat", None)

            # and so on...

Since the options key is cleared out, this means chat controls subtly do not always work for ollama models.
Environment

Open WebUI Version: 0.3.8

Ollama (if applicable): 0.2.5

Operating System: Gentoo Linux

Browser (if applicable): Firefox

Reproduction Details
Confirmation:

[X] I have read and followed all the instructions provided in the README.md.
[X] I am on the latest version of both Open WebUI and Ollama.
[X] I have included the browser console logs.
[X] I have included the Docker container logs.

Logs and Screenshots
Browser Console Logs:
This is the request sent to the server. I have set num_ctx to 8192. But the model has it forcibly defined as 1024 in OpenWebUI.

Ollama still shows num_ctx as 1024:

llm_load_tensors: offloading 40 repeating layers to GPU
llm_load_tensors: offloading non-repeating layers to GPU
llm_load_tensors: offloaded 41/41 layers to GPU
llm_load_tensors:      ROCm0 buffer size =  8897.23 MiB
llm_load_tensors:        CPU buffer size =   629.00 MiB
llama_new_context_with_model: n_ctx      = 1024
llama_new_context_with_model: n_batch    = 512
llama_new_context_with_model: n_ubatch   = 512
llama_new_context_with_model: flash_attn = 0
llama_new_context_with_model: freq_base  = 5000000.0
llama_new_context_with_model: freq_scale = 1
llama_kv_cache_init:      ROCm0 KV buffer size =    40.00 MiB
llama_new_context_with_model: KV self size  =   40.00 MiB, K (f16):   20.00 MiB, V (f16):   20.00 MiB
llama_new_context_with_model:  ROCm_Host  output buffer size =     0.59 MiB
llama_new_context_with_model:      ROCm0 compute buffer size =   304.00 MiB
llama_new_context_with_model:  ROCm_Host compute buffer size =    10.01 MiB
llama_new_context_with_model: graph nodes  = 1606
llama_new_context_with_model: graph splits = 2

Installation Method
Docker

Should be fixed on dev, keep me updated!


Api/v1alpha1/databackup types.go

Ⅰ. Describe what this PR does
This pr is to add 添加或规范License信息 (情况二：有Apache License的通告声明，但缺少Copyright).
Ⅱ. Does this pull request fix one issue?

fixes #XXXX
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

remove "HERE.txt.txt" and add "-s" when you use command "git commit"


Handle protocols that start as plain text and switch to TLS

Is your feature request related to a problem? Please describe.
I am trying to MITM a MySQL protocol connection. This protocol can start as plain text, and then switch to TLS (as signified by a Client Hello).
Describe the solution you'd like
A mode that repeatedly checks messages for a TLS initialization. This does not apply to HTTP as far as I know, and would only be for other TCP protocols.
Describe alternatives you've considered
I'm not aware of any alternatives possible with mitmproxy. The next choice I know of is a custom tool.
Additional context
I'd also be happy to apply a manual patch for my current purposes if that's feasible.

Yeah, supporting STARTTLS etc would be nice. That's probably more important once we support server greetings, and should be trivial to implement for sans-io. :)
refs #1775

Any update on its implementation yet ?

This would be awesome.

Every few months I bump into debugging a starttls session and eventually Google my way back here. I'd love this feature to be added (maybe a sponsored feature?).

If someone wants to sponsor this I'm happy to talk, otherwise I don't have a use case myself for this at the moment. :)

If anyone wants to chip in gathering some funds to sponsor this feature drop me an email
@jtpereyda @karano-techie @guyskk

I appreciate you taking the initiative here @glennzw (and thanks for the nice meeting earlier), but if someone wants to sponsor work on mitmproxy please reach out to me or someone else from @mitmproxy/devs directly. :)
(I absolutely understand there's no malice intended from your side here)

Is there any more interest for this? Would love to take a stab at it.

Any update on this? Currently in the need of a tool which can let me look into the communication between my application and Microsoft SMTP server smtp.office365.com when connected through STARTTLS


blurry backgrounds

Is there a way to make the backgrounds on the generated pictures not be blurry? I've tried different prompts and only occasionally do I get one without the background being blurry. The prompts I've tried are- sharp background, crisp background, HQ background, photograph background, realistic background.
Negative prompts I used are- blurry, out of focus background.
Is there a trick to it or does it just happen out of random?
If it helps or not, the pictures I used for training had clear photographs in case that affects the outcome in some way.

well, not sure what I did differently, but I had to train the model again since I had to delete everything. Now, all the backgrounds are in great shape with only a few coming out blurry. So I'll say I guess it depends on how the model was trained?


🔥📈 App insights not working

Hi Team,
Describe the Bug
There is no data going to app insights

Tasks

[x] Investigate
[ ] Fix

Thanks!

Close the issue because we need to manually select "Browser" to view the data in Application Insights.


1.14.2 spell cat

Hello the spall cat doesn't work in 1.14.2 (the cat change id in 1.14)
https://zupimages.net/up/19/22/dbln.png
https://pastebin.com/NDffL13q

This will be fixed in the next dev build.


build section is not optional

I think the intention is that the build section in the v2 spec is optional, as it is under conda-build, but it looks like there's a bug in the implementation:
https://github.com/mamba-org/boa/blob/82c2fd7f2231d465151c1c45e80b7b23299d1758/boa/core/run_build.py#L212
This yields
TypeError: 'NoneType' object is not iterable

I think that it should be ydoc.get("build", {}) instead.

PR is welcome!

Although we should make sure that default values are properly set (build / number shoudl be zero etc).

Yeah, I can create one - I was just trying to work through some other problems too (see #265).


ui-yield-to stack?

My problem is that I want to have default navbar buttons but on a single page they are different. After navigating to this page (containing ui-content-for) and going back, the buttons are still replaced.
A solution would be to include my buttons in every page... (ng-include everywhere)
Is there a better one?
I am kind of asking if there is already a better solution / suggesting my idea of solving it (a stack) / hoping to shed light on this design flaw

Hi, sorry for the delay.
Can you please explain better:

My problem is that I want to have default navbar buttons but on a single page they are different. After navigating to this page (containing ui-content-for) and going back, the buttons are still replaced.

How is this different from demo? This shouldn't happen, so maybe a bug.
In demo there is a global ui-yield-to with defaults

     Chat

And then in forms.html it is replaced by this:

  Login

But when you go back/change page the default is restored.

Yes, that is exactly what I do. I've used window.history.back() to navigate back or angular ui router $state.go('someState')
Any idea what might be wrong? I'll take a look at it in a couple of days

Yes you are using UI router that is not supported. Mobile Angular UI respond to ngRoute events, using ui router as is you will experience other issues.
If issuing $stateChangeStart and $routeChangeStart won't conflict with your app
you can use this trick to make ui router work with mobile-angular-ui
myApp.run(function($rootScope){
   $rootScope.$on('$stateChangeStart', function(){
      $rootScope.broadcast('$routeChangeStart');
   });
});

Thanks!

This works:
myApp.run(function($rootScope){
$rootScope.$on('$stateChangeSuccess', function(){
$rootScope.$broadcast('$routeChangeSuccess');
});
});


The experiments on CUB

I am very interested in your work.  Can you provide instructions for the operation of the CUB dataset?
Thank you very much!

hi , NanAlbert
The End2EndModel method is not found in this project. And MAP didn't live up to expectations

Is there a problem with your code on the VOC dataset? Sorry to bother you, I am looking forward to your reply
（请问您的代码在VOC数据集上有问题吗。冒昧打扰，非常期待您的回复）


Fix #1311, CFE_SUCCESS constant type

Describe the contribution
Ensures that the CFE_SUCCESS constant is the CFE_Status_t type.
Fixes #1311
Testing performed
Build and sanity check CFE, run all unit tests, confirm nothing went wrong.
Expected behavior changes
None
System(s) tested on
Ubuntu 20.04
Additional context
The explicit cast is required on all error codes that are expected to be negative values.  The problem that occurs if these are not forced to int32 type is that the compiler up-converts them to long, which on a 64-bit platform can can represent the value as a positive integer.  Therefore a test for equality starts to fail.
On codes that are positive values, it doesn't matter as much, the compiler will not need to convert these literals to anything other than int, but it shouldn't hurt to add it for consistency, just in case.
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

CCB:2021-04-21 APPROVED


Fix for bug that allows disabled options in Select component to be selected

Fix for #529. Updated docs with an example of disabled items in the Select component.

@marcosmoura just realized that the contributing guide says not to open PRs against the master branch. Does that apply for bug fixes too or just for features? Let me know if you would like me to close this and open a new one against the develop branch instead. It's not a problem for me.

It seems that you're branch are outdated. Can you sync your fork?

@marcosmoura ping.

@praneetloke Could you rebase your branch?

@marcosmoura I'll open a new PR from my fork's develop branch.


Post subtitle or excerpt

I've noticed that the subtitle of a post is not displayed in any of the templates. Was it planned to have it be displayed in the same fashion, as the tag subtitle on a tag page?
If not, would it make sense to perhaps use it as an excerpt/description to be displayed on the post overview?

Good catch @Padarom. I believe the reason I left it out was purely a design choice, just didn't have a place to put it. But it might make sense to display the subtitle on the front-end post index page underneath the title of each blog post. Or it could exist on the individual post page itself. Thoughts?

I was actually thinking of the first one. I was writing some posts earlier today and thought it'd be great if I could give my readers some more information about my post other than its title before they view it.
When I'm already on the post page, I already have the text before me, so I don't think I would need another piece of information about the post on the same page.

Yup good thought. If we were to take it one step further, if there was a pleasant way to display a thumbnail of the post image on the index page, that may even be more satisfying to scroll through. Would you want to make a pr of your proposed changes?


feat: adds Prisma as a supported ORM to neonctl create-app

Adds Prisma templates as a supported ORM option in neonctl create-app.

@duskpoet this is another version of #252, but rebased against #256.


Add search algorithms implementation

ADD SEARCHING ALGORITHMS IMPLEMENTATION
Languages:

C++
Java
Python

Algorithms:

Binary Search
Linear Search
Ternary Search
Median Search

Kindly approve and assign me with C++ @harshitbansal373

I'm not getting what you want to say

Can i work in this particular issue? @harshitbansal373

You can sort the contributed code as per the particular folders and titles like sorting, algo, etc.

Can I work on Binary search in python?

yes!


Specify input language for selected apps

Summary of the new feature/enhancement
I usually program using UK keyboard layout, but write mail in norwegian keyboard layout. The reason for this is because the special keys such as the semicolon or the brackets are laid out better in the UK layout. But I still need the norwegian layout for special characters such as Æ Ø and Å, and switch between them regularly. This is not actually a problem now, as Windows allows us to have different input languages for different programs. But I still need to change the language (Win+Space) every time I open up a new windows of VS or VS Code.
I propose feature that allows me to select Visual Studio, and the UK Keyboard Layout, which would switch my input language to UK whenever I open Visual Studio.
Proposed technical implementation details (optional)
After setting up UK layout for Visual Studio in an PowerToys configuration window, I expect input language to be set to UK whenever I open Visual Studio.
If I then switch window to a text editor, I expect to be using norwegian input language.

@flueworks

do you have 'per thread' option enabled?
if so, what do you expect your default language to be


Button to copy formatted ContentView

Description
Added Copy button in the HTTP content view that will copy formatted data to the clipboard

closes #5730
Checklist

[x] I have updated tests where applicable.
[x] I have added an entry to the CHANGELOG.

I have added a copy button that will copy anything which is in the content view to the clipboard
data like JSON, JS, and CSS (text-based) work nicely but in the case of hex/image it's not ideal

If an image is tried to copy:
Format: Portable network graphics
Size:   272 x 170 px
gamma:  0.45454
aspect: 3780 x 3780

if the hex is tried to be copied:

0000000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52   .PNG........IHDR
0000000010 00 00 01 10 00 00 00 aa 08 06 00 00 00 65 2c 10   .............e,.
0000000020 b2 00 00 00 04 67 41 4d 41 00 00 b1 8e 7c fb 51   .....gAMA....|.Q
0000000030 93 00 00 00 20 63 48 52 4d 00 00 87 0f 00 00 8c   .... cHRM.......
0000000040 0f 00 00 fd 52 00 00 81 40 00 00 7d 79 00 00 e9<EMAIL_ADDRESS>0000000050 8b 00 00 3c e5 00 00 19 cc 73 3c 85 77 00 00 0a   ...<.....s<.w...
0000000060 39 69 43 43 50 50 68 6f 74 6f 73 68 6f 70 20 49   9iCCPPhotoshop I
0000000070 43 43 20 70 72 6f 66 69 6c 65 00 00 48 c7 9d 96   CC profile..H...

to me, it seems like offset and ASCII representations seem kinda wrong

Exactly what I envisioned :+1:
The image behavior is quite the rough edge, and it's been a while since I've looked at this codebase...but I can't image it would be too difficult to copy that to the clipboard.
Thank you for all your work


Added a troubleshooting section for user guide.

Fixed https://github.com/kubernetes-sigs/federation-v2/issues/350
/cc @danehans @marun @font

Much appreciated!
/approve
/lgtm


Build action

Adds build automation to ensure new PRs will not break the build. Also switches the unit testing framework to NUnit, since it's available for mono.
Eventually, the action could be extended to publish releases.

I expect I'll need to update this after #13 is merged.

Closing this to seen if a new PR needs to be made to run a GitHub workflow, now that MouseUnSnag/MouseUnSnag is the root repo.


Frame daylight detector - should detect light?

Is the frame daylight detector decorative only? It does not work actually as a daylight detector (1.19.2).

Seems like I messed up the last update... I'm working on it

It's working now and the power is updated during the daytime/nighttime. Will be included in the next release. Thanks again for pointing out! :)
Regards, Manu

Thanks!


Rename view-distance "titles". [SUGGESTION] [TRANSLATION]

What's about to name the View distance using Animals?
Extreme to Falcon
Mega to Eagle
Ultra to Owl
Far to Jackal
Moderate to Human
Near to Donkey
Blind to Mole

I think this is more suitable for this kind of game.

It's a creative idea but it obfuscates something that should be quite unambiguous in my opinion.
I wouldn't mind if an external Module did it though. I'm just not sure modules have access to those strings at all. Perhaps in the context of working on internationalization support this could become possible.


Release 6.1.1 and New Dev Docs site

Changes proposed in this Pull Request:

Releases patch version of components
Deploy the new version of the component documentation

@jeffvg does master bot comment each time code is pushed? May need some tweaking.

yes every time, does not track commit by user.

After publishing a beta for 6.1.1 & integrating it into the showcase demo without any issues, this should be good to go.


[test/e2e] Add retries when installing kubectl

What does this PR do?

Adds --retry 5 to curl commands fetching kubectl.
Motivation

Reduce flakiness of e2e tests.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

We have a better solution (have curl settings file to add retry there) but I am merging this in the meanwhile


SecurityGroupRule: Drift Remediation is not working in SecurityGroupRule resource in Upbound AWS provider.

Whenever I modify SecurityGroupRule Resource Cidr, Description, Port directly in the AWSconsole,  Crossplane upbound provider  instead of remediating the drift it is creating the new Rule with old values in the k8 yaml.
When updating the Port it is showing the resource requires replacement error.
managed/ec2.aws.upbound.io/v1beta1, kind=securitygrouprule  cannot run plan: plan failed: Instance cannot be destroyed: Resource aws_security_group_rule.test-sgrule-up has lifecycle.prevent_destroy set, but the plan calls for this resource to be destroyed. To avoid this error and continue with the plan, either disable lifecycle.prevent_destroy or reduce the scope of the plan using the -target flag.

Yaml Used:
apiVersion: ec2.aws.upbound.io/v1beta1
kind: SecurityGroupRule
metadata:
  name: test-sgrule-up
spec:
  deletionPolicy: Delete
  forProvider:
    description: "crossplane testing sg rule"
    fromPort: 80
    protocol: "tcp"
    toPort: 80
    type: "ingress"
    cidrBlocks:
    - "<IP_ADDRESS>/8"
    region: us-west-2
    securityGroupIdRef:
      name: "test-sg-up"
  providerConfigRef:
    name: default

Was able to reproduce this by editing the cidr. Oddly, if I modify only the description it does revert it back without creating a new rule.
I notice in the description of the security group it has an external name of "sgrule-" whereas the security group rules in aws all start with "sgr-".


Alamofire 3.4.0 has no Error constructor

In 3.4.0 both of the errorWithCode() methods were marked deprecated, but there are no public versions available to replace them.   I'm wondering if the "error(domain:code:failureReason:)" methods I'm seeing in Error.swift were supposed to be marked as public?
Also, the github page shows the deprecated methods being used still in the example for a custom serializer.

Hello?  Anyone?  I see 4 thumbs up on this now from other people.

Hi @grosch, sorry for not getting back to you sooner. I've just opened up #1261 to attempt to resolve this issue. If you could check that out, I'd appreciate it. I'm going to go ahead and close this issue out for now. Please direct all further comments to #1261.
Cheers. 🍻


Feature : Add Counts in All Get Calls based on Parameters passed

What is changed?

Ability to pass with_count as an configurable query to return the records and the total records which are present as per the query
Generic way of handling so that the pre-existing support for all get calls is functioning as before (Passive Change)

Looks Good 👍

@rishirajkumar97 can you update test spec/models/lockstep/query_spec.rb ?


[zh] Update health-checks.md

Signed-off-by: Guangwen Feng<EMAIL_ADDRESS>en PR https://github.com/kubernetes/website/pull/30628
/assign @tengqm
PTAL, thanks.

Thanks.
/approve

@tengqm
Thanks for your kind review.
May I ask is there anything else I need to do with this PR or could you please give a lgtm label?

LGTM
Thank you for your contribution.
/lgtm


process-dependency-links flag not found

process-dependency-links flag is missing from the new pip release.
(we're currently using it to fetch the newest version of openai baselines code).
If you hit this error - the current workaround is:
replace:
            'baselines>=0.1.6',
with
        'baselines @ git+git://github.com/openai/baselines.git@master#egg=baselines',
and remove the dependency_links section.
Sorry for the hassle - we're working on the better long term solution.

It can also be solved by downgrading pip to 18.1.

Here's the longer description of the issue: maybe someone from the community could help us solve it better (as I'm far from the pip/setup.py expert :-)

Our code depends on openai/baselines library.
That library is available in pypi, but is very old (> 1 year old) - version 0.1.5
We depend on the features that were added more recently.

Therefore, in order to use the football library, the user must have installed the openAI baselines FROM github and not from pypi.
Now, our problem is: how to do it in the best way:

just depending on the "baselines" in setup.py doesn't work (pip will download the old 0.1.5 version from pypi)
we've added the dependency_links section (which seems to work in pip < 18), but this forced us to introduce the "fake" 0.1.6 dependency - so that we're sure that system takes the contents from the dependency_link part (rather than from pypi)
for pip > 18 - seems that you can specify the "baselines @ git+git:XXX" which should download it from github. Unfortunately  the earlier versions of pip don't understand that notion (and they would happily install the old 0.1.5 from pypi).

Any ideas for a better solution that could work across multiple pypi versions ?

one good (step towards a?) solution would be to ask openai to update their version on pypi.

Newer version of pip did not support dependency links.
You can install baseline 0.1.6 manually.
git clone https://github.com/openai/baselines.git
cd baselines
pip install -e .

Good news - openAI has increased their version in github repo to 0.1.6.
So people who install from github, should see the correct version now.

Here‘s my problem.Could you please help me solve it?Thank you very much.
pip3 install gfootball[tf_cpu] --process-dependency-links
Collecting gfootball[tf_cpu]
Downloading https://files.pythonhosted.org/packages/d1/ab/bed5b7692e8af0cdc0b6fff7a976a69c4e8951146ab492811ef815a2b006/gfootball-0.2.tar.gz (11.0MB)
100% |████████████████████████████████| 11.0MB 51kB/s
DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Collecting pygame==1.9.6 (from gfootball[tf_cpu])
Using cached https://files.pythonhosted.org/packages/1d/c2/9a27669dc9f25978d70593d62405cf883b62cedf631ca996a10673000ab1/pygame-1.9.6-cp35-cp35m-manylinux1_x86_64.whl
Collecting opencv-python (from gfootball[tf_cpu])
Using cached https://files.pythonhosted.org/packages/fe/c8/421eeac942ebc89552a5c90c2141b936be9cfde24dc3c6eeb472c62d1f8e/opencv_python-<IP_ADDRESS>-cp35-cp35m-manylinux1_x86_64.whl
Collecting scipy (from gfootball[tf_cpu])
Using cached https://files.pythonhosted.org/packages/14/49/8f13fa215e10a7ab0731cc95b0e9bb66cf83c6a98260b154cfbd0b55fb19/scipy-1.3.0-cp35-cp35m-manylinux1_x86_64.whl
Collecting gym (from gfootball[tf_cpu])
Using cached https://files.pythonhosted.org/packages/8a/2d/d4ad0ef5159e87d66339f1dfaa4736687bf2699c3b8ce9e57998f28bb5a1/gym-0.13.0.tar.gz
Collecting baselines>=0.1.6 (from gfootball[tf_cpu])
Cloning https://github.com/openai/baselines.git (to master) to /tmp/pip-build-7756pe7x/baselines
Complete output from command python setup.py egg_info:
running egg_info
creating pip-egg-info/baselines.egg-info
writing pip-egg-info/baselines.egg-info/PKG-INFO
writing dependency_links to pip-egg-info/baselines.egg-info/dependency_links.txt
writing requirements to pip-egg-info/baselines.egg-info/requires.txt
writing top-level names to pip-egg-info/baselines.egg-info/top_level.txt
writing manifest file 'pip-egg-info/baselines.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/baselines.egg-info/SOURCES.txt'
writing manifest file 'pip-egg-info/baselines.egg-info/SOURCES.txt'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-7756pe7x/baselines/setup.py", line 58, in <module>
    assert tf_pkg is not None, 'TensorFlow needed, of version above 1.4'
AssertionError: TensorFlow needed, of version above 1.4

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-7756pe7x/baselines/
You are using pip version 8.1.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
However,my pip version has been 19.1.1 before the mistake;and my TensorFlow's  version has  been above 1.4 before AssertionError.It's really ridiculous.

We just pushed a new release, process-dependency-links is not used anymore.

Well，thank you so much.I solved it recently.
However，I’m meeting another challenges.Could you please help me solve it? Meanwhile,I also wrote an issue on your own github.
Running experiments:
root@lzc-virtual-machine:/home/lzc/football# python3 -m gfootball.examples.run_ppo2 --level=academy_empty_goal_close
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 174, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.5/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/home/lzc/football/gfootball/init.py", line 23, in
for env_name in scenario_builder.all_scenarios():
File "/home/lzc/football/gfootball/env/scenario_builder.py", line 37, in all_scenarios
return [m.name for m in pkgutil.iter_modules([path])]
File "/home/lzc/football/gfootball/env/scenario_builder.py", line 37, in
return [m.name for m in pkgutil.iter_modules([path])]
AttributeError: 'tuple' object has no attribute 'name'
—————————————————
Playing game yourself:
root@lzc-virtual-machine:/home/lzc/football# python3 -m gfootball.play_game
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 174, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.5/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/home/lzc/football/gfootball/init.py", line 23, in
for env_name in scenario_builder.all_scenarios():
File "/home/lzc/football/gfootball/env/scenario_builder.py", line 37, in all_scenarios
return [m.name for m in pkgutil.iter_modules([path])]
File "/home/lzc/football/gfootball/env/scenario_builder.py", line 37, in
return [m.name for m in pkgutil.iter_modules([path])]
AttributeError: 'tuple' object has no attribute 'name'
| |
刘泽辰
|
|
<EMAIL_ADDRESS>|
签名由 网易邮箱大师 定制
On 07/19/2019 22:27, qstanczyk wrote:
Closed #1.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

This issue is due to Python version, between Python 3.5 and Python 3.6 there was a change in pkgutil API which we use:
https://docs.python.org/3.6/library/pkgutil.html#pkgutil.iter_modules
https://docs.python.org/3.5/library/pkgutil.html#pkgutil.iter_modules
You can work around it by changing

return [m.name for m in pkgutil.iter_modules([path])]

to:

return [m[2] for m in pkgutil.iter_modules([path])]

In gfootball/env/scenario_builder.py

I have just pushed a new version with the workaround to the problem, so alternatively you can just sync to head.


[Question] Is the support for version 1.20.4 being planned?

I like making use of pretty much useless items in minecraft by mods. This mod is really neat and makes exploring jungles worth it. However, my small friend group server is working on 1.20.4 and we can't add this mod.
I wanted to ask if there will be support for newer versions?

Thanks for reaching out! There weren't any plans to port to 1.20.4 mostly because of the lack of other content mods that have ported to 1.20.4.
If you wish, I could look into making a quick port. I'm not very familiar with any changes made in 1.20.3, but I wouldn't imagine it would take too long.

Thank you for the reply! My friends decided to switch to 1.20.1 since most of the mods are there, so no need now, but thanks!


Not actually failing over.

Hello,
I was hoping to use this for my current project, but I am having an issue with the IP not failing over to the next. The primary IP for each site is working just fine, but then I tried to change the primary IP to something random that was non-responsive in order to see if it would fail over to the second IP, but have had no such luck. The only thing I have changed is that I moved the entries to their own file so that I could easily add and manage several of them. It is pulling them just fine it seems, as I mentioned, the primary IP of each domain works well.
Thanks,

@MostHated i've not actually tested this is great detail. DNS failover happens at the application level where multiple A records are provided. I created this simple project for development use, I wouldn't use this in production without spending some time testing it.

Unfortunately, this is the only node dns app I can find that does failover at the application level, I was hoping to run it on an external DigitalOcean.com droplet as a standalone DNS server and use it for failover between our 2 locations and dual fiber lines. You do not happen to know of any that are tested well and known to work, do yo?

@MostHated not for NodeJS - it's easy enough to write a decent one in Python or Java however. There are a few good libraries too in those languages.

Alrighty, well I appreciate the information and can appreciate the work you put into this. Thanks!


$scope.$apply still required for some Supersonic API calls

Supersonic-AngularJS-integration is not as complete as it should be. The following API calls are not Angular-aware and thus require a separate $scope.$apply to propagate changes in $scope.* variables to views.

supersonic.ui.views.current.params.onValue
supersonic.ui.views.current.whenVisible
supersonic.ui.views.current.whenHidden
supersonic.data.channel('myChannel').subscribe

This means you need to do this (example in CoffeeScript)
supersonic.ui.views.current.whenVisible ->
  $scope.$apply ->
    $scope.titleText = "Hello World!"

supersonic.data.channel(...).subscribe does not update the view even with a $scope.$apply. The following piece of code will not work:
supersonic.data.channel('currentWork').subscribe(function (message) {
	$scope.$apply(function () {
		$scope.currentWork = message;
		$scope.navbarTitle = "Just Work";
	});
});

Even though the $scope variables are updated -- which can be verified through a JS debugger or console.log, the view sitll does not update!
I have added more details on the AppGyver muut forums. https://muut.com/appgyver#!/meta:publish-subscribe-does-not


When building hbase-specific bindings other than 0.98, include 0.98 readme

loading e.g. the hbase 1.0 tarball gives you a README that just says to look at the 0.98 readme for what to do, which isn't included.

this was effectively implemented via the update to hbase client bindings.


Run tests in parallel on CI

Motivation
I locally use parallel and randomised testing in Xcode since two months and did not yet encounter any flaky tests. I therefore think we can run tests in parallel on CI as well.
Changes
add --parallel to swift test invocation

It's good hygiene, if our tests can run in parallel, for us to do it. :+1: Great work!

It also cuts our CI times in half from 8-10 minutes down to 4-5 minutes 🥳