Windows Server 2019 support

Hi,
Are the powertoys supported on Windows Server 2019 (version 1809)? We are using this for our VDI infrastructure and they asked me to install the powertoys on it, but I want to be sure it's supported.
Thanks,
Michiel.

I had a system with Windows 10 1809, some features (keyboard manager & run) are disabled as they need Windows 10 1903.
In the end this means that the following will probably (I didn't test them on that system yet) work:

Preview pane
Fancy zones
Image resizer
Power rename

Can't see why this wouldn't but is not something we're actively testing against.  If something doesn't work, i'd suggest filing bugs against it.


Failed to import -<EMAIL_ADDRESS>

Failing module

GitHub: https://github.com/meilisearch/meilisearch-js
npm: https://www.npmjs.com/package/meilisearch

deno run<EMAIL_ADDRESS>
Error message
After running deno run I get this:
error: Import<EMAIL_ADDRESS>failed: 408 Request Timeout

timeout, we are building the package hardly, please try later!

Additional info
It always works well but not today, I think there's a problem with Typescript because it works on browser

esm.sh version: v49 (esm.sh itself)
Deno version: 1.13.2

Same with http://esm.sh/typescript

@erfanium @timreichen  now it should work!
sorry, we are updating the framemwork to run the esm.sh backend on multiple servers, also did some refactors to build the modules more efficiently and better deno types compatibility.

@ije thanks, the previous error is solved, though there is another error that wasn't present before now when trying to import http://esm.sh/typescript. Might be related to the updated framework:
error: Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'EventEmitter'
    at <anonymous> (https://cdn.esm.sh/v50/readable-stream@3.6.0/deno/readable-stream.js:2:116)

Thanks, It works now!

let's keep this open to trace the problem<EMAIL_ADDRESS>

@timreichen i will fix it ASAP!


openvdb: 6.2.1 -> 7.0.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/openvdb/versions.
meta.description for openvdb is: '"An open framework for voxel"'.
meta.homepage for openvdb is: '"https://www.openvdb.org"
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 7.0.0 with grep in /nix/store/bkbpbds9547ywh3azjd9jwki7ix6nnb8-openvdb-7.0.0

directory tree listing: https://gist.github.com/d9fde30f589090ad2df21ecb68e87484

du listing: https://gist.github.com/f97d099f2b063782442a171fb92ad43b

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)
2 package rebuild(s)
2 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
blender
openvdb

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bkbpbds9547ywh3azjd9jwki7ix6nnb8-openvdb-7.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A openvdb https://github.com/r-ryantm/nixpkgs/archive/8e668e5d02313af5f3544bd648dbbd04e605d9ae.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bkbpbds9547ywh3azjd9jwki7ix6nnb8-openvdb-7.0.0
ls -la /nix/store/bkbpbds9547ywh3azjd9jwki7ix6nnb8-openvdb-7.0.0/bin

cc @guibou for testing.

closing for staleness, bot can open a new PR if needed


possibility to use awattar adapter for other epex spot provider

I've tried to use awattar adapter for my epex spot provider "SmartEnergy".
I've tried to just exchange API URL in adapter settings with the one provided here: https://www.smartenergy.at/api-schnittstellen
But as expected it is not as easy as that ;)
I get following warning in log:
Read-only state "awattar.0.Rawdata" has been written without ack-flag with value "{"tariff":"EPEXSPOTAT","unit":"ct/kWh","interval":15,"data":[{"date":"2023-12-31T00:00:00+01:00","value":4.118},{"date":"2023-12-31T00:15:00+01:00","value":4.118},{"date":"2023-12-31T00:30:00+01:00","value":4.118},{"date":"2023-12-31T00:45:00+01:00","value":4.118},{"date":"2023-12-31T01:00:00+01:00","value":1.474},{"date":"2023-12-31T01:15:00+01:00","value":1.474},{"date":"2023-12-31T01:30:00+01:00","value":1.474},{"date":"2023-12-31T01:45:00+01:00","value":1.474},{"date":"2023-12-31T02:00:00+01:00","value":0.48},{"date":"2023-12-31T02:15:00+01:00","value":0.48},{"date":"2023-12-31T02:30:00+01:00","value":0.48},{"date":"2023-12-31T02:45:00+01:00","value":0.48},{"date":"2023-12-31T03:00:00+01:00","value":0.037},{"date":"2023-12-31T03:15:00+01:00","value":0.037},{"date":"2023-12-31T03:30:00+01:00","value":0.037},{"date":"2023-12-31T03:45:00+01:00","value":0.037},{"date":"2023-12-31T04:00:00+01:00","value":0.629},{"date":"2023-12-31T04:15:00+01:00","value":0.629},{"date":"2023-12-31T04:30:00+01:00","value":0.629},{"date":"2023-12-31T04:45:00+01:00","value":0.629},{"date":"2023-12-31T05:00:00+01:00","value":1.364},{"date":"2023-12-31T05:15:00+01:00","value":1.364},{"date":"2023-12-31T05:30:00+01:00","value":1.364},{"date":"2023-12-31T05:45:00+01:00","value":1.364},{"date":"2023-12-31T06:00:00+01:00","value":1.312},{"date":"2023-12-31T06:15:00+01:00","value":1.312},{"date":"2023-12-31T06:30:00+01:00","value":1.312},{"date":"2023-12-31T06:45:00+01:00","value":1.312},{"date":"2023-12-31T07:00:00+01:00","value":1.48},{"date":"2023-12-31T07:15:00+01:00","value":1.48},{"date":"2023-12-31T07:30:00+01:00","value":1.48},{"date":"2023-12-31T07:45:00+01:00","value":1.48},{"date":"2023-12-31T08:00:00+01:00","value":1.8},{"date":"2023-12-31T08:15:00+01:00","value":1.8},{"date":"2023-12-31T08:30:00+01:00","value":1.8},{"date":"2023-12-31T08:45:00+01:00","value":1.8},{"date":"2023-12-31T09:00:00+01:00","value":2.226},{"date":"2023-12-31T09:15:00+01:00","value":2.226},{"date":"2023-12-31T09:30:00+01:00","value":2.226},{"date":"2023-12-31T09:45:00+01:00","value":2.226},{"date":"2023-12-31T10:00:00+01:00","value":1.68},{"date":"2023-12-31T10:15:00+01:00","value":1.68},{"date":"2023-12-31T10:30:00+01:00","value":1.68},{"date":"2023-12-31T10:45:00+01:00","value":1.68},{"date":"2023-12-31T11:00:00+01:00","value":2.047},{"date":"2023-12-31T11:15:00+01:00","value":2.047},{"date":"2023-12-31T11:30:00+01:00","value":2.047},{"date":"2023-12-31T11:45:00+01:00","value":2.047},{"date":"2023-12-31T12:00:00+01:00","value":2.177},{"date":"2023-12-31T12:15:00+01:00","value":2.177},{"date":"2023-12-31T12:30:00+01:00","value":2.177},{"date":"2023-12-31T12:45:00+01:00","value":2.177},{"date":"2023-12-31T13:00:00+01:00","value":1.847},{"date":"2023-12-31T13:15:00+01:00","value":1.847},{"date":"2023-12-31T13:30:00+01:00","value":1.847},{"date":"2023-12-31T13:45:00+01:00","value":1.847},{"date":"2023-12-31T14:00:00+01:00","value":2.17},{"date":"2023-12-31T14:15:00+01:00","value":2.17},{"date":"2023-12-31T14:30:00+01:00","value":2.17},{"date":"2023-12-31T14:45:00+01:00","value":2.17},{"date":"2023-12-31T15:00:00+01:00","value":2.67},{"date":"2023-12-31T15:15:00+01:00","value":2.67},{"date":"2023-12-31T15:30:00+01:00","value":2.67},{"date":"2023-12-31T15:45:00+01:00","value":2.67},{"date":"2023-12-31T16:00:00+01:00","value":2.609},{"date":"2023-12-31T16:15:00+01:00","value":2.609},{"date":"2023-12-31T16:30:00+01:00","value":2.609},{"date":"2023-12-31T16:45:00+01:00","value":2.609},{"date":"2023-12-31T17:00:00+01:00","value":2.872},{"date":"2023-12-31T17:15:00+01:00","value":2.872},{"date":"2023-12-31T17:30:00+01:00","value":2.872},{"date":"2023-12-31T17:45:00+01:00","value":2.872},{"date":"2023-12-31T18:00:00+01:00","value":3.146},{"date":"2023-12-31T18:15:00+01:00","value":3.146},{"date":"2023-12-31T18:30:00+01:00","value":3.146},{"date":"2023-12-31T18:45:00+01:00","value":3.146},{"date":"2023-12-31T19:00:00+01:00","value":2.348},{"date":"2023-12-31T19:15:00+01:00","value":2.348},{"date":"2023-12-31T19:30:00+01:00","value":2.348},{"date":"2023-12-31T19:45:00+01:00","value":2.348},{"date":"2023-12-31T20:00:00+01:00","value":2.064},{"date":"2023-12-31T20:15:00+01:00","value":2.064},{"date":"2023-12-31T20:30:00+01:00","value":2.064},{"date":"2023-12-31T20:45:00+01:00","value":2.064},{"date":"2023-12-31T21:00:00+01:00","value":0.984},{"date":"2023-12-31T21:15:00+01:00","value":0.984},{"date":"2023-12-31T21:30:00+01:00","value":0.984},{"date":"2023-12-31T21:45:00+01:00","value":0.984},{"date":"2023-12-31T22:00:00+01:00","value":1.282},{"date":"2023-12-31T22:15:00+01:00","value":1.282},{"date":"2023-12-31T22:30:00+01:00","value":1.282},{"date":"2023-12-31T22:45:00+01:00","value":1.282},{"date":"2023-12-31T23:00:00+01:00","value":1.122},{"date":"2023-12-31T23:15:00+01:00","value":1.122},{"date":"2023-12-31T23:30:00+01:00","value":1.122},{"date":"2023-12-31T23:45:00+01:00","value":1.122}]}"
And objects are looking like this:

So my question is: Is it possible to enhance your adapter for other epex spot provider as well ?

hi,
sorry, this adapter is dsigned to just work with awattar api....
cheers
gereon


Rendering issue when opening multiple PRs

Issue Type: Bug
Testing https://github.com/Microsoft/vscode/issues/69254
Not sure how to repro this, but I've have encountered this a few times so far where the page renders oddly:

Extension version: 1.56.0
VS Code version: Code - Insiders 1.32.0-insider (393b48d4a5de85b6fa1d2ad0a59588d6715e12ea, 2019-02-25T01:33:51.804Z)
OS version: Darwin x64 18.2.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz (8 x 3100)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.02GB free)

Process Argv
-psn_0_569483

Screen Reader
no

VM
0%

I haven't see this recently. Please feel free to reopen if you're still seeing this issue!


Add some Backup projects

Hi!
I've added some backup projects which I stumbled upon when searching for backup options.

Sorry about the very late reply, and thanks for your contribution!


Update Travis

@hvr, I want to run the Cabal test suite with multiple different test options:

A quick test with default settings,
A test with a greatly increased size limit,
A test with a lot more repetitions,
A test with moderately increased size limit and repetitions.

What's the approved way to do that with your .travis.yml-generating script?

This has been superseded by other Travis updates and should be closed.

@treeowl closing in favor of #256


Remove sanity.external from CRIU specs

Tests have been moved to dev.external

fyi @llxia @tajila


PR: Use local environment variables and Add option to import PYTHONPATH

Description of Changes
The macOS application now imports the user's system environment variables into its os.environ so that they are passed to IPython consoles.
The PYTHONPATH Manager now has a a button to import the PYTHONPATH from the user's system environment (os.environ['PYTHONPATH']). This is useful for all platforms that have PYTHONPATH defined outside Spyder: either the Windows registry (Windows), or in the bash profile stack (Linux and macOS). This does not replace the functionality to export the PYTHONPATH Manager list to the Windows registry.
The PYTHONPATH Manager widget is now enforced to be a single instance.
Completions through PyLS now honor the path list in PYTHONPATH Manager, which is what should be expected.
With this PR, the user now has complete control over the PYTHONPATH used for IPython consoles via the PYTHONPATH Manager with the convenience of importing PYTHONPATH from the user's system environment variable. This PR harmonizes completions between the Editor and IPython console and across all launch mechanisms and platforms.
Issue(s) Resolved

Fixes #14843
Fixes #14809
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:
@mrclary

Comments
This is a better implementation of the basic idea in #14918. In the discussion of that PR, I had proposed the idea of creating an Environment Variables plugin. While this is still a good idea, I think that creating a new plugin will take more time and effort than I currently have and the basic functionality introduced in this PR is highly valuable to myself and colleagues. Therefore, I think this intermediate implementation is prudent.

Hello @mrclary! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/utils/icon_manager.py:

Line 212:80: E501 line too long (86 > 79 characters)

PYTHONPATH Manager new widget appearance.

Addition of "Import" button
Changed icon for "Synchronize..." button (Windows only)

I need to check the behavior of running scripts in external terminals; see #16200

@mrclary, I disagree with most of this PR. Unless you revert almost all changes and focus on the ones related to our PYTHNONPATH manager, I won't accept it, sorry

The macOS application now imports the user's system environment variables into its os.environ so that they are passed to IPython consoles.

I didn't understand how this is achieved very well. But if it involves grabbing os.environ and passing it to the kernel, I disagree with it.
We need to add a way for users to be aware we're doing that, so they can enable/disable it if they want. Also, this could introduce odd crashes, so it should be opt-in, not opt-out.

Completions through PyLS now honor the path list in PYTHONPATH Manager, which is what should be expected.

We absolutely don't want that. Passing PYTHONPATH to the server and transport layers causes odd crashes (just add string.py to a directory in PYTHONPATH to see), and it's totally unnecessary because we have the extra_paths that we can set in the server for it. As a matter of fact. that's what we're already doing it for projects and it's working fine:

With this PR, the user now has complete control over the PYTHONPATH used for IPython consoles via the PYTHONPATH Manager with the convenience of importing PYTHONPATH from the user's system environment variable.

That's is already working fine:

So, in my opinion, the only thing that's necessary is adding the Import button to our manager, so that an external PYTHONPATH can be added to our mnager.

This PR harmonizes completions between the Editor and IPython console and across all launch mechanisms and platforms.

We don't want and don't need that. Each of those external process works differently and there's no need to uniformize things for the sake of correctness.

The PYTHONPATH Manager now has a a button to import the PYTHONPATH from the user's system environment (os.environ['PYTHONPATH']). This is useful for all platforms that have PYTHONPATH defined outside Spyder: either the Windows registry (Windows), or in the bash profile stack (Linux and macOS). This does not replace the functionality to export the PYTHONPATH Manager list to the Windows registry.
The PYTHONPATH Manager widget is now enforced to be a single instance.

Of course, these additions are nice and I agree with including them.

The macOS application now imports the user's system environment variables into its os.environ so that they are passed to IPython consoles.

I didn't understand how this is achieved very well. But if it involves grabbing os.environ and passing it to the kernel, I disagree with it.
We need to add a way for users to be aware we're doing that, so they can enable/disable it if they want. Also, this could introduce odd crashes, so it should be opt-in, not opt-out.

This is already done for Spyder launched from the command line but not done for macOS standalone application. This PR only makes the standalone application behave the same as launching from commandline, i.e. Spyder's internal os.environ inherits a users environment variables. The user's environment variables are already passed to the IPython console (with some modification); this PR does not change that.
spyder/plugins/ipythonconsole/utils/kernelspec.py (126-130)
    def env(self):
        """Env vars for kernels"""
        default_interpreter = self.get_conf(
            'default', section='main_interpreter')
        env_vars = os.environ.copy()

If you want this to be an opt in option, then we would have to change the existing behavior.

Completions through PyLS now honor the path list in PYTHONPATH Manager, which is what should be expected.

We absolutely don't want that. Passing PYTHONPATH to the server and transport layers causes odd crashes (just add an empty string.py to a directory in PYTHONPATH to see), and it's totally unnecessary because we have the extra_paths that we can set in the server for it. As a matter of fact. that's what we're already doing for projects and it's working fine:

I agree that we do not want to pass PYTHONPATH to the server and transport layers. This PR does not do that. The completion search paths, as you say, are controlled by the extra_paths. The current issue is that, in fact, PYTHONPATH was being sent to PyLS. PyLS environment was not being set at all when run outside of DEV or pytests, but PyLS will default to use os.environ, which includes PYTHONPATH, when no environment is specified. See the changes I made to spyder/plugins/completion/providers/languageserver/client.py in the start_server method. Now, the server will inherit os.environ for all languages, but explicitly remove PYTHONPATH for python language. The problem this presented was that PYTHONPATH was being passed and added to extra_paths, so that completions erroneously included paths in Spyder's internal environment in addition to those specified by PYTHONPATH Manager.

With this PR, the user now has complete control over the PYTHONPATH used for IPython consoles via the PYTHONPATH Manager with the convenience of importing PYTHONPATH from the user's system environment variable.

That's already working fine:

For launching from conda, yes, the IPython console had both the user's system PYTHONPATH and that from PYTHONPATH Manager. But the macOS standalone application did not (see my comment above). However, this was not explicit, since the conda user would have to consult his bash profile chain plus the PYTHONPATH Manager to know what was going to the IPython console. Now, it is explicit; whatever is in PYTHONPATH Manager is what will be inherited in the IPython console. With the import button, the user now has explicit (opt in) control over exactly what paths go to the IPython console.

This PR harmonizes completions between the Editor and IPython console and across all launch mechanisms and platforms.

We don't want and don't need that. Each of those external processes works differently and there's no need to uniformize things for the sake of correctness.

I don't understand your objection here. Of course we want them to be the same. We want the completion paths in the Editor (via extra_paths) to be the same as that in the IPython console; having completions valid in one but not the other is confusing and misleading.
I actually think this PR does exactly what you would like, but maybe there is some confusion as to what was happening before and what I'm proposing to change. We should chat over zoom if we need to have a deeper conversation.

Warning
The following comments are extensive; if you are looking for tl;dr, this isn't it 😁 . Because the issues are quite tedious to describe, and there has already been some misunderstanding, I make no apology for the verbosity. My goal is to explain as clearly as possible what this PR actually does and why. I've tried to be concise but thorough.
Clarifying the Issues
There are four main issues addressed by this PR

The PYTHONPATH Manager is not a single instance dialog.
When launching Spyder from a conda environment (traditional method) or the Windows standalone application, a user's local environment variables are inherited into Spyder's os.environ and subsequently passed to the IPython console. However, when launching Spyder as a standalone macOS application, this is not the case.
When launching Spyder from a conda environment (traditional method) and using the internal interpreter for the IPython console, completions in the Editor and the IPython console use search paths comprising the interpreter environment paths (site-packages, etc.), Spyder's PYTHONPATH Manager paths (PPM), and paths in the user's local PYTHONPATH environment variable (PPP). However, when using an external interpreter, the completion search paths for the Editor do not include the paths in the user's local PYTHONPATH environment variable. Thus there is an inconsistency between the completions in the Editor and the IPython console in this scenario.
When launching Spyder from a conda environment with bootstrap.py and using an external interpreter for the IPython console, completions in the Editor and the IPython console use search paths comprising the interpreter environment paths (site-packages, etc.) and Spyder's PYTHONPATH Manager paths, but do not include paths from the user's local PYTHONPATH environment variable. However, when using an internal interpreter, the completion search paths for the Editor also include the paths from the user's local PYTHONPATH environment variable. Thus there is an inconsistency between the completions in the Editor and the IPython console in this scenario. It should also be noted that while the user's local environment variables are inherited into Spyder's os.environ when launching with bootstrap.py, the paths in the user's PYTHONPATH is clobbered and replaced with spyder-kernels before sending it to the IPython console.

Note that there is also an inconsistency in completions behavior between the bootstrap and traditional conda launching methods. The following table summarizes the issues described by 2 - 4 above.

"Launch" indicates the launch mechanism: (conda-env) $ spyder, (conda-env) $ python boostrap.py, or macOS standalone application.
"Interpreter" indicates whether the IPython console interpreter is "Same as Spyder" (internal) or some other virtual environment (external).
"Env variables" indicate whether the user's local environment variables are inherited into Spyder's os.environ. Note that in all cases, the IPython console will inherit Spyder's os.environ.
"sys.path" indicates what paths are contained in the IPython console's sys.path. Note that "interpreter" here refers to the standard library paths for the installed packages in the interpreter's environment. These are automatically added by Python when the interpreter is started.
"IPython comp" indicates the paths used for completions in the IPython console.
"Editor comp" indicates the paths used for completions in the Editor

Launch
Interpreter
Env variables
sys.path
Ipython comp
Editor comp

conda
internal
inherited
interpreter + PPM + PPP
interpreter + PPM + PPP
interpreter + PPM + PPP

external
inherited
interpreter + PPM + PPP
interpreter + PPM + PPP
interpreter + PPM

mac app
internal
not inherited
interpreter + PPM
interpreter + PPM
interpreter + PPM

external
not inherited
interpreter + PPM
interpreter + PPM
interpreter + PPM

bootstrap
internal
inherited (PPP=spyder-kernels)
interpreter + PPM + spyder-kernels + python-lsp-server + qdarkstyle
interpreter + PPM
interpreter + PPM + PPP

external
inherited (PPP=spyder-kernels)
interpreter + PPM + spyder-kernels
interpreter + PPM
interpreter + PPM

Analyzing Completions
Let's analyze the behavior of the completions search paths. First note that completions search paths are controlled via different mechanisms for the IPython console and the Editor.

The Editor completion search paths are determined by the PYTHONPATH environment variable sent to PyLS (set in spyder/plugins/completion/providers/languageserver/client.py) and by the PYTHONPATH environment variable and extra_paths sent to jedi (as set in spyder/plugins/completion/providers/languageserver/provider.py).
The IPython console completion search paths are just those in its sys.path, determined by the PYTHONPATH and SPY_PYTHONPATH environment variables passed to the console, as set in spyder/plugins/ipythonconsole/utils/kernelspec.py.

The Editor's Completion Paths

conda + internal: this does include PPP because:

PyLS is passed an environment equivalent to None and thus defaults to Spyder's os.environ which contains PPP.
The env_vars passed to Jedi is None and thus defaults to the os.environ of its containing environment, which is PyLS's.
So PPP is passed from Spyder's os.environ to PyLS's os.environ to Jedi's os.environ. Note that these are in addition to extra_paths passed to Jedi.

conda + external: this does not include PPP because:

PyLS is passed an environment equivalent to None, and thus defaults to Spyder's os.environ which contains PPP.
The env_vars passed to Jedi is explicitly set to Spyder's os.environ but then PYTHONPATH is explicitly removed.
Since env_vars passed to Jedi is not None, it will not default to PyLS's os.environ and PPP does not make it to the search paths.

bootstrap + internal: this does include PPP because:

PyLS is passed only PYTHONPATH which is set to a "clean" version of Spyder's sys.path. This clean version starts with Spyder's sys.path (interpreter + PPM + PPP) and removes PPM. Note that none of Spyder's os.environ is passed, but PPP is still passed.
The env_vars passed to Jedi is None and thus defaults to the os.environ of its containing environment, which is PyLS's.
So PPP is passed from Spyder's sys.path to PyLS's os.environ to Jedi's os.environ. Note that the end result is the same as "conda + internal" but via Spyder's sys.path instead of os.environ.

bootstrap + external: this does not include PPP because:

PyLS is passed only PYTHONPATH which is set to a "clean" version of Spyder's sys.path. This clean version starts with Spyder's sys.path (interpreter + PPM + PPP) and removes PPM. Note that non of Spyder's os.environ is passed, but PPP is still passed.
The env_vars passed to Jedi is explicitly set to Spyder's os.environ but then PYTHONPATH is explicitly removed.
Since env_vars passed to Jedi is not None, it will not default to PyLS's os.environ and PPP does not make it to the search paths.

IPython Console's Completion Paths

conda + internal or external: these do include PPP because:

env_vars passed to IPython console is set to Spyder's os.environ which contains PPP.

bootstrap + internal or external: these do not include PPP because:

env_vars passed to IPython console is set to Spyder's os.environ which contains PPP, but then PYTHONPATH therein is clobbered and replaced with spyder-kernels.

Proposed Solution
Issue 1 above does not present any controversy and is resolved by a single commit in this PR.
Issue 2 above does not present any controversy and is resolved by a single commit in this PR. Note that this is resolved by a change in the macOS app installer's setup.py and does not change any of Spyder's source code. However, this does change the completions behavior for the macOS application: originally there was no discrepancy between completions in the IPython console and Editor but now the macOS app will behave identically to the conda launch mechanism.
Now, regarding issues 3 and 4 above. I don't think it is controversial to say that the search paths for completions should:

behave the same for both internal and external interpreters. I.e. interpreter installed package paths + PYTHONPATH Manager paths.
be the same (or produce the same results), for a given interpreter, whether one is in the IPython console or the Editor. Of course, I'm only considering the scenario of a single console for now, not multiple consoles with different environments (that's a completely different issue).
In addition, @ccordoba12 also asserts, and I agree, that PYTHONPATH should not be passed to PyLS for the Python language.

These can be accomplished by the following changes:

Do not pass PYTHONPATH to PyLS for the Python language under any circumstance. This requires that we use a copy of os.environ with PYTHONPATH explicitly removed and the result explicitly passed to PyLS. This closes the back door through which PPP was being passed to Jedi inadvertently. This also is consistent with the fact that other languages may require environment variables.
For the Jedi language provider, we can now safely pass env_vars=None, it will inherit os.environ from PyLS (which will never have PYTHONPATH), and the search paths are uniquely determined by the interpreter and extra_paths sent to Jedi.

With the above changes, however, now that PPP is no longer (inadvertently) passed to Jedi, completions for the Editor and IPython console will be different. We must now exercise control over PPP being passed to IPython console.

os.environ is already explicitly used for the IPython console, so it is only required to explicitly remove PYTHONPATH.

However, there is the possible exception for "bootstrap + external". I believe the intention was to inject the local spyder-kernels path so that, under DEV, this would be found and used by external interpreters instead of spyder-kernels installed in the external environment. If this is the case, then a simple exception can be made here. But there may be reasons not to do this.

Since this only affects bootstrap (DEV), then we are discussing the affects only seen by Spyder developers.
If the developer needs to work with external interpreters, and needs to ensure that the "external-deps" version of spyder-kernels is used by the external interpreter, then it may be more prudent to install that version in that external environment (presumably in develop mode). Without installing it in the external interpreter environment, the developer may find unexpected behavior due to incompatible dependencies, i.e. trying to use spyder-kernels from "external-deps" (because it's found first on sys.path), when its dependencies in the external interpreter environment may not be compatible.

Now that we've removed all the inadvertent injections of PPP, we need to address how to use PPP conveniently and transparently. Adding the "import" mechanism to the PYTHONPATH Manager does just that.

The user now transparently knows exactly what to expect from his completions: whatever is in the PYTHONPATH Manager
The user's local PYTHONPATH paths can be imported to PYTHONPATH Manager, if desired. This only has to be done once since PYTHONPATH Manager paths persist across sessions.
Throughout Spyder's source code, developers do not need to consider the contents of os.environ['PYTHONPATH'] when considering UX; everything should be in spyder_pythonpath configuration set by the PYTHONPATH Manager.
The user now has more flexibility with respect to the imported PYTHONPATH. Previously, the user had no control over whether PPP was used, or which paths to include/exclude, but now has all the features of PYTHONPATH Manager (remove, deselect, change order) to bring to bear on those paths.

@ccordoba12 @andfoy any chance of moving forward on this soon?

I'm demoting this PR in favor of #17502 and #17503. These two PRs should be uncontroversial.
The added feature to the PYTHONPATH Manager to import the system PYTHONPATH will be introduced in a separate PR because it requires the comprehensive harmonizing of the treatment of PYTHONPATH, which was the controversial aspect of this PR.

Ok, thanks for submitting those other PRs @mrclary!


Enable webview to open new window on IOS

What's the difference between this and #2189?

What's the difference between this and #2189?

This is for open a new webview when target="blank" same behaviour like Android which has already been supported  but #2189 is open in external browser

great!!!!!!

Created the branch just for this fix
https://github.com/react-native-webview/react-native-webview/pull/2346


Statically type JSON column properties with known types

What do you want to change?
One of our apps uses JSON columns in several places. Here is one sample use case: https://play.sqlc.dev/p/54d03b37580559f8bc1eaeb5adf21ef580f16ce0966a51cba6cff82f44f743de
CREATE TABLE users (
	accounts json
);

-- name: FindUser :one
SELECT *, accounts->twitter->username::TEXT as twitter_username FROM users
LIMIT 1;

When I generate the Go code with sqlc, twitter_username becomes TwitterUsername interface{}. This would make sense for generic JSON fields, but I was hoping that the tool could introspect that part and see the explicit use of ::TEXT and turn it to string.
Is this feasible? What other options do I have? I thought, I could leave this function unexported and wrap it with a manually created one, which does the type conversion and returns a model that the rest of the code could use out of the box.
What database engines need to be changed?
No response
What programming language backends need to be changed?
No response

I believe you want your query to use the ->> operator most likely, and cast the whole expression:
For example:
https://play.sqlc.dev/p/cd6a19e592c994ff96b1b9c612bd383001e609ad21b11a0317e2a7c291304539
SELECT *, (accounts->'twitter'->>'username')::text as twitter_username FROM users

would that be possible to cast the whole expression to nullable text?


Lock sqlite gem version to 1.3

On February 04, 2019 sqlite3 1.4.0 has been released. This version breaks ActiveRecord 5.2.2 SQLite adapter, which requires sqlite3 ~> 1.3.6: https://github.com/rails/rails/blob/v5.2.2/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L12

@dhonig, I ended up recreating this PR (I can't reopen #30). The solution proposed here and implemented here doesn't work properly, since the spec files are in the root of the project, and not in the generated app, so sqlite3 is actually a development dependency of the project, and it's used in the project specs.


Perform mainnet replica Terraform deployment using ArtifactHub helm charts.

Validate Terraform combined with the new "generic node" helm chart (published to artifact hub), to deploy each of the node roles.

[ ] Seed Node
[ ] Archive Node
[ ] Rosetta Node
[ ] Watchdog Node
[ ] Block Producer
[ ] Snark Worker Node
[ ] Snark Coordinator Node

Moving this Github issue to the "blocked" section of the sprint board. I am currently holding for a final publication of the generic Helm chart with all roles into Artifact Hub.

Closing as duplicate of #10515


Checkbox focus affordance is clipped

See Checkbox in toolbox FormModel and HoistInputs Tab.  Both of these show with the left side of the focus border missing

Also applies to switches and radio buttons.
Oddly, this doesn't happen on window's machines. However, I think the bug is with windows, even though the bug makes the outline look better.
It appears that the "outline-offset" css property is being ignored in Chrome on windows. The .bp3-control-indicator class has this property set to 2px, which is being respected in toolbox on Macs and causing the clip. Whereas in windows the outline hugs the outside of the input.
If we like the offset we'll need to give the inputs more room in toolbox. However we will not pick that up in windows due to the bug described above. Personally, I think the focus outlines should hug the inputs in the same way that they do for say a text input. That will be a css change in Hoist, but I have yet to determine where.


Global substitute command hangs when replacement string contains search string

Reproduce Steps:

Ensure the open buffer contains some text: foo
Run a global substitute command where the search string is a substring of the replacement string: :%s/foo/foobar/g

Expected:
foo becomes foobar
Observed:
Editor hangs.
Observed in:

Bitburner v1.6.4 - https://github.com/danielyxie/bitburner
Monaco Playground - https://editor.bitwiser.in/

Tried this on the playground and it worked fine for me. Editor does not hang. Could you provide a reproducible url on maybe codesandbox.

Weird. I did my exact test and it didn't hang. But here's a series of steps that do:

Open Monaco Playground - https://editor.bitwiser.in/ - it shows a Kotlin code sample by default.
Enable Vim mode.
Run :%s/kotlin/fookotlin/g

I thought this would be much more consistent than it is.


feature/add donut + pie chart

:tada: This PR is included in version 1.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


saferItemTransfer bug:deletes items

idk if this is intentional or a bug but: with the saferItemTransfers when firing a dropper into a tile entity that cant except more blocks (a full chest) or cant take a certain item (brewing stand) the item gets delete

Can you see if this issue still occurs in v1.5.0
I was unable to reproduce

yea it seems to be fixed in the v1.5.0, thanks


Update the sync manager logic

Announce headers instead of blocks.
Request multiple blocks at once, but send them one by one.
Slightly different error handling.

Closes https://github.com/mintlayer/mintlayer-core/issues/596.

Overall, I don't like how the sync manager works because there are a lot of synchronization points with the chainstate subsystem (when we request something from the chainstate). I think this will result in high latency and low throughput.
IMO a better way would be to do the processing directly in the peer's event loop. This would solve the backpressure and congestion problems (because we won't start processing new messages until current message is processed and response is sent, and peers won't block each other). But this requires big changes.

Great first iteration! This is close to what we need to have proper block syncing. I'll give it another review later. Please handle the issues I mentioned in the comments.

I think that I have fixed most of the comments and this is ready for the next review round. I want to highlight the following:

The checked arithmetic is used where appropriate.
I'm not 100% sure about the new block announcement and the "headers response" separation, but as far as I can see, the logic is slightly different for the announcements in the Bitcoin code (it can be found by the MAX_BLOCKS_TO_ANNOUNCE constant usage). I suppose it becomes even more important when a more intricate peer logic (such as disconnecting stalling peers in favor of more active ones) is implemented. That's why I prefer to keep the announcements for now.
While the error processing logic is somewhat complicated, I still believe that it makes the code more robust, because unexpected errors aren't ignored.
Several additional TODO-notes were added.


Issue on inference

Hi,
I tried to perform inference on my own videos by simply putting those videos in the /visualization/videos folder, then running the provided scripts in this repo.
However, when loading the model Loading model from save/anet_tsp_pdvc/model-best.pth, my terminal shows this error:
visualization/output/r2plus1d_34-tsp_on_activitynet_stride_16/sample_vid.npy not exists, use zero padding.
all feature files of video sample-vid do not exist

Then the generated captions in dvc_results.json will just be talking about a black screen or white screen or credit scene. I assume this is due to the zero padding.
It seems that there is a problem when extracting features from my video(?) I am not too sure. Is there any step I might have missed or any step that was not included in the scripts?
Any help is appreciated. Thank you~

I have the same problem !


Phone brightness increases after watch a movie

Steps to reproduce
Nil
Expected behavior
Shoud not increase my phone brightness
Actual behavior
My phone brightness automatically increases after watch a movie I tried to get video and screenshot of it but it dosent show it clearly  .

Crash logs (or stack trace)
No response
Flixclusive version
Pre release 2.0.0
Android version
11
Device
Poco m2
Other details
Fix the subtitle font the edges are big and hard to read

Acknowledgements

[X] I am fully confident that this issue is related solely to the app and not to any provider.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to the pre-release version.

Was your phone's brightness initially high?

Not it will be low but after clicking a movie and come back my brightness increases all of a sudden when I check my brightness meter it show the same level . When I exit the app it becomes normal

alr, will see. thanks!

Thank bro also change the subtitle settings it's hard to read

change the subtitle settings it's hard to read

Would you mind opening a diff issue for this? So we won't have to clog up this thread

Ok

In my case the movie didn't even load (idk something is wrong with that, no video is loading) but on returning back from the video player it increases the brightness of the app.
Even if I try to control brightness from the system's top bar, it increases the brightness again when the app regains focus. Now the system UI shows brightness is at 0% and I can't lower anymore.
On switching to another app or restarting flixclusive does bring the brightness (controlled) back.

 These dev just don't care, the only sensible dev are cloud stream and at least they tell you why they won't fix a particular issue like this. Come on now

@Uvdon woah now
I dont remember deleting any issue before. I dont delete them for the purpose of documentation, even if it's a duplicate or pointless.
I searched the repository regarding all issues youve opened. These came up: #51 and #6
If I can recall, #94 is the only issue that talks about the "bloated gestures" youre talking about (if thats what u mean), and I dont see your username on any of the comments made there.
Last, props to cloudstream for having active devs! But, respectfully, Im the only dev on this app (for now) and I also have a life outside my computer. So, sorry for infuriating you.


2D MPR button is not displayed if user clicks on Study List and selects the same Patient

Bug Report
Describe the Bug
2D MPR button is not displayed when returning to a study you have previously clicked.
What steps can we follow to reproduce the bug?

Click a study from studylist that should have 2D MPR option available.
Observe that there is a 2D MPR button in the Toolbar.
Go back to studylist.
Click on same study
See the 2D MPR button is missing

This issue was previously reported here as issue 1: https://github.com/OHIF/Viewers/issues/1326
This PR was supposed to fix the issue: https://github.com/OHIF/Viewers/pull/1360
I have found that removing the
studyMetadataManager.purge();

call entirely from ViewerRetrieveStudyData.js
fixes the issue but I'm not sure there's a more nuanced logic that should be used to call purge()

Please review the latest code in the master branch. I am confident that this issue has been resolved. If it persists, kindly reopen the issue with updated details.
Try viewer-dev.ohif.org instead of viewer.ohif.org
Our viewer.ohif.org is deployed from release branch while viewer-dev.ohif.org is our master  branch
Read more about branch explanations here https://docs.ohif.org/development/getting-started#developing


A socket operation failed because of the destination host was down

I'm getting the following error
System.Net.Internals.SocketExceptionFactory.ExtendedSocketException: 'A socket operation failed because the destination host was down. 38184C066AAF:0000110b-0000-1000-8000-00805f9b34fb (0)'
Which honestly doesn't give a lot of information, especially since the DeviceInfo  shows it's connected and I'm using a service installed in the bluetooth installed services.
This is my test code.
var cli = new BluetoothClient();
var bluetoothDeviceInfos = cli.PairedDevices;
var deviceInfo = bluetoothDeviceInfos.FirstOrDefault(_ => _.DeviceName.Contains("WH-1000XM3"));
cli.Connect(deviceInfo.DeviceAddress, deviceInfo.InstalledServices.ElementAt(0));

Any info on what's going wrong? All I want to do is open a stream and read the data sent by the device.

It's difficult to tell what the issue might be but a few things to investigate:-
InstalledServices is cached so although these may be listed they may not be currently enabled on the remote device, indeed the device could be offline and will still show in PairedDevices and have a cached list of InstalledServices.
Another possibility is that there is an open connection on the target service to another device or another connection which was not successfully closed. Resetting the devices or toggling Bluetooth off/on may clear this.

I was at the moment listening to some music with my headset, on the same device I was running the code on. Wouldn't it be possible to have both running my app and using the headset at the same time? If not, how does Wireshark sniff the data then while still being able to use the headset?
Have tried all of the InstalledServices though.

Just bumping this thread because I'm honestly stilling running into the same problem.


section: names do not preserve case

I am importing a few section's like so:
plugins:
  - multirepo:
      cleanup: true
      keep_docs_dir: true
      repos:
        - section: Messaging
          import_url: git@gitlab.redacted.com:cdte/docs/lightspeed/lightspeed-docs-messaging.git?branch=main&edit_uri=/edit/main/docs/
        - section: Product APIs
          import_url: git@gitlab.redacted.com:cdte/docs/lightspeed/lightspeed-docs-api.git?branch=main&edit_uri=/edit/main/docs/

for section: Product APIs, I have also tried it section: 'Product APIs', it is not preserving capitalization as shown here:

How can I have section: Product APIs show up as Product APIs, keeping capital/lower case letters as I have it in mkdocs.yml?

I ran into this issue as well. Any updates?
It looks like it only affects the section:, but not the section_path:

It looks like this is caused by this line: https://github.com/jdoiro3/mkdocs-multirepo-plugin/blob/main/mkdocs_multirepo_plugin/plugin.py#L215
If you don't slugify the repo.section it keeps the formatting. Do we need to slugify the section?

Or add another field that when present overrides the slug?
plugins:
  - multirepo:
      cleanup: true
      keep_docs_dir: true
      repos:
        - section: MSG
          label: "Messaging"
          import_url: git@gitlab.redacted.com:cdte/docs/lightspeed/lightspeed-docs-messaging.git?branch=main&edit_uri=/edit/main/docs/
        - section: API
          label: "Product APIs"
          import_url: git@gitlab.redacted.com:cdte/docs/lightspeed/lightspeed-docs-api.git?branch=main&edit_uri=/edit/main/docs/

I dug into this a bit and I'm not sure but this might an issue with mkdocs and how it renders folders for navigation.
See https://github.com/mkdocs/mkdocs/issues/2086

To honor the case defined in the configuration all that is needed is to override slugify default lowercase=True option.
https://github.com/jdoiro3/mkdocs-multirepo-plugin/blob/main/mkdocs_multirepo_plugin/plugin.py#L215

215           section_slug = slugify(text=repo.section, lowercase=False)
216           path = repo.section_path
217           repo_name = f"{path}/{section_slug}" if path is not None else section_slug


The APC power receiver API is pretty bad for nonstandard power sources

Description
In my case, I was implementing gas powered thrusters.
I had no way to:

Figure out if the power being drawn was actually being used (issue with normal thrusters too, they constantly draw power even when not active.)
Implement the new power source without modifying StaticPowerSystem

And due to the design of the API, stuff like making things battery powered is effectively an entirely different code path. You can't make a battery powered console for example, as there's no way to make the average system support that without going in and directly making it consider multiple modes of power supply.

Not porting these upstream until this issue is fixed, due to them being mildly bad code.


Update json-schema to 0.4.0 for CVE-2021-3918

[x] I've added a new note in the CHANGELOG.md file, according to docs:
https://iver-wharf.github.io/#/development/changelogs/writing-changelogs

Summary

Updated to<EMAIL_ADDRESS>Updated to<EMAIL_ADDRESS>
Motivation
The jsprim update was needed as<EMAIL_ADDRESS>depends on<EMAIL_ADDRESS>while<EMAIL_ADDRESS>depends on the fixed<EMAIL_ADDRESS>

woot! PR nr 100!


View command doesn't surround multiple words with quotes

As mentioned on #260
Current output:
BAR=bar
BAZ=baz word

Expected output:
BAR=bar
BAZ="baz word"

Good catch!


Fix Docker image

Fix Docker image, ghostunnel needs libtool runtime dep to run if compiled with CGO_ENABLED=1.

Coverage remained the same at 89.711% when pulling bc2b794a4f1907418e65a777eaac8392b1ad4fd4 on cs/fix-docker into 223e85584e44bb8ca5f91bce5ac7fc47e4808f9d on master.


Homepage Dashboard release branch

✅ Have you read and understood the above guidelines?
Yes
📜 What is the name of the script you are using?
Homepage Dashboard
📂 What was the exact command used to execute the script?
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/homepage.sh)"
📝 Provide a clear and concise description of the issue.
I think it make sense not to use the dev branch but instead ne single releases. Also an benefit is that after switching the branch tbe version is shown correct in the right corner of homepage.
⚙ What settings are you using?

[X] Default Settings
[ ] Advanced Settings

🖥 Which Linux distribution are you using?
Debian 12
🔄 Steps to reproduce the issue.
No version in the right low corner ;)
❌ Paste the full error output (if available).
No errors
🖼 Additional context (optional).
No response

If I read your issue correctly, you are proposing the use of homepage releases instead of pulling from the dev branch. Is that correct?
The script currently looks at the latest release on GitHub and then downloads the attached zip file. So I would say that what you want is already how it works.

Thank you for your fast response. When I use your command the following version indicator is now shown:

Yes I meant that the script needs to be adjusted to set the version. If you want to set it to a specific version with the application already installed you should set NEXT_PUBLIC_VERSION=v0.10.6

@se-bastiaan Thank you very much =)

could we reopen this?

yep


[Question] How i can install?

I want to try your solution, but I don't know how to add to my project. Do you can to add info to the README.

For a JVM or JS project?

On May 19, 2020, at 3:24 PM, jershell<EMAIL_ADDRESS>wrote:

I want to try your solution, but I don't know how to add to my project. Do you can to add info to the README.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

For JS

Sorry - I'm really not familiar with JavaScript packaging.  The person
that motivated the JS port of ksvg didn't explain how they used it :-(
On Thu, May 21, 2020 at 6:43 PM jershell<EMAIL_ADDRESS>wrote:

For JS
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Who did the JS port? I've been trying to use this library in a Kotlin/JS project but I can't seem to get it set up correctly either.

I did the code, but never found someone to help with the JS packaging.

Ah. I don't know packaging for libs, but I've been talking to some folks who do, so I may look into seeing if I can improve that at all. No promises…

@jershell, check out the instructions I proposed adding to the README in #8. That is what I am using to get KSVG working in Kotlin/JS at the moment.

Please see #10

As noted in #8 , that PR is now outdated by subsequent changes in #10. Releases should now work for Kotlin/JS.

JitPack doesn't support Kotlin Multiplatform https://github.com/jitpack/jitpack.io/issues/3853
A fairly quick solution for sharing this library is to publish it to GitHub packages. This has a drawback however: users must create an access token. https://github.community/t/download-from-github-package-registry-without-authentication/14407/145
Alternatively, you can publish to a local directory within the project and commit that directory to the repo. Users can then add the 'raw' GitHub link to that directory as a Maven repo.
Publishing to Maven Central is best for users - but it's a little more involved. The Gradle + KMP plugin support for this is poor, but as this is a single project I think it should be easy.
There are other solutions, like hosting your own Maven repo, or a paid solution - but I don't have experience with those.
I'd recommend doing it properly with Maven Central, but 'publish to local directory' is a quick and easy win. I can help out with either!


Yubikey Neo-n it not detected on both my mac's

The application just says Insert a Yubikey...
The personalization tool correctly reports that my key is present.
FYI slot 2 of the key is not configured
I tried to run the  osx-patch-ccid script to solve the issues but the output tells me that everything was already setup correctly... (i've reboot the system as suggested in the documentation)
Secondly i ran:
brew install python
brew install pyside
pip install PyInstaller
pip install pycrypto
pip install pyscard
But since i installed the packaged version i assume this was not a necessity...
Could i enable any logging to find out more about the issue or do you have any clue how to solve this?
Thx!

I found the above issue, I had to install the Yubikey Neo Manager to enable CCID communication.
Since then the Yubikey is recoginized by the desktop authenticator.
But again i'm stuck.
The OSX interface looks a bit different from the one in the Documentation (window)
Currently i'm unable to add multiple keys, i have a File menu option but that doesn't provide me the expected functionallity....

The application has two different "Add credential" dialogs: one for CCID based credentials, and one for slot-based ones. As the application is displaying the dialog for slot-based credentials it seems that it is not able to detect the OATH applet in your device. So the question becomes, why isn't it detecting it? And unfortunately I'm not sure as to what the answer to that one is. Does the YubiKey NEO Manager show "YubiOATH" as an available app for your NEO? Have you been able to use this functionality with the Android version of Yubico Authenticator over NFC?

I solved the issue, You only get the dialog for the CCID based credentials if you uncheck both Yubikey standard slot checkboxes.
Although most of the time I skip reading the manual i think it needs an update :)


Replace unwrap with expect.

Replace unwrap with clear expect explaining why it's OK to ignore a result.

I am closing this as too open ended. We should be more aggresive in our code review to disallow such lines.

@antimora
I would leave this issue open as a reminder for the current code which stil uses unwrap instead of expected. We can label this issue as good first issue, perhaps some contributor can help us with this task

@antimora
I would leave this issue open as a reminder for the current code which stil uses unwrap instead of expect. We can label this issue as good first issue, perhaps some contributors are willing to help us with this task

It's way too open ended. We should have something more precise. We can have a bunch of issues like this laying around without specific action items.


Jenkins integration

It's more a questions then issue.
How to integrate mocha with Jenkins? Actually how to show mocha test results in Jenkins?

I guess implementing #10 will solve this problem.

@dhendo - What will be the commands for windows OS (not linux)? 10x

You'll want to pipe the result of the mocha run into a file, so something like
mocha -R xunit > $WORKSPACE/results/[name_under_test]_$BUILD_NUMBER.xml
(I think)

thanks, that's what I did and everything works well! thanks


New environments documentation

Content
This PR includes:

A dev blog post explaining the evolution of the testing environments for SPOs
The updated list of Mithril Networks

Issue(s)
Relates to #500 or Closes #542

Perhaps you could add a note explaining what's the future target? I think people could find the fact there's a release-preprod and a release-main confusing. Saying something around the idea that the release-preprod will end up being a beta-testing or something?

I have added the note regarding the future target :+1:


Console logger keeps logging after changing default logger

Gitea version (or commit ref): 1.0.0 (6aacf4d)
When setting the default logger to something else then "console", it will still log to console on Trace level.
Failing configuration:
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /var/log/gitea
Seems that changing the default logger will not remove the existing console logger that is attached in the settings.go init()
Workaround which at least limits the console logging:
[log]
MODE = console, file
LEVEL = Info
ROOT_PATH = /var/folders/5c/s85y9_014bd95y0x1wzr1vjm0000gn/T/log
[log.console]
LEVEL = Critical

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/40616127-console-logger-keeps-logging-after-changing-default-logger?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).

closed by #602


[web] Don't create HTMLCanvas dynamically

Following measures were taken to make our tests safer:

Running them in iframe (so that they are recreated)
Guarantee the presence of an HTMLCanvas element on the page

Closing this one till further investigation - it turns out that canvas is not recreated on every test


Use without remove-accents

Is there a way to use this library without pulling in the remove-accents library? My strings are all in English so I don't need to handle diacritics, and would rather not bloat out the bundle size with stuff I don't need. I'm using Webpack.
Looking at dist/match-sorter.esm.js (https://unpkg.com/match-sorter@3.1.1/dist/match-sorter.esm.js), it seems like it's compiled in and there's no way to replace it. It also seems like the original source code is not packaged in the npm package, so I can't just do something like import matchSorter from 'match-sorter/src/index' and then shim remove-accents via NormalModuleReplacementPlugin.

I would be in favor of changing it to enable this. I'm pretty sure that all it would take is to remove the bundledDependencies config from package.json. Would you like to give that a shot?

Sure, I can try that and see if it works.
Just as a test, what I did was updated my project's package.json to load this library from GitHub (to get the uncompiled code) instead of npm:
"match-sorter": "kentcdodds/match-sorter#v3.1.1",

Then I modified my Webpack config so that import matchSorter from 'match-sorter' loads src/index.js, and shimmed remove-accents to instead load a package that just returned the string unmodified:
    new webpack.NormalModuleReplacementPlugin(
      /match-sorter/,
      __dirname + '/node_modules/match-sorter/src/index.js',
    ),
    new webpack.NormalModuleReplacementPlugin(
      /remove-accents/,
      __dirname + '/public/assets/js/removeAccentsShim.js',
    ),

removeAccentsShim.js:
export default function removeAccentsShim(input) {
  return input;
}

This worked fine!

@kentcdodds - That didn't work for me :(
I modified package.json to remove the bundledDependencies, ran the build, and match-sorter.esm.js still contains the contents of remove-accents, rather than an import statement like I expected. Admittedly I haven't done much JS stuff for a long time, so I might be missing something obvious.
As an aside, npm run build didn't work properly for me on Windows... It opened cross-env.js in Notepad (lolwut). I guess I don't have .js files associated with Node. I just ran the scripts manually

I'm afraid that I won't have time to look into this for a few weeks. But I'll try to give it a look when I get the time.

Alrighty. I've fixed this. You should be able to re-map everything properly now.

:tada: This issue has been resolved in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Works perfectly! Thank you so much! :D


iPhone rendering issues

Font renders incorrectly on IOS google chrome. Need to resolve and investigate if any other issues exist.

Considering selecting a new font instead of debugging what's going on.


python310Packages.mistune: 2.0.4 -> 2.0.5

Description of changes
https://github.com/lepture/mistune/releases/tag/v2.0.5

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

python3.pkgs.karton-dashboard pins 2.0.4.

python3.pkgs.karton-dashboard pins 2.0.4.

@fabaff Can you check whether that pin can simply be relaxed? The package has no tests so I don't feel comfortable doing it myself.

@fabaff Any updates? I also haven't heard back from upstream in https://github.com/CERT-Polska/karton-dashboard/issues/70.

The issue in upstream was not really clear (no description provided) and was probably ignored for that reason.'
We don't pin minor in karton-dashboard, just major (<3.0.0), so no problems with this bump from our side.

We don't pin minor in karton-dashboard, just major (<3.0.0), so no problems with this bump from our side.

Se https://github.com/NixOS/nixpkgs/pull/245838 will lead to problems?


kbfs Finder integration in macOS Catalina/Mojave broken with 5.9.2 release

With the Keybase 5.9.2 release, kbfs Finder integration stop working in an existing installation of Keybase running on macOS Catalina.  Attempting to enable the Finder integration results via the Keybase GUI  "Enable Keybase In Finder?" "popup" fails to succeed just like it was failing in macOS Monterrey before the update.
Re-installing the Keybase application doesn't change anything.
Keybase logs are inconclusive as to what is going on other than the macFUSE integration is obviously not working.

Even though it is annoying that 5.9.2 broke macOS Catalina kbfs integration, I would like to thank the hardworking Keybase/Zoom engineering resources for at least starting to make maintenance releases.

https://github.com/keybase/client/issues/24636#issuecomment-1027714108 notes that 5.9.2 broke Mojave.

I can confirm that this is definitely broken in Catalina. I never see any security request for permissions in Settings|Security & Privacy, either.

Luckily, I still had the previous Keybase DMG around (5.9.0) which after downgrading, kbfs/Finder integration is again working.
From #kbfs
By default, the GUI always asks before updating. I'm assuming you have checked the checkbox in the past to automatically update it but I have no idea how to reset that. Perhaps someone knows. For me, it never updates automatically. I get the pop up update window and I can choose to update or not. If I want to manually check for updates, I use the terminal command.
jms1
2:56 PM
i can't find the checkbox you're talking about
rex_4539
2:57 PM
Once it's checked it never appears again. That's the problem :)
jms1
2:57 PM
is there maybe a way to manually edit a config file and "un-check" it?
i vaguely remember going through this before, on the M1 laptop, to make it prompt for updates. it sounds like i need to do the same on the intel machine (and add it to my own documentation so i don't forget how to do it on my other machines)
found it ... $HOME/Library/Application Support/Keybase/updater.json ... need to set "auto": false to not automatically update, and "autoSet": true to (i guess) not ask whether you want automatic updates or not?

Mine auto-updated on me, so I had no hope of hanging onto the old one.

Mine auto-updated on me, so I had no hope of hanging onto the old one.

If you contact me on Keybase, I can give you private access to the DMG which works for me.

Just to add to the comment above (that was me, "jms1" is my personal keybase account) ... I did a "Quit Keybase Completely" before editing the updater.json file and then started it back up, just to be sure the client didn't overwrite my changes.

FYI, it looks like the other builds are at https://s3.amazonaws.com/prerelease.keybase.io/darwin/index.html .

@abawany thank you for this find! I installed it, used @jms1voalte's approach to set the auto upgrade to false, and now it's working again!

HOW TO Turn off auto updates on OSX:
From @jms/@jms1voalte above:

completely quit keybase
edit with a text editor:
$HOME/Library/Application Support/Keybase/updater.json ...
-set "auto": false to not automatically update,
-set/leave "autoSet": true
save file
install old, working keybase 5.9.0 from: https://s3.amazonaws.com/prerelease.keybase.io/darwin/index.html
start keybase

If anyone also knows how to stop the popups nagging me to update while I wait for this issue to be fixed (🙏), that'd be helpful.
Regards,
iain

@soriyath I totally agree, but at least the functionality works until they fix it. When they do, I'll be glad to upgrade but not before.

Try the latest release here:  https://github.com/keybase/client/issues/24764

@jacksongoode they seem to not have made 5.9.3 available for macos at https://s3.amazonaws.com/prerelease.keybase.io/darwin/index.html afaict.

Ah, didn't realize that. Thought it might have been a similar issue.

I had to do the same thing on Big Sur.  Every time Keybase updates Finder integration b0rks.

Has anyone tried the 6.0.0 or 6.0.1 builds from https://s3.amazonaws.com/prerelease.keybase.io/darwin/index.html?

Negative.  Didn't know they existed.

Keybase-6.0.1-20220401161547+ee00dab7bc.dmg

Hot dog! This works, this fixes my problems on Catalina!

Keybase-6.0.1-20220401161547+ee00dab7bc.dmg

Hot dog! This works, this fixes my problems on Catalina!

This build fixed the KBFS issue in Mojave too (10.14.6). Thanks to all who were involved!

Looks like it's working for me over here as well (OSX Big Sur, v11.6.5).

Keybase 6.0.1-20220406081542+c727ce16d8 (6.0.1-20220406081542+c727ce16d8)
macOS 10.15.7 (19H1824)

open Keybase > Settings > Files
click Enable Finder integration
tick I understand that a closed-source kernel extension (FUSE for macOS) will be installed and click Yes, enable
button shows spinner animation
finder integratino not successful, dialog still shown to enable keybase in finder, endless repeat

Since several users reported it was working for them, I am scratching my head as to what I could be doing wrong.

Sorry to hear that @foss-. :( Not sure why it doesn't work for you. I installed the dmg and it worked right out of the box for me.

Keybase 6.0.1-20220406081542+c727ce16d8 (6.0.1-20220406081542+c727ce16d8) macOS 10.15.7 (19H1824)
1. open Keybase > Settings > Files

2. click Enable Finder integration

3. tick I understand that a closed-source kernel extension (FUSE for macOS) will be installed and click Yes, enable

4. button shows spinner animation

5. finder integration not successful, dialog still shown to enable keybase in finder, endless repeat

Since several users reported it was working for them, I am scratching my head as to what I could be doing wrong.

@foss-
It didn't work for me either, I'm happy to hear it has for others, i dont understand why that is the case. That it works for some and not others.

Were you guys running 5.9.0 before or 5.9.2? @foss- and @QuattroCS-Myriad
I had tried 5.9.2 on my system, then reverted to 5.9.0 when I discovered file integration was broken. Then when @QuattroCS-Myriad mentioned the existence of 6.X, I downloaded that and installed it over the top of 5.9.0 and it worked. Have you tried that process? Install 5.9.0, skip 5.9.2 and go directing to 6.0.1?

@dooglio I was on 5.9.0, then it updated and stopped working, i have reverted back to 5.9.0. I then tried 6.0.0 and 6.0.1 i mentioned above and they did not work for me, so I'm back on 5.9.0. I did the same you did went to 6.0.1 from 5.9.0, it didnt work for me. I can attempt again in a couple of hours.

I've got it working, and here's what I did:
I upgraded from v5.9.0 to v6.0.1 (Keybase-6.0.1-20220401161547+ee00dab7bc.dmg).  I asked to enable Finder support.  I think it was either upgrading or re-installing MacFUSE (I had it installed anyway).  I was then prompted to reboot.  After doing so this morning, I tried enabling Finder integration again, opened Finder, and my Keybase mount is present and accessible.

Well heck, I thought it was fixed. I rebooted my machine and after that, their proprietary macfuse version stopped working. I have to downgrade to 5.9.0 to get macfuse to work. Oh well, sigh. I'll upgrade to the latest version when they get this fixed (if they ever do...)

Hello - just tried all without any success (((  FUSE helper doesn't work (((
10.15.7 Catalina
(also 10.13.6 - High Sierra )
Keybase 5.9.2 (tried 5.0.9 , 6.0.1)
The folder “Keybase (****** )” can’t be opened because you don’t have permission to see its contents.
In System Settings - Full Disk access for Keybase.app
keybase --debug install -c fuse
04.24.2022 17:23:24.698 KBInstaller:45[INFO] Install complete
04.24.2022 17:23:24.698 KBInstaller:49[INFO] Privileged Helper: Installed, Bundle Version: 1.0.47
Version: 1.0.47
04.24.2022 17:23:24.699 KBInstaller:49[INFO] Fuse: Install Error: KextManager failed to load with status: -603947002
Installed, Version: 4.2.4
Kext ID: com.github.kbfuse.filesystems.kbfuse
Kext Loaded: No
Path: /Library/Filesystems/kbfuse.fs
04.24.2022 17:23:24.699 Installer:97[INFO] Exit(4)
2022-04-24T17:23:24.711725+03:00 ▶ [ERRO keybase install_darwin.go:612] 017 Error installing KBFuse: exit status 4

Wondering if Zoom Video Communications, Inc. is aware of this problem.

For anyone else that stumbles across this thread, the older versions of Keybase are (at time of post) available here: https://s3.amazonaws.com/prerelease.keybase.io/darwin-test/index.html

6.0.1 has officially been released today even though it is not showing up (yet?) on https://github.com/keybase/client/releases
This bug here is persisting in 6.0.1 just in case you were wondering whether to update or not.

I noticed that. I installed it, and actually got an error message instead
of silent failing:
[image: image.png]
On Fri, Jun 10, 2022 at 1:51 PM foss- @.***> wrote:

6.0.1 has officially been released today even though it is not showing up
(yet?) on https://github.com/keybase/client/releases
This bug here is persisting in 6.0.1 just in case you were wondering
whether to update or not.
—
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/24819#issuecomment-1152552976,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE5AOLDWWXT4PJTV5PBD3LVONW7ZANCNFSM5NLMQVVA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Doug Barbieri
Software Engineer
@.>
@.>
Exodus |  @.*>exodus.com

I can confirm - I installed 6.0.1 with high hopes, which were immediately dashed: the FUSE driver refused to install with an error and broke local mounts. I reverted back to 5.9.0.

6.0.1 has officially been released today even though it is not showing up (yet?) on https://github.com/keybase/client/releases
This bug here is persisting in 6.0.1 just in case you were wondering whether to update or not.

I noticed that. I installed it, and actually got an error message instead
of silent failing:

I updated to 6.0.1-20220609162338+0fc9feea3d yesterday (OS X) - same thing.  Zero kbfs functionality now.

I gave up reinstalling 5.9.1 and just used https://dortania.github.io/OpenCore-Legacy-Patcher/
to update my older Macs to Monterey - I realize this isn't really a fix per-se, but wanted to mention that it works surprisingly well, but may not be for the faint of heart nor possible for your particular use case.

I sure love getting a once-a-day spam dialog box telling me to "upgrade" to a version of Keybase which breaks valuable functionality because I don't have thousands of dollars to drop on a brand new Mac. Can we get this fixed?

I gave in and upgraded to Monterey. It worked right out of the box, latest version.

I upgraded my old 2013 imac to Monterey using the Dortania OpenCore patcher - a great project to extend the usable life of older mac hardware - check it out:  at  dortania.github.io/OpenCore-Legacy-Patcher/
Latest Keybase runs great on it

The daily spam dialog box has updated to 6.0.3, which claims to "fix Finder integration on macOS Ventura", but Catalina is still broken. I'm done.

Concerning older versions (such as to get Finder integration with Mojave), the link from abawany below no  longer includes 5.. builds, but this page has the beta versions:
https://s3.amazonaws.com/prerelease.keybase.io/darwin-test/index.html (and the most recent 5.8.3 somewhat works for me—just requires frequent re-installation)

abawany commented Feb 2, 2022 •

FYI, it looks like the other builds are at https://s3.amazonaws.com/prerelease.keybase.io/darwin/index.html . I also had to downgrade to 5.9.0 to get mounts working again :( .

Basically, I'd say that the only way to get this working again for everybody is by keeping the 'core' Keybase code untouched, and only replace the KBFS 'helper installer' with a version that compiles kexts for previous versions of macOS (as well as for the modern ones — including the ARM variants!).
Unfortunately, it's not something that can be done as a 'drop-in' replacement, simply because everything is bundled together and code-signed by Keybase in its totality (as it should). So... there is no other choice but to compile it all from scratch, making sure that older kexts are still included.
There should also be a Plan B.
The redirector facility for KBFS is 'only' a userland driver that runs on top of macFUSE. In theory at least, if you already have macFUSE (which has been continuously updated, but always keeping compatibility with earlier versions), you should have an option for only installing the driver, not the whole macFUSE package. Keybase, perhaps correctly, wanted to make sure that Keybase users install the 'correct' macFUSE, namely, the one that is certified to work with their own supplied userland driver. In order to do so, they needed to fork macFUSE, 'rebrand' it (so to speak), and code-sign everything with only their signature(s) — and not rely upon independently signed third party applications.
Which makes sense, if you do not have macFUSE installed (and don't have any interest in using it for anything except the Keybase redirector facility).
Nevertheless, it would be more useful, especially if Keybase doesn't wish to support earlier versions of macOS (it's in their right to do so!), if they could somehow add the possibility of just pointing their userland driver to an existing installation of macFUSE.
In fact, when asking the user for the first time if they wish to install support for the KBFS redirector, they could just add an extra check to see if macFUSE is already installed. That ought to be just a very simple function call, to see if the macFUSE subsystem returns anything (which it should). If so, it could ask the user something like: 'It appears that you have already installed a version of macFUSE. Should we attempt to use it, or do you wish to install a new version?' or words to that effect. There are several alternatives in terms of UX/UI for that. It might even run a short test and see if it's working 'as is', and only if it doesn't work, complain to the user and offer an alternative. It might give the user the option to use Keybase's own package, or, for an 'advanced user' (so to speak), ask them to download macFUSE on their own, and try again later.
It could merely ask for the location of a macFUSE installation.
Note that there is some 'hidden' support for alternative FUSE installations. If you look closely, you should have a kbfs executable under /Applications/Keybase.app/Contents/SharedSupport/bin/ (it should be running on your system as well). A little bit of poking at the flags shows that, in theory, you can launch it using whatever FUSE kext you already have. The precise details elude me, but this kind of command will do 'something':
/Applications/Keybase.app/Contents/SharedSupport/bin/kbfs -use-system-fuse -debug -log-file=/Users/<YOUR USERNAME HERE>/Library/Logs/keybase.kbfs.log -runtime-dir=/Users/<YOUR USERNAME HERE>/Library/Caches/Keybase '/Volumes/Keybase (<YOUR USERNAME HERE>)'
However, we enter the realm of complexity here; launching this command fails on macOS Big Sur with:
KBFS failed to FUSE mount at /Volumes/Keybase (<YOUR USERNAME HERE>): cannot locate OSXFUSE 3.x
... which is not surprising, since in my system I'm running macFUSE 4.X and not OSXFUSE 3.x, which was macFUSE's previous name, at the time when it was fully open-source (these days, it includes a proprietary component to link with the macOS kernel — specially code-signed, as far as I understand — which, however, is free to use and copy, and unencumbered with any kind of license, except... no open-sourced code).
So I guess there is no simple way of using it with the current Keybase code. Granted, one could go back to OSXFUSE 3.X, but if you use macFUSE for your contemporary filesystem needs, you will need to use the more recent versions — thus, the necessary dilemma of actually having to run two different kexts for the same service!...
Alas...


API Refactoring

This PR removes additional packages such as console, security, mount, network, etc moving the code and refactoring it into the root package.  This helps to avoid cyclic deps.
This also moves Env, User, and Cwd from the container config to the Process.
This also has refactoring for the init and parent process handling so that it is more dry and does not have duplication where it's not needed.
The other big change is that this moves the names of the veths from being generated by libcontainer to being generated at the level above.

@avagin I took your suggestions and implemented randomly generating the temp veth name inside libcontainer and passing that state to the init process.

@avagin fixed, that was a typo on my part

LGTM, thank you for this work.

LGTM


Fix for 2 vulnerable dependency paths

bnsf currently has a 19 vulnerable dependency paths, introducing 7 different types of known vulnerabilities.
This PR fixes  vulnerable dependencies, ReDOS vulnerability in the hawk dependency, remote memory exposure  vulnerability in the request dependency.
You can see Snyk test report of this project for details.
This PR changes Package.json to upgrade request to the newer 2.74.0 version, and will fix all the vulnerabilities listed above.
You can get alerts and fix PRs for future vulnerabilities for free by watching this repo with Snyk.
Note this PR fixes all the vulnerabilities introduced trough request dependency, in order to be vulnerability free you will need to upgrade others dependencies as well.
Full disclosure: I'm a part of the Snyk team, just looking to spread some security goodness and awareness ;)

Thanks, I've created an issue for that.


Implement is_none_or() for Nullable

See https://github.com/option-t/option-t/issues/2400#issuecomment-2420671829


'highlight.js/lib/common' does not exist

'highlight.js/lib/common' does not exist:

To fix the error in the docu, the following must be imported:
import hljs from<EMAIL_ADDRESS>
You also need to import the styling:
@import<EMAIL_ADDRESS>highlight.js in the node modules is also useless.

'highlight.js/lib/common' does not exist:

It most certainly does in the latest release.  I think the issue is your non-vue vendored version is older?

You also need to import the styling:

If we don't document this it could certainly be added to the README. PR welcome.

highlight.js in the node modules is also useless.

Huh?

If the answer here isn't sufficient I'm guessing this should also be closed by #17?  If not please continue the conversation and we'll see what we can do to help! Thanks.

'highlight.js/lib/common' does not exist:

It most certainly does in the latest release. I think the issue is your non-vue vendored version is older?

You also need to import the styling:

If we don't document this it could certainly be added to the README. PR welcome.

highlight.js in the node modules is also useless.

Huh?

I have expressed myself somewhat unclearly. I just meant that highlights.js is unnecessary as an additional dependency in the node modules, but the fix with the peer dependency should have fixed that


Minimalist example projects with tests: Pomodoro Clock

Soon, campers will be able to build all front end projects right on FreeCodeCamp.com (no need for CodePen). We will also use automated tests to check whether campers have completed all of the agile user stories (and code review will become optional).
This means we need to redesign these projects to have user stories that can be tested. And we should err on the side of having lots of tests (I'm thinking ~10 tests per project).
At the same time, we've heard feedback that campers are intimidated by the highly polished example projects we use. Instead of having fancy example projects, we should have minimalistic project examples that focus on functionality rather than appearance, animations, etc.
So we need:

[ ] New agile user stories with one automated test each (reply to this issue with the user stories and their tests)
[ ] Minimal example project that fulfills all of these user stories (reply with a link to CodePen)

The current project: https://www.freecodecamp.com/challenges/build-a-pomodoro-clock

I'm moving this to the Curriculum Development repo.


Stock Buy and Sell (arrays)

Is your feature request related to a problem? Please describe.
Problem statement will be like , we willl be given an array of prices where prices[i] is the price of a given stock on an ith day.
Describe the solution you'd like
We  want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit we can achieve from this transaction. If we cannot achieve any profit, return 0.
Describe alternatives you've considered
For the optimal solution of this problem we will use MAX_VALUE to solve the question.
Additional context
It's one of the important questions in topic of array data structures
@Kumar-laxmi Please assign me this issue so that I can add this to the repository.

Please don't raise issues to solve problems from LeetCode, GFG or HackerRank


Publish-Module fails when ModuleVersion isn't in X.Y.Z format

Publish-Module fails when ModuleVersion (in the psd1 file) isn't in X.Y.Z format, and the error message is completely unhelpful (File does not exist). The original version of PowerShellGet (<IP_ADDRESS>) fails, and the latest release on the PS gallery (<IP_ADDRESS>) fails as well, in exactly the same way (though the line number is different).
myuser@ltp-myuser10 ~\MyModule
$ publish-module -path . -repository MyPSRepo -credential $cred -nugetapikey 'myapikey' -force -verbose
VERBOSE: Repository details, Name = 'MyPSRepo', Location = 'https://myserver/myrepos'; IsTrusted = 'True'; IsRegistered = 'True'.
VERBOSE: Repository details, Name = 'MyPSRepo', Location = 'https://myserver/myrepos'; IsTrusted = 'True'; IsRegistered = 'True'.
VERBOSE: Publish Location:'https://myserver/myrepos'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\MyModule.psm1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\FirstFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\SecondFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\ThirdFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\FourthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\FifthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\SixthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\SeventhFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\EighthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\MyModule\NinthFunction.ps1'.
VERBOSE: Module 'MyModule' was found in 'C:\Users\myuser\MyModule'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\MyModule.psm1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\FirstFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\SecondFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\ThirdFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\FourthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\FifthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\SixthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\SeventhFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\EighthFunction.ps1'.
VERBOSE: Loading module from path 'C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\NinthFunction.ps1'.
VERBOSE: Repository details, Name = 'MyPSRepo', Location = 'https://myserver/myrepos'; IsTrusted = 'True'; IsRegistered = 'True'.
VERBOSE: Using the provider 'PowerShellGet' for searching packages.
VERBOSE: Using the specified source names : 'MyPSRepo'.
VERBOSE: Getting the provider object for the PackageManagement Provider 'NuGet'.
VERBOSE: The specified Location is 'https://myserver/myrepos' and PackageManagementProvider is 'NuGet'.
VERBOSE: Searching repository 'https://myserver/myrepos/FindPackagesById()?id='MyModule'' for ''.
VERBOSE: Total package yield:'0' for the specified package 'MyModule'.
Publish-PSArtifactUtility : Failed to publish module 'MyModule': 'File does not exist
(C:\Users\myuser\AppData\Local\Temp\1369426169\MyModule\MyModule.1.0.nupkg).
'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:1227 char:17
+                 Publish-PSArtifactUtility -PSModuleInfo $moduleInfo `
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : FailedToPublishTheModule,Publish-PSArtifactUtility

Expected Behavior
The publish either succeeds, or fails with a helpful error message
Current Behavior
The publish fails with a completely unhelpful error message
Your Environment

Name                           Value
----                           -----
PSVersion                      5.1.14393.693
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.693
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

ModuleType Version    Name
---------- -------    ----
Script     <IP_ADDRESS>    PackageManagement
Binary     <IP_ADDRESS>    PackageManagement
Binary     <IP_ADDRESS>    PackageManagement
Script     <IP_ADDRESS>    PowerShellGet
Script     <IP_ADDRESS>    PowerShellGet

Name                     Version
----                     -------
msi                      <IP_ADDRESS>
msu                      <IP_ADDRESS>
NuGet                    <IP_ADDRESS>
NuGet                    <IP_ADDRESS>
PowerShellGet            <IP_ADDRESS>
PowerShellGet            <IP_ADDRESS>
Programs                 <IP_ADDRESS>

@godefroi
What value did you specify as ModuleVersion in the module manifest to repro this issue? Have you used the New-ModuleManifest or manually created it?
How did you bootstrap the NuGet.exe?

The ModuleVersion was originally '1.0', which was what was automatically created for me when I ran New-ModuleManifest. I changed it to '1.0.0', and the issue went away. Changing the version number to '1' caused the command to fail with a different, only-slightly-less-unhelpful error message.
I didn't manually do anything to "bootstrap" the "NuGet.exe", unless you count downloading it and putting it in my PATH. That was done years ago, as I use that too often.

@godefroi I am unable to repro it. Could you please provide the consistent repro steps?
Also please provide the output of following script.
if (Test-Path "$env:ProgramData\Microsoft\Windows\PowerShell\PowerShellGet\NuGet.exe") { & "$env:ProgramData\Microsoft\Windows\PowerShell\PowerShellGet\NuGet.exe" ? }

if (Test-Path "$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\NuGet.exe") { & "$env:LOCALAPPDATA\Microsoft\Windows\PowerShell\PowerShellGet\NuGet.exe" ? }

Get-Command NuGet | % {& $_.Source ?}

My NuGet.exe is in C:\Users\myuser\Utils\NuGet.exe and is version <IP_ADDRESS>6. Neither of your first two commands returned any output.
I checked again, and if the ModuleVersion is 1.0 it fails, and if ModuleVersion is 1.0.0, it succeeds.
$ nuget ?
NuGet Version: <IP_ADDRESS>6
usage: NuGet <command> [args] [options]
Type 'NuGet help <command>' for help on a specific command.

Available commands:

 add         Adds the given package to a hierarchical source. http sources are not supported. For more info, goto https
             ://docs.nuget.org/consume/command-line-reference#add-command.

 config      Gets or sets NuGet config values.

 delete      Deletes a package from the server.

 help (?)    Displays general help information and help information about other commands.

 init        Adds all the packages from the <srcPackageSourcePath> to the hierarchical <destPackageSourcePath>. http fe
             eds are not supported. For more info, goto https://docs.nuget.org/consume/command-line-reference#init-comm
             and.

 install     Installs a package using the specified sources. If no sources are specified, all sources defined in the Nu
             Get configuration file are used. If the configuration file specifies no sources, uses the default NuGet fe
             ed.

 list        Displays a list of packages from a given source. If no sources are specified, all sources defined in %AppD
             ata%\NuGet\NuGet.config are used. If NuGet.config specifies no sources, uses the default NuGet feed.

 locals      Clears or lists local NuGet resources such as http requests cache, packages cache or machine-wide global p
             ackages folder.

 pack        Creates a NuGet package based on the specified nuspec or project file.

 push        Pushes a package to the server and publishes it.
             NuGet's default configuration is obtained by loading %AppData%\NuGet\NuGet.config, then loading any nuget.
             config or .nuget\nuget.config starting from root of drive and ending in current directory.

 restore     Restores NuGet packages.

 setApiKey   Saves an API key for a given server URL. When no URL is provided API key is saved for the NuGet gallery.

 sources     Provides the ability to manage list of sources located in %AppData%\NuGet\NuGet.config

 spec        Generates a nuspec for a new package. If this command is run in the same folder as a project file (.csproj
             , .vbproj, .fsproj), it will create a tokenized nuspec file.

 update      Update packages to latest available versions. This command also updates NuGet.exe itself.

For more information, visit http://docs.nuget.org/docs/reference/command-line-reference

This script is just about the cleanest reproduction I can manage:
invoke-webrequest https://github.com/anpur/powershellget-module/archive/master.zip -outfile master.zip

expand-archive .\master.zip

$rpath = (md trepo).fullname
$mfile = '.\master\powershellget-module-master\MyModule\MyModule.psd1'

set-content -path $mfile -path (get-content $mfile -raw).replace("'1.0.0'","'1.0'")

Register-PSRepository -Name trepo -SourceLocation $rpath -PublishLocation $rpath -InstallationPolicy Trusted

publish-module -path .\master\powershellget-module-master\MyModule -repository trepo -nugetapikey 'none'

I experienced the same issue today. Using '1.0.0' as the version instead of '1.0' fixed the problem. My manifest was created with New-ModuleManifest.

@alexdresko It looks like you are also using 3.5 version of NuGet.exe. If you need to publish a module with only two parts (1.0) in module version, download NuGet.exe from https://www.nuget.org/NuGet.exe.

@bmanikm Correct. It's not clear in this thread that nuget v2.8.60717.93 is required to make a 2-part version work, so I hope this comment helps someone.
I personally do not need a 2-part version number, so it wasn't a problem to make it a 3-part version number.
Is there a plan to update publish-module to support the newer nuget.exe?

This issue got resolved with PR #196. Please try with the latest version of PowerShellGet using steps mentioned here.


browserify field flags to switch behavior based on dev/prod/...

Browserify has the awesome feature, that every dependency can specify it's own transforms in a "browserify" field in it's package.json :+1:
My issue:

While I'm developing I run watchify and don't need minification or extensive testing or transpilation of modern es6 code and beyond and I want my pipelin to be fast.
When I'm building for production, I want minification and transpilation es6toes5 for legacy browser support and a separate source maps file and so on...

Idea:
Is it or would it be possible to switch the behavior of a module's "browserify pipeline" as defined in it's "browserify field" based on environment variables or alternatively based on spec?
I would be willing to try to come up with an implementation and a pull request - but i first want to make sure if this would be acceptable and if so - what would be the best way :-)

To ignore the transform/browserify fields of other package.json files, pass transformKey: false when constructing the browserify object.
This was very recently added and apparently not documented. Check the last commit that changed this repository's index.js. That commit also has a test you can look at.

I don't want to ignore the transform of browserify fields of other package.json files. It's awesome and i like it.
I just would like to customize the transforms listed in each projects package.json based on environment variables, e.g. production, development, staging, ...
For example, in "production" i want to do minification or polyfilling or a lot of more things that i might need in order to support old browsers and improve performance, etc...
In  "development" i dont care to minify or to polyfill, because i'm developing on a modern browser. So i'd like to skip a lot of transforms to speed up the build process, because i want to live-reload on every file save and that should be fast.
babel for example seems to support something like env options https://babeljs.io/docs/usage/babelrc/
Otherwise, I am just wondering if such a feature would fit with browserify and if not if maybe things can be done differently or in other places, so that there is no need for those flags.

Here you go - changedt he proposal from above slightly to use:

browserify index.js --transform-key=production > bundle.js

This is probably better than camelcase...

ok got merged. perfect :-)


Critical Issue with the feature.js script, fixed gitignore and added an optional default off toggle for less lag to add deploying for raw white as well

This pull request will be merged when its done, when the following checkboxes are checked and when it passes review.
[X] - tested and confirmed working
[X] - singleplayer
[X] - server
[X] - all test cases
[X] - Checked to see if the raw white deploying works
[X] - All feature.js script issues have been succesfully fixed
Closes #589

oh cool. I'll see if I can get to a computer to review soon


Make tutorial notebooks work in Google Colab

Description
This PR makes a few tutorial notebooks from tutorials available in Google Colab by adding dependency installs at the top, so that they can be easily run in Colab. I've tested the notebooks in Google Colab and they all work, logit_lens_with_features requires more RAM than is available out of the box on Colab, so I've added a comment near the dependency installs regarding that. I've also tested them locally (on a mac) to ensure they still work and they do.
Changes included:

Dependency installs at the top so that code runs on Colab
Cleared the outputs from running the cells (so that future changes are easier to parse)
Section in README pointing to tutorial notebooks with a "run on Colab" button
In basic_loading_and_analysing, there is a visualisation involving displaying html files, I've made changes to make that work on Colab too

As far as I am aware this does not affect any core functionality or tests, so I've removed the checklists. I've also excluded some of the notebooks / scripts in tutorials as they did not look like full tutorials but I am happy to include any additional ones!

@chanind just checking ig this is GTG?

Sorry for the delay with this! Awesome work with these notebooks the "open in colab" links are a nice touch as well!