Setting icon for Mac still shows default icon

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
I followed https://blog.macsales.com/28492-create-your-own-custom-icons-in-10-7-5-or-later
Then I ran
Console output when you run electron-packager with the environment variable DEBUG=electron-packager. Please include the stack trace if one exists.
~/Desktop/out/electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icon=../QuantumPilot.iconset/
Packaging app for platform darwin x64 using electron v0.36.11
Packaging app for platform linux x64 using electron v0.36.11
Packaging app for platform mas x64 using electron v0.36.11
WARNING: signing is required for mas builds. Provide the osx-sign option, or manually sign the app later.
Packaging app for platform win32 x64 using electron v0.36.11
Wrote new apps to:
/Users/quantum/Desktop/out/QuantumPilot-darwin-x64
/Users/quantum/Desktop/out/QuantumPilot-linux-x64
/Users/quantum/Desktop/out/QuantumPilot-mas-x64
/Users/quantum/Desktop/out/QuantumPilot-win32-x64
<!-- For bugs and questions, please answer these questions to the best of your ability. -->

What command line arguments are you passing? Alternatively, if you are using the API, what
parameters are you passing to the packager() function?
--icon="../QuantumPilot.iconset/"

Please provide either a failing minimal testcase (with a link to the code) or detailed steps to
reproduce your problem. Using electron-quick-start
is a good starting point.
The app icon still shows the default. How do I make custom icons?

@quantumproducer Try using a .icns file instead of a raw iconset 👍

http://stackoverflow.com/questions/12306223/how-to-manually-create-icns-files-using-iconutil

@MarshallOfSound I created QuantumPilot.icns  which has the 10 icon files (if I open with Preview). So I tried
/Desktop/out/electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icns="~/Desktop/QuantumPilot.icns"

with and without the quotes on the last argument, but no dice.

@quantumproducer Can you try an absolute path to the icns file, just to be 100% accurate 👍

@MarshallOfSound same issue.. how can I check y electron-packager version?

Run DEBUG=electron-packager ~/Desktop/out/electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icns="~/Desktop/QuantumPilot.icns"

~/cd Desktop/out
~/Desktop/out/ls
QuantumPilot-darwin-x64	QuantumPilot-mas-x64
QuantumPilot-linux-x64	QuantumPilot-win32-x64
~/Desktop/out/rm -rf QuantumPilot-*
~/Desktop/out/DEBUG=electron-packager ~/Desktop/out/electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icns="~/Desktop/QuantumPilot.icns"
-bash: /Users/quantum/Desktop/out/electron-packager: No such file or directory
~/Desktop/out/$DEBUG=electron-packager ~/Desktop/out/electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icns="~/Desktop/QuantumPilot.icns"
-bash: =electron-packager: command not found
~/Desktop/out/electron-packager
Usage: electron-packager <sourcedir> <appname> [options...]

Required options

sourcedir          the base directory of the application source

  Examples:        electron-packager ./
                   electron-packager ./ --all

Optional options

appname            the name of the app, if it needs to be different from the "productName" or "name"
                   in the nearest package.json

* All platforms *

all                equivalent to --platform=all --arch=all
app-copyright      human-readable copyright line for the app
app-version        release version to set for the app
arch               all, or one or more of: ia32, x64, armv7l (comma-delimited if multiple). Defaults
                   to the host arch
asar               whether to package the source code within your app into an archive. You can either
                   pass --asar by itself to use the default configuration, OR use dot notation to
                   configure a list of sub-properties, e.g. --asar.unpackDir=sub_dir - do not use
                   --asar and its sub-properties simultaneously.

                   Properties supported:
                   - ordering: path to an ordering file for file packing
                   - unpack: unpacks the files to the app.asar.unpacked directory whose filenames
                     regex .match this string
                   - unpackDir: unpacks the dir to the app.asar.unpacked directory whose names glob
                     pattern or exactly match this string. It's relative to the <sourcedir>.
build-version      build version to set for the app
deref-symlinks     whether symlinks should be dereferenced. Defaults to true.
download           a list of sub-options to pass to electron-download. They are specified via dot
                   notation, e.g., --download.cache=/tmp/cache
                   Properties supported:
                   - cache: directory of cached Electron downloads. Defaults to `$HOME/.electron`
                   - mirror: alternate URL to download Electron zips
                   - strictSSL: whether SSL certs are required to be valid when downloading
                     Electron. Defaults to true, use --download.strictSSL=false to disable checks.
icon               the icon file to use as the icon for the app. Note: Format depends on platform.
ignore             do not copy files into app whose filenames regex .match this string. See also:
                   https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#ignore
                   and --no-prune.
no-prune           do not run `npm prune --production` on the app
out                the dir to put the app into at the end. defaults to current working dir
overwrite          if output directory for a platform already exists, replaces it rather than
                   skipping it
platform           all, or one or more of: darwin, linux, mas, win32 (comma-delimited if multiple).
                   Defaults to the host platform
tmpdir             temp directory. Defaults to system temp directory, use --tmpdir=false to disable
                   use of a temporary directory.
version            the version of Electron that is being packaged, see
                   https://github.com/electron/electron/releases

* darwin/mas target platforms only *

app-bundle-id      bundle identifier to use in the app plist
app-category-type  the application category type
                   For example, `app-category-type=public.app-category.developer-tools` will set the
                   application category to 'Developer Tools'.
extend-info        a plist file to append to the app plist
extra-resource     a file to copy into the app's Contents/Resources
helper-bundle-id   bundle identifier to use in the app helper plist
osx-sign           (OSX host platform only) Whether to sign the OSX app packages. You can either
                   pass --osx-sign by itself to use the default configuration, or use dot notation
                   to configure a list of sub-properties, e.g. --osx-sign.identity="My Name"
                   Properties supported:
                   - identity: should contain the identity to be used when running `codesign`
                   - entitlements: the path to entitlements used in signing
                   - entitlements-inherit: the path to the 'child' entitlements
protocol           URL protocol scheme to register the app as an opener of.
                   For example, `--protocol=myapp` would register the app to open
                   URLs such as `myapp://path`. This argument requires a `--protocol-name`
                   argument to also be specified.
protocol-name      Descriptive name of URL protocol scheme specified via `--protocol`

* win32 target platform only *

version-string     an alias for win32metadata (deprecated)
win32metadata      a list of sub-properties used to set the application metadata embedded into
                   the executable. They are specified via dot notation,
                   e.g. --win32metadata.CompanyName="Company Inc."
                   or --win32metadata.ProductName="Product"
                   Properties supported:
                   - CompanyName
                   - FileDescription
                   - OriginalFilename
                   - ProductName
                   - InternalName

~/Desktop/out/$DEBUG=electron-packager electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icns="~/Desktop/QuantumPilot.icns"
-bash: =electron-packager: command not found
~/Desktop/out/DEBUG=electron-packager electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icns="~/Desktop/QuantumPilot.icns"
  electron-packager Electron Packager 8.0.0 +0ms
  electron-packager Node v6.9.4 +3ms
  electron-packager Host Operating system: darwin (x64) +1ms
  electron-packager Packager Options: {"_":["/Users/quantum/code/electron-quick-start/","QuantumPilot"],"all":false,"deref-symlinks":true,"download":{"strictSSL":true},"overwrite":false,"prune":true,"platform":"all","icns":"~/Desktop/QuantumPilot.icns","dir":"/Users/quantum/code/electron-quick-start/","name":"QuantumPilot","protocols":[]} +0ms
  electron-packager Target Platforms: darwin, linux, mas, win32 +0ms
  electron-packager Target Architectures: x64 +0ms
  electron-packager Inferring app-version from version in package.json +13ms
  electron-packager Inferring target Electron version from electron-prebuilt dependency or devDependency in package.json +2ms
  electron-packager Application name: QuantumPilot +0ms
  electron-packager Target Electron version: 0.36.11 +0ms
  electron-packager Ignored path regular expressions: +0ms [ '/node_modules/electron($|/)',
  '/node_modules/electron-prebuilt($|/)',
  '/node_modules/electron-packager($|/)',
  '/\\.git($|/)',
  '/node_modules/\\.bin($|/)' ]
  electron-packager Downloading Electron with options {"strictSSL":true,"platform":"darwin","arch":"x64","version":"0.36.11"} +5ms
Packaging app for platform darwin x64 using electron v0.36.11
  electron-packager Creating /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64-template +7ms
  electron-packager Extracting /Users/quantum/.electron/electron-v0.36.11-darwin-x64.zip to /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64-template +1ms
  electron-packager Initializing app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64 from /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64-template template +963ms
  electron-packager Ignored paths based on the out param: +1ms [ '/Users/quantum/Desktop/out/QuantumPilot-darwin-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-armv7l' ]
  electron-packager Running npm prune --production +617ms
  electron-packager Renaming Electron to QuantumPilot in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/MacOS +3s
  electron-packager Renaming Electron Helper to QuantumPilot Helper in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS +1ms
  electron-packager Renaming Electron Helper.app to QuantumPilot Helper.app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Renaming Electron Helper EH to QuantumPilot Helper EH in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper EH.app/Contents/MacOS +0ms
  electron-packager Renaming Electron Helper EH.app to QuantumPilot Helper EH.app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Renaming Electron Helper NP to QuantumPilot Helper NP in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper NP.app/Contents/MacOS +1ms
  electron-packager Renaming Electron Helper NP.app to QuantumPilot Helper NP.app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Moving /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/darwin-x64/QuantumPilot-darwin-x64 to /Users/quantum/Desktop/out/QuantumPilot-darwin-x64 +0ms
  electron-packager Downloading Electron with options {"strictSSL":true,"platform":"linux","arch":"x64","version":"0.36.11"} +1ms
Packaging app for platform linux x64 using electron v0.36.11
  electron-packager Creating /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/linux-x64-template +2ms
  electron-packager Extracting /Users/quantum/.electron/electron-v0.36.11-linux-x64.zip to /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/linux-x64-template +0ms
  electron-packager Initializing app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/linux-x64/QuantumPilot-linux-x64 from /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/linux-x64-template template +748ms
  electron-packager Ignored paths based on the out param: +1ms [ '/Users/quantum/Desktop/out/QuantumPilot-darwin-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-armv7l' ]
  electron-packager Running npm prune --production +624ms
  electron-packager Renaming electron to QuantumPilot in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/linux-x64/QuantumPilot-linux-x64 +2s
  electron-packager Moving /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/linux-x64/QuantumPilot-linux-x64 to /Users/quantum/Desktop/out/QuantumPilot-linux-x64 +1ms
  electron-packager Downloading Electron with options {"strictSSL":true,"platform":"mas","arch":"x64","version":"0.36.11"} +1ms
Packaging app for platform mas x64 using electron v0.36.11
  electron-packager Creating /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64-template +3ms
  electron-packager Extracting /Users/quantum/.electron/electron-v0.36.11-mas-x64.zip to /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64-template +1ms
  electron-packager Initializing app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64 from /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64-template template +773ms
  electron-packager Ignored paths based on the out param: +2ms [ '/Users/quantum/Desktop/out/QuantumPilot-darwin-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-armv7l' ]
  electron-packager Running npm prune --production +599ms
WARNING: signing is required for mas builds. Provide the osx-sign option, or manually sign the app later.
  electron-packager Renaming Electron to QuantumPilot in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/MacOS +2s
  electron-packager Renaming Electron Helper to QuantumPilot Helper in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS +0ms
  electron-packager Renaming Electron Helper.app to QuantumPilot Helper.app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/Frameworks +1ms
  electron-packager Renaming Electron Helper EH to QuantumPilot Helper EH in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/Frameworks/Electron Helper EH.app/Contents/MacOS +0ms
  electron-packager Renaming Electron Helper EH.app to QuantumPilot Helper EH.app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Renaming Electron Helper NP to QuantumPilot Helper NP in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/Frameworks/Electron Helper NP.app/Contents/MacOS +0ms
  electron-packager Renaming Electron Helper NP.app to QuantumPilot Helper NP.app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Moving /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/mas-x64/QuantumPilot-mas-x64 to /Users/quantum/Desktop/out/QuantumPilot-mas-x64 +1ms
  electron-packager Downloading Electron with options {"strictSSL":true,"platform":"win32","arch":"x64","version":"0.36.11"} +1ms
Packaging app for platform win32 x64 using electron v0.36.11
  electron-packager Creating /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/win32-x64-template +1ms
  electron-packager Extracting /Users/quantum/.electron/electron-v0.36.11-win32-x64.zip to /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/win32-x64-template +1ms
  electron-packager Initializing app in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/win32-x64/QuantumPilot-win32-x64 from /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/win32-x64-template template +926ms
  electron-packager Ignored paths based on the out param: +1ms [ '/Users/quantum/Desktop/out/QuantumPilot-darwin-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-darwin-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-linux-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-mas-armv7l',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-ia32',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-x64',
  '/Users/quantum/Desktop/out/QuantumPilot-win32-armv7l' ]
  electron-packager Running npm prune --production +591ms
  electron-packager Renaming electron.exe to QuantumPilot.exe in /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/win32-x64/QuantumPilot-win32-x64 +2s
  electron-packager Running rcedit with the options {"version-string":{},"product-version":"1.0.0"} +0ms
  electron-packager Moving /var/folders/zq/87m8hhn908b8pwtnnmmjq73h0000gn/T/electron-packager/win32-x64/QuantumPilot-win32-x64 to /Users/quantum/Desktop/out/QuantumPilot-win32-x64 +6s
Wrote new apps to:
/Users/quantum/Desktop/out/QuantumPilot-darwin-x64
/Users/quantum/Desktop/out/QuantumPilot-linux-x64
/Users/quantum/Desktop/out/Quantu

Oops. I copy/pasted incorrectly. You shouldn't use ~/Desktop in the icon parameter - the ~ won't be expanded (and the parameter name should be spelled correctly). Try using:
electron-packager ~/code/electron-quick-start/ QuantumPilot --platform=all --icon=/Users/quantum/Desktop/QuantumPilot.icns

By the way, that is a pretty old version of Electron  you're using.

How do I update electron? @malept

This worked btw! On OSX at least.. The windows icon still shows  a brown "EXE" picture but I think that's just because of mac

Update the Electron version in package.json. Please keep in mind that this may change the Chromium and/or Node version if the major/minor versions change, so you may need to modify your app accordingly.

The default icon still shows when I launch the app during development. I'm not using a package installer at this stage. I'm just running npm start from the command line. Changing the app icon use to work but this morning I upgraded Electron to the latest version (1.7.9) and the default always shows. I'm running this on a Mac.
I simply replaced the electron.icns file with my custom icon. This file is located under:
/usr/local/lib/node_modules/electron/dist/Electron.app/Contents/Resources/electron.icns
Restarting the app or my computer didn't help either.

I spent a whole day messing around with this , finally found out that the tool seems to have a cache, and every time build always use the old icon. The way avoid the cache is to change your productName field  in package.json , this will determine the package name generated , and the new icon will work.

Electron Packager does not have an icon cache, macOS does.


Support for Roact-like/Class-based components

Currently, functional components get pretty messy when you start adding a lot of functionality (ex. listening for a humanoid's health property to update an internal health value, etc)
I propose a Component class
local Fusion = require(Fusion)
local TestComponent = Fusion.Component()

function TestComponent:init()
--   [ initialize observers, internal states, etc here]
end

function TestComponent:render()
 --   [ return fusion code ]
end

return TestComponent

It would be created the same-way as regular functional components and would return the rendered instance, as to be consistent with functional components
local InstanceComponent = TestComponent()

InstanceComponent.Parent = -- [ gui instance ]

Alternatively, could be created in the same way as Roact, via the New function
local InstanceComponent = Fusion.New(TestComponent)

There's a library that already does this but has a couple differences, but it'd still be nice to have a native implementation.

But Fusion doesn't really have a "render" stage, and "mounting" sounds like a bad practice that goes against the principles of Fusion, components should instead be directly placed into Children.
Really, wouldn't you just be making the same code, but in two separate functions for no real reason?

Fusion isn't Roact and Roact isn't Fusion. They are two different UI frameworks with their own design and it is unnecessary to force features of one in the other.

But Fusion doesn't really have a "render"

And it doesn't need one! init and render could be ran once when the component is created (as with regular functional components)

Really, wouldn't you just be making the same code, but in two separate functions for no real reason?

Unless there's some hidden feature in VSCode that I'm not aware of, with a class-based component you could just minimize the init function if it gets too big, and instead focus on the actual UI code, something you can't really get with functional components.
I guess it's also just syntax sugar.

I don't really think this is necessary. From what I can gather, this is pretty much just creating an object then calling two methods on it right away, rather than providing some new expansion of what components can do. This is easily achievable in user code and does mean Fusion would impart a relatively significant opinion on user code which I'd like to avoid.
I'm more interested in use cases where you want to separate the existence of a component from the process of building its instances. What I mean by this is, for example, wanting to know what components exist in your UI so you can do custom layout, then build those instances with the placement from that layout. This is a use case I'm more actively interested in, and already have been playing around with prototypes of.
The idea here is that, instead of directly building instances, constructing a component would immediately construct and return a small, simple table, with a field storing the property table you passed in and a field referencing a table of methods shared between all components of that type.
Luau's type annotation system could then be used to define certain 'traits' that can be implemented, similar to Rust. The types define standard methods for performing actions such as building instances, calculating natural layout sizes, or querying for capabilities like input processing. The method tables can then implement methods from as many traits as required.
From there, users of components could then call into methods from that method table, and pass in the property table from the component, and you end up with a pretty lightweight semi-OOP component system.
I think this extension of components is better motivated and retains a good level of flexibility for users. We will probably need to revise terminology if this ever gets implemented, but it seems like it could be a genuine value-add and a good idea to standardise.

On reflection and after some discussion in the OSS Discord, this seems like it starts to escape the scope of what's relevant for most Fusion codebases, so I think this sort of feature probably best belongs in an external library to target those users for whom it's relevant.


Standalone Binaries & Binary Portability [Enhancement]

It is possible to add binary portability and standalone binary support using https://github.com/jart/cosmopolitan.
The upside is that once compiled, the binary files are self contained and work on the most popular OS and archs.
The downside is that to support this, a few lines of pre-processor directives are needed (#ifdefs) so that it does not break builds with gcc and clang. The directives are documented with comments.
I have created a pull request with the hope that it enables people to use llama.c on a wide variety of 64bit systems without having to cross compile.
Performance wise it is identical on x86_64 machines but very slow on Aarch64 due to a emulation layer.
Also if we figure out a fix (https://github.com/jart/cosmopolitan/issues/866), it would be possible to boot llama2.c baremetal ie llama2.c OS . Currently it does so but the models are not loaded in that case.
Please have a look at the pull request: https://github.com/karpathy/llama2.c/pull/32 to see if it fits with your goals.
Here is the result of running the identical binaries:
Low end x86_64:

Cloud Aaarch64 (emulated & slow):

Available in a separate fork. Closing.


Consul Connect Vault Sidecar Listening health check fails with "Connection refused"

archi: mono
provider: scaleway
HEAD SHA: 10e48969983ba55720dc767b5aa69874938bb165

Sorry, cannot extract more logs because of #64

Hi @makp0
This problem aren't linked with nomad envoy
This proxy are using default consul proxy, you can check the status of the "sidecarvault" systemd service on master node and post here the output.
Thanks

@Ronan-WeScale
░░ The job identifier is 605.
Apr 04 15:46:14 devtwo-mono consul[8261]: ==> Consul Connect proxy starting...
Apr 04 15:46:14 devtwo-mono consul[8261]:     Configuration mode: Agent API
Apr 04 15:46:14 devtwo-mono consul[8261]:         Sidecar for ID: vault
Apr 04 15:46:14 devtwo-mono consul[8261]:               Proxy ID: vault-sidecar-proxy
Apr 04 15:46:14 devtwo-mono consul[8261]: ==> Log data will now stream in as it occurs:
Apr 04 15:46:14 devtwo-mono consul[8261]:     2023-04-04T15:46:14.878+0200 [INFO]  proxy: Proxy loaded config and ready to serve
Apr 04 15:46:14 devtwo-mono consul[8261]:     2023-04-04T15:46:14.878+0200 [INFO]  proxy: Parsed TLS identity: uri=spiffe://55462d1f-d271-4250-3ad4-33cc9af224b2.consul/ns/default/dc/devtwo/svc/vault
Apr 04 15:46:14 devtwo-mono consul[8261]:     2023-04-04T15:46:14.878+0200 [INFO]  proxy: Starting listener: listener="public listener" bind_addr=<IP_ADDRESS>:22000
Apr 04 15:46:19 devtwo-mono consul[8261]: ==> Consul Connect proxy shutdown
Apr 04 15:46:19 devtwo-mono systemd[1]: Stopping Consul ingress gateway for vault...
░░ Subject: A stop job for unit sidecarvault.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit sidecarvault.service has begun execution.
░░
░░ The job identifier is 741.
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Succeeded.
░░ Subject: Unit succeeded
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit sidecarvault.service has successfully entered the 'dead' state.
Apr 04 15:46:19 devtwo-mono systemd[1]: Stopped Consul ingress gateway for vault.
░░ Subject: A stop job for unit sidecarvault.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit sidecarvault.service has finished.
░░
░░ The job identifier is 741 and the job result is done.
Apr 04 15:46:19 devtwo-mono systemd[1]: Started Consul ingress gateway for vault.
░░ Subject: A start job for unit sidecarvault.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit sidecarvault.service has finished successfully.
░░
░░ The job identifier is 741.
Apr 04 15:46:19 devtwo-mono consul[8433]: ==> Consul Connect proxy starting...
Apr 04 15:46:19 devtwo-mono consul[8433]: ==> Error preparing configuration: Failed looking up sidecar proxy info for vault: Get "https://devtwo-mono.devtwo.tradent.link:8501/v1/agent/services": dial tcp <IP_ADDRESS>:8501: connect: connection refused
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit sidecarvault.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit sidecarvault.service has entered the 'failed' state with result 'exit-code'.
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Scheduled restart job, restart counter is at 1.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Automatic restarting of the unit sidecarvault.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Apr 04 15:46:19 devtwo-mono systemd[1]: Stopped Consul ingress gateway for vault.
░░ Subject: A stop job for unit sidecarvault.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit sidecarvault.service has finished.
░░
░░ The job identifier is 744 and the job result is done.
Apr 04 15:46:19 devtwo-mono systemd[1]: Started Consul ingress gateway for vault.
░░ Subject: A start job for unit sidecarvault.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit sidecarvault.service has finished successfully.
░░
░░ The job identifier is 744.
Apr 04 15:46:19 devtwo-mono consul[8469]: ==> Consul Connect proxy starting...
Apr 04 15:46:19 devtwo-mono consul[8469]: ==> Error preparing configuration: Failed looking up sidecar proxy info for vault: Unexpected response code: 403 (ACL not found)
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit sidecarvault.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit sidecarvault.service has entered the 'failed' state with result 'exit-code'.
Apr 04 15:46:19 devtwo-mono systemd[1]: sidecarvault.service: Scheduled restart job, restart counter is at 2.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Automatic restarting of the unit sidecarvault.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Apr 04 15:46:19 devtwo-mono systemd[1]: Stopped Consul ingress gateway for vault.
░░ Subject: A stop job for unit sidecarvault.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit sidecarvault.service has finished.
░░
░░ The job identifier is 813 and the job result is done.
Apr 04 15:46:19 devtwo-mono systemd[1]: Started Consul ingress gateway for vault.
░░ Subject: A start job for unit sidecarvault.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit sidecarvault.service has finished successfully.
░░
░░ The job identifier is 813.
Apr 04 15:46:19 devtwo-mono consul[8486]: ==> Consul Connect proxy starting...
Apr 04 15:46:20 devtwo-mono consul[8486]: ==> Error preparing configuration: Failed looking up sidecar proxy info for vault: Unexpected response code: 403 (ACL not found)
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit sidecarvault.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit sidecarvault.service has entered the 'failed' state with result 'exit-code'.
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Scheduled restart job, restart counter is at 3.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Automatic restarting of the unit sidecarvault.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Apr 04 15:46:20 devtwo-mono systemd[1]: Stopped Consul ingress gateway for vault.
░░ Subject: A stop job for unit sidecarvault.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit sidecarvault.service has finished.
░░
░░ The job identifier is 882 and the job result is done.
Apr 04 15:46:20 devtwo-mono systemd[1]: Started Consul ingress gateway for vault.
░░ Subject: A start job for unit sidecarvault.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit sidecarvault.service has finished successfully.
░░
░░ The job identifier is 882.
Apr 04 15:46:20 devtwo-mono consul[8495]: ==> Consul Connect proxy starting...
Apr 04 15:46:20 devtwo-mono consul[8495]: ==> Error preparing configuration: Failed looking up sidecar proxy info for vault: Unexpected response code: 403 (ACL not found)
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit sidecarvault.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit sidecarvault.service has entered the 'failed' state with result 'exit-code'.
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Scheduled restart job, restart counter is at 4.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Automatic restarting of the unit sidecarvault.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Apr 04 15:46:20 devtwo-mono systemd[1]: Stopped Consul ingress gateway for vault.
░░ Subject: A stop job for unit sidecarvault.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit sidecarvault.service has finished.
░░
░░ The job identifier is 951 and the job result is done.
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Start request repeated too quickly.
Apr 04 15:46:20 devtwo-mono systemd[1]: sidecarvault.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit sidecarvault.service has entered the 'failed' state with result 'exit-code'.
Apr 04 15:46:20 devtwo-mono systemd[1]: Failed to start Consul ingress gateway for vault.
░░ Subject: A start job for unit sidecarvault.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit sidecarvault.service has finished with a failure.
░░
░░ The job identifier is 951 and the job result is failed.

I can reproduce this.
Restart the service work but I will find the root cause.

Was caused by an error in the service initial start order choregraphy. Should be fixed with v0.9.0 (released). Reopen if not.


How can I add script or css file out of Angular environment based on specific situation?

I have make an internationalization website with Angular and want add some CSS library like bootstrap-rtl and so on just when current language is ar or fa but find no way to add link element in head of html.
So my question is, How can I add file out of Angular environment based on specific situation.
I know I can add it in server but it need to reload site.

Thanks for your issue, but this kind of questions belong to stackoverflow. There you can explain what kind of environment are you using so you could get some concrete solution.


Builds fail silently

If there is a path error (eg change a directory name in a clean build) or a Typescript error running npm run build will fail, completely silently, with a success code.
Meanwhile, npm run start will provide some form of erroring.
Would be really useful (basically essential) for pipelines to start getting build to error properly and provide exit 1

I have this issue as well.  It happens with TypeScript, not sure if it happens with JSX as well.

here is the link in webpack's docs.  Apparently the err object does not contain the error so this repo needs to be updated.
https://webpack.js.org/api/node/#:~:text=The err object will not include compilation errors. Those must be handled separately using stats.hasErrors()%2C which will be covered in detail in the Error Handling section of this guide. The err object will only contain webpack-related issues%2C such as misconfiguration%2C etc.

Created a PR above, hopefully he approves of it.  There is an attached screenshot for the failed build error.


Landing page post logins shows "Application Error"

Describe the bug
Opening bolt.new just shows a message saying application error. The same happens if I try to login to bolt.new in incognito or a different browser.
Link to the Bolt URL that caused the error
https://bolt.new/
Steps to reproduce

Go to bolt.new
Try and Login

or

Go to bolt.new in a logged in session

Expected behavior
show the project details / proper login page
Screen Recording / Screenshot

Platform

Brave
Safari
Firefox

Additional context
No response

Hey 👋 Sorry about that. We are working on a fix which should be deployed any minute. Thanks for reporting the issue. We'll keep you posted when it's fixed. Sorry about the inconvenience!

It's working again so I'll close this issue.

I just paid for 20 USD subscription plan and my payment went from my credit card and then I got the invoice to my email and just the next few minutes I tried to log in to the site and it gave same error mentioned by @vamsigottipati. I sent an email to them but no response yet.

amazing work, working again. Not sure about the payment though.
Thanks.

Now its working properly and my subscription also added to my account.
Thanks
On Fri, Nov 8, 2024 at 1:17 PM vamsi gottipati @.***>
wrote:

amazing work, working again. Not sure about the payment though.
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/stackblitz/bolt.new/issues/1771#issuecomment-2464320647,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCA5A5LTSY7AORPG26DAKE3Z7SFSTAVCNFSM6AAAAABRNDYQKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRUGMZDANRUG4
.
You are receiving this because you commented.Message ID: <stackblitz/bolt.
@.***>

Dear Team,
I just purchased 10M token subscription today to use Bolt.New and I started
developing a TTS app using around 2.5M tokens. Bolt helped to develop basic
UI well and then I started developing Firebase authentication. Then Bolt
kept giving me wrong codes and repetitive errors and unhandled bug fixing
and it took more than 6 million tokens just repeating the same issues back
and forth. still I am struggling to get a registered active user count and
just wasting my paid tokens. Therefore I suggest you 2 options.

Top up some reasonable tokens (Above 5 million and keep the partially
developed applications in the dashboard.
Proceed with a full refund and remove the partially developed
applications from the dashboard.

Please let us know your feedback
Best Regards
Sampath.
On Fri, Nov 8, 2024 at 1:17 PM vamsi gottipati @.***>
wrote:

amazing work, working again. Not sure about the payment though.
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/stackblitz/bolt.new/issues/1771#issuecomment-2464320647,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCA5A5LTSY7AORPG26DAKE3Z7SFSTAVCNFSM6AAAAABRNDYQKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRUGMZDANRUG4
.
You are receiving this because you commented.Message ID: <stackblitz/bolt.
@.***>


Login: make email case insensitive

<EMAIL_ADDRESS>doesn't work as a log in, even though<EMAIL_ADDRESS>is my account email.

Closed with f5c5895


Installed theme does not match the one in the demo

我确认我已经阅读了 (使用 "x" 选择)

[ ] 项目 Wiki
[x ] 项目其他 issue

我确认我做到了 (使用 "x" 选择)

[x ] 将项目升级到当前分支最新版本
[ ] 在项目演示站成功复现问题

我正在申请  (使用 "x" 选择)

[ ] 反馈一个 bug
[x ] 申请添加新的特性或功能或者好的想法

Hi I just registered Telegram but it ask 50$ for the entrance of group, not sure the reason. Not mean to bordering.
My proposal is the theme in the demo look very nice but when i fully install the Panel the dark theme does not comes out.
Maybe leave a link of the theme in the demo for ppl to download, it look very nice.
Plus please leave email address or other common IM in README so that ppl do not need writting issues to reaching the dev team. I understanded that this post may 'polluted' hundreds of followers' inbox, please forgive. Thank you.

@brswww ？？？

@brswww the dark theme is only available in dev branch, may you need switch to dev branch


This is not working with chewie

@WoKee  try this
video_player:
    git:
      url: git://github.com/shmy/video_player_flutter.git

Originally posted by @shmy in https://github.com/flutter/flutter/issues/28494#issuecomment-476198373

Hi @imSanjaySoni
From what I can see, the issue is related to a 3rd party plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments, possibly providing a minimal reproducible code sample that does not use 3rd party plugins, and I will reopen it.
Thank you


Using [NotNull] and 'nameof' operator

Hi @hishamco, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

:shipit: :smile_cat:

:shipit: from me. Thanks!

:shipit: from me too - @dougbu can you merge?

Actually wait!

The CI is failing because we check for ArgNullExceptions and this no longer throws (because we haven't implemented NotNull :smile: ).
Can we temporarily mark those specific tests as Skipped?

[00:01:58]    Microsoft.AspNet.Routing.Tests.RouteOptionsTests.ConstraintMap_SettingNullValue_Throws [FAIL]
[00:01:58]       Assert.Throws() Failure
[00:01:58]       Expected: typeof(System.ArgumentNullException)
[00:01:58]       Actual:   (No exception was thrown)
[00:01:58]       Stack Trace:
[00:01:58]          RouteOptionsTests.cs(22,0): at Microsoft.AspNet.Routing.Tests.RouteOptionsTests.ConstraintMap_SettingNullValue_Throws()
[00:01:58] Finished:    Microsoft.AspNet.Routing.Tests

@Eilon why do we want tests of [NotNull] in these repos?  I completely removed those tests in my similar aspnet/Razor#376 PR.  Was thinking of adding a null-test removal commit to what @hishamco has done before pushing.

Oh good point, we can just remove the tests.

merged as 8636477 plus efe39e4 for single test removal


[FEATURE] CarbonAware SDK Update due to WattTime API Update

Is your feature request related to a problem? Please describe.
WattTime has released a new API Version, see https://docs.watttime.org/
Describe the solution you'd like
Using the new WattTime v3 API everything works as expected.
Additional context
Carbon Aware SDK needed and support for the new API Version:

https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/532
https://github.com/Green-Software-Foundation/carbon-aware-sdk/pull/538

Carbon Aware SDK v1.5.0 was released 3 days ago, and they are dropping support for WattTime v2 API. See Release Notes: https://github.com/Green-Software-Foundation/carbon-aware-sdk/releases/tag/v1.5.0


scope a stacked diffs workflow

Context
Stacked diffs are extremely nice for productivity, can read more

https://graphite.dev/guides/stacked-diffs
https://graphite.dev/guides/phabricator-source-code-management-tool

basically makes it so PRs can be made up of lots of small PRs so you never really have to review more than like 100 lines at a time.
Solution
maybe phabricator? idk

👀

OK ZUCK

We will likely adopt this. Taking a closer look!


TCP Router Termination

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
I would like to for Traefik (v3.1.1) to have the ability to disconnect a connection when the backend server is not responding or ended.  From the dashboard I can see that the TCP route and service is removed if the the backend is stopped but new client can still connect to traefik and sending data without any error but of cause the data sent is lost since there is no backend to handle it.
I have tried this configuration  but it does not seems to work.

Hello @alberk8,
Thank you for opening this issue.
To help us better understand and diagnose the problem, could you please provide a reproducible use case?

This is my traefik docker compose and the TCP I am testing against is a mqtt from emqx
Test procecure

docker compose up -d
open browser to http://<IP_ADDRESS>/dashboard/
open browser to http://<IP_ADDRESS>/whoami/
open mqtt client to <IP_ADDRESS> port 1883    (result is connection is successful and can sent data)
stop nanomq container   docker compose stop nanomq
open mqtt client to <IP_ADDRESS> port 1883 (result is connection is establish but hang until timeout)

After step5, traefik should no longer accept connection as the route is gone.
docker-compose.yaml
services:

  traefik:
    container_name: traefik
    restart: always
    image: "traefik:3.1.1"
    deploy:
      mode: global
    ports:
      - 80:80
      - 443:443
      - 8080:8080
      - 8883:8883
      - 1883:1883

    networks:
      - default
      - privnet
    labels:
      - traefik.enable=true
      - traefik.http.routers.api.tls=true
      - traefik.http.routers.api.rule=Host(`<IP_ADDRESS>`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
      - traefik.http.routers.api.entrypoints=websecure
      - traefik.http.routers.api.service=api@internal

    volumes:
      - ./traefik/traefik.yaml:/etc/traefik/traefik.yaml:ro
      - ./certs:/etc/traefik/certs:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

  whoami:
    image: traefik/whoami
    restart: always
    container_name: whoami
    depends_on:
      - traefik
    labels:
      - traefik.enable=true
      - traefik.http.routers.whoami.rule=Host(`<IP_ADDRESS>`) && PathPrefix(`/whoami`)
      - traefik.http.routers.whoami.entrypoints=websecure
      - traefik.http.routers.whoami.tls=true
      - traefik.http.routers.service=whoami-svc
      - traefik.http.services.whoami-svc.loadbalancer.server.port=80

    networks:
      - privnet

  nanomq:
    container_name: nanomq
    restart: always
    image: "nanomq/nanomq:0.6.6-alpine"

    networks:
      - privnet

    labels:
      - traefik.enable=true
      - traefik.tcp.routers.nanomq.entrypoints=mqtt
      - traefik.tcp.routers.nanomq.rule=HostSNI(`*`)
      - traefik.tcp.routers.service=nanomq-svc
      - traefik.tcp.services.nanomq-svc.loadbalancer.server.port=1883

    depends_on:
      - traefik

networks:
  privnet:
    name: privnet
    driver: bridge
    #internal: true

traefik.yaml
## STATIC CONFIG (restart traefik to update)

# shows you a log msg if a newer image tag can be used
global:
  checkNewVersion: true

# log default is ERROR, but WARN is more helpful
log:
        #level: WARN
   level: debug

# enable dashboard on 8080 with NO AUTH
api:
  insecure: true
  dashboard: true

# enable ping so the `traefik healthcheck` works
ping: {}

# auto-proxy containers if they have proper labels
# and also use this file for dynamic config (tls)
providers:
  docker:
    endpoint: "unix://var/run/docker.sock"
    exposedByDefault: false
    watch: true
  file:
    fileName: /etc/traefik/traefik.yaml
    watch: true

tcpServersTransport:
  dialTimeout: 5s
  dialKeepAlive: 3s

# listen on 80/443, and redirect all 80 to 443 via 301
entryPoints:
  web:
    address: :80
    # comment out these lins if you don't want to redirect everything
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
          permanent: true
  websecure:
    address: :443
  mqtt:
    address: :1883

Hello @alberk8,
Thanks for your feedback!

open mqtt client to <IP_ADDRESS> port 1883 (result is connection is establish but hang until timeout)

We suspect your are facing a current known limitation of entryPoints handling both HTTP and TCP.
Indeed, if no TCP router is present, the "default" handler is the HTTP server one.
To avoid that, as a workaround, I'll suggest to catch every connection with a catchAll (HostSNI(*)) router with the lowest priority pointing to a empty loadBalancer service.
This way, when your service is unavailable, this router will handle all incoming connections and close them right away.

How do I go about creating such an catchAll router.  Do I need a specific docker image?

Hello @alberk8,

How do I go about creating such an catchAll router. Do I need a specific docker image?

You do not need a specific Docker image but you will have to use the File provider to configure this catchall router. In the dynamic configuration file, which must be mounted in the Traefik container, the following configuration will configure the catchAll router.
tcp:
  routers:
    catchall:
      entryPoints: ["mqtt"]
      rule: HostSNI(`*`)
      priority: 0
      service: catchall

  services:
    catchall:
      weighted:
        services: {}

The configuration you have provided did not work.  I have to do the following.  I also notice from the traefik dashboard that the config you have provided does not create any TCP router where with my config the catchall TCP router was created.  Is there a configuration mismatch somewhere?  Thanks.
Add to the labels: for the Traefik container section
 - traefik.tcp.routers.catchall.entrypoints=mqtt
 - traefik.tcp.routers.catchall.priority=2
 - traefik.tcp.routers.catchall.rule=HostSNI(`*`)
 - traefik.tcp.routers.service=catchall-svc
 - traefik.tcp.services.catchall-svc.loadbalancer.server.port=65535

Add to labels: for the nanomq container section
 - traefik.tcp.routers.nanomq.priority=9999

Hello @alberk8,

Is there a configuration mismatch somewhere?

I tested the configuration again, and it is working, even though I'm using the same file for both static and dynamic configurations, which seems to be your case as well. However, please note that we do not recommend sharing the same file for both configurations.
Something like the following:
## STATIC CONFIG
entryPoints:
  mqtt:
    address: :1883

api:
  insecure: true

log:
  level: debug

providers:
  file:
    fileName: /path/to/configuration.yaml
    watch: true

## DYNAMIC CONFIG

tcp:
  routers:
    catchall:
      entryPoints: ["mqtt"]
      rule: HostSNI(`*`)
      priority: 0
      service: catchall

  services:
    catchall:
      weighted:
        services: {}

Your alternative configuration works as well; however, the downside is that it will trigger an ERROR log, which won't occur with the empty WRR once this pull request is merged.

I have tried the config again and it works and I tried to apply the changes to my other docker compose and it does not seems to work.    After some debugging I find that setting the traefik.http.routers.traefik.tls.options in the label causes the issue where the connection is not immediately terminated when the backend server has stopped.
Docker Compose  labels:  in traefik container
   labels:
      - traefik.enable=true
      - traefik.http.routers.api.tls=true
      - traefik.http.routers.api.rule=Host(`www.company.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
      - traefik.http.routers.api.entrypoints=websecure
      - traefik.http.routers.api.service=api@internal
      - traefik.http.routers.traefik.tls.options=modern@file
      - traefik.http.routers.traefik.middlewares=default@file

    volumes:
      - ./traefik/traefik.yaml:/etc/traefik/traefik.yaml:ro
      - ./traefik/config.yaml:/etc/traefik/config.yaml:ro
      - ./certs:/etc/traefik/certs:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

Static traefik.yaml
## STATIC CONFIG (restart traefik to update)

# shows you a log msg if a newer image tag can be used
global:
  checkNewVersion: true

# log default is ERROR, but WARN is more helpful
log:
        #level: WARN
   level: debug

# enable dashboard on 8080 with NO AUTH
api:
  insecure: true
  dashboard: true

# enable ping so the `traefik healthcheck` works
ping: {}

# auto-proxy containers if they have proper labels
# and also use this file for dynamic config (tls)
providers:
  docker:
    endpoint: "unix://var/run/docker.sock"
    exposedByDefault: false
    watch: true
  file:
    fileName: /etc/traefik/config.yaml
    watch: true

# listen on 80/443, and redirect all 80 to 443 via 301
entryPoints:
  web:
    address: :80
    # comment out these lins if you don't want to redirect everything
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
          permanent: true
  websecure:
    address: :443
  mqtt:
    address: :1883

Dynamic config.yaml
http:
  middlewares:
    default:
      chain:
        middlewares:
          - default-security-headers
          - gzip

    # Add automatically some security headers
    # Use with traefik.http.routers.myRouter.middlewares: "default-security-headers@file"
    default-security-headers:
      headers:
        browserXssFilter: true                            # X-XSS-Protection=1; mode=block
        contentTypeNosniff: true                          # X-Content-Type-Options=nosniff
        forceSTSHeader: true                              # Add the Strict-Transport-Security header even when the connection is HTTP
        frameDeny: true                                   # X-Frame-Options=deny
        referrerPolicy: "strict-origin-when-cross-origin"
        sslRedirect: true                                 # Allow only https requests
        stsIncludeSubdomains: false                       # Add includeSubdomains to the Strict-Transport-Security header
        stsPreload: false                                 # Add preload flag appended to the Strict-Transport-Security header
        stsSeconds: 15552000                              # Set the max-age of the Strict-Transport-Security header (63072000 = 2 years)

    # Enables the GZIP compression (https://docs.traefik.io/middlewares/compress/)
    #   if the response body is larger than 1400 bytes
    #   if the Accept-Encoding request header contains gzip
    #   if the response is not already compressed (Content-Encoding is not set)
    # Use with traefik.http.routers.myRouter.middlewares: "gzip@file"
    gzip:
      compress: true

tls:
  certificates:
    - certFile: /etc/traefik/certs/mycert.pem
      keyFile: /etc/traefik/certs/mycert.key
  options:
    # To use with the label "traefik.http.routers.myrouter.tls.options=modern@file"
    modern:
      minVersion: VersionTLS13                         # Minimum TLS Version
      #sniStrict: true                                     # Strict SNI Checking

    # To use with the label "traefik.http.routers.myrouter.tls.options=intermediate@file"
    intermediate:
      cipherSuites:
        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
        - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
      minVersion: VersionTLS12                          # Minimum TLS Version
      #sniStrict: true                                     # Strict SNI Checking

tcp:
  routers:
    catchall:
      entryPoints: ["mqtt"]
      rule: HostSNI(`*`)
      priority: 0
      service: catchall

  services:
    catchall:
      weighted:
        services: {}


Create debug build variant

Having to set up an entire Postgres db just to test is very annoying.  Adding a build variant that will allow users to debug without having to do crazy amounts of setup.  This is in relation to #39

Not doing anymore, can just mock things now


Typo in qa-langchain-gemini-elasticsearch.ipynb

Fromat -> Format

I'll talk to our friendly lawyercats to sort out the CLA.


CodeLens on hover

VSCode Version: Version 1.12.1 (1.12.1)
OS Version: macOS Sierra 10.12.4 (16E195)

CodeLens could be on-demand, instead of always showing all references to all items, the references view could be shown on mouse over instead, or at least have an option for mouse over.  Now view feels very cluttered with it, but needs unnecessary steps if it's completely disabled.

I would appreciate this is as well. I like the functionality of the code lens but having the references always displayed clutters the code and it's also a bit distracting during editing when the lines move to make space for the reference count.

I'd like to add to this as well. Code lenses are great but sometimes feel a bit awkward when they interrupt the line height in the editor, particularly if the code has several lines in close proximity that instantiate a lens.
It would be nice if CodeLens supported a different method of representation. For instance, instead of adding code lenses above the referenced line of code, developers could opt to use a symbol in the margin which can be expanded on hover. Another way could be to use an inline marker similar to the problem squiggles - maybe leveraging a different color or shape to indicate that it's a lens?
Thanks!

+1
It's great information to have when you need it, but most of the time it's just in the way!

Came here looking for a way to disable "n references"

Jetbrains' Rider has an option to push their code lens-like feature to the end of the line like so:

I would love this for Code as having the lines constantly jump up and down as I type is irritating.

I would really like this as well. Most of the time CodeLens is a massive distraction when editing code. When you are concentrating hard on the code you are editing, having extraneous information jump out at you and having the lines of code move around is exasperating.  Since it is impossible to ignore it a part of your thoughts necessarily go there and therefore away from the code.
Sometimes the information is useful, and it would be nice to have it available at the fingertips, so both display on hover and display at the end of the line would be good solutions. I would prefer on hover though so the code display is less cluttered most of the time.
As it is now, unfortunately, all I can do is turn it off. So that is what I do.

Easy enough to toggle on and off as needed.
Solved this using an extension 'Toggle' and
"editor.codeLens": true / "editor.codeLens": false

It would be greate to have it at the end of the lines and/or on hover, for sure.
Toggle will help for now :)

I would prefer if the position of cursor controlled when to display references.

Was about to make the same request as @Pondidum, to add them to end of line.
The new implementation of code lens in current version (which I understand is reverted in 1.42) messes code readability up bad with reference counts between every property.

I always thought that it has to be in the end of the line. I have to disable it because it get's in the way. Came here to suggest it to show up on hover as well. Seems like such an obvious and must-have feature now.

My main concern is the visual distraction. Moving it to the end of the line would only reduce the waste of vertical space. I would definitely go for a pure mouseover with only a really subtle visual hint to indicate that there is some information available.

feature-request for

102,124,800 seconds
1,702,080 minutes
28,368 hours
1182 days

Or 3 years, 2 months, 25 days and counting...

Has there been any mention of this feature [even] being considered three and a half years later?

Is there any new info on this?
I am currently developing a language extension and most of the CodeLenses I use show contextual information that is not of interest all the time.
An option to only show CodeLenses at the current cursor position / line would be fantastic.
My current workaround involves a custom LSP endpoint for executeCommand (https://microsoft.github.io/language-server-protocol/specifications/specification-3-16/#workspace_executeCommand) that receives the current cursor position, calculates CodeLenses for that position and returns them to only show these - quite inelegant, as moving the cursor triggers recalculation of CodeLenses.
Is there any possibility to access the currently displayed CodeLenses at all?


https support

Is there an easy way to make it work with https?
Without having to set up a reverse proxy...

My bad. Https is fully supprted

I kinda have the same question. Just set up https for HomeAssistant, modified the pyscript.conf file accordingly and now it seems like it is not working.

Okay, so my working setup is:

Home Assistant set to SSL

using Let's encrypt (using CloudFlare challange)
server.domain.com is the domain which this way has an externally valid cert

My external URL is homeassistant.domain.com

Externally my router only accepting traffic from the CloudFlare edge
On CloudFlare I have proxy mode set for this traffic
My router is forwarding port 443 to the private IP of my HomeAssistant and to port 8123

Internally server.domain.com points to the private IP of my HomeAssistant
pyscript.conf is set to

hass_host pointing to server.domain.com
hass_url pointing to https://server.domain.com:8123

I think what we are missing is a flag in the pyscript.conf to accept untrusted SSL then it would work without needing a valid cert locally.

For my 2-cents, I was having the same trouble accessing the kernel from my LAN. The problem seemed to that

Direct internal access didn't work because the HTTPS certificate is invalid, since it points to my domain
Accessing via the domain worked for HTTPS, but then failed when Jupyter (or pyscript?) attempt to launch a connection on a randomised, high port number. These aren't forwarded through the router, so it fails.

To fix it, I enabled port forwarding from my router to my HA instance of all ports above 9999. This rewrites local accesses to the device, but also exposes those ports externally. That might be what you want: I didn't, so I also added a firewall rule preventing WAN access to the same ports on the router.

Thanks for the above solution.  Would be great if there was a flag to ignore invalid cert for local https access?

As @charlesbaynham wrote, accessing behind a reverse proxy doesn't work because the reverse proxy will not forward the randomized ports. Would it be possible to support this usage scenario?

i use a self signed cert and even though I installed the cert locally python still rejects it, which is probably also why i can’t connect via jupyter.
i see that this pr mentioned should allow me to just disable the check, but i don’t think the current released version includes this? the pyscript.conf doesn’t show this option and adding it doesn’t seem to do anything.
can i directly install the latest version or is this getting another release?

@zeratax for what it's worth, I was able to successfully manually apply the current master and use the new parameter from @acambitsis's changes in https://github.com/craigbarratt/hass-pyscript-jupyter/pull/21.
Current master: https://github.com/craigbarratt/hass-pyscript-jupyter/tree/a30ad3cf0dd3f5af2b57a8b39a9fa11f501db1d4

Pull the hass_pyscript_kernel directory and use to replace contents of site-packages/hass_pyscript_kernel/.
Remove __pycache__ in the same directory if present.
Add verify_ssl = False to pyscript.conf.


Formal Documentation site is full of issues

Bug Report
Your Docusaurus site did not load properly.
A very common reason is a wrong site baseUrl configuration.
Current configured baseUrl = / (default value)
We suggest trying baseUrl = /architecture-as-code/
Go to https://finos.github.io/architecture-as-code.
Any link:
404
File not found
The site configured at this address does not contain the requested file.
If this is your site, make sure that the filename case matches the URL as well as any file permissions.
For root URLs (like http://example.com/) you must provide an index.html file.
Read the full documentation for more information about using GitHub Pages.
Steps to Reproduce:

Navigate to https://finos.github.io/architecture-as-code/ in your browser to see the first issue
Click on any hyperlink to get the 404

Expected Result:
A functional website.

Thanks for the feedback, we don't actually use GitHub Pages for hosting anymore (although they are still published there) - where did you find that link so I can remove it?
You should see that correct location for the docs in the About section of this repo at https://calm.finos.org/


Different execution result between _gamma_one and 'loggamma'

Description
When I ran the following code with loggamma API, everything is ok. But when I change it to _gamma_one, I got the following error:
My code:
import jax
from jax._src.random import _gamma_one
from jax.random import loggamma
import jax.numpy as jnp

def test_f():

    key = jax.random.PRNGKey(0)
    result = _gamma_one(key, -1.0, log_space=True)
    # result = loggamma(key, -1.0)
    print(result)
    assert jnp.isnan(result)  # Expect NaN for negative alpha

if __name__ == "__main__":
    test_f()

Traceback (most recent call last):
  File "/Users/tomasandersonfang/Desktop/reserach/dnnbugs/dataset/test_script.py", line 15, in <module>
    test_f()
  File "/Users/tomasandersonfang/Desktop/reserach/dnnbugs/dataset/test_script.py", line 9, in test_f
    result = _gamma_one(key, -1.0, log_space=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tomasandersonfang/opt/anaconda3/envs/dnn-test/lib/python3.11/site-packages/jax/_src/random.py", line 1190, in _gamma_one
    key, subkey = _split(key)
                  ^^^^^^^^^^^
  File "/Users/tomasandersonfang/opt/anaconda3/envs/dnn-test/lib/python3.11/site-packages/jax/_src/random.py", line 259, in _split
    assert jnp.issubdtype(key.dtype, dtypes.prng_key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

System info (python version, jaxlib version, accelerator, etc.)
jax:    0.4.30
jaxlib: 0.4.30
numpy:  1.26.4
python: 3.11.9 (main, Apr 19 2024, 11:43:47) [Clang 14.0.6 ]
jax.devices (1 total, 1 local): [CpuDevice(id=0)]
process_count: 1
platform: uname_result(system='Darwin', node='MacBook-Pro.local', release='23.4.0', version='Darwin Kernel Version 23.4.0: Fri Mar 15 00:19:22 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T8112', machine='arm64')

_gamma_one expects a typed PRNG key, created via the jax.random.key function. See https://jax.readthedocs.io/en/latest/jax.random.html#prng-keys.
Note also that _gamma_one is an internal JAX API and thus comes with no stability guarantees.


Plots not showing in SciView when remote debugging

I have previously used lets-plot with my local interpreter in Scientific Mode with no problem. Switching to a remote interpreter lets-plot stopped working and my plots wont show up in SciView. Here are my system info:
PyCharm 2<IP_ADDRESS>
lets-plot python package 2.0.0
Lets-Plot in SciView plugin <IP_ADDRESS>

When with remote interpreter does the other SciView functionality work?

dataframe explorer
matplotlib plots

I did not check dataframe explorer, but matplotlib plots work for me.

When with remote interpreter does the other SciView functionality work?

dataframe explorer
matplotlib plots

This is very bad, could you try to inject the following code AFTER from lets_plot import *:
from lets_plot.frontend_context._mime_types import LETS_PLOT_JSON
import lets_plot.frontend_context._configuration as _cfg
from lets_plot.frontend_context._intellij_python_json_ctx import IntellijPythonJsonContext

_cfg._default_mimetype = LETS_PLOT_JSON
_cfg._frontend_contexts[LETS_PLOT_JSON] = IntellijPythonJsonContext()

@alshan, Thanks! I can now plot using lets_plot with the lines you provided added to my script.

This is great! I'll fix it in the next release, thank you for reporting.

hi @mirbagheri, try the latest v2.0.1 - it should work without the hack.

@alshan, Yes! v2.0.1 is now working seamlessly for me.


[Backport 27774 to v23] Fix various issues when validating DNS response packets

Backport of #27774. The last commit (tests: net: dns: Add tests for catching malformed packets) had some conflicts, so it would be good to get extra scrutiny on review.

PR on wrong branch. Closing, will create new PR on correct branch.


Oracle GoldenGate in a Container

Allow GoldenGate images to be created with an alternate base image
Minor corrections to documentation

Signed-off-by: Stephen Balousek<EMAIL_ADDRESS>

Could you please add an ignore directive so that the linter check passes?

The linter check is passing now. Is there Anything else you would like to see here, @Djelibeybi ?

Nope, but until you push the "Re-request review" button (which I just did), I don't get notified that it has been updated. :) Reviewing now.


image-pipeline.yml: add yaml file for building images in azure

Not sure, so I am asking here: shouldn't both Azure jobs pass? @AAndrisa

v2: problem fixed
I found a problem when image build failed during pipeline build and the rootfs_tmp remained busy and could not be deleted by azure when it tried to make a clean checkout. A workaround was added to umount the directory if the pipeline failed and the directory existed.


Crashes in Stream Deck v6.0.[0,1]

Unfortunately, I'm finding that this plugin is causing the new Stream Deck v6 software to report errors via the QtWebEngineProcess when the button is clicked on to configure it in preferences. I was previously using it successfully to open the Homebridge UI but now cannot configure it (and the existing button icon on the physical Stream Deck reports a ⚠ when the button is pressed).
Running Stream Deck 6.0.1 on macOS Ventura / Apple Silicon.

Stream Deck v6 software to report errors via the QtWebEngineProcess when the button is clicked on to configure it in preferences.

Can you share this error?

I was previously using it successfully to open the Homebridge UI but now cannot configure it

Did you use it with the same accessory that you configure now?

existing button icon on the physical Stream Deck reports a ⚠ when the button is pressed

This may be part of the behaviour of this plugin.
https://github.com/sergey-tihon/streamdeck-homebridge/blob/main/src/StreamDeck.Homebridge/PluginAgent.fs#L54-L56

You press the button
The plugin sends a request to Homebridge and asks to change the characteristic to some target state (opposite to current, like on/off)
Homebridge delegate this request to Homebridge plug that actually processes it and communicate with the device.
When Homebridge replies, the plugin sends one more request to Homebridge and asks for the current value of the configured characteristic.
If the plugin sees the same value as before (the server reports the same state), the plugin show ⚠ on the button.

⚠ may be an expected behaviour of the this plugin, when something wrong with installed Homebridge plugin or accessory.

Hey there, ive the same error and can share at the first lines of error code if its helpful

Translated Report (Full Report Below)
Process:               QtWebEngineProcess [1750]
Path:                  /Applications/Elgato Stream Deck.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/A/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
Identifier:            org.qt-project.Qt.QtWebEngineProcess
Version:                ()
Code Type:             ARM-64 (Native)
Parent Process:        Stream Deck [860]
Responsible:           Stream Deck [860]
User ID:               501
Date/Time:             2022-11-26 14:59:47.6236 +0100
OS Version:            macOS 13.0.1 (22A400)
Report Version:        12
Anonymous UUID:        B8E63671-E09F-E105-6F3D-A7FD9CF166BC
Time Awake Since Boot: 610 seconds
System Integrity Protection: enabled
Crashed Thread:        0  CrRendererMain  Dispatch queue: com.apple.main-thread
Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000001, 0x0000000117cfb050
Termination Reason:    Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process:   exc handler [1750]
Kernel Triage:
VM - pmap_enter retried due to resource shortage

@ju93m thank, but how you understand that it is related with this plugin?
From shared log I see that Elgato process that host plugins crash on ARM-64 with no details what happened or what caused the error.

@sergey-tihon you're welcome, i think its issued by this plugin because it appears when i try to use a button related to the plugin. It's the same scenario as @andypiper describes in his post. Is there any possibility to assist in solving that issue?

I'm no longer certain that this is related to the plugin - apologies to @sergey-tihon here!
Initially it seemed to stop once I had removed the Homebridge plugin (and I was unable to configure the plugin if it was installed), but now it has come back and I'm still seeing the Qt error from Elgato.
So I am going to close this out as I am not able to pinpoint a connection between the plugin and the error - I think the Stream Deck v6 update (or, another plugin) is more likely to be the problem.
Again, @sergey-tihon apologies for not having done enough checking on my side - and thank you for your work on homebridge-streamdeck! 🙏🏻

@ju93m This plugin is JS one, that run inside QtWebEngineProcess (or basically browser). It is isolated environment, JS code should not be able to crush the browser - it is bug and serious vulnerability by its own, that should be fixed on the host side Qt/Elgato.
If you cannot share full log here you can contact Elgato support with this case. Would be really nice to fix root cause of this crush.


WIP: Example windows

Examples using ModernGL with pyqt, pyglet, glfw and sdl2
Starting this pull request early (WORK IN PROGRESS)

Will try to get this one done during the weekend

Viewport obeys the configured aspect ratio doing vertical and horisontal centering. All windows can do fullscreen and support run-time resizing.
Ultra Wide 21:9 3440 x 1440

Smaller window with resized height.

Managed to get pretty far.
Remaining tasks:

Link window examples from README
Proper README for the window examples
Update examples README with parameters and usage
Support mouse buttons click events
Possibly include the camera from #276
Add SDL2 window
Add pyglet window
Covert remaining examples

I have run it on window.

looks great :)

I think this is ready for merge now. This was a lot more work than I originally planned for 😄

merged :)


Windows 10, word 2013 not working

I have a Win10, Word2013 box.  I complete the whole tutorial and when i open word, i get an automation error.  If i pull down the hta file myself and manaully open it, it works fine.  What gives?  I cannot get the exploit.txt to auto run the cmd.hta.  I set the localhost in the exploit.txt and the macro to my local kali box, host the files on the root of my webserver and finally, launch the webserver.  I can see the download of the exploit, but it never grabs the cmd.hta.

I am also getting a "Microsoft Visual Basic for Application: Automation Error" error message as well. I am testing the Word Doc on Windows 7 SP1 running Office 2016 and I am hosting the cmd.hta and exploit.txt files out of my Kali root web server.  When I open the document, I can't see anything happening from Kali machine (this is when SimpleHTTPServer is running.)

glad its not just me, ive gotten other exploits of this CVE to work using metasploit and meterpreter

Yeah, same here. I'm sure it is something we are missing from our setups.

i dont know man, ive literally read every single letter of every word on a few sites and watched a few videos - this isnt that complicated of an exploit.  that automation error i think is causing this not to work.  Or we got patched already and dont know it, have you checked your win7 box for the KB to patch this?

I'm pretty sure I didn't apply this month's updates. I think , however, this may be related to Visual Studio 2017.I have it installed and I've come across other issues relating to VS 2017. Unfortunately, a simple Google search doesn't find anything.

Interesting. I have visual studio 2013 installed

I could try my win7 vm. But I'll need to get word on it. Actually ya know what I tried this on my mom's win8 box and same deal. She doesn't have vs installed.

If you get anywhere let me know I'm going to keep trying.

Figured it out. I was patched. I removed the patch installed on 9/13 rebooted and the exploit worked.

Fuck. Lucky you.

You sure u don't have the patch?

I had some Sept. patches installed (non-security) thinking that it would work. That didn't work so I uninstalled them and tried again. No luck. So, I am uninstalling my copy of VS 2017 to see if that would work.  As of now, all my updates are as recent as May 2017.

@derek7467 I got it to work. It was user error on my part (D'oh).

What was it?

First, I wasn't entering the correct ip address in exploit.txt. Second, I was only running SimpleHTTPServer. I put cmd.hta and exploit.txt in the www folder, ran apache and ran SimpleHTTPServer 8080. I guess the document not reaching exploit.txt caused the VS automation error. I have should have known better. Anyhow, all is good. I got calc.exe and mspaint.exe to run. I tried to get the script to connect back to my machine via metasploit but no luck. I'll try that empire suite to see how that works.

Ah OK. Nice that you got it working. Yea empire is pretty cool. Similar to metasploit. There's a vid out there on using this exploit w metasploit but it passes thru a payload via an exe so I would imagine we would need veil to bypass AVs. Either way businesses better patch this quickly.


Missed a reference to Orno

👍
On 25 Jan 2015 11:21, "James Watts"<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/thephpleague/route/pull/8
Commit Summary

Missed a reference to Orno

File Changes

M strategies.md
https://github.com/thephpleague/route/pull/8/files#diff-0 (2)

Patch Links:

https://github.com/thephpleague/route/pull/8.patch
https://github.com/thephpleague/route/pull/8.diff

—
Reply to this email directly or view it on GitHub
https://github.com/thephpleague/route/pull/8.

Thanks @jameswatts!


Event System does not coalesce changes properly

I decided to file this as a feature/bug instead of continuing in the long SPI thread.
In my experience you rarely need to "react" to a single property event (property being name value pair).
Let us say I have some sort of external system with credentials and location information. Let us use a datasource ignoring the complexity reloading of database pool as an example.
I have my properties like "database.user" and "database.password" and many more. I stress many properties.
Now I load all of these guys up into some object in one event change.
How do I do the above without reacting to every single property change?
I think the event system needs to be more batching or transactional.
What I recommend is removing all the setProperties functions and potentially the onChangeXXX or deprecating them.
Here is an abbreviated version of our in house one with some name changes:

    void onEvent(Consumer<? super Event> consumer);

    // captures a snapshot of the current config to prepare for edit
    EventBuilder eventBuilder();

    void publish(Event event);

    public interface EventBuilder {

        // This snapshot is mutable and copy of the current config
        Map<String, ConfigEntry> snapshot();

        EventBuilder description(String description);

        // whether or not to take the changes of the snapshot
        EventBuilder update(boolean update);

        Event build();

    }

So instead of calling setProperty("foo", "bar") you do something like this:
eb = config.eventBuilder();
eb.snapshot().put("foo", "bar");
eb.snapshot().put("another", "one");
config.publish(eb.build());

I have simplified and removed some ergonomics as well as combined the "change request" with the downstream event but hopefully you get the idea.
Now downstream you could add information about which properties have changed but I have found that just re pulling the config you need good enough.
config.onEvent( e -> { if (e.update) service.reload(config); });

In the old system I would get an event for each property change potentially causing lots of problems particularly if the most common case is some file reload of lots of properties.
 While concurrent hashmap saves you from concurrent modifications it doesn't mean it guarantees consistency.
Anyway if you are interested I can do a PR on how I would implement it.

That is an interesting imaginative hack. It seems a little dirty but other than threading issues it probably would work. It is sort of the other option I was going to propose of a "flush" method.
If that is a solution we should fix property loading so that order in the file is maintained.
I think like here: https://github.com/avaje/avaje-config/blob/136fe39315fc120ebdc7b4b9cd76dc2f85725615/avaje-config/src/main/java/io/avaje/config/FileWatch.java#L71
Here is some code again from our code base that maintains property order. I highly recommend you guys consider doing something similar:
static Properties prepareProperties(
		BiConsumer<String, String> consumer)
		throws IOException {

	// Hack to use properties class to load but our map for preserved order
	@SuppressWarnings("serial")
	@NonNullByDefault({})
	Properties bp = new Properties() {
		@Override
		public Object put(
				@Nullable Object key,
				@Nullable Object value) {
			if (key != null && value != null) {
				consumer.accept((String) key, (String) value);
			}
			return null;
		}
	};
	return bp;
}

public static void readProperties(
		Reader reader,
		BiConsumer<String, String> consumer)
		throws IOException {

	@NonNullByDefault({})
	Properties bp = prepareProperties(consumer);
	bp.load(reader);
}

It still feels wrong though to depend on the order of properties for a proper event batching but I suppose it would work.

but hopefully you get the idea.

Yes, I like it.
With the update(boolean) ... what is a use case where that is not set to true? Where the is put() but update is false?

as well as combined the "change request" with the downstream event

Yeah, we'd want them to be separate, perhaps more like:
// event builder / publisher always works on a snapshot

Configuration configuration = ...;
eb = configuration.eventBuilder();

// optional description of the event
eb.description("TheReasonImDoingThis");

// or ... if we must provide a description of the event
eb = configuration.eventBuilder(string description);

// mutation only methods as user has access to configuration for reading properties
eb.put("foo", "bar");
eb.put("another", "one");
eb.remove("banana");

// ?? update true by default, when is this ever false?
eb.update(false);

eb.publish();

interface Event {

  Optional<String> description(); // maybe not optional

  Configuration configuration();

  Set<String> modifiedKeys();

  // Set<String> removedKeys(); // probably don't need this

}

configuration.onChange(Consumer<Event> listener)

// if only interested in specific properties
configuration.onChange(Consumer<Event> listener, String... onlyKeysImInterestedIn)

Would this work out for your example?

I think we need to be prepared to change from 'per single property change' to the 'bulk/batch property changes'
... and I think the API should closely reflect that concept.
That means the existing setProperty(), clearProperty(), onChange( ... single property ...) methods no longer match the concept. It's likely we'd regret not deprecating and removing them altogether.  Design like they are already gone.

Put a comment in here if someone is working on a PR for this ... I'll look to pick it up later if someone else hasn't already started and if I do I'll put a comment in here.

somewhat busy today

I can do it but it would have to be in two weeks (have child with school vacation). I might be able to get some informal changes in on Friday.


feat(security): Add security to hal config

This commit adds the security block to the hal config, as well as the configuration nested under it. This includes SSL for gate/deck, as well as authentication and authorization.
The one exception is that I left a TODO for OAuth as Halyard looks to be doing some complex logic there and I want to look at separately.

I got a bit carried away and ended up doing most of the security protos as that's the next big thing we'll need to do before we can do fiat, gate, or deck.


'TypeScript and JavaScript Language Features' Formatter hangs

I tried to save this file after pasting in the content and it's been hanging for minutes now:

File stats:

241 lines
1032768 chars

Problem file content:
file.json
TypeScript log file:
ts.log

I just tested on TS 5.6.20240716 but couldn't repo. @Tyriar Can you check if you see this in an empty workspace with just that file? Also does it only happen if you run the action on save, or does it happen with normal format too?

@mjbvz it was in my vscode single folder workspace and it happened on normal format as well

And it also happened with a regular file with a more reasonable size, so I had to disable format on save in workspace settings temporarily to unblock me


:construction: Add format function.

Signed-off-by: Tosone<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 28

76 of 76 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 26:
0.0%

Covered Lines:
233

Relevant Lines:
233

💛  - Coveralls


Change string ids to global id data

Create branch from main
issue-34-change-string-ids-to-global-id-data


Updates for Talon 0.3

knausj_talon should stop importing from talon_plugins. See actions.list('tracking') for an official list of actions to interact with the mouse control systems. I've added compatibility shims for now that throw a warning, but they will be removed eventually.
This is primarily done in:

mouse_grid/mouse_grid.py
code/mouse.py

(Note that Talon 0.3 hasn't been released to Windows yet, so any code for this shouldn't be merged until Talon Windows 0.3 is out with support for the new actions)

Talon 0.3.1 was released to Windows, so it's a good time to move on this issue.

I think you can pass a bool into the toggle functions rather than checking first

@knausj85 thanks for the changes!
I think you can pass a bool directly into the toggle functions rather than checking if they're enabled first.
Also, you shouldn't be using control1_* in new code. I'm pretty sure the compat shim points users at the new control mouse already, so you should use the new version here.


Initial commit of working atom snapcraft config (config only)

Do you mind rebasing on master? You should now have the tests passing as expected :) Thanks!

Done :)

Excellent!


Add OS tests

WIP

Coverage remained the same at 79.676% when pulling 398a5b27e8220e46dcd82619b24b286e842bf09e on betterOStests into 4dc4ff7963b4fb101eaf1d201e52fdbc034389be on master.


[REEF-451] Add Org.Apache.REEF.IO

This creates the new (empty) project Org.Apache.REEF.IO to hold our data and filesystem abstractions.
JIRA:  REEF-451

@jwang98052 thanks for the review, I addressed your comments.


Add additional test coverage for common functions in GitHub provider

Summary
Currently common functions in GitHub provider lacks test coverage when converting github repos to minder repos.
This commit adds test coverage for ConvertRepositories for github.
Fixes #4380
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[x] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[x] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 53.436% (+0.2%) from 53.264%
when pulling 7ce0701a9f85a6524a7329d209e2e5f2b663161d on gajananan:improve-test-coverage-proividers-gh-common
into 49f192a44c7dd19ddadb0e03cbeba4c45dde0bda on stacklok:main.

Thanks for the PR @gajananan!
The code changes look good, there are just a few cleanup items we need before merging this. Could you run make lint on you local machine before committing? This will show the lint errors. Could you change the PR description from Fixes #4380 to Ref #4380? If we have the Fixes keyword then it will close the associated issue, which we don't want in this case.

Thank you.  @eleftherias. I managed fix the lint config on my machine and run the make lint properly.  it looks fine now.

Thanks for the PR @gajananan!
The code changes look good, there are just a few cleanup items we need before merging this. Could you run make lint on you local machine before committing? This will show the lint errors. Could you change the PR description from Fixes #4380 to Ref #4380? If we have the Fixes keyword then it will close the associated issue, which we don't want in this case.

Thank you. @eleftherias. I managed fix the lint config on my machine and run the make lint properly. it looks fine locally (no lint errors) in my machine now. However, lint seems to be failing in CI.

It could be a mismatched version of the lint tool. Could you try running make bootstrap (to install the required version) and then make lint again?

Thanks for the PR @gajananan!
The code changes look good, there are just a few cleanup items we need before merging this. Could you run make lint on you local machine before committing? This will show the lint errors. Could you change the PR description from Fixes #4380 to Ref #4380? If we have the Fixes keyword then it will close the associated issue, which we don't want in this case.

Thank you. @eleftherias. I managed fix the lint config on my machine and run the make lint properly. it looks fine locally (no lint errors) in my machine now. However, lint seems to be failing in CI.

It could be a mismatched version of the lint tool. Could you try running make bootstrap (to install the required version) and then make lint again?

Thank you, @eleftherias. I was not aware I was using an old version of lint.  It is now fixed.


Bridgy stopped finding my webmention endpoint

Since one week bridgy does not recognize anymore http://stromgeber.lischka.cc/ as an endpoint for many favs, retweets, replies and the like I get on  http://twitter.com/klischka for content syndicated from there (a withknown installation):
I did not change anything in the profile on twitter or on the known-site.
When polling, the URL is not recognized anymore. Part of polling log:
2016-12-27 15:04:51.619170 I requests.get http://www.konradlischka.info/ {'headers': {'Accept': '...', 'User-Agent': '...'}}
2016-12-27 15:04:54.330369 D No h-feed found, fallback to top-level h-entrys.
2016-12-27 15:04:55.034180 D fetching author url http://lischka.pics/
2016-12-27 15:04:55.034830 I requests.get http://lischka.pics/ {'headers': {'Accept': '...', 'User-Agent': '...'}}
Any ideas on this? Thanks!

hi @klischka! sorry for the trouble. looks like this was a bad side effect of the fix for #711, which added content negotiation via the HTTP Accept request header. thanks for reporting!
cc @rhiaro @benwerd. the change added the Accept: text/html; q=0.1, application/json; q=0.9, */*; q=0.8 header to bridgy's outgoing HTTP requests. this convinced @rhiaro's web site to serve HTML, but oddly makes Known serve JSON instead. if i cut it down to just Accept: text/html, Known serves HTML. i thought maybe Known wasn't handling the q= priority flags, but it still serves JSON even if i drop them.
@rhiaro, could you advise? am i missing some con-neg best practice(s) for ensuring compatibility across servers?

I think your q values are inverted. You should set q=0.9 to prioritise HTML, 0.1 is lowest priority, so it's overridden by the request for JSON.
I think my server ignores q values because I'm lazy, but Known is behaving correctly.
Best practice though would be not to ask for JSON at all if you can't use it, just ask for HTML.

I think your q values are inverted. You should set q=0.9 to prioritise HTML, 0.1 is lowest priority, so it's overridden by the request for JSON.
I think my server ignores q values because I'm lazy, but Known is behaving correctly.
Best practice though would be not to ask for JSON at all if you can't use it, just ask for HTML.

argh sorry, bad copy/paste. that was from one of my debugging experiments. bridgy is actually sending Accept: text/html, application/json; q=0.9, */*; q=0.8.
you're right about only asking for HTML though. bridgy definitely wants and uses JSON in many cases, just not this one, but right now it's easier for me to use the same header in all requests. that's an implementation detail. i can try to differentiate in the future.

i tried other explicit qs for text/html too, but no luck:

Accept: text/html; q=1.0, application/json; q=0.9, */*; q=0.8
Accept: text/html; q=0.99, application/json; q=0.9, */*; q=0.8

in case it matters, @klischka's server says it is Server: Apache/2.2.15 (CentOS).

Hm, in that case I don't know. I was just suggesting to use explicit q=1 for HTML when your other message came through. Maybe Known ignores q and prioritises JSON if it appears anywhere in the Accept. Need a Known representative to confirm or deny..

Thank you for getting back to this. It is Known Version: 0.9.2

this has evidently broken backfeed entirely for Known users. :/ as a temporary workaround, i'm going to to limit sending the Accept header to just rhiaro.co.uk for now.

Thanks for the special exception snarfed! Sorry for the fuss :s

done. @klischka, if you add http://stromgeber.lischka.cc/ back to your twitter profile and re-sign up for bridgy, you should hopefully get backfeed again.

Works perfectly - thank you!

Hey,
I had the same problem, but after re-connecting everything's fine with Twitter again.
But now it seems my Facebook syndication broke?  I get "No webmention targets" for my Known, but with Wordpress it's still working...

@drikkes glad twitter is working again! and sorry facebook is broken. thanks for reporting.
looking at http://drikk.es/ , the only post i see in the last few weeks with a syndication link to facebook is http://drikk.es/2017/musste-es-im-logan-trailer-denn-unbedingt-johnny-cashs-hurt-cover-sein , which does have likes and comments on facebook. your bridgy user page https://brid.gy/facebook/10206219375153745 shows that it found those responses, and the logs show that it found the syndication link, so i'm not sure what's up. i'll keep looking.

Jep, that's it. Thanks for investigating.

looks like we are sending Facebook webmentions to drikk.es now: http://drikk.es/2017/die-dinger-vermehren-sich#comments
i suspect the day or two we missed was due to caching the missing Known endpoint due to idno/Known#1622. sorry @drikkes! if you want, you can fill in those responses manually with https://brid.gy/about#source-urls .