npm install from Git repo fails

Hi
Because there's are some fixes currently in the repo which haven't been released, I'm trying to install it in npm from Github:
npm install plasma-umass/doppio
This fails with the following error:
npm WARN enoent ENOENT: no such file or directory, open '/private/tmp/package.json'
npm WARN tmp No description
npm WARN tmp No repository field.
npm WARN tmp No README data
npm WARN tmp No license field.
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/Cellar/node/6.3.1/bin/node" "/usr/local/bin/npm" "install" "plasma-umass/doppio"
npm ERR! node v6.3.1
npm ERR! npm  v3.10.6
npm ERR! path /private/tmp/node_modules/doppiojvm/bin/doppio
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod

npm ERR! enoent ENOENT: no such file or directory, chmod '/private/tmp/node_modules/doppiojvm/bin/doppio'
npm ERR! enoent ENOENT: no such file or directory, chmod '/private/tmp/node_modules/doppiojvm/bin/doppio'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/Cellar/node/6.3.1/bin/node" "/usr/local/bin/npm" "install" "plasma-umass/doppio"
npm ERR! node v6.3.1
npm ERR! npm  v3.10.6
npm ERR! path npm-debug.log.1358312193
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename

npm ERR! Error: EACCES: permission denied, rename 'npm-debug.log.1358312193' -> 'npm-debug.log'
npm ERR!     at Error (native)
npm ERR!  { Error: EACCES: permission denied, rename 'npm-debug.log.1358312193' -> 'npm-debug.log'
npm ERR!     at Error (native)
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'rename',
npm ERR!   path: 'npm-debug.log.1358312193',
npm ERR!   dest: 'npm-debug.log' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /private/tmp/npm-debug.log

npm-debug.log.txt

The directories npm is trying to change perms for I think were addess in package.json in this commit: https://github.com/plasma-umass/doppio/commit/5f9d4c8cabb488f292e098859e84369cbca51b72#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R70

Hmm, interesting. Thanks for the report! I will look at this more closely tomorrow, and perform an NPM release with a fix.

Just to add, I've confirmed this broke in the commit I mentioned.
This works fine (the parent commit):
npm install plasma-umass/doppio#2bd98ef12f00847d2a0359f3c391ad04c7777ffd
Whereas the subsequent commit has the issue with absent bin directories:
npm install plasma-umass/doppio#5f9d4c8cabb488f292e098859e84369cbca51b72

So, DoppioJVM isn't "ready-to-install" in the Git repository because it is not built from source. It needs to have all of its development dependencies, and then have the prepublish.js script run to compile DoppioJVM and create all of the artifacts needed.
As a compromise, I can simply add these bin scripts to the repository instead of generate them. But DoppioJVM won't "just work" when installed from Git unless you manually build it.

Ah - kind of a shame, as npm install can take a GitHub name/repo argument for just this purpose.
You can set your own script to run after install has installed deps, just by specifying {"scripts": {"install": "grunt release"}

@marcosscriven We do have an install script. But building DoppioJVM from source in an install script would be a huge issue for people using DoppioJVM from NPM.
Basically, it would turn all of our devdependencies into dependencies, since we need a huge amount of packages for the compilation process. Most people wouldn't want that.
I mean, we could probably detect the .git situation and recursively run npm install to pull in devDependencies? But that sounds dangerous.


feature of search in specify path not work in ZSH

https://github.com/junegunn/fzf/blob/62f062ecfa6ae55e3d677e19c2fda60b7cf7c301/shell/completion.zsh#L175
I find that problem is related to tokens=(${(z)LBUFFER}) of zsh. When I enter cd /tmp;, tokens is (cd /tmp ;), so prefix is not right value.
I add
  if [ ${#tokens} -gt 2 ]; then
    tokens[-2]="${tokens[-2]}${tokens[-1]}"
    tokens=(${tokens[0,-2]})
  fi

to line number 150.

I don't think I follow you. Can you provide the exact steps to reproduce the problem you experience?

I use zsh.
When I am at $HOME, and want to search /tmp, I enter this ls /tmp**<TAB> and it doesn't work.
I inspect code, and think this feature should be supported. So I fix it with above code.

Sorry, I just ignored my specified FZF_COMPLETION_TRIGGER. I use ;, and (${(z)LBUFFER}) will split ; by space. ** won't be.
That fix is not proper, I will update.

I have issue a new PR


FR: Include Google Tag Manager in Firebase framework

Feature proposal

Firebase Component: Google Tag Manager

In our project we currently manually install Firebase frameworks as we normally use Carthage instead of CocoaPods. We were using an older version of Google Tag Manager and Google Analytics which we could manually download and install both frameworks but as we are now forced to upgrade to create a new container using Firebase Analytics we also need to upgrade to the more recent Google Tag Manager, the problem is that a standalone framework does not exist and the only way to obtain it is by downloading the framework using CocoaPods in another project and then extrapolating Google Tag Manager and its resources bundle and installing it in our actual project. I have followed the information as explained here but I am still receiving the following error and I am unable to resolve it.
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_GSDK_GTMStringEncoding", referenced from:
      objc-class-ref in GoogleTagManager(TAGJSExportedInstructions_152f65793e933650a0e71b0bce043c37.o)
  "_GSDK_NSClassFromString", referenced from:
      -[TAGJSExportedInstructions callCustomFunctionClassName:parameters:] in GoogleTagManager(TAGJSExportedInstructions_152f65793e933650a0e71b0bce043c37.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It is of extreme importance to our company that we can use Google Tag Manager because we use it for important analytics data but we really cannot replace Carthage with CocoaPods for certain reasons. I hope that a standalone framework can be added to Firebase or that someone can help me install Google Tag Manager and its resources manually.

Thanks for the feature request. We'll follow up with the Google Tag Manager on the feasibility.
In the meantime, you might get a bit further by including the binary from the GoogleUtilitiesLegacy CocoaPods - see https://github.com/CocoaPods/Specs/blob/master/Specs/9/5/6/GoogleTagManager/7.1.2/GoogleTagManager.podspec.json#L6.

After talking to the Google Tag Manager, it's unlikely we'll do this integration.
Regarding the specific issue, it looks like one of GTM dependencies might be missing. Perhaps GoogleSymbolUtilities?

@paulb777 I have added the libraries like you mentioned but now I am getting this error. Am I missing another library? Since there will never be any standalone Tag Manager included in the Firebase framework hopefully someone can help me out.

@RobBernardini Looks like missing symbols from the iOS AddressBook.framework. Add it to the Link Binary with Libraries Build Phase.

Hi @paulb777 . I appreciate all your help with this!
I still haven't found a solution but I believe that it may be due to our use of an older GoogleAnayticsServices.a library. I see that we also also have an AdIdAccess.a library and I believe that they are part of the legacy Tag Manager and Google Analytics frameworks.

I am assuming that we should be using the newer libGoogleAnalytics.a as part of the new Tag Manager. What I would like to verify is that the AdIdAccess is not required by the new tag manager framework so that I can remove it. I think it keeps referencing the older Google Analytics Services library.
Also, I tested updating the older library to the newer one and removing AdIdAccess to see if it built but for some reason it says "cannot find -lGoogleAnalytics". I found it strange that the file is named libGoogleAnalytics.a but the linker is looking for lGoogleAnalytics.a. Is there a mapping somewhere where it looks for a different name? I renamed it and then got another error but I found this strange.

I'm not sure about the requirements for the new library, but:

Also, I tested updating the older library to the newer one and removing AdIdAccess to see if it built but for some reason it says "cannot find -lGoogleAnalytics". I found it strange that the file is named libGoogleAnalytics.a but the linker is looking for lGoogleAnalytics.a. Is there a mapping somewhere where it looks for a different name? I renamed it and then got another error but I found this strange.

This is likely just a stale linker flag somewhere in your build configuration. If you search your build files (and config files, if you're using any) for -lGoogleAnalytics you may be able to find the culprit.

That's what I thought. I still haven't found it but I'll keep searching. Thanks!


Issue

There is a specific version of Python 3.x where this script needs to run under? There is a sort of 'requirements.txt' with all dependancies required by the script?
←[91m[!] Obfuscating: powershell.ps1←[00m
Traceback (most recent call last):
File "PyFuscation.py", line 297, in
main()
File "PyFuscation.py", line 228, in main
removeJunk(oFile)
File "PyFuscation.py", line 43, in removeJunk
realTimeMuxER(cmd)
File "PyFuscation.py", line 31, in realTimeMuxER
p = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE)
File "C:\Users*\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 756, in init
restore_signals, start_new_session)
File "C:\Users*\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1155, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Using it under Python 3.7 on a Windows 10 x64 machine.

See this issue
#5
The script heavily relies on sed for the text replacements. I've tried installing a sed binary for Windows, the script runs without errors but does not give the expected result (an obfuscated PS script). Tested with WSL and it runs fine so that may be an option.


Setup is run per test-case instead of per-suite

I guess this is actually fine -- it mimics the behavior of unittest's setUp and tearDown methods


add unsupported_file error type for vector_store.file

I tried listing my vector store file and received the following error.
value: JSONDeserialize(Error("unknown variant `unsupported_file`, expected one of `internal_error`,
 `file_not_found`, `parsing_error`, `unhandled_mime_type`", line: 204, column: 34))

Doing the API call manually I saw that the status code returned is not yet supported in async-aponai.
curl https://api.openai.com/v1/vector_stores/vs_Y.../files -H 'OpenAI-Beta: assistants=v2'

the response.
    {
      "id": "file-hAV...",
      "object": "vector_store.file",
      "usage_bytes": 0,
      "created_at":<PHONE_NUMBER>,
      "vector_store_id": "vs_....",
      "status": "failed",
      "last_error": {
        "code": "unsupported_file",
        "message": "The file type is not supported."
      },
      "chunking_strategy": {
        "type": "static",
        "static": {
          "max_chunk_size_tokens": 800,
          "chunk_overlap_tokens": 400
        }
      }
    },

So I added the status code to the enum.

Thank you for the PR!
It appears that upstream spec is missing this too, you'd do them a favor if you report it there too:
https://github.com/openai/openai-openapi/blob/master/openapi.yaml#L12935-L12940

thanks for the hint, I also opened a PR upstream, https://github.com/openai/openai-openapi/pull/300


Created new APIs to include custom cipher suites, issue_724

Issue #724
Added support to include custom ciphers suited for doing handshakes.
I want to do later - add validations for compatible cipher suites and min_tls_version.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I don't think that we should ever include custom cipher selection is s2n. Cipher preference policies should be vetted and reviewed by TLS experts; crafting them involves careful trade-offs between best-in-class security and actually-works-in-the-real-world compatibility and performance; it's overwhelming, unfair and insecure to leave it to operators and users or application developers.
There are also relatively few policies that actually make sense; we've always accepted new ones when a case has been made :)


[FIX] Add OPTIONAL acq entity to channels.tsv to match electrophysiological acquisitions

follow up on #675 that @gpiantoni had to drop due to time constraints.

@tsalo I get the same issue as Gio:

Traceback (most recent call last):
File "tools/bids_schema.py", line 467, in
_main()
File "tools/bids_schema.py", line 462, in _main
args.pop('func')
KeyError: 'func'

I think I have all the dependencies, so the error must be something else.

It's a matter of usage, I believe. Here is how you need to call it to update the entity table:
https://github.com/bids-standard/bids-specification/blob/f2545fecd646c92d4377e0620b17a07d3cd97b69/tools/bids_schema.py#L454-L455

indeed :man_facepalming: thank you!

Is this new title accurate? My understanding is that we're clarifying, not adding.

Is this new title accurate? My understanding is that we're clarifying, not adding.

we are adding "acq" to "channels" for M(i)EEG, which wasn't present before, but which makes a lot of sense, if M(i)EEG JSONs can have that entity.
So it'd kind of ... a bugfix?
If you run a task (= 1 events.tsv) and record EEG with two amplifiers with potentially different settings (= 2 different *acq-_eeg.), then the resulting channels files may HAVE to be different as well.

I think this is a clarification, not an extension. The channels.tsv needs to match filename-wise with the eeg data itself and the eeg.json.  If <acq>-label is part of the eeg dataset file name, it should also be part of the channels.tsv. Idem for example for runs, in case runs would have different filter settings (and hence channels.tsv would be run-specific).

I think this is a clarification, not an extension

to be clear: the questions whether this is a clarification or an extension is only important  with regards to how we name the Pull Request.
Are you fine with the proposed changes other than the PR title, @robertoostenveld - or did you want to ask for additional changes?

I agree with all changes made in the PR, but wonder about a few that were not made. @gpiantoni might want to chime in
if two amplifiers were used, would there also be two events files? Since the start time of the data in the files is not identical, the event onsets in a single event file could only apply to one of them.
if two amplifiers were used, should there also be two electrode files? I mentioned this in https://neurostars.org/t/two-amplifiers-for-ieeg-recordings/17492/4, but technically I think that a single electrode file that contains both sets would suffice.

agreed, an events file may be impacted as well. I have added that in the two most recent commits.
Electrode files already allowed for acq.

@MaxvandenBoom @robertoostenveld @dorahermes could you please give this another look and an approving review if you agree?

lgtm


Clean-up spec to remove non-spec-ish items

Per the oci f2f at kubecon.  Similar changes what is in: https://github.com/opencontainers/runtime-spec/pull/626
Signed-off-by: Doug Davis<EMAIL_ADDRESS>

I think this is a step in the right direction, although it will
conflict with a few open PRs against this language (#455, #456).
I also think we should merge the “Overview” and “Understanding the
Specification” sections 1, but that can happen in follow-up work if
you don't want to address it here.  Pulling out “Notational
Conventions”, like you've done here, will make future merging easier.

LGTM

@duglin rebase please?

rebased, but I'd appreciate a double-check to make sure I didn't drop anything from README.md or spec.md.

Conflicts again

rebased

lgtm I suppose

LGTM


Cannot use 'in' operator to search for 'stack' in No Route for service

I'm interested in just generating the models. There are no routes since I'm not writing a spec for a http service.
// import "./routes.tsp";
import "./models.tsp";

Here is the error.
PS C:\Users\cataggar\ms\avs\src\conveyor\ConsumptionWorker\client> tsp compile .
TypeSpec compiler v0.43.0

Internal compiler error!
File issue at https://github.com/microsoft/typespec
TypeError: Cannot use 'in' operator to search for 'stack' in No Route for service ConsumptionWorker    at runEmitter (file:///C:/Users/cataggar/ms/avs/src/conveyor/ConsumptionWorker/client/node_modules/@typespec/compiler/dist/core/program.js:537:25)       at async compile (file:///C:/Users/cataggar/ms/avs/src/conveyor/ConsumptionWorker/client/node_modules/@typespec/compiler/dist/core/program.js:238:9)     at async Object.handler (file:///C:/Users/cataggar/ms/avs/src/conveyor/ConsumptionWorker/client/node_modules/@typespec/compiler/dist/core/cli/cli.js:118:25)

MS internal Teams thread

Hhm, which version of node are you using, some weird thing is happening where this error is not an object.

node --version
v18.15.0

Moved to https://github.com/Azure/autorest.csharp/issues/3347.


Ubuntu linux DllNotFoundException: libuv

OS: Ubuntu 17.10
omnisharp-roslyn version: 1.29.1
release download: omnisharp.http-linux-x64.tar.gz
perhaps a related issue: #1123
When I attempt to run the server I get the following:
$ ./run
info: OmniSharp.Http.Startup[0]
      Starting OmniSharp on ubuntu 17.10 (x64)
info: OmniSharp.Cake.CakeProjectSystem[0]
      Detecting Cake files in '/home/david/opt/omnisharp.http-linux-x64'.
info: OmniSharp.Cake.CakeProjectSystem[0]
      Could not find any Cake files
info: OmniSharp.DotNet.DotNetProjectSystem[0]
      Initializing in /home/david/opt/omnisharp.http-linux-x64
info: OmniSharp.DotNet.DotNetProjectSystem[0]
      Auto package restore: False
info: OmniSharp.DotNet.DotNetProjectSystem[0]
      Update workspace context
info: OmniSharp.DotNet.DotNetProjectSystem[0]
      Resolving projects references
info: OmniSharp.MSBuild.ProjectSystem[0]
      No solution files found in '/home/david/opt/omnisharp.http-linux-x64'
info: OmniSharp.Script.ScriptProjectSystem[0]
      Detecting CSX files in '/home/david/opt/omnisharp.http-linux-x64'.
info: OmniSharp.Script.ScriptProjectSystem[0]
      Could not find any CSX files
info: OmniSharp.Http.Startup[0]
      Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
info: OmniSharp.Http.Startup[0]
      Configuration finished.
info: OmniSharp.Http.Startup[0]
      Omnisharp server running on port '2000' at location '/home/david/opt/omnisharp.http-linux-x64' on host -1.
System.AggregateException: One or more errors occurred. ---> System.DllNotFoundException: libuv
  at (wrapper managed-to-native) Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv+NativeMethods:uv_loop_size ()
  at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.loop_size () [0x00000] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
  at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvLoopHandle.Init (Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv uv) [0x0000c] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
  at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.ThreadStart (System.Object parameter) [0x00029] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
   --- End of inner exception stack trace ---
  at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <c9f8153c41de4f8cbafd0e32f9bf6b28>:0
  at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <c9f8153c41de4f8cbafd0e32f9bf6b28>:0
  at System.Threading.Tasks.Task.Wait () [0x00000] in <c9f8153c41de4f8cbafd0e32f9bf6b28>:0
  at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.Start (System.Int32 count) [0x00037] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
  at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Start[TContext] (Microsoft.AspNetCore.Hosting.Server.IHttpApplication`1[TContext] application) [0x0044b] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
  at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start () [0x00053] in <24af31b64ae843689736582353a19b3a>:0
  at OmniSharp.Http.Host.Start () [0x000ab] in <53cb2c382be9469695f8f5ed6a0e9ed5>:0
  at OmniSharp.Http.Program+<>c__DisplayClass0_0.<Main>b__1 () [0x0004f] in <53cb2c382be9469695f8f5ed6a0e9ed5>:0
  at OmniSharp.CommandLineApplication+<>c__DisplayClass11_0.<OnExecute>b__0 () [0x0000b] in <35fd3fbf34c64378b4df0165626cc6fb>:0
  at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute (System.String[] args) [0x0035b] in <e56ebbc3ed87488b8e26736bbadaa5d3>:0
  at OmniSharp.CommandLineApplication.Execute (System.Collections.Generic.IEnumerable`1[T] args) [0x00042] in <35fd3fbf34c64378b4df0165626cc6fb>:0
  at OmniSharp.Http.Program+<>c__DisplayClass0_1.<Main>b__0 () [0x00028] in <53cb2c382be9469695f8f5ed6a0e9ed5>:0
  at OmniSharp.HostHelpers.Start (System.Func`1[TResult] action) [0x0001c] in <35fd3fbf34c64378b4df0165626cc6fb>:0
---> (Inner Exception #0) System.DllNotFoundException: libuv
  at (wrapper managed-to-native) Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv+NativeMethods:uv_loop_size ()
  at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.loop_size () [0x00000] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
  at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvLoopHandle.Init (Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv uv) [0x0000c] in <43555eec0dc34d2abb4f01227fa5a2e9>:0
  at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.ThreadStart (System.Object parameter) [0x00029] in <43555eec0dc34d2abb4f01227fa5a2e9>:0 <---

This is expected. As mentioned on this repo's readme, you'll need to install libuv if you want to use the HTTP interface. Or, you can build libuv from source. In fact, we do exactly that in our Travis CI script: https://github.com/OmniSharp/omnisharp-roslyn/blob/master/.travis.yml#L41-L51

Thanks! I came from an external link and didn't think to look at the readme. Oops!
I run on Linux and have had libuv installed for some time; however, the omnisharp-roslyn runner is looking for a libuv dll? My libuv install is libuv.so, a standard linux shared library.

It's not really looking specifically for a Dll. It's a bit confusing that a DllNotFoundException is thrown, but that's just a .NET-ism that reveals its Windows roots. The same exception is thrown when any native library can't be found, regardless of whether it's a .dll on Windows, a .so on Linux, or a .dylib on OSX.
Where is libuv.so on your system? /usr/lib?

Here are my two search hits:
/usr/lib/x86_64-linux-gnu/libuv.so.1
/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0

But there's no libuv.so linked to either of those?

No, there is not a libuv.so link file. Looks like the standard libuv package on ubuntu comes with just the single libuv.so.1 link file.
I experimented around and found that the dev package for libuv does include a libuv.so link file.
If I install the libuv dev package, then onmisharp-roslyn works as expected.
For me, running ubuntu 17.10, that dev package is libuv1-dev.
I'll close this issue. Thanks for your help Dustin!

Excellent! Thanks!


mainnet status api get last_added_block_info is null

curl -s http://<IP_ADDRESS>:8888/status  | jq .

i figure out this issue ， must expose port 35000 and 8888  to public network


Test renaming an extension publisher/name

Testing #34812

[ ] anyOS
[ ] anyOS

Complexity: 4
Note: Since renaming an extension needs support from Marketplace team, we will do a local rename here. It means doing following

Go to installed extensions folder
Open the package.json of the extension and rename the publisher / name.
Also change the folder name to match with above rename

You can also follow the above steps to change the version of the extension.
Test cases
An extension installed from Marketplace

It should get synced with Marketplace, show latest data and updates if it has.
Disable the extension (workspace/global does not matter)
Rename the publisher of the extension as mentioned above.
Disconnect from Internet to disconnect from Marketplace and Verify that extension is shown with renamed publisher and is disabled
Connect to Marketplace and reload VS Code.
It should get synced with Marketplace, show latest data and updates if it has.
Extension should be disabled.

Recommendations and Dependencies

Verify having an old extension name in workspace recommendations or dependencies is treated as unknown extension.

An extension installed as VSIX

It does not get synced if there is no mapping extension in Marketplace
It should get synced with Marketplace, show latest data and updates if there is a mapping extension in Marketplace.

Enablement / Disablement migration

Open VS Code stable version pointing to a known extensions directory. Use --extensions-dir option.
Install some extensions and disable some of them. (Global/Workspace does not matter)
Open latest insiders on the same extensions directory
Make sure extensions are disabled.

@Tyriar assigning @joaomoreno as one of the testers of this.


[BugFix] fix log4j ClassLoader issue running on JDK11

on ubuntu22, jdk11 is the default java sdk

In Java 11, the boot class loader only loads core modules. If you create a class loader with a null parent, it may not find all platform classes.
https://learn.microsoft.com/en-us/java/openjdk/transition-from-java-8-to-java-11

What type of PR is this：

[X] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:heart_eyes: pass : 1 / 1 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/Log4jConfig.java
1
1
100.00%
[]


Bold em tags are removed

Function: parseDocAntiword
Issue: an emphasis node with bold role is renamed to a strong tag but this tag is then removed with strip_tags in the return statement.

New release 0.1.5 has the fix


Support reading existing DataProtection KeyVault keys

Adds an IActivator implementation that forwards from old XML encryptor type to a new Track 2-based one allowing old keys to be seamlessly used.
Fixes: https://github.com/Azure/azure-sdk-for-net/issues/14761

/azp run net - extensions - tests

/azp run net - extensions - tests


Copying logs gives me a single line of text

When copying logs from the logs-screen for a container, I have a single line of text in the clipboard.
I want to have it line-by-line, as it really is.

Hi @SimonSimCity
Ok. We'll make it! Thanks!


The issue with the temporary file generation path.

Hello,
when running make_chains.py on two 700MB genomes, the temporary files were stored in /dev/mapper/cl-root, which caused the storage of /dev/mapper/cl-root to be filled up and eventually resulted in the termination of make_chains.py. Could you please advise on how to modify the temporary file generation path for make_chains.py? Thank you very much for your help.
##Centos7

Hello!
Sorry for the long period of silence (I don't work in Michael's lab anymore, and had a lot of other things to do).
Thank you for submitting the issue, I will have a look at the temporary files placement.


Frontend Functionality - Search Bar (profile.html)

profile.html

Allow user to search and load the profile page of a searched user

removed searchbar


UDPServer / ip address resolution

UDP Ping/Pong protocol implemented, unit tests against itself and prod server.
Also switched to serving udp on the same port as grpc, and taking that
into account when pinging other hubs with udp.

Also switched to serving udp on the same port as grpc

This is good. We regret having separate ports for tcp and udp in the client.

Jeff has permission to merge


Expose mem info

I'm migrating from PyCUDA to cupy and I didn't (easily) find a public-facing equivalent in cupy of PyCUDA of mem_get_info, which simply calls cuMemGetInfo under the hood. I've added it as a @property of Device. For example on my system with two GPUs I get:
>>> cupy.cuda.Device(0).mem_info
(11900223488,<PHONE_NUMBER>4)
>>> cupy.cuda.Device(1).mem_info
(1545011200,<PHONE_NUMBER>)

I added a test to tests/cupy_testls/cuda_tests/test_memory.py.
Now that I've completed this PR, I realize that I can just do:
with cupy.cuda.Device(0):
    cupy.cuda.runtime.memGetInfo()

... so I understand if this is not valuable enough to add. Let me know if these things should live somewhere else, or if I (and others) should just go with the runtime option.

jenkins, test this please.

Jenkins CI test (for commit cccf147b282a11c1dbe994099a9ded7c90874cd6, target branch master) succeeded!


Improve Footer

The footer seems to be a bit up and not the text alignment seems to be improper
allover i want to give footer a good and responsive look.

I want to work on this issue under JWoC

I want to work on this issue under JWoC

@whiteHatpro footer is fine no need to do any changes but if u want u can add the footer to algebra topics page. If u want to work I will assign u

@ishitaac can u work on this?

@whiteHatpro footer is fine no need to do any changes but if u want u can add the footer to algebra topics page. If u want to work I will assign u

I want to work in this issue under JWOC. @Amit366

@ishitaac can u work on this?

@whiteHatpro footer is fine no need to do any changes but if u want u can add the footer to algebra topics page. If u want to work I will assign u

yes i can

Pls assign me @Amit366

@ishitaac u can work

@Amit366 i can improve the footer, can you assign this to me ?

@ishitaac update?

@LakshayN u can work

@whiteHatpro footer is fine no need to do any changes but if u want u can add the footer to algebra topics page. If u want to work I will assign u

@LakshayN but u need to do this

I want to work on the issue. Please assign it to me.

@Ishhha r u a part of any open source?

I'm a contributor in GSSOC'22.

@Ishhha go ahead

I am a gssoc22 contributer. I would like to work on this.

@rohitkhicher001 add the footer to algebra topics pages. and don't change anything


Optimize some PIsList utilities - add a few more utilities

Add some missing phoistAcyclics to top level utilities.

Remove redundant plet usage from plength.

Make plistEquals manually go through both lists at once (using pelimList). This should be significantly more efficient than zipWith followed by foldr.
It looks like the entire result of zipWith is evaluated before foldr is called.

Make pall use precList directly.

Add pany.

Add pfoldrLazy. This takes in a (a :--> PDelayed b :--> b), rather than (a :--> b :--> b) - allowing the fold to short circuit.

Add left folds, pfoldl and pfoldl'.

Add some tests for pfoldl.

Closes #79

Can we put this into staging to reduce merge conflicts later on?

If only we were using Pijul.


Consider migrating to "web_extra_daemons"

This idea was raised in https://github.com/ddev/ddev/issues/6125
Ideally, resolve after #1 so we can automate testing properly.

See https://ddev.readthedocs.io/en/latest/users/extend/customization-extendibility/#running-extra-daemons-using-web_extra_daemons


Events and 3-day workshops

I believe that the following md files should be under _events rather than _workshops

https://github.com/coderefinery/coderefinery.org/blob/gh-pages/_workshops/2020-08-13-tampere.md
https://github.com/coderefinery/coderefinery.org/blob/gh-pages/_workshops/2020-06-24-instructor-training.md

I can move them if it makes sense, but thought it would be better to assign @bast and @rkdarst here to make sure about this.

It's true that they were not 3-day workshops but the "3-day" is now anyway outdated.
Perhaps we should rename "3-day" to "regular" or "full" or something. And in this case we should indeed move them. At some point we can add more categories but I wanted to move away from Jekyll before doing that where these things are a bit painful in my opinion.

I agree. It is a good opportunity, probably, to move to ZOLA? Personally I experienced that modifying and maintaining CR website is complicated (only learning Jekyll and some knowledge within CSS was not of much help..)
But at least I would move these 2 events under current "3-day" workshops list and if OK, rename it to "Standard CodeRefinery workshops" or something, if this makes sense.

Yeah I want to move over to Zola. Things will get easier. But to be fair it's not only Jekyll but it's just time, things evolve and get more complicated and moving to another framework is always a chance to tidy things up a bit.

But at least I would move these 2 events under current "3-day" workshops list and if OK, rename it to "Standard CodeRefinery workshops" or something, if this makes sense.

Yes this sounds good.

I think this is not relevant anymore. But if they are still in the wrong place, then we can adjust.

I think this is not relevant anymore. But if they are still in the wrong place, then we can adjust.


[9.x] Use the LARAVEL_ENV_ENCRYPTION_KEY to encrypt when it is present

Use the LARAVEL_ENV_ENCRYPTION_KEY to encrypt when it is present.
The functionality is already there on env:decrypt but not on env:encrypt
Thanks!

It shouldn't be needed on encrypt. The purpose of this env variable is so you can decrypt via env variables without putting your environment variable secret in your deployment script?

@taylorotwell If someone on your team needs to change the .env.staging file and re-encrypt it with the same key (so we don't have to change them on all target machines) they have to use the key locally in the prompt via --key so why not make it take a default value in the .env file you can set as LARAVEL_ENV_ENCRYPTION_KEY (as it does already for decrypt)?


WIP - documentation: generate API documentation programmatically

this was discussed in chat - i would like to the API documentation; but these binary formats are tedious to review - this is a WIP/proof-of-concept for the sake of discussion - ive done enough to determine that this is not difficult to accomplish - the only caveat is that some new tools will need to be installed on the build server (pandoc and texlive - there is a simpler way to accomplish this by keeping the source an as HTML file; but experiments did not produce good results - the latex source is much more robust

I've reverted this to draft, because its WIP.

ok, have made a lot of progress on this - i ended up with many questions though - i will upload the changes soon; but i may as well start asking questions now - these are two of the most significant, about which i could not describe well enough

for function 5,36 "Read Pixel", api.pdf has this description:

Read Pixel at P01,P23 from the sprite layer (0-15, 0 = transparency)

it does not mention how to specify the layer - presumably it is Param4? - but more importantly, none of the other functions mention how a sprite becomes assigned to a layer - is there a yet undocumented function for that?

for function 6,2 "update sprite", api.pdf has this description:

Image is P5 (bits 0-5 are sprite number, bit 6 indicates 32 bit –
NOT the same as the image number in the graphics system

yet in the source code (the SPRUpdate() function), Param5 is denoted as 'imageSize' - the commented printf trace indicates the same - indeed bit-6 is used to set the SPRITE_INTERNAL struct p->xSize p->ySize; but bits-0-5 are apparently used in GFXFindImage() as an index to locate the memory
in other words, only bit-6 describes a size - bits-0-5 (documented as the "sprite number") could easily be described as "the image number in the graphics system"; but Param0 (the "sprite ID") could also be described as "the image number in the graphics system" - it is rather vague; so i am trying to clarify the terminology - instead of "image number" or "sprite number" i am trying to be explicit, more like "the index of the sprite in graphics memory" or "the index of the image in the graphics file"; but im not really sure what these parameters really are without digging deeper
can someone clarify, what is the difference between the "sprite ID" (Param0), the "sprite number" (Param5), and the vaguely mentioned "image number in the graphics system" (is that referring to Param0?)

I don't think you should care about the content. This Pull request is about changing the process right? We can fix the content afterwards. :)

i have both motivations - my primary motivation is to understand how this
software works and how to program for it - the usual first step toward that is
to read the documentation - when i did that, i found it to be sparse,
inconsistent, and difficult to comprehend - so my next motivation was to
improve the documentation
however, reviewing changes to those binary documents is a PITA for the
maintainers; so the reason i am motivated to make the documentation easier to
maintain; is to increase the likelihood that my content improvements would be
accepted, and in the process, the many questions i had about the system will
get answered and anything missing from the docs will be accounted for

for function 5,36 "Read Pixel", api.pdf has this description:

Read Pixel at P01,P23 from the sprite layer (0-15, 0 = transparency)
it does not mention how to specify which layer, nor how to collect the result - presumably both are Param4? - or am i reading that wrong? - none of the other functions mention how a sprite becomes assigned to a layer - is there only one sprite layer, and "(0-15, 0 = transparency)" is telling how to interpret the "read pixel" function result ?

It returns the parameter in offset 0 of the buffer (most things do) which I normally refer to as "P0". There is no sprite layer really ; the system uses palette manipulation to create what is in practice a pair of 4 bit bitplanes. The sprite graphics are in the top nibble, the background in the bottom nibble, and the background only shows if the sprite graphic layer is zero. It's this top nibble that is read by 5,36.

for function 6,2 "update sprite", api.pdf has this description:

Image is P5 (bits 0-5 are sprite number, bit 6 indicates 32 bit –
NOT the same as the image number in the graphics system
yet in the source code (the SPRUpdate() function), Param5 is denoted as 'imageSize' - the commented printf trace indicates the same - indeed bit-6 is used to set the SPRITE_INTERNAL struct p->xSize p->ySize; but bits-0-5 are apparently used in GFXFindImage() as an index to locate the memory

in other words, only bit-6 describes a size - bits-0-5 (documented as the "sprite number") could easily be described as "the image number in the graphics system"; but Param0 (the "sprite ID") could also be described as "the image number in the graphics system" - it is rather vague; so i am trying to clarify the terminology - instead of "image number" or "sprite number" i am trying to be explicit, more like "the index of this sprite abstraction in working memory" or "the index of the raw image data into the graphics file"; but im not sure what these parameters really are, without digging deeper
can someone clarify, what is the difference between the "sprite ID" (Param0), the "sprite number" (Param5), and the vaguely mentioned "image number in the graphics system" (is that referring to Param0?)

imageSize means 'image and size'. It's something of a fudge caused by the use of $80 to mean no change in sprite update, which meant I couldn't use $80 image number. In practice this value is the same as the sprite image number ($80-$BF for 16x16, $C0-$FF 32x32) just without bit 7 set. GFXFindImage takes the group (tile,sprite16,sprite32) and index, which is why it is anded with $3F

@paulscottrobson If I understand it correctly this PR is about generating the PDF and ODT files on release from latex source. So it would be the same process to change documentation as to change code (which is optimal).

I don't mind either way. I've used Latex and Markdown ; swings and roundabouts. I agree this is the right solution ; I just wasn't sure if it was ready to be merged or not, or is it in development ?

I think @bill-auger needs to push his latest changes. Current state is two weeks old.

This has been changed slightly by #230 as the build has changed slightly since it was pushed originally. I think I have kept the same idea.

i rebased and reworked yesterday (accounting for the new release/Makefile for example) - preparing to push now - it will probably conflict with that latest change; but i still can not compile this software, so i will try to work it out against the CI build
i considered other options such as HTML and markdown - both are brittle due to lack of standardization - i tried HTML first anyways; but could not format the tables properly with commonly available tools - markdown is just too limited for decent documentation - there is a reason why tex is used so widely by professionals - it is quirky, but reliable

A major problem for me is I know how most of it works :) So it's quite difficult to see it from the POV of someone who doesn't and has to understand it.

i agree fully - i often tell people that the best people to write documentation are not the developers, but users, novices even (with input from the devs) - users are more likely to identify which parts are confusing or lacking


Sending bytes as query param

The fix for Issue #22 works only if the bytes are in the body of the request, not in query parameters. In this case, they're being removed by flattenRequestPayload even though the type generated is Uint8Array.
Changing the flattenRequestPayload function to below (see the added third if statement) seems to solve the problem. It reuses the replacer function behaviour.
function flattenRequestPayload<T extends RequestPayload>(
  requestPayload: T,
  path: string = ''
): FlattenedRequestPayload {
  return Object.keys(requestPayload).reduce((acc: T, key: string): T => {
    const value = requestPayload[key];
    const newPath = path ? [path, key].join('.') : key;

    const isNonEmptyPrimitiveArray =
      Array.isArray(value) &&
      value.every(v => isPrimitive(v)) &&
      value.length > 0;

    const isNonZeroValuePrimitive =
      isPrimitive(value) && !isZeroValuePrimitive(value as Primitive);

    let objectToMerge = {};

    if (isPlainObject(value)) {
      objectToMerge = flattenRequestPayload(value as RequestPayload, newPath);
    } else if (isNonZeroValuePrimitive || isNonEmptyPrimitiveArray) {
      objectToMerge = { [newPath]: value };
    } else if (value && value.constructor === Uint8Array) {
      objectToMerge = { [newPath]: b64Encode(value, 0, value.length) };
    }

    return { ...acc, ...objectToMerge };
  }, {} as T) as FlattenedRequestPayload;
}

Did this ever get resolved?  Looking to implement this into my project, but this would likely be a requirement

Not as far as I know, but the monkey patching above works well.


Layout.zone_primitives failing

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
When trying to retrieve zone primitives (the layout is multizone) we got this error.

self = <pyedb.grpc.edb_core.layout.layout.Layout object at 0x000001B9D2BEAA90>
@property
def zone_primitives(self):
    """:obj:`list` of :class:`.Primitive`: List of \
    all primitives in the :term:`zones <Zone>`.

    This property is read-only.
    """

  return [Primitive(msg) for msg in self.__stub.GetZonePrimitives(self.msg)]

E       TypeError: 'EDBObjCollectionMessage' object is not iterable
📝 Steps to reproduce
NA
💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
No response
🐍 Which Python version are you using?
3.10
📦 Installed packages
NA

EDB project can be downloaded here for testing
https://ansys-my.sharepoint.com/:u:/p/simon_vandenbrouck/Ee8mdpjmnBFPoSZ8ibvDBoMBRnRQhR0UrvHL2B0TWlMmqA?e=qVDsVb


syslog-ng support

Finish syslog-ng logging and modify checks for both rsyslog and syslog-ng

Merged in 3206946


[eBook] Captions are too small in column layout

See
https://franklin.moleculardevices.com/en/assets/ebook/bpd/how-to-implement-colony-picking-workflows-with-automation
Original: https://www.moleculardevices.com/en/assets/ebook/bpd/how-to-implement-colony-picking-workflows-with-automation

Fixed in the content


i can't install mods

hi,
when i try to install mods i always get the message:
ERROR! Download item xxx failed (I/O Operation Failed).Mod xxx was not successfully downloaded
i saw the post https://github.com/FezVrasta/ark-server-tools/issues/205 but i dont have that $steamcmdroot/steamapps/workshop/appworkshop_346110.acf file.
i've tryed to install mod 614734500 and 538986229

What are the contents of ~/Steam/logs/workshop_log.txt?

[2016-02-27 08:55:05] [AppID 346110] Loaded workshop items in "/home/puseidr/steamcmd/steamapps/workshop" (0 installed, 0 needed)
[2016-02-27 08:55:06] [AppID 346110] Starting Workshop download job
[2016-02-27 08:55:06] [AppID 346110] Detected workshop change : changed cached item 538986229, new manifest<PHONE_NUMBER>288631226
[2016-02-27 08:55:07] Update workshop job for app 346110 canceled: Failed to write patch state file for depotID 346110 (Disk write failure)
[2016-02-27 08:55:07] [AppID 346110] Download item 538986229 result : I/O Operation Failed
[2016-02-27 08:55:07] [AppID 346110] Finished Workshop download job : Disk write failure
[2016-02-27 08:55:08] [AppID 346110] Updating workshop item details failed with Failure

[2016-02-27 09:14:50] [AppID 346110] Loaded workshop items in "/home/puseidr/steamcmd/steamapps/workshop" (0 installed, 0 needed)
[2016-02-27 09:14:51] [AppID 346110] Starting Workshop download job
[2016-02-27 09:14:51] [AppID 346110] Detected workshop change : changed cached item 614734500, new manifest<PHONE_NUMBER>831409225
[2016-02-27 09:14:52] Update workshop job for app 346110 canceled: Failed to write patch state file for depotID 346110 (Disk write failure)
[2016-02-27 09:14:52] [AppID 346110] Download item 614734500 result : I/O Operation Failed
[2016-02-27 09:14:52] [AppID 346110] Finished Workshop download job : Disk write failure
[2016-02-27 09:14:52] [AppID 346110] Updating workshop item details failed with Failure

[2016-02-27 09:15:25] [AppID 346110] Loaded workshop items in "/home/puseidr/steamcmd/steamapps/workshop" (0 installed, 0 needed)
[2016-02-27 09:15:25] [AppID 346110] Starting Workshop download job
[2016-02-27 09:15:26] [AppID 346110] Detected workshop change : changed cached item 614734500, new manifest<PHONE_NUMBER>831409225
[2016-02-27 09:15:26] Update workshop job for app 346110 canceled: Failed to write patch state file for depotID 346110 (Disk write failure)
[2016-02-27 09:15:26] [AppID 346110] Download item 614734500 result : I/O Operation Failed
[2016-02-27 09:15:26] [AppID 346110] Finished Workshop download job : Disk write failure

Did you extract steamcmd as root?

yep... thanks for the hint ;)


NIFI-11960 Update maven-resources-plugin in py4j to 3.3.1

Summary
NIFI-11960
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[X] Apache NiFi Jira issue created

Pull Request Tracking

[X] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[X] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[X] Pull Request based on current revision of the main branch
[X] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[X] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Local workflow completed successfully


Add mailto bookmarklet

Having a bookmarklet to send a short url as an email would be nice, just like the "YOURLS & Facebook", "YOURLS & Twitter" and "YOURLS & Tumblr".
Maybe someone should code this. :)
--- tools.php.orig	2016-03-15 01:32:15.356351086 -0400
+++ tools.php	2016-03-15 01:38:10.257808338 -0400
@@ -275,6 +275,41 @@
 TUMBLR;
         yourls_bookmarklet_link( yourls_make_bookmarklet( $js_code ), yourls__( 'YOURLS & Tumblr' ) );
         ?>
+
+	<?php $js_code = <<<EMAIL
+        // Share via Email
+	var d   = document,
+	    w   = window,
+	    enc = encodeURIComponent,
+	    sc  = d.createElement('script'),
+	    f   = '$base_bookmarklet',
+	    l   = d.location.href,
+	    ups = l.match( /^[a-zA-Z0-9\+\.-]+:(\/\/)?/ )[0],
+	    ur  = l.split(new RegExp(ups))[1],
+	    ups = ups.split(/\:/),
+	    p   = '?up=' + enc(ups[0]+':') + '&us=' + enc(ups[1]) + '&ur=' + enc(ur) + '&t=' + enc(d.title);
+	window.yourls_callback=function(r){
+		if(r.short_url){
+			u = 'mailto:?subject=' + enc(d.title) + '&body=' + enc(d.title) + '%0A' + enc(r.short_url);
+		} else {
+			alert('An error occured: '+r.message);
+		}
+	};
+	sc.src = f + p + '&jsonp=yourls';
+	d.body.appendChild(sc);
+	try {
+		throw('ozhismygod');
+	} catch(z) {
+		a = function () {
+			if(w.open(u,'Share via email','width=1024,height=768,left=100','_blank')) l = u;
+		};
+		if(/Firefox/.test(navigator.userAgent)) setTimeout(a, 0);
+		else a();
+	}
+	void(0);
+EMAIL;
+        yourls_bookmarklet_link( yourls_make_bookmarklet( $js_code ), yourls__( 'YOURLS & Email' ) );
+        ?>

 		<?php yourls_do_action( 'social_bookmarklet_buttons_after' ); ?>

Interesting but, you know, don't hack core :)
Why not package this as a plugin instead?

Honestly, I couldn't find an existing plug in on which to base the new one. I would have gone that route if I had.

Simple! There's an action after which you can output anything:
https://github.com/YOURLS/YOURLS/blob/master/admin/tools.php#L279
Plugin should basically consist in yourls_add_action( 'that_action', 'my_bookmarklet_function' ); and function my_bookmarklet_function() { // echo stuff }

Well I will code it and put it in as a plug in then!

I have created this as a plug in. YOURLS-mailto-bookmarklet is available at http://berb.ec/efbsg

Added to the list!


[Hub Generated] Review request for Microsoft.AzureActiveDirectory to add version preview/2020-05-01-preview

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
 RP has already implemented it and in future they do plan on supporting different tenant Id from what is in the header. NOt optimal for now, but signing off from ARM side.

/azp run automation - sdk

/azp run automation - sdk


f16 based templates are incorrectly sized as f32s

Paste this snippet into https://brendan-duncan.github.io/wgsl_reflect/example.html
@binding(0) @group(0) var<uniform> a1: f16;            // This is correctly sized at 2 bytes!
@binding(0) @group(1) var<uniform> a2: vec2<f16>;      // This should be 4 bytes, not 8
@binding(0) @group(2) var<uniform> a3: vec3<f16>;      // This should be 6 bytes, not 12
@binding(0) @group(3) var<uniform> a4: vec4<f16>;      // This should be 8 bytes, not 16
@binding(0) @group(4) var<uniform> a5: mat2x2<f16>;    // This should be 8 bytes, not 16
@binding(0) @group(5) var<uniform> a6: mat2x3<f16>;    // This should be 16 bytes, not 32
@binding(0) @group(6) var<uniform> a7: mat2x4<f16>;    // This should be 16 bytes, not 32
@binding(0) @group(7) var<uniform> a8: mat3x2<f16>;    // This should be 12 bytes, not 24
@binding(0) @group(8) var<uniform> a9: mat3x3<f16>;    // This should be 24 bytes, not 48
@binding(0) @group(9) var<uniform> a10: mat3x4<f16>;   // This should be 24 bytes, not 48
@binding(0) @group(10) var<uniform> a11: mat4x2<f16>;  // This should be 16 bytes, not 32
@binding(0) @group(11) var<uniform> a11: mat4x3<f16>;  // This should be 32 bytes, not 64
@binding(0) @group(12) var<uniform> a11: mat4x4<f16>;  // This should be 32 bytes, not 64

As the comments indicate, it is my belief that these are incorrectly sized.
Source reference:  https://www.w3.org/TR/WGSL/#alignment-and-size

Thanks for the report, you are correct, my vec and mat sizing code has some issues. I'll get it fixed up shortly.

That was an easy fix, I just had a typo when it was checking for f16. It's pushed to git, and added a test confirming your code is now calculating the correct sizes. I'll update npm after I get through my regular work (I had some time waiting for a compile).

Fantastic!

npm still shows 1.10 as the latest.
https://www.npmjs.com/package/wgsl_reflect?activeTab=versions

Woops, new I forgot to do something. It's published as 1.0.12, because I switched over to my other computer and forgot to pull the git changes when I did the 1.0.11 publish, so I had to do it again as 1.0.12.

Closing the issue. Let me know if you run into anything else.


Amazon Managed Grafana:  IOT Twinmaker plugin can't query 3D data (Windmills)

What happened:
can't visualize windmills in 3D
getting the below error;
Error: ConnectorFailureException: Received following error when calling SiteWise: Failed to invoke SiteWise API - GetAssetPropertyValueHistory. siteWiseAssetId: <> , siteWisePropertyId: <>
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Grafana version: AMG Grafana 9.4
Plugin version: IoT TwinMaker 1.11.1

Hi @foleng1, Just wanted to get some more information before we can investigate this

Can you provide a minimal set of reproduction instructions?

Additionally if you can provide a screen recording/screenshot of the issue in action that would also be useful

Did this work before in a previous TwinMaker version, and stopped working now?

Closing as stale


Use doctest-provided main implementation

Description
We must have overlooked this doctest::doctest_with_main target when replacing the vendored doctest header with the current FetchContent scheme. I'm happy to use this rather than maintain our own equivalent.

SFMLBuildMaster: Build this please.


Uploaded AVV catalogue can be used directly.

Ticket: https://github.com/SiLeBAT/mibi-parse-cloud/issues/22
For the AVV Catalogue Cache the node-cache mechanism is not used because the validation performance with that is to low.
Validating an excel sheet with 15 samples takes 8 - 9 sec.
Instead the simple catalogue object is used as caching object as before, now it is immediately updated after changing the AVV_Catalogue collection in the database.

merged with #97


Lisp modules - removal of previous variants

Description of changes
After discussion in thread #304656 there is some agreement to put a throw/error in place of "old" lisp attributes. The remaining references to them that I was able to find (libuv, clfswm) were switched to use the "new" attributes.
There are separate commits for easier verification of changes.

78accd78c7c9807474f76dfc9f34305a0bb5be7f removed pkgs/development/lisp-modules-obsolete
3f8cc149afc5890fdca5129dfc676a40e26edc31 removed pkgs/development/lisp-modules-new-obsolete
e37426954b3caf01e5318fdccb8749ab69b70077 mentioned common-lisp.sh API removal in release notes
2bf38dbe3a0d1a3eeab19d73b090d23fd54b0d4c moved deprecated lisp attributes to aliases
603ccbfcaa5792a3fa6b373cf78d53db2f2bef7e switched to "new" attribute in libuv
fc5b715e1aa751b654e11e6d7a1c418ff9a5f8bc switched to "new" attribute in clfswm module

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build sbcl.pkgs.clfswm pkgs.libuv

Thanks!


Added Line follower robot code

Added Line Follower code in Arduino Projects

This projcets presents the source code of a line follower bot. Loading this code into the memory of microcontroller makes it run crazy after a line.
Close #4861

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@MohitGupta121 @pranjay-poddar @TusharKesarwani please review this PR


[Bug]: drive.get(path) get stuck

Hyperdrive is a wrapper around two Hypercores: one for storing file metadata [A], and the other to store file contents [B], as described here. To access a specific file content we call drive.get(path).

If it can access [A] AND [B], it returns the file content.
If it cannot access neither [A] NOR [B], it returns null.
But if it can access [A] but cannot access [B] it get stuck.

In the code bellow, DRIVE_PUBKEY is a drive with a ./test.txt file and SEEDER_PUBKEY is a peer seeding this drive.
const store = new Corestore(RAM)
const drive = new Hyperdrive(store, DRIVE_PUBKEY)
const dht = new DHT()

const conn = dht.connect(SEEDER_PUBKEY)
store.replicate(conn)

Now, if I try to get the content without waiting for a connection, it returns null (as expected in scenery 2)
const result = await drive.get('./test.txt').then((buf) => buf && b4a.toString(buf))
console.log(`Content: ${result}`)

Content: null

If I wait the connection, it returns the file content (as expected in scenery 1)
conn.once('open', async () => {
  const result = await drive.get('./test.txt').then((buf) => buf && b4a.toString(buf))
  console.log(`Entry content: ${result}`)
})

Content: { testing: 1 }

If I disconnect before I try get the content, it returns null again (as expected in scenery 2)
conn.once('open', async () => {
  await dht.destroy()

  const result = await drive.get('./test.txt').then((buf) => buf && b4a.toString(buf))
  console.log(`Entry content: ${result}`)
})

Content: null

And finally: If I first get the file metadata, then disconnect, then try to get the file content... it get stuck forever (as described in scenery 2)
conn.once('open', async () => {
  for await (const entry of drive.entries()) {
    console.log(`Entry path: ${entry.key}`)
  }

  await dht.destroy()

  // Get stuck here forever 👇
  const result = await drive.get('./test.txt').then((buf) => buf && b4a.toString(buf))
  console.log(`Entry content: ${result}`)
})

This issue happen to me not because I lost the connection right after getting the metadata and right before de content as shown in the example above (almost impossible situation). I had the metadata cached for days, and when I tried to access the content it found no peers serving the data.

Can you make a full gist that I just run and reproduces the issue?
Btw, probably this doesn't fixes your issue but still a good practice to use findingPeers, something like this:
const socket = dht.connect(pk)
socket.on('error', console.error)

const done = store.findingPeers()
waitForSocketFlush(socket).then(done, done)
store.replicate(socket)

function waitForSocketFlush (socket) {
  return new Promise((resolve, reject) => {
    socket.on('open', done)
    socket.on('close', done)
    socket.on('error', done)

    function done (error) {
      socket.off('open', done)
      socket.off('close', done)
      socket.off('error', done)

      if (error) reject(error)
      else resolve()
    }
  })
}

Hyperdrive also has findingPeers() as well

Try installing these, and try again:
npm i holepunchto/hyperdrive-next#add-get-options
npm i holepunchto/hyperblobs#add-wait-opt

Can you make a full gist that I just run and reproduces the issue?

import DHT from '@hyperswarm/dht'
import Corestore from 'corestore'
import Hyperdrive from 'hyperdrive'
import b4a from 'b4a'
import RAM from 'random-access-memory'

// Alice
const alice_store = new Corestore(RAM)
const alice_drive = new Hyperdrive(alice_store)
await alice_drive.ready()

if (alice_drive.version == 1) {
  await alice_drive.put('./test.txt', Buffer.from('{ "testing": 1 }'))
}

const alice_keyPair = DHT.keyPair()
const alice_dht = new DHT()
const alice_server = alice_dht.createServer((conn) => {
  alice_store.replicate(conn)
})
await alice_server.listen(alice_keyPair)

// Bob
const bob_store = new Corestore(RAM)
const bob_drive = new Hyperdrive(bob_store, alice_drive.key)
const bob_dht = new DHT()

const bob_conn = bob_dht.connect(alice_keyPair.publicKey)
bob_store.replicate(bob_conn)

bob_conn.once('open', async () => {
  // Get the metadata
  for await (const entry of bob_drive.entries()) {
    console.log(`Entry path: ${entry.key}`)
  }

  // This line simulates the lost of connection with the seeder
  // Both local or remote failures generate the same issue
  // await alice_dht.destroy() also works
  await bob_dht.destroy()

  // Get stuck here for ever 👇
  const result = await bob_drive.get('./test.txt').then((buf) => buf && b4a.toString(buf))
  console.log(`Entry content: ${result}`)
})


Replace unary and parenthesis with logical nodes

This commit replaces parenthesis and the unary expression coming from the AST with logical nodes.

Lgtm


I can't empty trash

It would by nice to have some sort of empty button in trash folder or possibility to manually delete emails from this folder.

And from the spam folder

I'd like to tackle this one. :)

I'm thinking something like this, where there's a delete button next to the importance marker and an empty all option at the top.
Any thoughts?

I think that this layout would be perfect. Maybe "Empty Trash now" button will be enough. Because if we talk about Trash folder I can think about only two action. First to recover some email and second to empty trash (all emails at once).
Also option for automatically empty trash after closing the app can be useful.

I like it! If there is an option for automatically emptying trash (not necessary), it should be turned off by default

Well, there is already a function for automatically emptying trash every n days.
Instead of creating a new option for emptying trash every time you close, how about changing the setting to 1 day? I don't know if this is possible within Nylas, but that would be a more feasible option, I think.

https://github.com/nylas-mail-lives/nylas-mail/blob/master/packages/client-app/spec/mailbox-perspective-spec.es6#182
This looks like bad news.
Does anyone know why this wasn't possible at the time, and whether or not it is possible now?

that was way before our (the open source community) time

https://github.com/nylas/nylas-mail/issues/599

If anyone is interested, I've been working on porting it from Mailspring here: https://github.com/LiHRaM/nylas-mail/tree/feature/empty-trash-bengotow

Hi @LiHRaM ,
i am first time contributor, do you need help with that. If yes could you please guide me to start out the work

@M-ZubairAhmed If you join the slack channel, we can try pairing and finishing this finally. :)

@LiHRaM Do you need any help with this?  I can pitch in :)

@nirmit That would be appreciated. I have a university project I'm turning in, in a couple of weeks, so I'm pretty busy.


Benchmark ls is failing when getting user benchmarks

At the time of creating this issue I didn't have much information about what conditions caused this error. I wasn't able to reproduce locally

The error was:
MedPerf 0.0.0
Traceback (most recent call last):
  File "/home/hasan/anaconda3/envs/medperf3.9/bin/medperf", line 33, in <module>
    sys.exit(load_entry_point('medperf', 'console_scripts', 'medperf')())
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/typer/main.py", line 214, in __call__
    return get_command(self)(*args, **kwargs)
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/hasan/anaconda3/envs/medperf3.9/lib/python3.9/site-packages/typer/main.py", line 500, in wrapper
    return callback(**use_params)  # type: ignore
  File "/home/hasan/Desktop/tasks/medperf/cli/medperf/commands/benchmark/benchmark.py", line 24, in list
    BenchmarksList.run(comms, ui, all)
  File "/home/hasan/Desktop/tasks/medperf/cli/medperf/commands/benchmark/list.py", line 26, in run
    for bmark in benchmarks:
TypeError: 'NoneType' object is not iterable

This issue was resolved by this commit.
Tracing back the bug's origin, the return statement was mistakenly removed during this merge request. It turns out that since then the function upload_benchmark (within the same file rest.py) is also affected: it returns None while it should return the benchmark id. It is not causing issues now but should be fixed to avoid future bugs.


Update documentation

[x] make sure nothing is wrong or out of date
[x] assess whether any new features warrant additional attention in the docs
[ ] document filtering out known variants (see #120)

Punting on the third point above, but leaving the corresponding issue open. This isn't a pressing documentation need.


Replace mem::zeroed() in AllocatorCreateInfo::default()

Fixes an issue when compiling with Rust nightly. Calling AllocatorCreateInfo::default() results in:
panicked at 'attempted to zero-initialize type `ash::Device`, which is invalid

Fixes #19

Hi @gwihlidal, would you be able to review? When the current Rust beta is promoted to stable, AllocatorCreateInfo::default() will always panic.

We're also looking forward to getting this merged.

A new release would be great so we don't need to point to a specific git-hash version.


[BUG] If a host memory buffer is spilled, it cannot be unspilled

Describe the bug
While testing the host memory retry code for InternalRowToColumnarBatchIterator,  I found that some nds queries were producing incorrect results.
=== Unmatch Queries: ['query10', 'query69', 'query37', 'query35', 'query82', 'query23_part1', 'query23_part2', 'query84', 'query79'] ===

After some debugging, and discussion with @abellina, I found the source of the problem.
The retry code in question allocates two buffers, makes them spillable, fills the buffers inside a withHostBufferWriteLock block, and then uses the buffers inside a withHostBufferReadOnly block.   The last part looks like this:
        int[] used = sdb.withHostBufferWriteLock( (dataBuffer) -> {
          return sob.withHostBufferWriteLock( (offsetsBuffer) -> {
            return fillBatch(dataBuffer, offsetsBuffer);
          });
        });
        batchAndRange = sdb.withHostBufferReadOnly( (dataBuffer) -> {
          return sob.withHostBufferReadOnly( (offsetsBuffer) -> {
            // do stuff
        }

The problem occurs when one or both of the buffers are spilled before we enter the withHostBufferWriteLock block.
When the spill happens, the rapids buffer associated with the RapidsBufferHandle (in the SpillableHostBuffers) switches from a RapidsHostMemoryBuffer to RapidsDiskBuffer.  So when we enter the write block, the RapidsDiskBuffer allocates a new HostMemoryBuffer and copies into it from disk (this is all zeros, because we spilled before filling it).  This hostbuffer is part of the RapidsDiskBuffer.  We then fill up this buffer with useful data.
When we exit the write block, this hostbuffer is closed, so when we enter the read block, we get the same RapidsDiskBuffer, and because its hostbuffer is closed, we reload from disk, which is all zeros.
Steps/Code to reproduce bug
I was able to reproduce this by running nds query10 at scale 100 on my desktop with the following configs:
 --conf spark.rapids.sql.exec.ShuffleExchangeExec=false \
 --conf spark.rapids.memory.host.offHeapLimit.enabled=true \
 --conf spark.rapids.memory.host.offHeapLimit.size=32G \

I was running with 16 executor cores.
Expected behavior
We need to figure out where to actually unspill HostMemoryBuffers that have been spilled.
Instead of using a local hostbuffer inside of the RapidsDiskBuffer, we might need to allocate a new RapidsHostMemoryBuffer and unspill into it.   Maybe something like what RapidsBufferStore.getDeviceMemoryBuffer does.
Environment details (please complete the following information)
I ran this on my local RTX4000 desktop.
Additional context
We can workaround this issue in InternalRowToColumnarBatchIterator by just using a single write block.  I will probably just do this as part of adding split handling.

Here is the debug output that shows the problem (I added some logs):
23/12/08 20:54:13 DEBUG RapidsHostMemoryStore: Adding host buffer for: [id=TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88), size=1073741824, uncompressed=1073741824, meta_id=0, meta_size=1073741824]
23/12/08 20:54:13 DEBUG RapidsHostMemoryStore: Buffer TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) is spillable. total=32212254776 spillable=9663676416
23/12/08 20:54:14 DEBUG RapidsHostMemoryStore: Spilling buffer TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88). size=1073741824 total=32212254776, new spillable=12348030988
23/12/08 20:54:14 DEBUG RapidsDiskStore: Spilled to /tmp/blockmgr-439383f8-22de-48b1-963f-6df7ddd22cb5/39/temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88 0:5242901
23/12/08 20:54:14 DEBUG RapidsBufferCatalog: Spilled TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) from tier host memory. Removing. Registering TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) Some(local disk buffer size=1073741824)
23/12/08 20:54:21 INFO SpillableHostBuffer: withHostBufferWriteLock: Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) at tier local disk for com.nvidia.spark.rapids.RapidsBufferCatalog$RapidsBufferHandleImpl@39d5a5a7
23/12/08 20:54:21 INFO RapidsDiskStore$RapidsDiskBuffer: getMemoryBuffer: Loading Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) from disk
23/12/08 20:54:23 INFO RapidsDiskStore$RapidsDiskBuffer: Close() for Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88), hostbuffer refcount: 1
23/12/08 20:54:23 INFO RapidsDiskStore$RapidsDiskBuffer: close(): Closing hostbuffer for Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88)
23/12/08 20:54:23 INFO SpillableHostBuffer: withHostBufferReadonly: Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) at tier local disk for com.nvidia.spark.rapids.RapidsBufferCatalog$RapidsBufferHandleImpl@39d5a5a7
23/12/08 20:54:23 INFO RapidsDiskStore$RapidsDiskBuffer: getMemoryBuffer: Loading Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88) from disk
23/12/08 20:54:24 INFO RapidsDiskStore$RapidsDiskBuffer: Close() for Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88), hostbuffer refcount: 1
23/12/08 20:54:24 INFO RapidsDiskStore$RapidsDiskBuffer: close(): Closing hostbuffer for Rapids Buffer ID TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88)
23/12/08 20:54:24 DEBUG RapidsBufferCatalog: Removing buffer TempSpillBufferId(561,temp_local_11f3357e-1678-40a5-a75f-d2e941a71d88)

A related issue is that the hostbuffer that is in RapidsDiskBuffer is allocated outside the HostAlloc framework, so it increases how much memory we are using, but it is not counted against our limits.


Fix issue 355 357 358 360 (broken report) for XQuery and run test for issue 59 on XQuery

This pull request derives from #497. So needs to be handled after that.

Fixes the followings for XQuery, in the same way as XSLT fixed by #380.

Fixes #355
Fixes #357
Fixes #358
Fixes #360

As a result, the test cases for #59 now work on XQuery.
Commits

21dd94bb6f8c8d186a7b7416af9729cd5e366eb3 adapts xspec-59.xspec to XQuery. It doesn't work yet.
F:\xspec\test>..\bin\xspec.bat -q xspec-59_query.xspec
...
Running Tests...
Error evaluating ((if($test) then ... else ..., ...)) on line 202 column 12 of generate-query-utils.xql:
  XQTY0024: A namespace node (namespace-name) cannot be created after a child of the
  containing element. Most recent element start tag was output at line 180 of module
  generate-query-utils.xql
  at test:report-sequence() (.../xspec/test/xspec/xspec-59_query.xq#615)
...
*** Error running the test suite

04732d46a1a0c72baffdfe0a4019d65815e17c52 fixes the issues by duplicating test:report-sequence() from XSLT.
xspec-59.xspec now works on XQuery.

7fb9fe0612770d9388d62ff3e199ada20f625914 updates generate-query-utils.xspec to reflect the fix.

ce552c60fc96bbd0eba6a3b8e730ed204d9964b1 includes xspec-report.xspec in XQuery's end-to-end test.

8beaa6639e5c7460fcb9d760749050735fec5ca7 updates the expected results of the end-to-end test.
You can verify that the XQuery's expected results now resemble closely the XSLT's expected results, by comparing test/end-to-end/cases/expected/query/*.* with test/end-to-end/cases/expected/stylesheet/*.* using your favorite comparison tool.

@cirulls
Merged this bug fix.


Constantly getting 404 totally randomly for angular chunks

GET https://XXXXX-5000.euw.devtunnels.ms/chunk-IUSG6QPW.js net::ERR_ABORTED 404 (Not Found)
This happens regulary it works for 10 minutes and then stops working

Can you send us sample request ids and timestamps for those 404s?

s5198zdw-5000.euw.devtunnels.ms-1722403857042.log
Is this ok ?

network-log.zip
This is from an inspect page for another request that failed

Our logs indicate that the 404s were returned by the user application (i.e. your server) and it was that status code that our service forwarded to your client. Also, for the HTTP responses in the provided HAR file, the value for the X-Powered-By header is Express which would also come from your server, not the Dev Tunnels infrastructure/service.
It may that your client-side browser cache is requesting files that have since been removed/renamed on your server. For example, in the HAR file, there's a GET request to http://s5198zdw-5000.euw.devtunnels.ms/chunk-EC5ID3OO.js that contains the caching headers if-modified-since: Wed, 31 Jul 2024 05:29:46 GMT and if-none-match. The 404 response was sent at Wed, 31 Jul 2024 05:41:44 GMT. If you're using something like webpack, it may be producing files with different file names during development as your code or imports get updated.
A solution here may be to disable browser caching, e.g. via Browser DevTools.


updating produceToTopic produce method to allow custom headers

I want to send metadata(as headers) on top of each message being produced by kafka Producer.  Currently, it only packs the key and value part of the message produced while the header part is not set.

Can you please add a description to the Pull Request

I'd like to see a unit test also. I'm also not sure how i feel about sharing a kwarg that way, can you show me what the function signature would look like.


Mouse events get buggy if mouse goes out of the window while holding clicks

fixes: https://github.com/vimaec/vim-webgl-viewer/issues/117


Add time order splitter

Implement time splitter for PDBbind dataset

Codecov Report

Merging #254 into master will decrease coverage by 6.56%.
The diff coverage is 97.29%.

@@            Coverage Diff             @@
##           master     #254      +/-   ##
==========================================
- Coverage   88.77%   82.21%   -6.57%
==========================================
  Files         108      110       +2
  Lines        5246     5357     +111
==========================================
- Hits         4657     4404     -253
- Misses        589      953     +364

I revised time order splitter.
You can use other CSV file of year table.

I revised time order splitter.
You can use other time list corresponding to dataset.


[PDI-19944] - After restarting Spoon, the 'Open File' Dialog defaults to user home in Spoon v9.4 ('Recents' in Spoon 9.5)

Includes fix for PDI-19981

:white_check_mark: Build finished in 30m 18s
Build command:
mvn clean verify -B -e -Daudit -amd -pl \
plugins/file-open-save-new/core,ui

:ok_hand: All tests passed!
Tests run: 1421, Failures: 0, Skipped: 6    Test Results

:information_source:  This is an automatic message


Stop sampling when exiting the Saadc methods

Prior to this commit, the onDrop function was being dropped immediately and not on exiting the Saadc sampling methods.
A few other places have been corrected also.
Thanks to Peter Hansen for pointing out this issue.

I reviewed these and concur.  Note for posterity and other Rust noobs, the reason the saadc.rs OnDrop wasn't working properly before (confirmed by still seeing high current after using sample()) is because by not assigning it to a variable (in a "let" statement), it was just a "temporary" and the scope of a temporary is basically the statement it's within.  That meant it was being dropped immediately after it was created, before any other code in the function ran.

bors r+


Problem to open the PiHole web interface

Problem/Motivation
Problem to open the PiHole web interface

(Why the issue was filed)
I update at the 4.0 version

Expected behavior
open the web page interface using Ingress
Actual behavior
I take an error:
Failed Host Check: domain.com vs <IP_ADDRESS>, , a0d7b954-pi-hole, pi.hole, localhost, ubuntu, ubuntu.local, pihole.domain.com
Steps to reproduce
I just updated
So I just update at the 4.0 version
and I choose to use Ingress in order to open the webpage
but when I click I take Failed Host Check error.
Thanks a lot all
Denis

I am getting the same error, on previous version everything worked perfectly

{   "update_lists_on_start": true,   "ssl": true,   "certfile": "fullchain.pem",   "keyfile": "privkey.pem",   "interface": "",   "ipv6": true,   "ipv4_address": "",   "ipv6_address": "",   "virtual_host": "!secret base_url",   "hosts": [     {       "name": "hassio.local",       "ip": "<IP_ADDRESS>"     },     {       "name": "djlujo.duckdns.org",       "ip": "<IP_ADDRESS>"     },     {       "name": "Simes-iPhone",       "ip": "<IP_ADDRESS>"     },     {       "name": "Simes-iPhone",       "ip": "<IP_ADDRESS>"     },     {       "name": "lujo-pc",       "ip": "<IP_ADDRESS>"     }   ] }

  [i] Status: Pending...

  [✓] Status: Retrieval successful

  [i] Target: www.stopforumspam.com (toxic_domains_whole.txt)
  [i] Status: Pending...

  [✓] Status: Retrieval successful

  [i] Target: raw.githubusercontent.com (HOSTS%20(including%20excessive%20GOV%20URLs))
  [i] Status: Pending...

  [✓] Status: Retrieval successful

  [i] Consolidating blocklists...

  [✓] Consolidating blocklists
  [i] Extracting domains from blocklists...

  [✓] Extracting domains from blocklists
  [i] Number of domains being pulled in by gravity: 424711
  [i] Removing duplicate domains...

  [✓] Removing duplicate domains
  [i] Number of unique domains trapped in the Event Horizon: 256628
  [i] Number of whitelisted domains: 21...

  [i] Number of whitelisted domains: 21
  [i] Number of blacklisted domains: 1
  [i] Parsing domains into hosts format...

  [✓] Parsing domains into hosts format
  [i] Cleaning up stray matter...

  [✓] Cleaning up stray matter

  [✓] DNS service is running
  [✓] Pi-hole blocking is Enabled
[cont-init.d] pihole.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[18:44:12] INFO: Starting PHP-FPM...
[18:44:12] INFO: Starting Pi-Hole FTL...
[2019-08-27 18:44:12.191 1634] Using log file /var/log/pihole-FTL.log
[2019-08-27 18:44:12.191 1634] ########## FTL started! ##########
[2019-08-27 18:44:12.191 1634] FTL branch: master
[2019-08-27 18:44:12.191 1634] FTL version: v4.3.1
[2019-08-27 18:44:12.191 1634] FTL commit: b60d63f-dirty
[2019-08-27 18:44:12.191 1634] FTL date: 2019-05-25 21:37:26 +0200
[2019-08-27 18:44:12.191 1634] FTL user: pihole
[2019-08-27 18:44:12.191 1634] Starting config file parsing (/etc/pihole/pihole-FTL.conf)
[2019-08-27 18:44:12.191 1634]    SOCKET_LISTENING: only local
[2019-08-27 18:44:12.191 1634]    AAAA_QUERY_ANALYSIS: Show AAAA queries
[2019-08-27 18:44:12.191 1634]    MAXDBDAYS: max age for stored queries is 365 days
[2019-08-27 18:44:12.191 1634]    RESOLVE_IPV6: Resolve IPv6 addresses
[2019-08-27 18:44:12.191 1634]    RESOLVE_IPV4: Resolve IPv4 addresses
[2019-08-27 18:44:12.191 1634]    DBINTERVAL: saving to DB file every minute
[2019-08-27 18:44:12.191 1634]    DBFILE: Using /etc/pihole/pihole-FTL.db
[2019-08-27 18:44:12.191 1634]    MAXLOGAGE: Importing up to 24.0 hours of log data
[2019-08-27 18:44:12.191 1634]    PRIVACYLEVEL: Set to 0
[2019-08-27 18:44:12.191 1634]    IGNORE_LOCALHOST: Show queries from localhost
[2019-08-27 18:44:12.191 1634]    BLOCKINGMODE: Null IPs for blocked domains
[2019-08-27 18:44:12.191 1634]    ANALYZE_ONLY_A_AND_AAAA: Disabled. Analyzing all queries
[2019-08-27 18:44:12.191 1634]    DBIMPORT: Importing history from database
[2019-08-27 18:44:12.191 1634]    PIDFILE: Using /var/run/pihole-FTL.pid
[2019-08-27 18:44:12.191 1634]    PORTFILE: Using /var/run/pihole-FTL.port
[2019-08-27 18:44:12.191 1634]    SOCKETFILE: Using /var/run/pihole/FTL.sock
[2019-08-27 18:44:12.191 1634]    WHITELISTFILE: Using /etc/pihole/whitelist.txt
[2019-08-27 18:44:12.191 1634]    BLACKLISTFILE: Using /etc/pihole/black.list
[2019-08-27 18:44:12.191 1634]    GRAVITYFILE: Using /etc/pihole/gravity.list
[2019-08-27 18:44:12.191 1634]    REGEXLISTFILE: Using /etc/pihole/regex.list
[2019-08-27 18:44:12.191 1634]    SETUPVARSFILE: Using /etc/pihole/setupVars.conf
[2019-08-27 18:44:12.192 1634]    AUDITLISTFILE: Using /etc/pihole/auditlog.list
[2019-08-27 18:44:12.192 1634]    MACVENDORDB: Using /etc/pihole/macvendor.db
[2019-08-27 18:44:12.192 1634]    PARSE_ARP_CACHE: Active
[2019-08-27 18:44:12.192 1634] Finished config file parsing
[2019-08-27 18:44:12.192 1634] Database version is 3
[2019-08-27 18:44:12.193 1634] Database successfully initialized
[2019-08-27 18:44:12.193 1634] New forward server: <IP_ADDRESS> (0/512)
[2019-08-27 18:44:12.193 1634] New forward server: <IP_ADDRESS> (1/512)
[2019-08-27 18:44:12.193 1634] New forward server: <IP_ADDRESS> (2/512)
[2019-08-27 18:44:12.194 1634] Resizing "/FTL-strings" from 4096 to 8192
[2019-08-27 18:44:12.201 1634] New forward server: <IP_ADDRESS> (3/512)
[2019-08-27 18:44:12.201 1634] Resizing "/FTL-strings" from 8192 to 12288
[2019-08-27 18:44:12.205 1634] Resizing "/FTL-strings" from 12288 to 16384
[2019-08-27 18:44:12.211 1634] Resizing "/FTL-queries" from 229376 to 458752
[2019-08-27 18:44:12.211 1634] Resizing "/FTL-strings" from 16384 to 20480
[2019-08-27 18:44:12.213 1634] Resizing "/FTL-strings" from 20480 to 24576
[2019-08-27 18:44:12.216 1634] Resizing "/FTL-strings" from 24576 to 28672
[2019-08-27 18:44:12.219 1634] Resizing "/FTL-strings" from 28672 to 32768
[2019-08-27 18:44:12.221 1634] Resizing "/FTL-queries" from 458752 to 688128
[2019-08-27 18:44:12.222 1634] Resizing "/FTL-strings" from 32768 to 36864
[2019-08-27 18:44:12.223 1634] Resizing "/FTL-strings" from 36864 to 40960
[2019-08-27 18:44:12.226 1634] Imported 9583 queries from the long-term database
[2019-08-27 18:44:12.226 1634]  -> Total DNS queries: 9583
[2019-08-27 18:44:12.226 1634]  -> Cached DNS queries: 380
[2019-08-27 18:44:12.226 1634]  -> Forwarded DNS queries: 4271
[2019-08-27 18:44:12.226 1634]  -> Exactly blocked DNS queries: 4932
[2019-08-27 18:44:12.226 1634]  -> Unknown DNS queries: 0
[2019-08-27 18:44:12.226 1634]  -> Unique domains: 1911
[2019-08-27 18:44:12.226 1634]  -> Unique clients: 3
[2019-08-27 18:44:12.226 1634]  -> Known forward destinations: 4
[18:44:12] INFO: Starting NGinx....
nginx: [alert] detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html)
[2019-08-27 18:44:12.226[27/Aug/2019:18:46:07 +0200] 400 -(<IP_ADDRESS>) \x16\x03\x01\x05\xB7\x01\x00\x05\xB3\x03\x03\x9Fl\xBA\xE1\xEFZ\xBC?\x99*$\xBA?\xA5\xAB\x11\xAF)\xC6\x96u=\xDF\x17\xF2\x17]+\xBF\x05\xB5( \xF1\xBF\xE2*\x90\xBDG\x8E+\x0C~sR\xE6\xF2\xC2\x7F\x9A\xAE\x02\xFETa\xFD\xF7\x8C\x9D\x05[\xEC\xF9\x87\x00\x22\x8A\x8A\x13\x01\x13\x02\x13\x03\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00/\x005\x00 (-)
2019/08/27 18:46:15 [error] 1685#1685: *2 access forbidden by rule, client: <IP_ADDRESS>, server: a0d7b954-pi-hole, request: "GET /admin/queries.php HTTP/1.1", host: "<IP_ADDRESS>:4865"
[27/Aug/2019:18:46:15 +0200] 403 -(<IP_ADDRESS>) GET /admin/queries.php HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3887.7 Safari/537.36)
[27/Aug/2019:18:46:24 +0200] 400 -(<IP_ADDRESS>) \x16\x03\x01\x05\xB7\x01\x00\x05\xB3\x03\x031\x0F%0m\xF7AC\x8Ed\x80f\xA5\xB7\xA76fLZ`kH\x220\x9D\xBA/\xD8\x9F\xE3\xBA< \x88\x94a\xBF\xFB\xDA<%\xDA\xCCx\xB3\x7FD\xED\x8E6\x1E\x0C\x02Y\x5Cu\xB0Rl\xEF\x03\x95cH\xD8\x00\x22\xAA\xAA\x13\x01\x13\x02\x13\x03\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00/\x005\x00 (-)

nope i had port forward before and accessed it like that, but now even that doesnt work anymore

another error popped up :
2019/08/27 23:05:22 [error] 1685#1685: *4 FastCGI sent in stderr: "PHP message: PHP Warning:  error_log(/var/log/lighttpd/error.log): failed to open stream: No such file or directory in /var/www/html/admin/scripts/pi-hole/php/auth.php on line 17" while reading response header from upstream, client: <IP_ADDRESS>, server: a0d7b954-pi-hole, request: "GET / HTTP/1.1", upstream: "fastcgi://<IP_ADDRESS>:17276",

@sinclairpaul yes i have dns server configured and that error was in log i guess i just didnt select all:(

Thanks a lot for the fix.
Can we add this fix to pihole with out wait the updated version please ?
I just add the "proxy_set_header Host pi.hole;" to the server_params.conf  file
but when I restart the docker that record was cancelled :-(
Thanks again

Any news on a fix for this? I'm having the same problem after updating to 4.0


feature request - update dynamically

Would it be possible to have the display update dynamically? i.e. not have to refresh the page? Perhaps it could then update every second, if desired. (perhaps too much data for a WAN though).

Hi,
Apologies for taking just under two months to respond to this!
Sadly dynamic updates are beyond the scope of the script (let along my abilities, I'm a systems engineer by profession rather than a developer!).
The main concern is that it would be too many RPC calls for the Bitcoin daemon, if you imagine many people with open dynamic connections, it'd be possible to create hundreds of connections from the script.
If you require a dynamic feel, you can shorten the cache time to something more suitable like 2 or 3 minutes.
Hope that helps!
Craig


If a refresh deletes the default version, a constraint violation error occurs

Describe the bug
If a workflow has a default version and a refresh of the workflow would cause the default version to go away, a constraint violation exception occurs.
To Reproduce

As Natalie, go to My Workflows, then select github.com/NatalieEO/dockstore-tool-bamstats, using prod data from 10/22.

The default version for this workflow is wdl
Neither the branch nor tag wdl exists on GitHub.

Refresh the workflow
You get org.hibernate.exception.ConstraintViolationException: could not execute statement could not execute statement ERROR: update or delete on table "workflowversion" violates foreign key constraint "fk_workflow_default_workflowversion" on table "workflow" Detail: Key is still referenced from table "workflow".

Expected behavior
Should work without an error.
Additional context

UI version: 2.6.3
Webservice version: 1.9.2

Happens with both hardRefresh and without.
┆Issue is synchronized with this Jira Story
┆Fix Versions: Dockstore 1.11
┆Issue Number: DOCK-1622
┆Sprint: Sprint 54- Cat shark
┆Issue Type: Story

As I recall, this was sort of tricky to reproduce, but I tried it with one of my workflows on dev, where the default branch had been deleted on GitHub and it worked.
Webservice - 0311203
UI - 2.7.3-36-gb7a996fa
Compose Setup - f24bc92
Deploy - 1.10-25-gf68b014


allow ember-cli-fastboot-build to run without ember-cli-build

Here's a better PR. It allows for the scenario when you want to run both ember-cli-build and ember-cli-fastboot-build build steps and need to reconcile the url rewriting in the fastboot index file, as well as the scenario where you want to only do an ember-cli-fastboot-build, in which case you wont need to do that rewriting step, as the ember-cli-build.js file can take care of that for you. Also, in the case where you want to solely do the ember-cli-fastboot-build, i'm putting the outputs into the distDir and distDirFiles properties so that downstream steps don't have to be adjusted to look in a different place for the build outputs (really cleans up the deploy.js file)

amazing, deploying this to the ember api docs staging now :pray:

Nice!

It works! :tada: thanks!

This is out in 1.0.2 :+1:


Script to cleanup unused Icons

As discussed in https://github.com/FlorianWoelki/obsidian-icon-folder/issues/153, having a lot of icons in the folder leads to syncing errors and a high vault size.
If you have a rather static set of icons, you can now use the attached script to delete all unused icons.
All you need to do is download this file into the obsidian\plugins\obsidian-icon-folder folder and run it.
Unfortunately, I do not have much experience in developing typescript-based scripts and plugins, so I wrote this in Python.
Future Ideas:
Translate it to Typescript and integrate it into the options page of your plugin
Add a button to the option page of your plugin that redownloads every icon pack (for easier adding of items after using this script)
In my case, the scripts outputs the following:
Warning: `data.json` assigned 90 unique icons, but only 42 of those have been found on the disk.
Delete 7328 files (keep 42)? (y/N)
y
Deleting...
Deleted 7328 icon files.
(the icons that are assigned but not found on disk are likely due to deleted pages or icon files that have been lost during sync)

Regarding that check i implemented, im quite confused.
I added a line to print which files can not be found on disk, and indeed, even if I re-download the item packs and all items are available via the search, some can not be found in the file explorer, even when searching manually.
Do you store some of the icons at a different location?
Warning: `data.json` assigned 90 unique icons, but only 50 of those have been found on the disk.
could not match the following defined icons ['font-awesome-solid/SolarPanel.svg', 'font-awesome-brands/GooglePlay.svg', 'font-awesome-solid/ChartGantt.svg', 'remix-icons/Building2Fill.svg', 'remix-icons/TestTubeFill.svg', 'font-awesome-solid/Palette.svg', 'font-awesome-solid/ClipboardList.svg', 'simple-icons/Webpack.svg', 'font-awesome-solid/Robot.svg', 'font-awesome-brands/Angular.svg', 'lucide-icons/LayoutTemplate.svg', 'remix-icons/LightbulbFlashFill.svg', 'font-awesome-solid/Lightbulb.svg', 'remix-icons/FontColor.svg', 'simple-icons/Microsoftoffice.svg', 'lucide-icons/Bike.svg', 'simple-icons/Kasasmart.svg', 'lucide-icons/Banana.svg', 'font-awesome-solid/Key.svg', 'simple-icons/Googleassistant.svg', 'lucide-icons/Shovel.svg', 'font-awesome-solid/Dragon.svg', 'font-awesome-solid/PiggyBank.svg', 'remix-icons/MentalHealthLine.svg', 'font-awesome-solid/CartShopping.svg', 'font-awesome-solid/Chair.svg', 'font-awesome-solid/HardDrive.svg', 'font-awesome-solid/7.svg', 'font-awesome-solid/MoneyCheckDollar.svg', 'font-awesome-solid/Tooth.svg', 'font-awesome-brands/Amazon.svg', 'font-awesome-solid/Inbox.svg', 'font-awesome-solid/CalendarDays.svg', 'remix-icons/ComputerFill.svg', 'lucide-icons/ChefHat.svg', 'font-awesome-solid/Download.svg', 'font-awesome-solid/MartiniGlass.svg', 'font-awesome-solid/Code.svg', 'lucide-icons/Tent.svg', 'font-awesome-solid/Shirt.svg']
Delete 7523 files (keep 50)? (y/N)

Thank you for the script. I'll leave this PR open for now for reference and possible further use.
No, all the icons are saved in the defined icons folder.

I went a bit ham, trying out various scenarios with your code, and ended up with this garbled mess:
Clicky Code

import re
import json
import pathlib
from os import remove
import tkinter as tk
from tkinter import filedialog

iconset_mapping = {
    "Fas": "font-awesome-solid",
    "Fab": "font-awesome-brands",
    "Far": "font-awesome-regular",
    "Fo": "fontawesomepro",
    "Ri": "remix-icons",
    "Si": "simple-icons",
    "Li": "lucide-icons",
    "Ib": "icon-brew",
}

root = tk.Tk()
root.withdraw()

# Select the data file
data_file = filedialog.askopenfilename(title="Select data file", filetypes=[("JSON files", "*.json")])

# Select the icons directory
icons_path = filedialog.askdirectory(title="Select icons directory")

# Check if the user selected a file and directory
if data_file and icons_path:
    # Use the selected file and directory
    cur_path = pathlib.Path(__file__).parent.resolve()
    icons_path = pathlib.Path(icons_path)
else:
    # Use the default file and directory
    cur_path = pathlib.Path(__file__).parent.resolve()
    data_file = pathlib.Path(cur_path, "data.json")

cur_path = pathlib.Path(__file__).parent.resolve()
data_file = pathlib.Path(cur_path, "data.json")
icons_path = pathlib.Path(cur_path, "icons")

def get_icon_path(icon_name):
    # Find the prefix by looking at the first capitalized letter up until the next capitalized letter
    match = re.match(r"([A-Z][a-z]*)(?=[A-Z])", icon_name)
    if match:
        iconset_key = match.group(1)
    else:
        iconset_key = "unknown"

    iconset_foldername = iconset_mapping.get(iconset_key, "unknown")
    normalized_name = icon_name[len(iconset_key):]
    return pathlib.Path(icons_path, iconset_foldername, normalized_name + ".svg")

files_used = []
with open(data_file, "r") as f:
    data = json.load(f)
    data.pop("settings")
    for key, value in data.items():
        if isinstance(value, dict):
            icon_name = value.get("iconName", None)
            if icon_name:
                files_used.append(get_icon_path(icon_name))
        elif isinstance(value, str):
            files_used.append(get_icon_path(value))

files_to_remove, files_to_keep = [], []

for icon in icons_path.glob("**/*.svg"):
    (files_to_remove if str(icon) not in map(str, files_used) else files_to_keep).append(icon)

if len(files_used) != len(files_to_keep):
    print(
        f"Warning: `data.json` assigned {len(files_used)} unique icons, but only {len(files_to_keep)} of those have been found on the disk."
    )
    print(
        "could not find the following icons on disk:",
        [
            str(f.relative_to(icons_path)).replace("\\", "/")
            for f in files_used
            if f not in files_to_keep
        ],
    )

# List all files to keep
# print(f"Found these files to keep:")
# for f in files_to_keep:
#     print(f.name)

print(f"Delete {len(files_to_remove)} files (keep {len(files_to_keep)})? (y/N)")

if input().lower() in {"yes", "y", "ye"}:
    print("Deleting...")
    for f in files_to_remove:
        f.unlink()
    print(f"Deleted {len(files_to_remove)} icon files.")
else:
    print("Nothing was deleted.")

This effectively gives the user a dialog asking for location of data.json and the icons folder.
It then iterates over data.json looking for filenames with prefixes from iconset_mapping (super basic assuming it's formatted in "[Prefix starting with capitalised letter][Filename without svg extension]".
Smacks that in a list.
Gathers all .svg files from icons folder and subfolders into another list.
Compares the two and sorts them into files_to_keep and files_to_delete.
zoop zap zoom, it's done (hopefully).

I am very new to the whole PR stuff, so I thought I'd drop this here instead - Hopefully I'm not breaking any code of conduct here.

Closing this PR because a new syncing mechanism has been implemented.


fix: AU-XX - Webform changes for the Projekti form

AU-XX

What was done

Updated the kävijämäärät component as per new specs from monday's meeting
Fixed the input mask for postinumero

How to install

Make sure your instance is up and running on correct branch.

git checkout feature/AU-889-kuva-projektihakemus-webform-again
make fresh

Run make drush-cr

How to test

[ ] Check that the form works
[ ] Check that the input mask in the single postinumero field on the Yleisölle avoin toiminta section in page 4 is correct
[ ] Check that code follows our standards

no hittolainen. mä tsekkaan.


Localhost URLs are not recognized when parsing documents

When testing it is useful to be able to use localhost pages, but these are not recognized by the parser.  E.g. in a simple text document like this, the link is not recognized and thus not explored:
http://localhost/page/1

Unit test to demonstrate: https://github.com/pgalbraith/crawler4j/commit/c2a424751694095ea46b90f1e7aefca892e16397