[windows] node-gyp fails to find Visual Studio Build Tools 2017

Hi,
node-gyp fails to find Visual Studio Build Tools 2017

msvs_version does not match this version
could not find a version of Visual Studio 2017 or newer to use

node-gyp version: node-gyp v5.0.7
Node Version: node v13.1.0  npm 6.12.1
Platform: Windows 10
Compiler: <IP_ADDRESS>4 (Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework)
Module: ffs

Verbose output (from npm or node-gyp):
V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor>node-gyp rebuild --verbose
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   'X:\\Program Files\\Node\\node.exe',
gyp verb cli   'C:\\Users\\OSO\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose'
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - executable path is "X:\Program Files\Python\Python3\python.exe"
gyp verb find Python - executing "X:\Program Files\Python\Python3\python.exe" to get version
gyp verb find Python - version is "3.8.0"
gyp info find Python using Python version 3.8.0 found at "X:\Program Files\Python\Python3\python.exe"
gyp verb get node dir no --target version specified, falling back to host node version: 13.1.0
gyp verb command install [ '13.1.0' ]
gyp verb install input version string "13.1.0"
gyp verb install installing version: 13.1.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 13.1.0
gyp verb build dir attempting to create "build" dir: V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\build
gyp verb build dir "build" dir needed to be created? V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\build
gyp verb find VS msvs_version not set from command line or npm config
gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp verb find VS checking VS2017 (15.9.28307.960) found at:
gyp verb find VS "X:\Program Files\Visual Studio\Build Tools 2017"
gyp verb find VS - found "Visual Studio C++ core features"
gyp verb find VS - found VC++ toolset: v141
gyp verb find VS - found Windows SDK: 10.0.17763.0
gyp info find VS using VS2017 (15.9.28307.960) found at:
gyp info find VS "X:\Program Files\Visual Studio\Build Tools 2017"
gyp info find VS run with --verbose for detailed information
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\build\config.gypi
gyp verb config.gypi checking for gypi file: V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\config.gypi
gyp verb common.gypi checking for gypi file: V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\common.gypi
gyp verb gyp gyp format was not specified; forcing "msvs"
gyp info spawn X:\Program Files\Python\Python3\python.exe
gyp info spawn args [
gyp info spawn args   'C:\\Users\\OSO\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-I',
gyp info spawn args   'V:\\Programming\\JavaScript\\Programming\\Projects\\_node\\node-tablet-monitor\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\OSO\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\OSO\\AppData\\Local\\node-gyp\\Cache\\13.1.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\OSO\\AppData\\Local\\node-gyp\\Cache\\13.1.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\OSO\\AppData\\Roaming\\npm\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\OSO\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\13.1.0\\\\<(target_arch)\\\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=V:\\Programming\\JavaScript\\Programming\\Projects\\_node\\node-tablet-monitor',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'V:\\Programming\\JavaScript\\Programming\\Projects\\_node\\node-tablet-monitor\\build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp: binding.gyp not found (cwd: V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Users\OSO\AppData\Roaming\npm\node_modules\node-gyp\lib\configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "X:\\Program Files\\Node\\node.exe" "C:\\Users\\OSO\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose"
gyp ERR! cwd V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor
gyp ERR! node -v v13.1.0
gyp ERR! node-gyp -v v5.0.7
gyp ERR! not ok

V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor>npm install -g node-gyp
C:\Users\OSO\AppData\Roaming\npm\node-gyp -> C:\Users\OSO\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js
+<EMAIL_ADDRESS>updated 1 package in 2.258s

V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor>npm install ffi

><EMAIL_ADDRESS>install V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\node_modules\ref
> node-gyp rebuild

V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\node_modules\ref>if not defined npm_config_node_gyp (node "X:\Program Files\Node\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2015
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS checking VS2017 (15.9.28307.960) found at:
gyp ERR! find VS "X:\Program Files\Visual Studio\Build Tools 2017"
gyp ERR! find VS - found "Visual Studio C++ core features"
gyp ERR! find VS - found VC++ toolset: v141
gyp ERR! find VS - found Windows SDK: 10.0.17763.0
gyp ERR! find VS - msvs_version does not match this version
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS - "2017"
gyp ERR! find VS - "X:\Program Files\Visual Studio\Build Tools 2017"
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16
gyp ERR! stack     at X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at X:\Program Files\Node\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:302:5)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at maybeClose (internal/child_process.js:1028:16)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "X:\\Program Files\\Node\\node.exe" "X:\\Program Files\\Node\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd V:\Programming\JavaScript\Programming\Projects\_node\node-tablet-monitor\node_modules\ref
gyp ERR! node -v v13.1.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\OSO\AppData\Roaming\npm-cache\_logs\2019-12-22T13_55_29_502Z-debug.log

gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************

So,how did you solve it in the end.

We are having this exact same problem on automated test machines in production. Out of nowhere all of our Windows machines are slowly failing to install/compile anything with node-gyp. I've tried re-installing windows-build-tools, both 5.2.2 and the latest v4. We're on Windows 10, NPM 6.13.4, and node 10.18.1.

Check if changing line 270 in node_modules\node-gyp\lib\find-visualstudio.js
from
return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'MSBuild.exe')

to
return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'amd64', 'MSBuild.exe')

will help you.

I have this exact same problem.  I am completely stuck.  I've installed Python manually.
I've run npm install --global --production windows-build-tools.  I've manually installed both the 2019 and 2017 version of Visual Studio Community.  Same problem.

 UNCAUGHT EXCEPTION gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\15.0\Bin\MSBuild.exe ENOENT gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19) gyp ERR! stack     at onErrorNT (internal/child_process.js:456:16) gyp ERR! stack     at processTicksAndRejections (internal/process/task_queues.js:80:21) gyp ERR! System Windows_NT 10.0.18362 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\ProjAngular\\SupervisionServices\\node_modules\\devextreme-cli\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" gyp ERR! cwd C:\ProjAngular\SupervisionServices\node_modules\devextreme-cli\node_modules\node-sass gyp ERR! node -v v12.13.1 gyp ERR! node-gyp -v v3.8.0 gyp ERR! This is a bug in node-gyp.

Please try the solution that worked at https://github.com/nodejs/node-gyp/issues/2069#issuecomment-598195851

@cclauss Thank you for the reply.  I have removed and reinstalled the node_modules directory  multiple times this morning - been fighting this for hours.  node-gyp is at 6.1 in the node_modules directory.  However, the node-sass compile is somehow still getting v3.8.0.   I just removed the directory, verified what version of node-gyp was in the package.json and it is 6.1.   Verified what installed.  I still have the exact same error as above.

node-sass has pinned itself to an old version of node-gyp: https://github.com/sass/node-sass/blob/b54053a1b50fd97e951eb0311a7fb818683a8e99/package.json#L67
Apparently they won't update until their next semver-major: https://github.com/sass/node-sass/issues/2716

@richardlau  That's what I thought I was seeing.  Thank you.  I'm still a newbie at reviewing the package.json files.

Unfortunately neither of these seems to fix the problem.  It's still reaching out to 2019 to do the compile.
npm config set msvs_version 2017 and yarn config set msvs_version 2017

Hey @nhustak ,
this line
gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\15.0\Bin\MSBuild.exe

says it will try to execute 32-bit binary.
But the args
gyp info spawn args   '/p:Configuration=Release;Platform=x64'

say that target is x64.
What you need is to make it execute 64-bit binary, which is located under "amd64" subfolder.
Please, read the comment above https://github.com/nodejs/node-gyp/issues/2002#issuecomment-587578162 . It works for me (drawback is that it is a local change)

@intrueder  Well thank you very very much.  That worked!

If changing your security policies is acceptable - I found that the setting User Account Control: Admin Approval Mode for the Build-in Administrator Account policy in secpol:: Local Policies > Security Options had to be disabled explicitly and the problem went away. I was able to trace the core issue (for me) to an issue with the PowerShell script in node-gyp that searches the registry for a VS installation.

I'm going to close this. It's been inactive for over a month and it doesn't really seem to be an issue with (a recent version of) node-gyp.

I was having a similar problem to this where Find-VisualStudio.cs was returning nothing from the execFile.
After much debugging it turned out I was spawning the yarn command (which in turn spawned node-gyp) and I had specified env which meant that the system default environment variables were not passed through. By adding ...process.env onto my spawn on yarn - node-gyp was able to find visual studio again.

I have latest Windows 10.  tried with node_gyp version 8.1.. I tried with both Visual Studion 2017 and 2019 .  Still not able to proceed

No log makes it a guessing game.


File not found: LICENSE

I get this when I try to run this Grunt task:
Running "create-windows-installer:x64" (create-windows-installer) task
>> File not found: 'LICENSE'.
Warning: Command failed: C:\Users\ollie\_TEMP\cc_build\gruntit\node_modules\grun
t-electron-installer\vendor\nuget.exe pack C:\Users\ollie\AppData\Local\Temp\squ
irrel-installer-115717-9376-72k146\CC-editor2.nuspec -BasePath C:\Users\ollie\_T
EMP\cc_build\electron\out\R -OutputDirectory C:\Users\ollie\AppData\Local\Temp\s
quirrel-installer-115717-9376-72k146 -NoDefaultExcludes
File not found: 'LICENSE'.
 Use --force to continue.

Aborted due to warnings.

I tried grunt --force but that didn't seem to help. The task just ended and did not produce an installer.
I made sure I had a "license" field in my app's package.json, and I even added files LICENSE, LICENSE.md, LICENSE.txt in the same directory as my app's package.json. None of these things have allowed to me to get past this error.
What am I missing? Thanks.

LICENSE needs to be in the same folder as electron.exe (i.e. C:\Users\ollie\_T EMP\cc_build\electron\out\R)


Server shut down on unexpected option

With the current behavior, an incoming request with an unknown 'Content-Format' option generates an unexpected exception that makes the server crash. I've captured the exceptions in the message handling, to return an error to the user, indicating that the request could not be handled.

Thanks!!


Support for external connectivity via nginx-ingress

Is your feature request related to a problem? Please describe.
We use nginx-ingress for all of our external HTTP traffic coming into k8s. Whilst envoy-proxy would work for us, we'd like to be able to integrate Koperator with our existing nginx-ingress setup, so that all external traffic goes through one place.
In addition, we discovered that Koperator's envoy-proxy setup also doesn't work with multiple CAs, such as the case where external clients connecting with certs signed by a different CA to the Kafka cluster CA. It would only accept certs signed by the Kafka cluster CA. We were able to get the Kafka brokers themselves to trust multiple CAs however, meaning that envoy-proxy must not be doing TLS passthrough.
Describe the solution you'd like to see
Koperator extended to support creating k8s Ingress resources based on a DNS name and ingress class name input on the KafkaCluster resource. The Ingress resources will need to have some annotations, enabling TLS passthrough and setting the ingress class, as well as fields populated to set the DNS name. Koperator must also change the advertised listeners and broker certificates to use these DNS names. Note that this architecture would be very different to the envoy-proxy setup, it would require an Ingress resource per broker, plus an additional one for bootstrap, as well as the ability to set a DNS name per broker/Ingress. Users would need to point their DNS entries per broker and bootstrap (may be able to use wildcards) to nginx-ingress.
Describe alternatives you've considered
We could create 1 Ingress resource in front of envoy-proxy, but having 1 extra network hop is not ideal.

We would be happy to submit a PR for this feature, but we'd like to know beforehand whether this feature would be welcomed by the community and BanzaiCloud. Admittedly, this is essentially requesting a feature that the Strimzi operator has, but hopefully it may benefit more users than just us.

Hi @Manicben Sorry for the delayed response, we are always happy to receive PRs. And of course an nginx-ingress controller are welcomed.


fix: remove vite.config.mts.timestamp from project

* Please fill in the required items.

Priority*

[ ] High: This PR needs to be merged first for other tasks.
[x] Middle: This PR should be merged quickly to prevent conflicts due to common changes. (default)
[ ] Low: This PR does not affect other tasks, so it can be merged later.

Purpose of the PR*
As i've described there:
https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite/issues/720#issuecomment-2365303711
Changes*
I've removed vite.config.mts.timestamp pattern from .gitignore and I've created script for cleaning up all timestamp files

@Jonghakseo Check if everything works fine also on MacOS :)


Uncaught DOMException - While moving item from one list to another - React + redux

I am trying to use sortableJS with react and redux. I am seeing an issue when I move an item from one list to another and try to update my redux store. (add action + delete action )
my understanding is when react deletes the item from the list in the store and updates the DOM, It can't find the DOM element because it has been moved and throws an exception.
I have been struggling a lot with this issue. I tried to use the clone property to so that the actually object doesn't move and react wouldn't throw me an error while trying to delete it. but it seems that sortableJS moves the actual object leaves a copy there instead, so seeing the same issue again.
Also tried the onMove approach suggested in this https://github.com/RubaXa/Sortable/issues/908. but it wasn't much helpful as I can't determine when actually i would want to update my store.
Error:Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node
Tagging @rhoman @loucapo @dkuang1980 @dkuang1980, as you might have figured out a way handle this.
I am a newbie, Kindly give some suggestions to tackle this. Thanks a lot in advance

I found a temporary fix for now, if it helps anyone
onAdd I basically add the node back to original parent and let redux do the rest of the magic.
 onAdd: function (/**Event*/evt) {
   var itemEl = evt.item;  // dragged HTMLElement
     let origParent = evt.from;
     origParent.appendChild(itemEl);
     // update store
   },

Sortable — can not be used directly with React / Angular, etc.
Use https://github.com/SortableJS/react-sortablejs or https://github.com/SortableJS/react-mixin-sortablejs

Thanks @irfanlone for your solution for single items. For anyone trying to do this with multiselect, evt.items does not provide the original parent element if you are nesting draggable lists like this: https://jsbin.com/sepiyid/edit?js,output
So I needed to keep track of the original parent from the onSelect and onDeselect events and add those nodes back from that array:
_selectedItems = [];

    new Sortable(el, {
      // your sortable settings
      multiDrag: true,

      onSelect: (evt) => {
         const parentEl = evt.from;
         const selectedEl = evt.item;
         selectedItems.push({ parentEl, selectedEl });
      },

      onDeselect: (evt) => {
        const selectedEl = evt.item;

        const isFoundIndex = _selectedItems.findIndex((item) => {
          return item.selectedEl === selectedEl;
        });

        if (isFoundIndex !== -1) {
          _selectedItems.splice(isFoundIndex, 1);
        }
      },

      onAdd: (evt) => {
        if (evt.items.length > 1) {
          // For multi-select.
          _selectedItems.forEach((item) => {
            item.parentEl.appendChild(item.selectedEl);
          });
        } else {
          // For single select.
          const itemEl = evt.item;
          let origParent = evt.from;
          origParent.appendChild(itemEl);
        }
      },


Caching the configuration cause bugs

You have to refuse of using Cache for storing configuration or refactor the library, which I believe makes no sense.
https://github.com/uptime-development/laravel-socialite-criipto/blob/main/src/SocialiteCriiptoProvider.php#L120
and
https://github.com/uptime-development/laravel-socialite-criipto/blob/main/src/SocialiteCriiptoProvider.php#L137
Criipto rotates the keys regularly and you will get problems with KID values trying to decode the response using cached values.

"kid" invalid, unable to lookup correct key

Support comment:

Each time you receive a JWT with a kid value you haven't seen before, you should fetch new metadata (once).
If the kid is present in the new metadata, you should update your cache and validate the token.
If not, you should reject the JWT.

And forgot to say, the default cache TTL for FileStorage (at least) is infinite if you have $ttl === null what is default package behavior.

@a-bashtannik Yes, of course we do! Haven't had the time to look into my self yet :)


General questions about compatibility (especially ProtonGE)

I don't know if that's the right place to ask or if that's more of a general SteamVR issue.
I am running Steam with SteamVR 2.6 on NixOS Unstable, using ALVR 20.6.1 (as I couldn't get any other version to work and 20.6.1 is the newest one in nixpkgs). I set it up with my Meta Quest 1.
My machine is an I7 9770K with RTX2080, using the nVidia driver 550.
For now, I have only got the SteamVR void and SteamVR home to work, and that only in Wayland mode.
When starting any VR game, either SteamVR is not detected or it loads and silently crashes. Without SteamVR running, launching the game in SteamVR mode starts it in normal mode instead. With SteamVR started before, the Launch button becomes Stop and after about a minute or so, it reverts back to launch. When launching the game from inside SteamVR, the Up Next badge appears floating in the void, which then disappears after about a minute or so and nothing happens.
The games I tried were all Windows, running in Proton. Especially, I tried No Man's Sky with the newest ProtonGE Experimental and VRChat.
Do VR games work in general via Proton and do I just have bad luck or which ones are compatible and which ones not?

I didn't have any issues with getting games themselves running on Proton or running the current ALVR release. I am also on Nvidia (RTX 4070), running Manjaro, although my driver version is 555/NFB. Have you tried running newer drivers?

Maybe it has to do with the special way how NixOS is laid out and how mine is set up (I am using Impermanence with only a select number of folders not being reset across reboots). This is handled by bind-mounts via FUSE and I also had problems setting the caps which I remedied by doing the setcap thing directly on the source directory that is bind-mounted into my home.
My next try will be using Distrobox with Ubuntu inside for Steam and ALVR. I think I can then use the launcher.

From what I understand depending on what protonge version you install you may not have the openvr bindings needed to run Windows gsmes


Deprecate decode timedelta

[X] Closes #1621 (remove if there is no corresponding issue, which should only be the case for minor changes)
[X] Tests added (for all bug fixes or enhancements)
[X] Tests passed (for all non-documentation changes)
[X] Fully documented, including whats-new.rst for all changes and api.rst for new API (remove if this change should not be visible to users, e.g., if it is an internal clean-up, or if this is part of a larger project that will be documented later)

I'll add tests, docs, and the whats-new entry later if I'm on the right path here.
xref.: #843, #940, and #2085
See http://nbviewer.jupyter.org/gist/ocefpaf/e736c07faf3d4c9361ecf546a692c2cd

@shoyer this is ready for a second round of reviews.

The last thing I'd like to see is support for automatically serializing/deserializing timedelta64 by saving an attribute dtype='timedelta64[ns]'. This will preserve the ability to roundtrip this data to netCDF, which I do think is useful for some users -- otherwise users will have xarray objects that they can no longer save to netCDF.

I'm not sure I follow. Roundtrip is easier now since the original time unit dtype is preserved, no? Ping @rsignell-usgs who is a netCDF/CF specialist :wink:

I would like to be able to round-trip something like the following dataset to netCDF.

OK, I though you meant roundtrip from the netCDF file and back. In my line of work handling high level python objects serialization like that is usually not desired as the user should be responsible of how s/he wants to save the data. (I also never had an application that required timedelta, so it was hard for me to contextualize that.)
I'll be away the next weeks, so if someone wants to pick it up from here please feel free to do so. Otherwise I'll try to get back to this once I return to the office.


Alter the behaviour for specific struct fields in a convenient way

Currently, we use 'decorators for poor people' (e.g., #x) to express a specific intent. There are some proposals when it comes to Zig decorators but I've found another solution: https://github.com/ziglang/zig/pull/8987#issuecomment-856623134.
Would look something like this:
test "field alias escapes" {
    const E = enum(u8) { v1 = 1, v2 = 2 };
    const S = struct { foo: E };
    const s = S{ .foo = E.v2 };

    const s = try cbor.stringify(writer, s, .{
        .field_settings = &.{.{ .field = "foo", .alias =  "__foo" , .options = . { ... }}},
        .allocator = std.testing.allocator,
    });
}

allow the renaming of struct fields, e.g., alg => 1

Solved in branch 0.11.2-alpha. Issue will be closed when 0.11.2-alpha is merged into master


[Feature Request]: line, rectangle, circle tool

Is your feature request related to a problem? Please describe.
Instead of merely just the single tool that requires you to freehand draw, lets provide some accurate modes of drawing.
Describe the solution you'd like

line: first click start point, second click end point. click drag: start point and preview line before releasing to draw line at release point
rectangle: first click top left corner. second click bottom right corner. click drag, start point and preview rectangle before releasing to draw rectangle bottom right corner at release point
circle: first click center point, second click radius. click drag start point and preview circle before releasing to draw circle with radius at release point

Proposed workflow

see on tool palette: draw tool, line tool, circle tool, rectangle tool.
see above description

Describe alternatives you've considered
complicated automation tools using some external scripting tools to simulate a human using the mouse.
Additional context
No response

hey, so are you asking with regard to the color sketch tool i'm guessing, as that'd be contextually the only real place this would make sense as far as i can tell? lol
i definitely appreciate the alternative you suggested 👍
openOutpaint's definitely not supposed to be a full-on replacement for a pixel-based image editor but additional tools can certainly be looked into; don't expect them anytime particularly soon however ;) the intended base usecase openOutpaint was made for is pretty mature and functional so development's slowed down rather significantly, plus the unfortunate realities of Real Life keep demanding attention, but i'll leave the issue open to remind me :)

color sketch tool

No this is merely for the purposes of masking. I find it strange that we can't create accurately straight lines when defining masking areas.

@airtonix
If it's mainly about masking a subject, like a person, I think my feature proposal is quite straight forward:
https://github.com/zero01101/openOutpaint/issues/217

@airtonix so if you peruse the issues/discussions around here you'll likely notice a common theme is that i'm an idiot
yeah, masking tools is definitely another place those would make sense lol
if nothing else i'll see about adding an arbitrary square/rectangle like other tools can use to define the reticle size

The mask tool is quite clean in terms of context menu usage. It probably would not be much of a UI problem to add some toggles. Just that for this it would be optimal to implement a tab system of sorts. We could use a select menu and some not-so-beautiful JavaScript to hide unused buttons, though.


Doc comment applied to all components of dotted namespace declaration

TypeScript Version: 2.1.5, 2.2-rc
Code
/** Performance measurements for the compiler. */
namespace ts.performance {}

Expected behavior:
The doc comment should show up in quickinfo/completion for references to the innermost declared namespace performance, but not for ts.
Actual behavior:
The doc comment appears in quickinfo/completion for references to both performance and ts, even though for the outer namespace ts it's most likely irrelevant:

Here's a passing fourslash testcase that should fail
//// /** Do not print me */
//// namespace ts.performance { }
//// namespace t/**/s { }

goTo.marker();
verify.quickInfos({ "": ["namespace ts", "Do not print me"] });

The TL;DR is that we quite aggressively desugar this into
/** Do not print me */
namespace ts {
  export namespace performance {
  }
}

from the outer perspective. I poked around for a little bit and didn't immediately see a good way to disambiguate the dotted declaration -- even the .name is just the "ts" part of the "ts.performance" node.


Make Alt+F4 work and warn the user about terminating more than one tab

Environment
Windows build number: Microsoft Windows [Version 10.0.18362.175]
Windows Terminal version (if applicable): 0.2.1715.0

Steps to reproduce
Start The terminal app, try to close it using Alt + F4
Expected behavior
The app should close
Actual behavior
The app doesn't close, which is inconsistent with 99% of windows apps

On Second Thought.
PowerShell and WSL individually don't close on alt+f4 as they don't have it set for the task. Windows Terminal shows it has alt+f4 set to close but it doesn't work.  perhaps they are trying to make it consistent with the rest two.

This is now the tracking issue for getting alt+f4 working and adding a dialog to stop users from harming their running session state.

It would also be nice if there was an option to prompt the user about closing a tab that has a running program. For example, running a development server of some kind in a tab in interactive mode (vs. daemon mode) is often a development workflow for all sorts of apps (Angular CLI, webpack-based apps, Node apps etc.) these days.

This was fixed by #2526.

I don't think this was fixed, because #17613 exists.

@codenotworking thanks, we’ll keep all further discussion over there rather than on this five year old issue.


Add imp2 as a Dask implementation of preprocessing

Rewrites everything from preprocessing to use Dask Arrays either by wrapping the functions from nanshe or reimplementing them with Dask. As things like the wavelet transform are needed in postprocessing, which will be refactored, this helps in that effort.

Have compared these implementations with the ones in nanshe and they appear to be doing the right thing. Also made sure to compare the results when computations would need to be split over multiple blocks and stitched back together.
In background subtraction and wavelet transform, the results are identical. In normalization, the results are within a floating precision error (e.g. 1e-7). Though the latter can probably be chocked up to a computation designed for compatibility with an older NumPy, which has now been fixed. ( https://github.com/nanshe-org/nanshe/pull/459 ) That said, the floating precision error is acceptable given float32 was used.


New module for bare metal architecture which still have a libc

This should fix #375 :smile:
Please tell me if there is anything wrong in this PR.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

I think this is now ready for review :smile:

Thanks for the PR! This has come up a few times before:

https://github.com/rust-lang/libc/pull/891
https://github.com/rust-lang/libc/pull/753

Right now libc isn't targeted at providing a compatibility layer or polyfilling certain types and such on various platforms, but rather it's providing the bindings for a particular platform that match the C standard and/or popular C compilers. That means that we can't really add this target as it doesn't really match up to existing compilers as there's not really a concept of "no platform".

Could you please join the discussion in #375 ?

@gbip Thank you for submitting this PR! I am going to close this PR since it appears that a change like this would require more consensus. Feel free to re-open if you disagree, or after more consensus is achieved.


Support for exporting/serializing/deserializing

It'd be nice if the following got implemented:

Support for backing up a database into a separate file, something like sqlite3 foo.db ".backup 'foo.db.bak'" interally.
Support for serializing a database to a Uint8Array, which is like a backup but the file is read and deleted afterwards.
Support for deserializing a serialized database, which is kinda like :memory: but the buffer is written in the temp file.

Support for backing up a database into a separate file

an sqlite3 db backup is a copy ... an fs.copyFile, not a SQL command, unless you want the export as .csv or something else, but you have the sqlite3 CLI for that, no need for this module?

Support for serializing a database to a Uint8Array, which is like a backup but the file is read and deleted afterwards.

not clear ... the db as blob is already usable as Uint8Array and even sqlite on the client. what is that you need here?

Support for deserializing a serialized database, which is kinda like :memory: but the buffer is written in the temp file.

not clear again ... maybe writing down use cases would help ... but it looks more and more you are not interested in this module use case, as you are asking too much blobs stuff around ... may I suggest again not to use this project, if blobs is all you care about?

Actually that's not how it works

OK, if you have different journal, fair enough, so let me give you a solution:
sqlite3 file.db '.backup file.bck'

that's it? you can do that either via the exported query or directly via CLI ... then you can grab that as blob and read it as whatever typed array you like.

Yeah that's basically it really, or I least I implemented it that way, potentially it could be interesting to stop the module from making mutating queries to the database while a backup is in progress or something, I don't know enough of how the backup process works in practice to know if that would help though.

potentially it could be interesting to stop the module from making mutating queries to the database

every sqlite3 can connect in the meanwhile, and so would do clusters when the DB is the same ... I don't think better-sqlite or any other can really guarantee that, but AFAIK the backup will execute after any commit happens, or rollback, so I am not sure what issue we are trying to solve here, if plain standard SQLite is the answer ;-)


fix: env vars setup for release-service-catalog

Description
follow-up on https://github.com/redhat-appstudio/e2e-tests/pull/897#discussion_r1401683543
Issue ticket number and link
N/A
Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
CI
Checklist:

[X] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/lgtm

/approve

/test redhat-appstudio-e2e

/approve

/test redhat-appstudio-e2e

I think it doesn't make sense to retest, the error is not related to this PR. Merging


Questions on usage & design

I've been evaluating using this library, and I have a few questions about usage patterns.
I'm fine with a struct declaring certain fields as required (normally done by simply having a constructor), but I'm uncomfortable with a struct knowing the name of the specific instance it should be injected with (even if it uses an interface instead of a specific struct type). It seems that only a higher orchestration layer should know how to tie your classes together. Doesn't this put all names in the same global namespace? Wouldn't you eventually run into conflicts, especially using structs from various sources?
In order to pass struct pointers to Provide, the structs must be publicly accessible, and their injected fields must also be publicly accessible. Was there ever any thought put into accepting a local "context" struct with named fields using interfaces and then passing constructor functions to Provide? This would allow populating private structs that implement public interfaces.
Example:
func NewImplA(b InterfaceB) { return &implA{ b: b } }
func NewImplB() { return &implB{} }

type Context struct {
	A InterfaceA
	B InterfaceB
}

func main() {
	var context Context
	context.B = NewImplB()
	inject.Provide(&context, context.B, NewImplB)
	inject.Provide(&context, context.A, NewImplA)
}

If the structs needing injection all must be publicly accessible, and each struct also needs an interface to allow for mocking/faking for testing, what pattern do you use for naming your structs/interfaces when they only have one implementation?

... I'm uncomfortable with a struct knowing the name of the specific instance it should be injected with (even if it uses an interface instead of a specific struct type).

The struct can know either the specific instance it should be injected with, or expect an interface. Often it's easier to start with the specific instance type (typically a pointer to a struct), and switch to an interface when the injected instance needs to vary. There are likely other cases where a specific instance may be valuable.

Doesn't this put all names in the same global namespace? Wouldn't you eventually run into conflicts, especially using structs from various sources?

By "Names" do you me the types? If so the types are fully qualified and unique, so struct foo.Time will not conflicts with struct time.Time. As for interface types, the library requires that only 1 concrete implementation for a matching interface is provided, albeit it can only do so at runtime (when Populate is called). We've found this works well in practice (combined with some tests that populate our graph and check for such errors).

In order to pass struct pointers to Provide, the structs must be publicly accessible, and their injected fields must also be publicly accessible. Was there ever any thought put into accepting a local "context" struct with named fields using interfaces and then passing constructor functions to Provide? This would allow populating private structs that implement public interfaces.

We thought about doing this by allowing constructor functions and using reflect to inject their arguments and use the return value as a provides. We think this is useful, and we'll accept patches to do this. We've managed to avoid this because we wanted both constructors and destructors. Our destructors are essentially our "application is shutting down, finish your background work". We implemented this using the object graph exposed by this library combined with https://github.com/facebookgo/startstop.

If the structs needing injection all must be publicly accessible, and each struct also needs an interface to allow for mocking/faking for testing, what pattern do you use for naming your structs/interfaces when they only have one implementation?

We don't prescribe any naming strategy here. Sometimes we have an interface called Store with implementations called S3Store or DiskStore, others it's http.RoundTripper and MockTransport.
Hope that helps!

Thanks for the quick reply.
I think you misunderstood what I meant by name, tho. I was referring to the ability for a struct to name its tagged injected dependency fields using inject:"name". This inject name is only namespaced by the type of the field it annotates, which could be an interface or primitive, with multiple potential implementations not known to the struct that wants to be injected with one.
If naming is used to distinguish between multiple implementations, how is the developer of the struct supposed to pick a name without knowing the possible implementations that might be injected? The name could easily overlap with any other struct that wants to be injected with the same type.
example:
type ModelA struct {
  Name string `inject:"model-name"`
}

type ModelB struct {
  Name string `inject:"model-name"`
}

These models could be from very different libraries, both needing to be injected with named dependencies. How does a struct author choose a name that wont collide?
In other DI frameworks, like Java Spring for example, names are chosen by the creator of the context, not the author of the class. This allows you to inject the same named object into multiple classes that depend on the same interface, without the implementations needing to know about each other to coordinate naming. Requiring this kind of coordination would seem to violate the goals of inversion of control.

Ah yes, the named injects feature. The way I think of this feature is that it's a weak version of the javax.inject.Named qualifier. It requires co-ordination since the mapping is a human provided string. The way we used it was to distinguish multiple top level instances of the same type. But for reasons you mentioned, and really for lack of a great use for them, we've stopped using them. We also don't typically inject primitives like strings, and types are sufficient for us to avoid collisions.


Make ServerMetaContext fields public

This is just a really naive proposal and I'm not sure about the implications of the change. Any help will be appreciated.
My problem is that I need to change <html> attributes on SSR before being rendered to the DOM. I know that I can use the <Html/> component, something like:
view! {
    <Html lang="es" dir="auto"/>
}

But that forces me to be inside a view! or -> impl IntoView. I don't have access to the view.
With the change included in this PR, I can do this:
provide_meta_context();

let meta = leptos::prelude::expect_context::<leptos_meta::ServerMetaContext>();
_ = meta.html.send(format!(" lang=\"es\" dir=\"auto\""));

Which sucks but works.
There is an alternative? Is the updating of meta tags forbidden outside the view of a component for some reason or the API has not been built ever? Thanks in advance.

Could you clarify: In what sense does using the Html component require you to be "inside a view! or -> impl IntoView"? Or do you just mean that you are doing it in some code that will never be rendered? Can you not just update the <html> tag in the shell (which is why this is exposed more directly in the 0.7 approach)?
I am very hesitant to make fields pub in this way because it means that any change to the struct is a breaking change for the library.

Or do you just mean that you are doing it in some code that will never be rendered?

That's it. The crate leptos-fluent only exposes a macro that expands before any view!. Like:
#[component]
fn App() -> impl IntoView {
    leptos_fluent! {{
        // ... all the config
    }};

    view! {
        ...
    }
}

So I can't access the view and I don't want to split the configuration of i18n between components and macro expansion. Currently is exposing a SsrHtmlTag component to solve this problem, but I want to get rid of it:
#[component(transparent)]
pub fn SsrHtmlTag() -> impl IntoView {
    let lang = expect_i18n().language.get_untracked();
    view! { <Html lang=lang.id.to_string() dir=lang.dir.as_str()/> }
}

I am very hesitant to make fields pub in this way because it means that any change to the struct is a breaking change for the library.

Is just a naive example. What about a builder pattern for ServerMetaContext?
leptos::prelude::expect_context::<leptos_meta::ServerMetaContext>()
    .with_html_attrs(...)  // whatever name

Manipulating the ServerMetaContext directly will not work with client-side routing though, for example.
I would suggest that rather than an SsrHtmlTag component you have something like a FluentProvider component, which takes children and uses the Html component, then evaluates the children. This is a pretty typical pattern in component-based frameworks, and will ensure that modifying the <html> tag works as expected on any platform, rather than only using SSR.

Manipulating the ServerMetaContext directly will not work with client-side routing though, for example.

I don't understand this statement. The examples that worked for me were using the same that Leptos internally does. What is the difference inside Leptos to make them work in client side routing?

I would suggest that rather than an SsrHtmlTag component you have something like a FluentProvider component, which takes children and uses the Html component, then evaluates the children.

That was my first attempt when crafting the library, create a macro that expand to a Provider component because knew that there are things that only work inside a view!, but it became a nightmare quick. Mainly because I need a macro to only expand the minimum code possible, that's the point.
Something that works would break the Provider/Component-children syntax.
view! {
    {my_macro! {{
        children: {<Foo/>},
        my_compile_time_prop: true,
    }}}
}

// expanding to something like

view! {
    {
        // ... a lot of code
        <Provider value=i18n>
            <Foo/>
        </Provider>
    }
}

Looks really really weird. How can I do it better?
Ideally it would be something like:
view! {
    <FluentProvider! my_compile_time_prop=true>
        <Foo/>
    </FluentProvider>
}

Component-like macros would be awesome. Without macros and with Leptos being a component-based framework, IMO, I don't see the point of using Rust in the first place.
I suppose that will end expanding to a Provider if a children parameter is passed and documenting that the ugly syntax is the only thing that we can do.

The examples that worked for me were using the same that Leptos internally does. What is the difference inside Leptos to make them work in client side routing?

The approach that you suggested (getting access to ServerMetaContext and then injecting HTML attribute text directly into the html field) works during server-side rendering. It would do nothing for pages rendered in the browser (for example, if the user is using client-side rendering, or if the user is using SSR + hydration but this is a subsequent page navigation). The framework in general (talking now about 0.7 as that is what this PR is against) distinguishes between different rendering paths with different methods: build() builds something in the browser, hydrate() hydrates something in the browser that was rendered on the server, to_html_with_buf() renders something to HTML on the server, etc.
For the <Html/> component, for example, the build() method adds attributes to the <html> element that exists in the current document:
https://github.com/leptos-rs/leptos/blob/5deedf721ecfcc4a780c0005fe3b187f03519756/meta/src/html.rs#L67-L75
Note that this doesn't use ServerMetaContext at all, or the html field — which is only used during server rendering.

We can create an API that take those cases into account.

Right, and this is exactly what the <Html/> component does — handles the different cases. If you want to duplicate that it's fine of course, and maybe it does make sense to expose some of the ServerMetaContext fields via some API. The problem is just that doing this would make it easy to (accidentally) create incorrect implementations (i.e., implementations that only work during SSR)

That was my first attempt when crafting the library, create a macro that expand to a Provider component, because knew that there are things that only work inside a view! as provide_context doesn't fit well enough with multiple instances of the same type

It's not quite true that this only works inside the view! macro. The logic of Provider is itself very simple: It just creates a new Owner which is the child of the current Owner, provides the context, and then does something (in this case, renders the children)
https://github.com/leptos-rs/leptos/blob/5deedf721ecfcc4a780c0005fe3b187f03519756/leptos/src/provider.rs#L40-L48
That said, I assume the macro is the only thing that provides its context type? You can just provide_context() once.

Something that works would break the Provider/Component-children syntax.
view! {
    {my_macro! {{
        children: {<Foo/>},
        my_compile_time_prop: true,
    }}}
}

...
Looks really really weird. How can I do it better?

The view macro doesn't do anything here. This could just be
my_macro! {{
  children: Foo,
  my_compile_time_prop: true
}}

(I don't know if there's a reason you require the double braces here. My assumption would be that the following feels more natural:
my_macro! {
  children: Foo,
  my_compile_time_prop: true
}

Thanks. IMO, I would remove the provide_context in a future release as is confusing.

Maybe I'm misunderstanding, but the only caveat with provide_context is that if you provide a context of the same type multiple times, they will be shadowed -- just like if you name a variable the same thing multiple times. Provider exists for that use case. My assumption is that you are only providing the i18n context once so you don't need it, but maybe I'm wrong.

Right, and this is exactly what the  component does — handles the different cases. If you want to duplicate that it's fine of course, and maybe it does make sense to expose some of the ServerMetaContext fields via some API. The problem is just that doing this would make it easy to (accidentally) create incorrect implementations (i.e., implementations that only work during SSR)

That can be easily solved only adding the API when SSR with #[cfg(feature = "ssr")].

(I don't know if there's a reason you require the double braces here. My assumption would be that the following feels more natural

As I remember doesn't compiles because is not a Rust valid construct.

Maybe I'm misunderstanding, but the only caveat with provide_context is that if you provide a context of the same type multiple times, they will be shadowed -- just like if you name a variable the same thing multiple times. Provider exists for that use case. My assumption is that you are only providing the i18n context once so you don't need it, but maybe I'm wrong.

That context shadowing I think that is indeed creating incorrect implementations. Perhaps a warning on debug mode could mitigate the problem.


Page transition glitch when page tags are different (1.0.0-rc3)

When there is a difference between the tags, both pages are displayed at the same time and then a glitch is produced.
On transition with difference (by scoped style):

        Page A

       Page B

On transition with no difference:

        Page A to page B

Hi @mkv27
Can you create a reproduction repository so we can investigate into this issue please?
Please re-open it with a repo link or a glitch link (by forking https://glitch.com/edit/#!/nuxt-hello-world)
Thank you :)

Hi @Atinux,
I reproduce it here (only happen with different layouts)
https://glitch.com/edit/#!/nuxt-transition-test
Thanks for the time !

Hi, should be fixed with the last release. Feel free to reopen it if the bug persists.


Update README.md

Typo and clarification.

Thank you! I actually need to redo that entirely. That's no longer accurate. If it doesn't have permissions, it does chdir("/"); but tries to stay in the current directory if's normally able to.
I updated one part, but I guess my rambling took over more of the README than I thought.

I'll merge this and correct further off of it. Thanks again!


RingBuffer

We need to comment out the following in the RingBuffer, or we get errors.
#ifdef __cplusplus
#endif
Does anyone know why this is the case?  We can't init the RingBuffer with the error.

RingBuffer lies in other project, I think you should ask there.
Also I can't find such lines. I've found inside Novocaine.h :
#ifdef __cplusplus
 extern "C" {
 #endif
 <....>

#ifdef __cplusplus
 }
#endif

Here these lines open and close  a extern C block of  code.

Sorry, I got that backwards, if we don't include these:
#ifdef __cplusplus
#endif
...then we can't compile.
Once we include those, we can compile, but then we can't bring in the:
RingBuffer *RB
...like we bring these in:
@interface NovocainePlayer : NSObject {
Novocaine *audioManager;
AudioFileWriter *fileWriter;
NVHighpassFilter *HPF;
NVClippingDetection *CDT;
NVPeakingEQFilter *PEQ;
}
The EQ works, but I'm trying to figure out why it doesn't work as the sample project.
Thanks!


Refactor network/consensus versioning

Fixes #2309.
Previously, we had a list of supported BlockNodeToNodeVersions and a method
to translate them to a NodeToNodeVersion. This meant that there were two
layers of "support": (1) include the version in BlockNodeToNodeVersion
and (2) return a non-error for it in the translation function.
Replace these methods by a map from NodeToNodeVersion to
BlockNodeToNodeVersion. Similarly for NodeToClient. An important insight
is that not each network version requires a consensus-side block version. For
example, enabling the LocalStateQuery NodeToClient protocol requires a new
network version, but no block version, as the serialisation format doesn't
change. A new block version is only needed when the serialisation changes, so
not when protocols get added/removed or the protocol messages are
added/removed.
This means we don't need separate Byron (nor Cardano) versions for
NodeToClientV_2, as the serialisation format didn't change, so remove these
redundant versions and map NodeToClientV_2 to ByronNodeToClientVersion1.
The mostRecentSupportedNodeToNode method was only used for the ThreadNet
tests to make sure we were testing the most recent version. Remove this method
in favour of randomly picking a supported version in the tests. The
Test.ThreadNet.Util.NodeToNodeVersion was added to aid in picking a version.

Rewrite foldMapVersions and combineVersions to work for any Foldable
instead of a NonEmpty, as we now use a Map instead of a NonEmpty for
the supported versions.

Rewrite Cardano.Client.Subscription to take a CodecConfig +
NetworkMagic instead of an entire TopLevelConfig. Producing a
TopLevelConfig is a lot of work for clients. The whole point of
introducing the CodecConfig was to make it easier for clients.

Good to clarify this logic, much cleaner.

bors merge


Update pre-commit config with new folder structure

Thanks @GeorgesLorre. We should change it for mypy as well (line 47).

fixed


Simplify logic, reduce alloc

Remove unsued is_allocated
Clean up docs
Remove alloc in get_vmr
Remove stale exported funcs
Remove depricated funcs

Was broken into #126 and #127


Broken Argparse

Issue Type: Bug
Working with the new Sept 10 release of VS Code I experienced an error with argparse. The code was functioning previously and it works perfectly fine when using Jupyter running on localhost or when running in AML Notebooks/Jupyter Lab. Without changing any code, at the terminal I type jupyter notebook to launch a jupyter instance using my browser the code completes without any issues. The following is the output:
usage: split [-h]
[--partition_column_names [PARTITION_COLUMN_NAMES [PARTITION_COLUMN_NAMES ...]]]
[--target_column_name TARGET_COLUMN_NAME]
[--time_column_name TIME_COLUMN_NAME]
[--train_run_id TRAIN_RUN_ID]
[--forecast_quantiles [FORECAST_QUANTILES [FORECAST_QUANTILES ...]]]
split: error: argument --forecast_quantiles: invalid float value: '/tmp/tmp-325t2pwDkF7H7GI.json'
ERROR:root:Internal Python error in the inspect module.
Below is the traceback from this internal error.
Traceback (most recent call last):
File "/home/brandon/miniconda3/envs/azureml/lib/python3.7/argparse.py", line 2409, in _get_value
result = type_func(arg_string)
ValueError: could not convert string to float: '/tmp/tmp-325t2pwDkF7H7GI.json'
Extension version: 2021.8.2041215044
VS Code version: Code 1.60.2 (7f6ab5485bbc008386c4386d08766667e155244e, 2021-09-22T12:00:31.514Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 x 2112)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.92GB (4.38GB free)

Process Argv
--folder-uri=vscode-remote://wsl+Ubuntu-20.04/home/brandon/projects/aml/mm --remote=wsl+Ubuntu-20.04 --crash-reporter-id 383fcac6-162d-466d-b577-5555438f4db8

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu-20.04

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 x 2111)

Memory (System)
12.42GB (9.73GB free)

VM
0%

A/B Experiments
vsins829:30139715
vsliv368:30146709
vsreu685:30147344
vspor879:30202332
vspor708:30202333
vspor363:30204092
vshan820:30294714
vscod805cf:30301675
bridge0708:30335490
bridge0723:30353136

Thanks for filing @azure-walker. Could you please share code and instructions on how to repro your issue?

This sounds like your argument you're passing is not a string:
ValueError: could not convert string to float: '/tmp/tmp-325t2pwDkF7H7GI.json'

Perhaps this is an environment variable?
Is this the expected interpreter that you're using?
/home/brandon/miniconda3/envs/azureml/

David,
I have been building a solution for the Many Models Accelerator that can be used within Az DevOps.
I had successfully run the code in VS Code prior to the Sept 10 update. The code can be found at the repo https://github.com/coding-forge , it is the many models mlops public repo.
I was only able to run this code after Sept 10 using Jupyter notebook in a browser.
In the terminal you can type Jupyter notebook and run the code in a local browser.
Regards,
-Brandon
From: David Kutugata @.>
Sent: Monday, September 27, 2021 3:03 PM
To: microsoft/vscode-jupyter @.>
Cc: Brandon Campbell @.>; Mention @.>
Subject: Re: [microsoft/vscode-jupyter] Broken Argparse (#7672)
Thanks for filing @azure-walkerhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fazure-walker&data=04|01|Brandon.Campbell%40microsoft.com|5f05743a7d774864d98308d981e97c68|72f988bf86f141af91ab2d7cd011db47|1|0|637683662212533237|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=5ICj2fXjCmgKwE6kjWTrZt3eNdg0zxcM36BNjnJkF1k%3D&reserved=0. Could you please share code and instructions on how to repro your issue?

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode-jupyter%2Fissues%2F7672%23issuecomment-928184773&data=04|01|Brandon.Campbell%40microsoft.com|5f05743a7d774864d98308d981e97c68|72f988bf86f141af91ab2d7cd011db47|1|0|637683662212543233|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=BWUzdtC9cvUnnXrUBzEoHTjV42qkxv%2FeOyokQhVuxyU%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALONJBRBRRU4XSVCIMA3WMLUEC5X3ANCNFSM5E2MVN5Q&data=04|01|Brandon.Campbell%40microsoft.com|5f05743a7d774864d98308d981e97c68|72f988bf86f141af91ab2d7cd011db47|1|0|637683662212553224|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=SSkKKxVTasVVEa2i6h4NRXZ31KQm3%2BznDlJjyLFGnNc%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|Brandon.Campbell%40microsoft.com|5f05743a7d774864d98308d981e97c68|72f988bf86f141af91ab2d7cd011db47|1|0|637683662212563215|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=wD0u%2FkmlP6RLE6PNtdvyF9OYAusTUU0Fbbp87Yi3Rzs%3D&reserved=0 or Androidhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|Brandon.Campbell%40microsoft.com|5f05743a7d774864d98308d981e97c68|72f988bf86f141af91ab2d7cd011db47|1|0|637683662212573209|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=46hkK43srWWKswEMfOHiT1UBHdiK52l%2BMh6ADstTb4s%3D&reserved=0.

Hey @azure-walker, how are you using argparse on a notebook? It looks like that's made for regular python files.
If you could share some simple code that showcases what you're doing, that'll be very helpful.

David,
I am not sure what you mean by how am I using argparse. I believe this is in a script but I will see if I can track it down. @Yuan @.***> is on the Many Models team and may also be able to help with this.
Regards,
-Brandon
From: David Kutugata @.>
Sent: Monday, October 4, 2021 6:37 PM
To: microsoft/vscode-jupyter @.>
Cc: Brandon Campbell @.>; Mention @.>
Subject: Re: [microsoft/vscode-jupyter] Broken Argparse (#7672)
Hey @azure-walkerhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fazure-walker&data=04|01|Brandon.Campbell%40microsoft.com|528238176178402a0a2b08d987876b23|72f988bf86f141af91ab2d7cd011db47|1|0|637689837975473097|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=yjENtXiJHK0R3e87CiQkLGwgk742AchBsGAvFZ9EFwI%3D&reserved=0, how are you using argparse on a notebook? It looks like that's made for regular python files.
If you could share some simple code that showcases what you're doing, that'll be very helpful.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode-jupyter%2Fissues%2F7672%23issuecomment-933907722&data=04|01|Brandon.Campbell%40microsoft.com|528238176178402a0a2b08d987876b23|72f988bf86f141af91ab2d7cd011db47|1|0|637689837975483092|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=q8ALsrj1Il70Vi0vdaV8y0As9UXcdGiqC40pac18mUo%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALONJBT7YOYTNA7PDOQQLGLUFIT7DANCNFSM5E2MVN5Q&data=04|01|Brandon.Campbell%40microsoft.com|528238176178402a0a2b08d987876b23|72f988bf86f141af91ab2d7cd011db47|1|0|637689837975493095|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=uUM3tEYn5Sy%2BWYjLczEwlBdVbJ4suo7r6qTjxN%2Fdr%2BM%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|Brandon.Campbell%40microsoft.com|528238176178402a0a2b08d987876b23|72f988bf86f141af91ab2d7cd011db47|1|0|637689837975493095|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=q9%2FUlzRBypWwuIO09Ns%2F0AtARyqAL%2B97KxBGLfzWZtc%3D&reserved=0 or Androidhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|Brandon.Campbell%40microsoft.com|528238176178402a0a2b08d987876b23|72f988bf86f141af91ab2d7cd011db47|1|0|637689837975503082|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=1XIlShkF8nCUZr%2F%2F%2FHAq%2FVqfCCAIIGW75wbLHsFFQFE%3D&reserved=0.

We have fixed in the next sdk release which will be in public 10/11.

Sounds like this is addressed in the Azure ML sdk. Closing.


improve link syles

some subheadings get a blue color instead of a black color. all headings should be black
blue links in blue admonition boxes look bad

fixed in https://github.com/crate/crate-docs-theme/pull/211

Done


⚠ Spryr has degraded performance

In 7738093, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 503
Response time: 6986 ms

Resolved: Spryr performance has improved in 78da398 after 8 minutes.


Full Overview

The purpose of this document is to try and give an overview to the development team of what is required from a business perspective and to try and give the rationale behind the requests. Each of these would need to be grouped and broken down into User Stories for the development team.
The topics covered are:
DSU Manage Product Screen

This covers updates to existing functionality (ability to have the Material Number, GTIN and Product Description). We would have thousands and thousands of products so being able to search and sort the products is important.
The ability to enable/ disable Adverse Event Reporting and Authentication. For Adverse reporting consider that for multi-markets packs (packs that are supplied to more than one country) that there may need to be more than 1 endpoint for reporting.
Included are some setting on allowing the Manufacturer to decide under which unhappy path conditions that an ePI would be provided
The App should only show certain features depending on what is enabled at the product level. This may become somewhat redundant if/ when the App is reworked but the ability to enable/ disable features will still be required.

DSU Add Batch Screen

Capability to upload Commissioned Serial Numbers (already exists) and also Decommissioned Serial Numbers and Serial Numbers marked as part of a Batch Recall. It maybe beneficial to have the ability to recall based on the serial number level.
Capability to enable/  disable the Serial Number Check, Expiration Date Check and the Expired Batch Check. The reason for this is to allow easy adoption and essentially a soft launch of ePI.
Capability to have the complete batch marked for Recall. In this instance every time the batch is scanned then a message stating that the batch is subject to a recall is displayed.
Capability to have a batch specific message shown to the end user.
The App should only show certain things if enabled/ disabled.

Flow Chart

The purpose of the flow chart is to give an overview on what kind of checks should be performed and what the expected output would be from these checks, the attached excel sheet tries to indicate when an ePI should be displayed or not.

Current State vs Future State

In the current state the ePI is assigned on the batch level and it is not possible (currently) to change anything to do with the batch. This was done in order to address the Batch Specific ePI.
In probably over 95% of cases the latest leaflet is the correct leaflet to give to the patient. The idea therefore is to take the ePI/ SmPC from the product level. For the remaining batches there should be the ability to assign batch specific ePI's.
As end users we need to be able to see what batches are assigned to what ePI's.

Backend Integration

Consideration needs to be given to how the backend integration would work. There is a conceptual proposal put forward in the attached document.

Serial Number Exp Date Check Proposal v0.3.xlsx
App and DSU Fabric Feedback v0.2.pdf
Adoption
In order for the solution to be adopted we need to have the ability to manage different barcodes that are on the market. The attached has some codes, there are most likely other codes as well on the market.
Barcodes and Resolver v0.4.pdf
Additionally companies and countries need to have the ability to be able to configure the solution to suit their needs, hence flexibility in the solution is going to be key.
@steinso2 @nhrishi : please review

ePI Wireframes - Product and Batch_v0.4.pdf
The Wireframes for the product and batch screens are uploaded here.
The add product and edit product  screens follow similar layouts.
Similarly - the edit batch and add batch screens have a similar layout


Added missing actions and few changes.

Added two missing queue actions:
QueueChangePriorityCallerAction changes priority of caller.
QueueMemberRingInUseAction changes ringinuse value of member.
Added AsteriskVersion 17.
Resolves errors From AgiExecStartEvent and AgiExecEndEvent (No setters to linkedid and language);

Retry DeepCode

Retry DeepCode


add arviz plot for posterior predictive

Add 'hdi_type' plot with equal tailed credible intervals to demonstrate posterior predictive distribution using arviz
(second try after closing previous one due to mangled commit history)

Did you try anything with plot_lm, plot_ppc, or plot_ts?

I couldn't get the 'timeseries' type plots (plot_lm and plot_ts) to work for the hospital admissions model. I suspect it has something to do with the padding as those plots work for the basic model implementation. The output from plot_lm would be similar to figure generated here.
I was not sure of we wanted multiple posterior predictive plots. I can include figures using plot_ppc if you'd like.

I couldn't get the 'timeseries' type plots (plot_lm and plot_ts) to work for the hospital admissions model. I suspect it has something to do with the padding as those plots work for the basic model implementation.

Can you demonstrate those plots working somewhere? In this tutorial or a different one.

I was not sure of we wanted multiple posterior predictive plots. I can include figures using plot_ppc if you'd like. @damonbayer

Yes, please.

I couldn't get the 'timeseries' type plots (plot_lm and plot_ts) to work for the hospital admissions model. I suspect it has something to do with the padding as those plots work for the basic model implementation.

Can you demonstrate those plots working somewhere? In this tutorial or a different one.

Ok! I will add demonstration of these to getting started tutorial.

Am I missing something here? @damonbayer

It is because of the padding and/or seeding. I would try padding in the data in InferenceData with missing values for now. If that doesn't work, we can change the model a bit or manually modify the samples.
All of this will be handled better once we have time incorporated throughout the project.

That's what I thought too but this is for the model fit without padding shown below:
hosp_model.run(
    num_samples=1000,
    num_warmup=1000,
    data_observed_hosp_admissions=dat["daily_hosp_admits"].to_numpy(),
    rng_key=jax.random.PRNGKey(54),
    mcmc_args=dict(progress_bar=False,num_chains=1),
)

Since we are not padding the observation data here, padding shouldn't come into play, right?

Since we are not padding the observation data here, padding shouldn't come into play, right?

Just the seeding, then.

This solves the dimension issue but now the posterior predictive samples are just observed data.

Oops. We will need to change the model code.

I noticed for both prior_predictive and posterior_predictive if called using data_observed_hosp_admissions=dat["daily_hosp_admits"].to_numpy().astype(float) argument then the predictive distributions returned is simply the observed data.

I still don't understand this plot. Why is are the posterior predictive dots so different from the posterior predictive mean?

I think because the model fit is not great for the first few time units as also evidenced in the plot of posterior samples and posterior predictive samples above this plot.

You can see in this figure the first two observation are outside the hdi interval. I can add text below the figure describing why this plot doesn't look good. This would add to the texts already present that mentions that the model fit is not good for the first half and points to next part where it is fixed.

@sbidari Sorry if I'm being dense, I don't understand what the plot is showing. I think your comment is about the black dot, but I am trying to understand the relationship between the blue dots and the orange line.

The figure in the arviz documentation looks quite different. I haven't figure out why.

@sbidari thanks for the explanation. I don't really find any of the plot_ppc figures very compelling. Perhaps the best option is just to remove it.


DDDD is usually wrong

new Date();
Wed Jan 20 2021 20:20:48 GMT-0500 (Eastern Standard Time)

futureDate
Wed Jan 27 2021 00:00:00 GMT-0500 (Eastern Standard Time)

dateFormat(futureDate, "DDDD, mmmm dS");
"Today, January 27th"

otherFutureDate
Tue Jan 26 2021 00:00:00 GMT-0500 (Eastern Standard Time)

dateFormat(otherFutureDate, "DDDD, mmmm dS");
"Yesterday, January 26th"

pastDate
Wed Jan 13 2021 00:00:00 GMT-0500 (Eastern Standard Time)

dateFormat(pastDate, "DDDD, mmmm dS");
"Today, January 13th"

@TalhaAwan want to take a look? 😄

@TalhaAwan want to take a look? 😄

@chase-manning fixed.

@chase-manning fixed.

@TalhaAwan Thanks so much!!!! 😄
@mgillis  All looking good now?

@TalhaAwan Thanks so much!!!! 😄
@mgillis  All looking good now?


ww1.manga-fox.com 0 bits downloads

manga-py version 1.3.24
All downloads that I tried form ww1.manga-fox.com are empty.
Example:
pipenv run manga-py --cbz --zero-fill --rename-pages --no-webp --destination Manga/ https://ww1.manga-fox.com/hataraku-maousama

N/A% (0 of 46) |                                          | Elapsed Time: 0:00:00 ETA:  --:--:--
Warning: 0 bit image downloaded, please check for redirection or broken content
N/A% (0 of 46) |                                          | Elapsed Time: 0:00:20 ETA:  --:--:--
  2% (1 of 46) |###                                       | Elapsed Time: 0:00:21 ETA:  10896 days, 8:29:15
Warning: 0 bit image downloaded, please check for redirection or broken content
...

As I see, several images are broken.
For example:
https://ww1.manga-fox.com/hataraku-maousama/chapter-1
https://ww1.manga-fox.com/hataraku-maousama/chapter-49-5
http://s3.mkklcdn.com/mangakakalot/h1/hataraku_maousama/chapter_495/1.jpg
I'll check this out, but I think the problem is broken links.

P.S.
And there is.
Unfortunately, I can not fix it.


Bug fix: View.writeRune appends stray \x00 when writing to the end of a line

The cause was that the line array was extended twice when writing at the end of
a line - once in the first if clause because the cursor is beyond the end of
the line, and then again in the second if clause dealing with the Overwrite
condition.
This change makes the two if clauses mutually exclusive.
Please let me know what you think or if you'd like me to make any changes.

I've been testing this PR with _examples/bufs.go and looks like it introduces the following bug when v.Wrap = true:
1.- Run go run _examples/bufs.go and set the view as follows:

2.- Start writing at the end of the first line. After reaching the end of the line, the edition continues in the following line (just before B) without adding a new line:

3.- If you do the same test with master:

This is because edit.go should be rewritten taking into account the wrapping mode (that was introduced later) as well as other features like multi-width characters, etc.

More context: #69, #80, #90, #60

Fixed via 2677ad04454bb2a43069dda0675b602b0ec2c14c. Can you check? :)

Works for me, thanks for the fix!


Title resources is showing even though no permissions

title resources is showing even though the user does not have any of the appropriate permissions set for the resource menu items.
This can be fixed with a simple if statement in the "vendor\orchid\crud\src\Arbitrator.php" @ "registerMenu"
`private function registerMenu(Resource $resource, int $key): Arbitrator
{
if (! $resource::displayInNavigation()) {
return $this;
}
    View::composer('platform::dashboard', function () use ($resource, $key) {

        if (user()->hasAnyAccess('manage-crud-resource-*')) {
            $title = Menu::make()
                ->canSee($key === 0)
                ->title(__('Resources'))
                ->sort($resource::sort());
            Dashboard::registerMenuElement(\Orchid\Platform\Dashboard::MENU_MAIN, $title);
        }

        $menu = Menu::make($resource::label())
            ->icon($resource::icon())
            ->route('platform.resource.list', [$resource::uriKey()])
            ->active($this->activeMenu($resource))
            ->permission($resource::permission())
            ->sort($resource::sort());
        Dashboard::registerMenuElement(\Orchid\Platform\Dashboard::MENU_MAIN, $menu);
    });

    return $this;
}`

Looks like proposed 'manage-crud-resource-*' is your application specific permissions, as well as user() function, and should not be part of library.
Just implement valid displayInNavigation() function in every resource (which can depends on your application logic/permissions) and  title 'Resources' will disappear :)


How to create a step function to use as activation function in Keras?

I want to build a step activation function to use in keras.
Thanks to Q&A here, I am able to build a working step function called tf_stepy with tensorflow. (See code below)
Now my question evolves into

How to make use of this tf_stepy activation function created in tensorflow to work in keras?

I tried to the following code to utilize tf_stepy in keras, but not working. Could anyone help me make it to work in keras? Thanks
from tensorflow_step_function import tf_stepy

def buy_hold_sell(x):
	return tf_stepy(x)

get_custom_objects().update({'custom_activation': Activation(buy_hold_sell)})

Below is the step activation function created with tensorflow
# tensorflow_step_function.py
import tensorflow as tf
import keras.backend as K
from keras.backend.tensorflow_backend import _to_tensor
import numpy as np

def stepy(x):
	if x < 0.33:
		return 0.0
	elif x > 0.66:
		return 1.0
	else:
		return 0.5

import numpy as np
np_stepy = np.vectorize(stepy)

def d_stepy(x): # derivative
	if x < 0.33:
		return 0.0
	elif x > 0.66:
		return 1.0
	else:
		return 0.5
np_d_stepy = np.vectorize(d_stepy)

import tensorflow as tf
from tensorflow.python.framework import ops

np_d_stepy_32 = lambda x: np_d_stepy(x).astype(np.float32)

def py_func(func, inp, Tout, stateful=True, name=None, grad=None):

    # Need to generate a unique name to avoid duplicates:
    rnd_name = 'PyFuncGrad' + str(np.random.randint(0, 1E+8))

    tf.RegisterGradient(rnd_name)(grad)  # see _MySquareGrad for grad example
    g = tf.get_default_graph()
    with g.gradient_override_map({"PyFunc": rnd_name}):
        return tf.py_func(func, inp, Tout, stateful=stateful, name=name)

def tf_d_stepy(x,name=None):
    with ops.op_scope([x], name, "d_stepy") as name:
        y = tf.py_func(np_d_stepy_32,
                        [x],
                        [tf.float32],
                        name=name,
                        stateful=False)
        return y[0]

def stepygrad(op, grad):
    x = op.inputs[0]

    n_gr = tf_d_stepy(x)
    return grad * n_gr

np_stepy_32 = lambda x: np_stepy(x).astype(np.float32)

def tf_stepy(x, name=None):

    with ops.op_scope([x], name, "stepy") as name:
        y = py_func(np_stepy_32,
                        [x],
                        [tf.float32],
                        name=name,
                        grad=stepygrad)  # <-- here's the call to the gradient
        return y[0]

with tf.Session() as sess:

    x = tf.constant([0.2,0.7,0.4,0.6])
    y = tf_stepy(x)
    tf.initialize_all_variables().run()

    print(x.eval(), y.eval(), tf.gradients(y, [x])[0].eval())

First of all: if your function works with the backend that is used by Keras, you should be able to pass your function where an activation function is expected in Keras, e.g.
def my_func(x):
    # my implementation ...

model.add(Activation(my_func))

If this does not work, you might be using the wrong backend or some more information might be necessary: What kind of errors do you get? What exactly does not work? etc...
Note that something like get_custom_objects().update({'my_func': my_func}) simply adds your function to the custom object pool, which allows you to use
model.add(Activation('my_func'))

It should be noted though that it is cleaner to use custom_object_scope
with custom_object_scope({'my_func': my_func}):
    model.add(Activation('my_func'))

Apart from that, I would like to point you to the fact that neural networks normally require differential activation functions. ReLUs show that it also works when the derivative is not well defined in some points. Your function could be considered differentiable, but the derivative would be zero everywhere. I am not sure why you use the derivative of a completely different function than your actual function. You could have your reasons of course.
PS: have another look at stackoverflow. There are easier ways to build your own activation function with matching gradients in tensorflow, theano and keras (see the backend module).
Hope this helps

Do we have to write the backpropagation for customized activation function in keras?

@RyanCV If you have written your custom activation function in the backend (theano, tensorflow or CNTK) that you want to use in Keras, Keras will use the automatic differentiation engine of that backend to compute the necessary gradients automatically.

Can this be closed ?


Update readme to remove uptown and fix incorrect code blocks

To be honest, the state of this README isn't great and I'm unsure how many of the code examples are correct and there certainly is some methods that are implemented and not documented in the README. I'd like to remove the code-documentation from the README in the future and provide a separate websites (such as readthedocs) which documents the entire API generated from code so this stays in sync.

Again CI fails due to dependency on #216


[3.9.0] Client rendering and page transitions broke after updating to the newest Nuxt version

Environment

Operating System: Linux
Node Version:     v18.16.1
Nuxt Version:     3.9.0
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, app, routeRules, experimental, runtimeConfig, modules, build, alias, dir, piniaPersistedstate, gtag, vite
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
Run the app using Nuxt version 3.9.0 and navigate to any route
Check it out the live version using 3.9.0
https://capacithor-git-nuxt-390-igortrinidad.vercel.app/
Describe the bug
The page transitions and layout rendering broken after the update, for some reason the  component SiteFooter appears above the layout  on any route client route change, but it renders properly on server side rendering (hard refresh)....
Additional context
layouts/default.vue
<template>

    <SiteHeader />
    <slot />
    <SiteFooter />

</template>

Logs
No response

Had the same issue, fixed it by wrapping the slot with a div:
<template>

    <SiteHeader />

<slot />

    <SiteFooter />

</template>

@bounoable that worked perfectly, Thanks a lot! I'll close the issue...

It's nice to see that there's a workaround, but the bug is still there. It happens with <nuxt-page /> component as well. I'd keep it open so that it would be visible to maintainers...

Follow https://github.com/nuxt/nuxt/issues/24632 then


allow ical strings in constructor

I have a ical string rather than file that I need to parse.

But there is already: initString()...

Doh. Cheers!


Discovery Page - A "No results found" message shows briefly before actual search results are shown

Tested and verified to be working

Passed - tested in STG


ai: Update test-workflow.yml to include a condition for the AssumeRoleAndCallIdentity job.

ai: Update test-workflow.yml to include a condition for the AssumeRoleAndCallIdentity job.
The test-workflow.yml file has been modified to include a condition for the AssumeRoleAndCallIdentity job. The job will now only run if a pull request review has been submitted. This change ensures that the AssumeRoleAndCallIdentity job will only execute when a pull request review is approved.
Fall-back plan:
If the condition for the AssumeRoleAndCallIdentity job is not met, the job will not run and the workflow will proceed to the next job or step according to the defined workflow configuration. This change does not affect the overall functionality of the workflow.

adfasdfasfd


saving map incomplete data

Hello @koide3 ,
When we save the PCD file the intensity and time stamp of points are missing, any idea how to add them into the file?

Hi @koide3 , you have mentioned in the issue #51 that we should change the downsampling method to have the intensity data, did you mean the voxelgrid and passthrow methods or the octree ? and what would be the alternatives? can you please provide more information to solve this issue? and is it possible to add timestamps for points in the pcd files?

issue closed .


Issue 1250 fix

@jhaineymilevis please fix the linting.

Hey @jhaineymilevis you have a merge conflict if you can fix that. Thanks!


chore: rm useless file - tests/e2e/docker-compose.yaml

What this PR does / why we need it?
This PR ...
What is the impact of this PR?
No Breaking Change
PR relation:

Ref #

CI Settings

CI Usage
Tip: Check the CI you want to run below, and then comment /run-ci.
CI Switch

[ ] Web3 Compatible Tests
[x] OCT 1-5 And 12-15
[ ] OCT 6-10
[ ] OCT 11
[ ] OCT 16-19
[ ] v3 Core Tests
[x] OpenZeppelin tests

CI Description

CI Name
Description

Web3 Compatible Test
Test the Web3 compatibility of Axon

v3 Core Test
Run the compatibility tests provided by Uniswap V3

OCT 1-5 | 6-10 | 11 | 12-15 | 16-19
Run the compatibility tests provided by OpenZeppelin

/run-ci

/run-ci

/run-ci


Can't connect or debug

Can't find the logs where the plugin is even trying to connect. I have 6 cameras setup in Shinobi and wanted to setup viewing to homekit as well.
Here is my config
            "platform": "Camera-ffmpeg",
            "cameras": [
                {
                    "name": "Right AC",
                    "videoConfig": {
                        "source": "-rtsp_transport tcp -i rtsp://username:password
!@ipaxis-media/media.amp?videocodec=h264&streamprofile=Media?",
                        "stillImageSource": "-i<EMAIL_ADDRESS>                        "maxStreams": 2,
                        "maxWidth": 704,
                        "maxHeight": 480,
                        "maxFPS": 30,
                        "vcodec": "h264_omx",
                        "additionalCommandline": "-loglevel verbose",
                        "debug": true
                    }
                }
            ]
        }

Can anyone help with my config and finding the logs?
Device is an AXIS 291U (converts analog to ip) and its working in shinobi.

Can you share your entire config.json?

Dang. I totally figured it out. The device needed a specific stillimagesource url. Once I figured that out all was well.


Fix/csm252 refactor walletid

https://issues.serokell.io/issue/CSM-252

Is this ready for merging?


Sending data

Hi，
Thanks for the great work. After a few attempts, I can successfully send data to UE5. But when I stop sending the data, the "Evaluate Live Link Frame" function in Blueprint is still receiving the Valid Frame as the picture below shows. I think it is more reasonable to execute the Invalid Frame step since there is no data sending. Is there any way to fix this?
Thanks in advance!

add
s.shutdown(socket.SHUT_RDWR)
s.close()

Shortly tried that, it's still in the Valid Frame thing. I also tried it on an real IPhone, its still a valid frame, even if the app lost tracking  or was close. In that function, there will always be a valid frame if a subject is selected, even if its an old one.
It would only be an invalid frame if somethings wrong with the send data, so adding the shutdown command would not rreally help here?

What I mean is that after shutdown is added, the unreal livelink will not receive data even if the python_livelinkface source is still on


fix-bug,the static classname error

Describe what this PR does / why we need it
fix a bug
Does this pull request fix one issue?
Fixes the Issue #122

Describe how you did it
correct the word

@saikei Thank you for fixing it. Please change the email and name you submitted to github email and name. After that, please squash your commits to one commit and force push it.


Recognizing X chromosome, "Unable to open object (object 'chrom_23' doesn't exist)"

Hi,
I looked at the previous issue brought up about the final chromosome here: https://github.com/bvilhjal/ldpred/issues/17 and it seems that ldpred should be able to recognize X as a valid chromosome with the most up-to-date version. However, I am getting this error during the coordination step:
`"Unable to open object (object 'chrom_23' doesn't exist)"
Did not find chromosome in SS dataset.`
And later in the 'Summary of Coordination Step' section:
Num chromosomes used:                                                         22
Both my plink files and SS file should have the chromosome listed as a capital X. I am using the most recent version of ldpred in the master branch.
Best,
Josh

I believe I've fixed this now.  Thanks for reporting.  Let me know if you have any problems with the fix.  It should also be easy to extend to other chromosomes (Y, MT), but I'm worried about how the SNPs are coded for those, hence I didn't want to extend it for those now.
Best,
Bjarni

Hi,
I still have this error.
`"Unable to open object (object 'chrom_23' doesn't exist)"
Did not find chromosome 23 in SS dataset.
Continuing.`
`SNPs in LD Reference data:                                              12066678
Num chromosomes used:                                                         22
SNPs common across datasets:                                            11740250`
Best,
Josh

Hi, I thought I had fixed it.  Will look at later this week.  I'm sorry about this.
Best,
Bjarni

It's no problem, everything still works if I just remove chr23 from the files.
Josh

I believe parsing and working with X chromosomes already works, so I'll close this.


I am able to open the notification panel

I am able to swipe down from the top of the screen and than swipe down again when the status bar appears. This way I can successfully open the notification panel and change the quick settings (i.e. turn on/off wifi). Tested on Android 7.1.1.

Any idea how to solve this?

This should be solved using ACTION_CLOSE_SYSTEM_DIALOGS intent, which is sent on window focus change:
https://github.com/honza889/cordova-plugin-kiosk/blob/master/android/KioskActivity.java#L49
You can try to modify/add more Timers (like on line 59-65), which send this request to close system dialogs also after short delay, as immediate request is ignored by notification area sometime.
If you use Android 4.1+, you can try to use way of blocking suggested in https://github.com/honza889/cordova-plugin-kiosk/issues/14 - feel free to sent pull request if it will be working.

Thanks for the fast reply,
I'm not interested in 4.1- so I'm gonna try #14  and report the results

Found a good enough solution if you are running android 6+.
Apparently you can hide all the option in the  the quick settings.
Steps to Remove Status Bar Icons:

Step 1: First of all you have to enable System UI Tuner. For that, expand the Quick Settings panel by swiping down from top of the screen twice.
Step 2: At the top right side of Quick Settings panel, you’ll see a gear icon. It is similar to that of Google Android settings application. Tap and hold the gear icon.
Step 3: The gear icon will start to spin. Hold it for a few seconds and the release it.
Step 4: After you let go the gear icon, you will see the toast message at the bottom of the screen.
Step 5: In Settings, you will need to scroll down the page to find the SystemUI Tuner’s option. Tap it.
Step 6: Here, you’ll see an option of the Status Bar. Tap on it to see the list of all the toggles.
remove Status Bar icons
Step 7: Toggle all the icons off, one at a time. These icons will no more be visible next time when they are in use/active.

These simple steps will help you to remove Status Bar icons


[add-resource] New Plugin: Webp

I would like to add my new plugin to the Grav Repository.
Here are the project details: webp.
Module gives possibility serve images in webp format.

Added to GPM.  Thanks.


Add link to /teams page on home page

Mirrored from https://github.com/BrandNewCongress/welcome/issues/16

There is no link to get to www.brandnewcongress.com/teams from the main website at www.brandnewcongress.com.
I only just found out about it now because a pollworker called and told me about it. I don't know who's in charge of the website, but it would be trivial to add it, and it would really help us in finding people to volunteer! I've gone to the website many times but only found links to physical gatherings.
This needs to be done as soon as possible.

@benisch2

cc @saikat Any ideas on where to place this? Footer and/or call-to-action maybe?

#70 will add one to the bottom of the homepage.

This should be done.