Node Remote Debug takes up to 1 min to attach when using Docker for Mac

VSCode Version: 1.32.0-insider (1.32.0-insider)
OS Version: Osx Mojave 10.14.3
Docker Version: <IP_ADDRESS>
Node 11.9

Steps to Reproduce:

Run a node application using --inspect in a docker container
Attempt to attach to remote application. It will take up to 1 minute to attach (i.e the orange bar appears in Vscode)

As soon as you run step 1, the Debugger Attached message appears in the container's console. Visual Studio Code still looks like it is trying to attach. After sometime up to 1 minute the debugger will attach and will hit the breakpoints like normal.
We have some developers who are working on the same project but using Windows. For them the debugger attach process is very fast.
I have attached a trace captured during the attached process from both Windows and Mac machines. This appears to be occurring on all our Mac machines.

Does this issue occur when all extensions are disabled?: Yes
Does the occur on Mac non-insider builds: Yes
Does this occur on Windows builds: No
debugadapter.mac.txt
debugadapter.windows.txt

@roblourens do you spot anything in the traces that would explain the slow attach?

The mac one is definitely slower but there is not one thing that is slower, it just takes a very long time to receive scriptParsed notifications from the runtime and process their sourcemaps. The windows machine is doing the same amount of work in just a couple seconds.
Is the mac a fast machine with a decent amount of free memory and nothing hogging the CPU at the same time?

My Mac is a core i9 MacBook Pro with 32 go of ram. There is 8gb of ram allocated to docker.
It appears to affect all our MacBooks all 2018 and above. We are working on the same project with the windows guys and they can attach very quickly.
We only have code, outlook, Skype and docker running on our Macs.
Like I mentioned previously. Debugger attached is display immediately after attach then waiting for the breakpoint to be hit.

My guess would be that the network is slow between node in Docker and the debug adapter, but I don't know enough about Docker to troubleshoot it.
You could try attaching with chrome devtools to see whether it's equally slow? Navigate to http://<IP_ADDRESS>:6861 in a browser to see the available targets. I guess symptoms would be scripts and their sources showing up slowly in the "Sources" tab.

Hi Rob,
I tried using the url above but got Websocket request was expected. However, I then used chome://inspect and the node dev tools.
The chrome dev tools opened instantly and displayed the sources. I could also hit a break point straight away however chrome did not show source maps so it was the raw Javascript and not the Typescript files.
I see the issue #69415 posted today is also reporting the same problem.
Regards,
Tarek

I guess the other one was different. I'm not sure what's going on here

Did you start the vscode debugger immediately after starting node or did it have a minute to start up?
Are you sure all the sources were immediately available in chrome devtools or is it possible that your app scripts were immediately available but some of the node_modules were loading progressively for a while afterwards? For example if I pick a script at random that loaded late, file:///home/app/node_modules/compressible/index.js, you could find that and check how long it takes to show up in devtools.

Otherwise you could try taking another log to see if it picks up anything else?

 We periodically try to attach to node to debug code changes this used to be a very quick process. So to answer your first question we definitely already have node running when we attach.
In chrome dev tools  the source are immediately available (without sourcemaps) and i can find the file using {Command} P and searching for compressible ... i can even browse the folders in the source tabs and see all the files.
I set trace to verbose and run again to see if it has more info
debugadapter.txt
Let me know if I can provide any more information.

Thanks. That shows the same thing as far as I can tell. A couple random things to try, set with "sourceMaps": false, and try removing the localRoot and remoteRoot. You won't be able to set breakpoints but see if it finishes attaching any faster.

Its the same. I tried the following -
{
  "name": "Attach Id API",
  "type": "node",
  "request": "attach",
  "port": 6861,
  "address": "<IP_ADDRESS>",
  "restart": false,
  "sourceMaps": false,
  "smartStep": false,
  "protocol": "inspector",
  "timeout": 0,
  "trace": "verbose"
}

debugadapter.txt

I inlined the sourcemaps and the source using typescript so I can see the source code now in the Chrome DevTools.
I then tried debugging using the Chrome DevTools.

It seems to attach instantly and displays sourcemaps.
I can hit a break point in about 1-2 secs (open dev tools and fire a request using Postman)

In VSCode these changes mode no difference. Still takes a minute or so to attach.

That's very weird. Is it possible for you to share the project/docker setup for me to try? Alternately I could give you steps to start the debug adapter in debug mode so you can capture a perf profile to see where it's spending its time, if you are willing to do that.
@weinand we could have a nice builtin way to capture profiles for node-based DAs like we do for the EH in vscode (although this is probably the first time I've wanted it!)

Hi,
I am willing to start adapter in debug mode ... I will try and create a project for you also (but will have to be done after work) .. can we try both?
Regards,
Tarek

Hi Rob,
I have created a minimal project and a debug trace from my computer.  In a nutshell, the effect is not as bad with this project because it is small but there is still a noticeable delay.
To use please do the following:

Extract zip
NPM install
docker-compose up
Attach Api (in Debug)

Files
debug-test.zip
debugadapter.txt
Hope that helps :)

Thanks! I am able to repro this. The debug adapter is indeed taking a long time to process each script event by doing some unnecessary work.

Ok please try this in tomorrow's Insiders build. It should be much faster. It is still technically still doing a lot more than it needs to be but I can't refactor too much at this point in the month and it should be much faster.

Thanks for your hard work!. We look forward to giving it a try tomorrow.

Hi @roblourens,
I have been testing your fix today .. and this is what I have found.

The orange debug status bar now appears almost instantly 👍 .
Breakpoints cannot be hit until after about 30-40 seconds 👎 .

Does this comment "It is still technically still doing a lot more than it needs to be but I can't refactor too much at this point in the month but it should be usable" mean you will be working on this further? if so, is there an github ticket to watch?
Thanks for your help :)
Regards,
Tarek

I have to look at this some more next week. I had to revert the change anyway.

Alright, take 2, please try in Monday's Insiders build.

@roblourens just wanted to say thanks for fixing this issue. It works great and attaches instantly.

Awesome, thanks for confirming.


fab button and fab label space

I want to reduce the space between fab label and fab button but I dont have acces to fabButton margin.I tried it also giving padding and margin of label as zero but still problem persists.Please help for this.

Agreed, I think it will be interesting. :)


404 for https://swiftpackageindex.com/fummicc1/EasyFirebaseSwift

recently added, doesn’t seem to be private or renamed

It's loading correctly on staging
https://staging.swiftpackageindex.com/fummicc1/EasyFirebaseSwift

Ok, this has auto-corrected itself after re-analysis. The default branch was changed and the issue was that the version hadn't yet caught up. I.e. we had no latest == default_branch version, because the ref was still .branch(develop) while repositories was already on default_branch == main.
We could consider somehow shortening the window during which this is exposed but a) it's only an issue for a short while in the rare occasion that a default branch is changed and b) any fix for this would probably be rather complicated as we'd need to somehow communicate across processing stages.
BTW, I'm pretty sure we wouldn't have shown the package in the "recently added" list (where I found it) in the past, because it'd have no package name (because it has no default version). I feel like this is somewhat preferable over showing it but 404ing.


Attribute error on certain galleries

When I attempt to download from certain subscription based galleries I get the following error.
C:\Users\Owner\OneDrive\Desktop\fakku-downloader-master>python main.py
Using cookies file: cookies.pickle
Traceback (most recent call last):
File "C:\Users\Owner\OneDrive\Desktop\fakku-downloader-master\main.py", line 140, in
main()
File "C:\Users\Owner\OneDrive\Desktop\fakku-downloader-master\main.py", line 137, in main
loader.load_all()
File "C:\Users\Owner\OneDrive\Desktop\fakku-downloader-master\downloader.py", line 224, in load_all
artist = artist.string
AttributeError: 'NoneType' object has no attribute 'string'

Which gallery are you trying to download?

There are others but right now I've been using https://www.fakku.net/hentai/eros-in-wonderland-chapter-3-english as a test.

Did a fresh install.  Works now.  There must have been a change in the code.


Missing default image

Since the version 6.5.0 images folder seem to have been missing and thus the theme setting default_featured_image do not work. We probably should still have some default image in the theme, even we change it in every project.

The featured image got left out from styles in the changes after v6 aiming to go towards even more minimalism and less bloat. The idea here is to have default color instead of default image as images are always a hassle to update and extra weight anyway. This made sense when noticed that most of the projects images/ folder contained only default.jpg that was not even used.
I vote for that we have no featured image if there is no image set. It can be set up separately per project and it's the same effort but I rather not keep it by default. Maybe the default.jpg part should be commented out. What do you suggest?

In the case we not having default image bundled, we probably shouldn't have the default_featured_image defined in theme settings or at least not used in the hero template part.
I don't have an opinion towards having or not having the default tho, we'll just need to be consistent about in across the theme files.

That is true. To be honest, I totally forgot about that function when updating those styles. Can we have best from both worlds and add a check that will not call it at all if there is no file?


Adjust the SDK PR link as a reason to skip SDK e2e test

Issue link

N/A
What changes have been made

Update the reason for skipping SDK e2e test.
Verification steps

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] Testing is not required for this change

/lgtm

/approve


remove 'index' from imports

some components have unnecessary '/index' in the import
e.g. etc

src/components/InputField/index.js
scripts/createComponent.js

redundant due to #94


Enabling CORS for local development

I am able to enable CORS for local development using a local.settings.json file and running the project from Visual Studio. However, the docker image uses the runtime to host the project, which ignores local.settings.json.
Is there an environment variable that I can set instead to make the runtime use CORS? Or is there another approach I should use?

@ahmelsayed I suspect you helped enable this for the core tools when running local. Any idea what would be required to enable this in the docker scenarios?

I also encountered this issue from my docker container and I've tried proxies.json but no luck, the only thing that seemed to work was actually modifying the request but this isn't a good solution as it would require all your functions to call a method to set the headers
public IActionResult Negotiate(
	[HttpTrigger(AuthorizationLevel.Anonymous, "post", "options", Route = "negotiate")]HttpRequest req,
	[SignalRConnectionInfo(HubName = "myHub", UserId = "<userId>")]SignalRConnectionInfo connectionInfo,
	ILogger log)
{
	try
	{
		if (!req.HttpContext.Response.Headers.ContainsKey("Access-Control-Allow-Credentials"))
		{
			req.HttpContext.Response.Headers.Add("Access-Control-Allow-Credentials", "true");
		}
		if (req.Headers.ContainsKey("Origin") && !req.HttpContext.Response.Headers.ContainsKey("Access-Control-Allow-Origin"))
		{
			req.HttpContext.Response.Headers.Add("Access-Control-Allow-Origin", req.Headers["Origin"][0]);
		}
		if (req.Headers.ContainsKey("Access-Control-Request-Headers"))
		{
			req.HttpContext.Response.Headers.Add("Access-Control-Allow-Headers", req.Headers["access-control-request-headers"][0]);
		}
		log.LogInformation("negotiate API succeeded.");
		if (connectionInfo == null)
		{
			return new NotFoundObjectResult("Azure SignalR not found.");
		}
		return new OkObjectResult(connectionInfo);
	}
	catch
	{
		return new BadRequestResult();
	}
}


Option '--debug' does not work

The --debug global option does not work.
It should have made the command print full debug log statements.

This issue is part of release 0.7.1


Set up the development environment

Acceptance Criteria:
A local development environment is configured with all necessary dependencies.
The project repository is cloned, and the basic structure is set up.
Definition of Done:
The development environment is working on all team members' machines without issues.

Estimated Story Points: 3 (S)


nixos/networkd: support netdev MAC addresses

Description of changes
According to systemd.netdev manpage:
MACAddress=
           Specifies the MAC address to use for the device, or takes the special value "none". When "none", systemd-networkd does not request the MAC address for
           the device, and the kernel will assign a random MAC address. For "tun", "tap", or "l2tp" devices, the MACAddress= setting in the [NetDev] section is
           not supported and will be ignored. Please specify it in the [Link] section of the corresponding systemd.network(5) file. If this option is not set,
           "vlan" device inherits the MAC address of the master interface. For other kind of netdevs, if this option is not set, then the MAC address is
           generated based on the interface name and the machine-id(5).

           Note, even if "none" is specified, systemd-udevd will assign the persistent MAC address for the device, as 99-default.link has
           MACAddressPolicy=persistent. So, it is also necessary to create a custom .link file for the device, if the MAC address assignment is not desired.

Therefore, none is an acceptable value.
Things done

Built on platform(s)

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

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

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

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

Fixes #221348.

For some reason it started rejecting my configiration:
  systemd.network.netdevs."30-br0" = {
    netdevConfig.Name = "br0";
    netdevConfig.Kind = "bridge";
    netdevConfig.MACAddress = "B0:B0:B0:B0:B0:B0";
  };

$ nix build --no-link -f nixos system -j4 --keep-going
trace: Systemd Netdev field `MACAddress` must be a valid MAC address or the special value `none`.
trace: Systemd Netdev field `MACAddress` must be a valid MAC address or the special value `none`.
error:
       … while calling the 'head' builtin

         at /home/slyfox/dev/git/nixpkgs/lib/attrsets.nix:820:11:

          819|         || pred here (elemAt values 1) (head values) then
          820|           head values
             |           ^
          821|         else

       … while evaluating the attribute 'value'

         at /home/slyfox/dev/git/nixpkgs/lib/modules.nix:768:9:

          767|     in warnDeprecation opt //
          768|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          769|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: A definition for option `systemd.network.netdevs."30-br0".netdevConfig' is not of type `attribute set of (systemd option)'. Definition values:
       - In `/etc/nixos/netaddr.nix':
           {
             Kind = "bridge";
             MACAddress = "B0:B0:B0:B0:B0:B0";
             Name = "br0";
           }

The condition is probably turned (but maybe i'm reading the assert condition backwards). This seems to help:
--- a/nixos/lib/systemd-lib.nix
+++ b/nixos/lib/systemd-lib.nix
@@ -66,7 +66,7 @@ in rec {
       "Systemd ${group} field `${name}' must be a valid MAC address.";

   assertNetdevMacAddress = name: group: attr:
-    optional (attr ? ${name} && (! isMacAddress attr.${name} || attr.${name} != "none"))
+    optional (attr ? ${name} && (! isMacAddress attr.${name} && attr.${name} != "none"))
       "Systemd ${group} field `${name}` must be a valid MAC address or the special value `none`.";

I'm so sorry, thank you, will send a fix.


Feature Request: Ensure GitHub Action Dependencies are Pinned

The GitHub Actions documentation on "Using 3rd Party Actions" states that users should:

Pin actions to a full length commit SHA
Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. When selecting a SHA, you should verify it is from the action's repository and not a repository fork.

However, GitHub does not currently provide a way for users to enforce this guideline when new GitHub Actions are added to a repository.  Instead, users are turning to 3rd party actions like the following:
https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions
At Teleport, we already use dependency review to look for security and license issues in incoming dependencies.  I'd also like dependency-review-action to have a way to enforce that dependencies are pinned.  I care about this feature for GitHub Actions more than my other ecosystems (go, javascript, terraform) because those ecosystems have lock files built into the dependency management toolchain.

@wadells thank you for taking the time to share your ideas.
I think this would be a nice thing to have, maybe added as a config option (another one 😅) to maintain support with existing users. I've tagged it and hopefully can get to this at some point in the future. If you want to open a pull request I'd be more than happy to help out getting this out quicker.


Initialize Analytics class using same conditionals as legacy analytics

There is currently no checks when initializing the new Analytics class from package:unified_analytics. We should use a similar initialization logic that was used for the legacy analytics when initializing
Snippet for legacy analytics shown below
https://github.com/flutter/flutter/blob/3273182a8e75ab6437e66e57ecbcd55a2e793757/packages/flutter_tools/lib/src/reporting/usage.dart#L148-L168

This was completed in

https://github.com/flutter/flutter/pull/134756


Upgrade to latest version of confluence-publisher

Please consider upgrading the confluence publisher dependency to the latest available version. Currently, 0.17.1 is available with several improvements and fixes from the version available in the 0.2.0 release of this project.

+1

It's already planned. Once I find the time, I'll do the upgrade and create a new version of the plugin. Hopefully within the next days.

Version 0.3.0 of the plugin, using version 0.17.1 of confluence-publisher is released.


add support for relative links to images

Who it's for
Users and plugin developers
Problem it solves
Whether a plugin developer uses .napari-hub/DESCRIPTION.md or their PyPI description (which often copies README.md), Github supports relative links for images, but then they are not displayed on the napari hub.
How it will work
When the plugin developer has provided relative links, we will attempt to resolve them if they have provided links to a valid Github repo.

@codemonkey800 Out of curiosity, is this something mostly pending code review or were their complications you identified that caused us to put it in the backlog?


Support for more dimensions than default ones.

Look into 20w14infinity version and how saves work.
This format may be used in the future or by mods.

add dimension parameter for commandline rendering

Work on custom dimensions is already ongoing:

rendering is finished
detection is discussed in #255 (and #242)
some internal restructuring is necessary for proper support
20w14infinity is the Aprils Fools version, other more reasonable documentation is available

Yes you are right, a command line switch to select the dimension is also necessary.

@BlaCoiso & @MajsterTynek could you please test this new version from PullRequest #283 with some Custom Dimensions?

I can try testing it, I also have a 20w14infinity world if that needs to be tested as well

20w14infinity was just an Aprils fool version. Implementation and format might have changed dramatically.
If it works, great. If not, we will not add support.
I implemented from documentation in Minecraft Wiki and tested with the last example world you have provided.

I removed the duplicate label, as now the only remaining part is: missing support on command line.

https://github.com/mrkite/minutor/blob/085e5192335eeb9d442885fd56f363a95601bde1/worldinfo.cpp#L78-L90
There can be multiple dimensions using the same dimension type, or dimension types with different names than the dimension itself; dimension type specifies properties like y limits, skylight, etc while dimension specifies biomes, worldgen settings and which type to use
https://github.com/mrkite/minutor/blob/085e5192335eeb9d442885fd56f363a95601bde1/worldinfo.cpp#L69-L75
Datapacks can also be just a subfolder instead of a zip, I'm assuming for now support for subfolders rather than zip files is not a priority
Other than this, loading the custom dimensions worked just fine, although the Y pos label is getting cropped (Y > 999 or Y < -99)

So I have to somehow  parse dimension and dimension_type. I will think about that.
Cropped Y is known, I hope that nobody (except you) will try something that large.
But it should be solvable with correct UI definition.

Dimension parameter should be possible to pair with --jump.
For example, I would want to make a script that opens
the current world at a current location I am in the game,
but for now, it defaults to the overworld and starts minimized. ¯\_(ツ)_/¯

So the dimension description may reference any dimension_type description. Even from a different pack or a vanilla one. That one may even be removed or invalid at that point. A real nightmare to find all combinations.
@BlaCoiso could you generate more working examples that reference e.g. a vanilla dimension_type or multiple dimensions that reference the same dimension_type?
I think I have the two-step lookout working now, but need some strange combinations for further testing.

@BlaCoiso now it should work correctly with custom dimensions within the same data pack and within a ZIP file.
We still have to test:

referencing dimension_type from a different source
using unpacked data packs (not in ZIP file)
(and add a command line parameter)


remove hover

@alonsogarciapablo could you take a look?

cc/ @saleiva

Can we avoid changing the mouse pointer as well?

@alonsogarciapablo also added these minor ui fixes - https://github.com/CartoDB/cartodb/issues/10439


tfcompile with --config=monolithic and -fvisibility=hidden results in undefined reference __xla_cpu_runtime_EigenMatMulF32

Some background first. For DeepSpeech, I have been experimenting simplification of our set of dependencies, trying to do a --config=monolithic build. The root cause for that was being able to run a SYCL-enabled build on my system (Ubuntu 17.10). Using OpenCL on this would trigger dependency load-chain that in the end loads libmirprotobuf. This would clash with the protobuf symbols already built in our libtensorflow_framework / libtensorflow_cc. To avoid this, monolithic build and forcing visibility=hidden seemed to be the best solution.
This allows us to move from those libraries (non tfcompile build, tfcompile adds libdeepspeech_model.so and all the XLA dependencies):

libdeepspeech.so
libdeepspeech_utils.so
libtensorflow_cc.so
libtensorflow_framework.so

To just:

libdeepspeech.so
libdeepspeech_utils.so

This way, we have all needed TensorFlow bits within libdeepspeech.so, and those symbols are not re-exported thus avoiding any unwanted interaction. I could get SYCL build nearly working on Intel GPU.
Adding tfcompile in the equation, however, lead to linking issues. Symptom would be that build completes, but when one links binary against the model's .so, then it fails with:
undefined reference __xla_cpu_runtime_EigenMatMulF32

Checking with objdump -t bazel-bin/tensorflow/compiler/xla/service/cpu/_objs/runtime_matmul/tensorflow/compiler/xla/service/cpu/runtime_matmul*.o | grep EigenMatMul would show that the symbol is properly built into runtime_matmul, but that it is hidden.
I would be able to solve that by exposing __xla_cpu_runtime_EigenMatMulF32 and __xla_cpu_runtime_EigenMatMulF64 through TF_EXPORT.

Dude...so many issues with the new tensorflow versions. I might have to consider switching to cafee or something! hahaha


Light mode support!?

First of all, wonderful theme and wonderful work! Wonder why this is not a default option.
Anyways, I was wondering if it would be possible to support any light themes? Blasphemous I know, but that is how I like to roll.
TIA!

Hey there!
First off, thank you so much for the kind words! I’m thrilled you’re enjoying the theme—it really means a lot. 😊 And hey, I totally agree—it’d be awesome if something like this were a default option in VSCode!
Apologies for the delay in getting back to you. Life's been a bit hectic for me around the end of the year, but I appreciate your patience.
Great news: we already support two light modes! 🎉 You can find their settings under the themes folder:

themes/Default Light.json
themes/Light (Only Subbar).json

If you have any other specific light themes you’d like me to look into making compatible, feel free to let me know—I’d be happy to explore it!
Thanks again for the suggestion and for being part of this community. Looking forward to your thoughts!
Cheers,
KrautGTI


CAP flights despawn problem

Sometimes CAP flights decide to RTB on different air bases which prevents them from despawning and spawning new ones. As soon as you destroy those the script spawns their replacement. This also happens if 1 of the group is killed (if group set to 2) and the other 1 decides to RTB at some random air base. I am not sure if this is the case with GCI flights as all the ones I observed are returning to the same air base and despawning.

Might be related to #7.
The script doesn't differntiate between airbases. It only checks if a unit has landed or crashed/pilot died. Maybe somehow the entry of the CAP in the flights table got removed prematurely.

Didn't occur since 8ba6252.


typeof / null checks not propagating to subsequent loops

Consider the following flow code:
function test(idx:?number):number {
	if(typeof idx != 'number') {
		idx = +idx || -1;
		if(idx == null) return 10; // A
		if(idx < 0) idx = 10;
		for(var i:number = 0; i < 10; ++i) {
			if(idx < 0) idx = i; continue;
		}
		if(idx < 0) idx = 10;
	}
	if(typeof idx != 'number') return 10; // B
	return idx;
}

The function takes an argument which may be a number or null or undefined and it returns a number.  The standard null check seems to work, as evidenced by the check at B.  But flow is still tripping up after the A check:
7: 			if(idx < 0) idx = i; continue;
         ^ null. This type cannot be compared to
7: 			if(idx < 0) idx = i; continue;
               ^ number
7: 			if(idx < 0) idx = i; continue;
         ^ undefined. This type cannot be compared to
7: 			if(idx < 0) idx = i; continue;
               ^ number
9: 		if(idx < 0) idx = 10;
        ^ null. This type cannot be compared to
9: 		if(idx < 0) idx = 10;
              ^ number
9: 		if(idx < 0) idx = 10;
        ^ undefined. This type cannot be compared to
9: 		if(idx < 0) idx = 10;
              ^ number

Oddly, if I remove the check inside the loop, flow doesn't complain.  So somehow the presence of the loop is forcing some type constraint erasure starting at the loop.

You can avoid the issue by saving a refined value of idx in a variable


Error: Cannot resolve module 'ansi-to-html-umd'

I get the following error on a clean clone (last commit is dbeb6a5da2b9cb42058993c922bb39912abf8102)
ERROR in (webpack)-hot-middleware/client.js?path=http://localhost:3000/__webpack_hmr
Module not found: Error: Cannot resolve module 'ansi-to-html-umd' in /Users/myuser/testproject/node_modules/webpack-hot-middleware
@ (webpack)-hot-middleware/client.js?path=http://localhost:3000/__webpack_hmr 82:11-38

Awesome, looks like a breaking dependency change somewhere. My app was working until I did a fresh npm install.
Looking into it.

This has been reported. Tracking https://github.com/glenjamin/webpack-hot-middleware/issues/80

Fixed in 2.8.1!

Yep, it works if I update webpack-hot-middleware from 2.6.0 to 2.8.1.


S/MIME APIs

The prototype IPP Encrypted Jobs and Documents v1.0 (TRUSTNOONE) specification sends sensitive IPP attributes and document data in S/MIME containers. Since this might be done with OpenSSL or GNU TLS, we need a CUPS API to expose this functionality.

[x] Function to convert an IPP attribute (1setOf text(MAX)) to a single string with newlines separating each value - this will allow X.509 certificates in attributes to be used.
[x] Function to convert a single string with newlines to an IPP attribute (1setOf text(MAX)) - necessary for servers to advertise their certificates and for clients to provide their certificate.
[ ] Function to write an encrypted S/MIME container with attributes, file, X.509 certificate, and optional password
[ ] Function to read an encrypted S/MIME container using a private key and optional password, producing attributes and an optional file (preferably with a callback vs. writing directly to disk)

The read/write functions should support the typical IO callback (like the IPP functions do).

Proposed API:
// <cups/ipp.h>
extern ipp_attribute_t *ippAddCredentialsString(ipp_t *ipp, ipp_tag_t group_tag, const char *name, const char *credentials) _CUPS_PUBLIC;
extern char *ippCopyCredentialsString(ipp_attribute_t *attr) _CUPS_PUBLIC;

// <cups/smime.h>
typedef struct _cups_smime_s cups_smime_t;
typedef ssize_t (*cups_smime_cb_t)(void *context, char *buffer, size_t bytes);

extern bool cupsSMIMEClose(cups_smime_t *smime) _CUPS_PUBLIC;
extern cups_smime_t cupsSMIMEOpen(const char *filename, const char *mode, const char *credentials, const char *key, const char *password) _CUPS_PUBLIC;
extern cups_smime_t cupsSMIMEOpenIO(void *context, cups_smime_cb_t cb, const char *mode, const char *credentials, const char *key, const char *password) _CUPS_PUBLIC;
extern ssize_t cupsSMIMERead(cups_smime_t *smime, char *buffer, size_t bytes) _CUPS_PUBLIC;
extern ssize_t cupsSMIMEWrite(cups_smime_t *smime, const char *buffer, size_t bytes) _CUPS_PUBLIC;

Tracking in smime branch...

RFC 8551 defines the current version of S/MIME.
RFC requirements:

MUST support encryption and decryption with AES-128 GCM and AES-256 GCM.
MUST support encryption and decryption with AES-128 CBC.

For purposes of this implementation, only use AES-256 GCM when writing and support them all for reading - this is consistent with the "rule 2" recommendations in section <IP_ADDRESS> since the current IPP TRUSTNOONE specification does not provide a way for the Client to discover the supported encryption methods.

TODO: Post question on IPP mailing list proposing a Printer Description attribute to provide this information?

OK, the OpenSSL CMS API doesn't allow for streaming read/write, at least not directly. Might be able to do a BIO method that handles reading/writing an IPP message with option attached data file.

OK, I've decided to defer more of this to future - I'll merge the ippAdd/CopyCredentialsString API stuff since that is immediately useful and save encoding/decoding S/MIME CMS messages for a future update.


mocks folder doesn't work

Describe the bug
__mocks__ is a common way (with Jest) to mock node-modules (and something helpers). But currently it doesn't seem to work. It works for my regular Jest setup that uses vite-tsconfig-paths.
Reproduction
https://stackblitz.com/edit/node-b3r6jj?file=src%2FSomeComponent.spec.tsx
I tried vite-tsconfig-paths (similar to my own setup), as well as Vite's own resolve alias config. Neither work.
System Info
System:
    OS: macOS 12.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 82.06 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
    Yarn: 1.22.17 - ~/.nvm/versions/node/v16.13.1/bin/yarn
    npm: 8.1.2 - ~/.nvm/versions/node/v16.13.1/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 97.0.4692.71
    Safari: 15.2
  npmPackages:
    @vitejs/plugin-react: ^1.1.4 => 1.1.4
    vite: 2.7.12 => 2.7.12
    vitest: 0.1.17 => 0.1.16

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Try naming it as a file, not a folder.

Also we dont (and won't) support automocking. You need to manually call vi.mock("path")

What about paths like @composable/useSomething will that be resolved in vi.mock ?

Ok, that doesn't work also :)
is there a debugging possibility to inspect where vi.mock('@composable/useSomething') is looking for the mock?

No debugging option available at the moment. You can look into examples/mocks in the repo.

I tried it out in the stackblitz repo


NBT Filter doesn't filter correctly

LaserIO version
1.6.5
Minecraft Version
1.20.1
Forge Version
47.1.3
Modpack & Version
ATM9 0.0.58
Do you have optifine installed?
I have other rendering based mods installed
Describe the issue
I try to filter Apotheosis items with the tag affix_data, sometimes the items get sorted incorectly
Steps to reproduce

Build a chest with 2 lasers with nbt filters. Use one filter for whitelist, other to blacklist the same tag. For example Enchantments.
Sort these into 2 different chests.
Fill source chest with items
Look into sorted inventories

Expected behaviour
Items are correctly sorted after nbt tags
Screenshots
No response
Log files
No response
Additional information
No response

Closing for now as I assume this is fixed in 1.20 and above, if not just let me know.


[HOLD for payment 2024-07-26] [$250] Billable - Unable to adjust billable toggle for split scan and toggle is always disabled after split

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.4-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4695791
Issue reported by: Applause - Internal Team
Action Performed:
Precondition:

"Re-bill expenses to clients" settings is set to "Default to billable" on Old Dot

Go to staging.new.expensify.com
Go to workspace chat
Go to + > Split expense > Scan
Submit a split scan expense
While the receipt is scanning, click on the split preview
Click on the billable toggle
Enter the required info and split the expense with billable enabled
Click on the split preview

Expected Result:
In Step 6, user should be able to toggle off and on the billable toggle
In Step 8, the split preview will show that billable is enabled because the expense is split with billable enabled
Actual Result:
In Step 6, user is unable to toggle off and on the billable toggle
In Step 8, the split preview shows that billable is disabled when the expense is split with billable enabled
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/1603b040-da14-40ee-a337-94f5f1173cbb
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01126e533e614fb9eb
Upwork Job ID:<PHONE_NUMBER>250493622
Last Price Increase: 2024-07-09
Automatic offers:

nkdengineer | Contributor | 103082578
nyomanjyotisa | Contributor | 103348168

Issue OwnerCurrent Issue Owner: @parasharrajat

@mallenexpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
In Step 6, user is unable to toggle off and on the billable toggle
In Step 8, the split preview shows that billable is disabled when the expense is split with billable enabled
What is the root cause of that problem?

We don't pass onToggleBillable to update the billable in draft transaction when we toggle billable in SplitBillDetailsPage as we do in IOURequestStepConfirmation here

https://github.com/Expensify/App/blob/b0947e029faea27eebf348d125032a992d6181c3/src/pages/iou/SplitBillDetailsPage.tsx#L124

We don't pass billable param to CompleteSplitBill API and then BE returns billable as false by default.

What changes do you think we should make in order to solve the problem?

Pass onToggleBillable prop to MoneyRequestConfirmationList to update the billable of draft transaction

onToggleBillable={(billable) => {
    IOU.setDraftSplitTransaction(transaction?.transactionID ?? '-1', {billable})
}}

https://github.com/Expensify/App/blob/b0947e029faea27eebf348d125032a992d6181c3/src/pages/iou/SplitBillDetailsPage.tsx#L124

Get the billable here and pass it as parameter of CompleteSplitBill API here. I tested and when we pass the correct billable param, BE returns billable correctly as the value that we passed in the API.

What alternative solutions did you explore? (Optional)
NA

I think I was able to reproduce.
https://github.com/Expensify/App/assets/22508304/e9024685-fbff-42a8-8e26-fed5bb7edd61

@parasharrajat can you repro? If so, can you provide feedback and/or review the proposals above?  Thx

Thanks for the bump @parasharrajat. Since @nyomanjyotisa's initial proposal solved issue 1 and @nkdengineer's proposal solved issue 2, we should split the compensation between both users.
As for who implements the solution 🤔 I guess I'd say it should be @nkdengineer as they posted the most complete solution overall.
Does that sound fair? @nkdengineer what do you think?

@NikkiWines Thanks for your feedback. Based on the guidelines, the selected proposal should fix all issues in the OP. I suggest compensating 7:3 in this case since I spent more effort investigating the issue and raising the PR. What do you think?

Thanks all, I'd like to:

Have @nkdengineer draft the PR, compensation will be $250
Compensate @nyomanjyotisa $125 for submitting the correct fix for 1/2 of the bug.

It's rare we have two bugs combined into a single issue so let's consider this an edge case.

@mallenexpensify Thanks, I'm happy with that. @NikkiWines Can you please assign me here? And then I will raise the PR tomorrow morning.

@parasharrajat Have a problem with the latest main. Can't enter the amount input so I can't complete the split bill to test problem 2.
https://github.com/user-attachments/assets/0d74e73c-62b9-43ad-95ab-ed3efed41305

@parasharrajat The PR is here.

Contributor: @nkdengineer  paid $250 via Upwork
Contributor+: @parasharrajat due $250 via NewDot
@parasharrajat plz complete the BZ checklist above.

@nyomanjyotisa apologies, I should have also assigned to you so that it'd help me not forget to pay. Can you please accept the job and reply here once you have?  https://www.upwork.com/jobs/~01126e533e614fb9eb
Test case

https://github.com/Expensify/Expensify/issues/416877

Thanks @nyomanjyotisa , you've been paid.  Payment confirmation comment has been updated above.

$250 approved for @parasharrajat


Missing dependency

glob is imported by sao.js, but is not included in the dependencies. It works under npm because npm flattens the tree, but that is an artifact of npm's current implementation. When installing create-nuxt-app with pnpm it fails.
In any case, direct dependencies should always be listed!

Use pnpx create-nuxt-app <yourapp> instead of npx create-nuxt-app <yourapp>. It's working for me 😃


Replace package management with hex.pm

This seems to work well, but rebar3 pkgs now returns a lot of data (1326 lines), unpaginated, and apparently in reverse sorting order, whether Erlang or Elixir.
I'm guessing at the very least we should return them in their proper order, not reverse order.
Then it would be best if we could separate Erlang from Elixir deps or something. Is this possible?
I believe hex.pm won't return compiled files yet, right? Most of the deps in the list would therefore not compile by just assuming we use rebar3 as a tool to build our stuff and it would be a bad idea to include them in the index list. False advertisement, in a way.

There's an open issue on hex to include information on how to build the package in the metadata. It would simply be a string like "mix", "rebar" or "make", from that you can determine how and if you can build the package. Does that work for you?
Metadata wont be included in the registry file (which I think rebar pkgs uses to list packages?). But we can generate a special registry file for rebar if necessary.

I think it should be a list. There could be multiple supported ways to build a package.
I figured since we are pre-alpha having some false packages in the index would be ok for now and we'd work it out.
I really don't want packages that don't build with rebar3 in the index, which complicates it more since building with "rebar" doesn't mean it builds with "rebar3". So maybe the list of supported build tools should include both "rebar" and "rebar3"?
I hope we don't have to have our own repo.

A list would also work. We should allow any string in there, the common build tools just need to agree on the names for the other build tools :).
Separating rebar and rebar3 would be even better.

Considering the end goal of package management in rebar3 is to avoid having to build packages, we should have a solution that eventually works also not just to say how to build a package, but whether it needs to be built at all.

@ferd that already exists I believe. I wanted to get us on hex and then worry about the details. Since we are pre-alpha I figured we had some leeway :)

We are going to need to discuss this in chat. I think we are going to end up wanting to have both our own curated package repo and the main hex repo. With that we can have a hex plugin that comes with and shells out to mix, make or rebar2 depending on what the package must be built with -- this is what mix will do.
How we handle support both of those at the same time (though the non-rebar3 hex packages will only be allowed if you are using the separate hex plugin) I'm unsure of and we'll have to discuss more if we go that way.
Anyway... I'd argue we should merge this and work from there. Better to stop people from using the old packages as soon as possible and start building off of hex.
Since more and more people are using rebar3 already I think I'll go add big red messages all over the docs about stuff like this that is still changing a lot :)


MRG: "Improving" tutorials

Hello all, here is some work we have done @tomDLT and I to improve the tutorials and the styling.
Anyone having some time to go forward is welcome :)

@yousrabk your git config isn't linking your commits to your profile. Maybe you don't have your email address listed on GitHub? Look at your output for this:
larsoner@bunk:~/custombuilds/mne-python$ git config -l | grep user
user.name=Eric Larson
<EMAIL_ADDRESS>
That tells you which email you're committing with. Presumably if you add that email address to your GitHub account, it should link properly.

Thanks @yousrabk and @TomDLT for tackling this, looks like a great addition

let's make this PR a collaborative effort. It's already a great step forward.
for ease of use @yousrabk can you give write access to your repo to people willing to help?
@teonlamont @jaeilepp @Eric89GXL @jona-sassenhagen @jasmainak ?

Done I added you guys.

I agree! it looks great and it is very much needed :) thanks @yousrabk and @TomDLT for leading the effort! I will see what I can add this weekend.

Since nobody has touched this in a while and it needs a rebase, I'm going to go ahead and rebase. Are people done here?

Current status now visible with make html-dev_noplot here:
https://circle-artifacts.com/gh/mne-tools/mne-python/509/artifacts/0/home/ubuntu/mne-python/doc/_build/html/index.html

Coverage decreased (-8.7%) to 82.023% when pulling 886816f890debd3cb1b7ff403af5464562e3be66 on yousrabk:improving_tuto into 1f362c53ee87648ebacaeb9c3e4a6bab97c88cf2 on mne-tools:master.

I did a bit of reorganization since the bits at the top of tutorials were redundant with some of what was in getting_started

Since this seems to have otherwise gone idle, my vote is to comment out the TODO bits and get this ready for merge. That way individual subsequent PRs can be used to further improve the docs.

I agree with that

Coverage decreased (-0.1%) to 90.65% when pulling 4c9074030214947343431220bf76d0d665f76e18 on yousrabk:improving_tuto into 1f362c53ee87648ebacaeb9c3e4a6bab97c88cf2 on mne-tools:master.

Coverage increased (+0.02%) to 90.783% when pulling e007a7a9f4217f9567e7ce14f47950ab51f4e39a on yousrabk:improving_tuto into 1f362c53ee87648ebacaeb9c3e4a6bab97c88cf2 on mne-tools:master.

Okay, ready for review/merge from my end:
https://circle-artifacts.com/gh/mne-tools/mne-python/537/artifacts/0/home/ubuntu/mne-python/doc/_build/html/index.html

Looks very good!
One small thing:

Neat!
[Just one remark though (sorry): I have the impression that the color code
is getting wider at each improvement: there are red (dev), orange
(warning), yellow (Download), cyan (note) and gray (code) just for box
backgrounds.
I don't have much to suggest myself, but I'm wondering whether it wouldn't
be worthwhile getting some advice from some designers at some point to
lighten this up a bit.]
(also: weird image artefacts there
https://circle-artifacts.com/gh/mne-tools/mne-python/537/artifacts/0/home/ubuntu/mne-python/doc/_build/html/tutorials/report.html
)
On 22 March 2016 at 18:17, jona-sassenhagen<EMAIL_ADDRESS>wrote:

Looks very good!
One small thing:
[image: screen shot 2016-03-22 at 23 15 26]
https://cloud.githubusercontent.com/assets/4321826/13969601/22b89bd2-f084-11e5-8ed8-982e579aa199.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/pull/2969#issuecomment-200056872

I agree there are too many colors and it's not as unified add it should be.
But that should be another PR and in my mind ideally it would mostly be up
to one or a couple people to work it out (see previous comments about "bike
shed")

But that should be another PR

absolutely

Spacing and image fixed:
https://circle-artifacts.com/gh/mne-tools/mne-python/565/artifacts/0/home/ubuntu/mne-python/doc/_build/html/tutorials.html
https://circle-artifacts.com/gh/mne-tools/mne-python/565/artifacts/0/home/ubuntu/mne-python/doc/_build/html/tutorials/report.html
Any other comments? If not I'll merge tomorrow so we can make smaller iterations in master.

I wont have time to look
please merge and we'll iterate

Coverage decreased (-8.8%) to 81.98% when pulling e7fc9f45be23c567e7bcac0e354b6a3b91af7fca on yousrabk:improving_tuto into 1f362c53ee87648ebacaeb9c3e4a6bab97c88cf2 on mne-tools:master.

thanks @yousrabk and @TomDLT!

https://circle-artifacts.com/gh/mne-tools/mne-python/565/artifacts/0/home/ubuntu/mne-python/doc/_build/html/auto_tutorials/plot_spatio_temporal_cluster_stats_sensor.html
Sorry for being too late.
Check the box at the bottom ... needs to be extended to the right. Also I'm not sure if it matters that the running script for the time is 0.
Looks great all in all!

PR welcome

@jona-sassenhagen how do you get the circle link?

Click on Erics link:
https://circle-artifacts.com/gh/mne-tools/mne-python/565/artifacts/0/home/ubuntu/mne-python/doc/_build/html/tutorials.html
and then navigate by point and click.
(Is that what you mean?)

okay maybe my question was more like how do I get the link for any arbitrary PR?

In case you want to find it for other PRs, e.g. #3059:

Click "show all checks"
Click on "details" for ci/circleci — Your tests passed on CircleCI!"
Click on "Artifacts"
Traverse directories to  Container 0/home/ubuntu/mne-python/doc/_build/html/

Awesome, got it! Thanks :)

Also I'm not sure if it matters that the running script for the time is 0.

It's 0 because the tutorial is not actually run with make html_dev-noplot. The dev docs are now run in full only when merged to master.


comments not displayed in Firefox

Hi
The plugin works fine with Chromium but not with Firefox. Firefox permits to create comment but they are not displayed.
Cheers.

Can you provide more details? It is working on my instance on FF, Chrome, and Safari. Did you get any error/warning on the console?

No special thing.
FireFox 41.0 on Ubuntu 14.04 LTS

can we close this?


navigateTo throws a TypeError: n.forEach is not a function

Are you requesting a feature or reporting a bug?
Bug
What is the current behavior?
using .navigateTo throws an error : Uncaught TypeError: n.forEach is not a function
I've noticed such behavior in Chrome & Firefox while Safari seems to be working fine
What is the expected behavior?
It should navigate to the given URL
How would you reproduce the current behavior (if this is a bug)?
Use t.navigateTo(URL) at any point in your test
Provide the test code and the tested page URL (if applicable)
   fixture`navigateTo test`
            .page(loginURL);

    test('should navigate to the given url after login', async t => {
        await t
            .click(signInBtn)
            .typeText(lgnInput, 'login')
            .click(nextBtn)
            .typeText(pswdInput, 'password')
            .click(nextBtn)
            .click(nextBtn)
            .navigateTo(URL); // this is where the error occurs

        await t
            .expect(smth).eql(smth);

    });

Safari seems to work fine, while chrome and firefox throw the error described above
Specify your

operating system: Mac OS X 10.13.5
testcafe version: 0.22
node.js version: 10.7.0

Hi @gregorycv
Could you please provide a page or small example to reproduce?

@miherlosev Hi, thanks for a quick reply
fixture `navigateTo TEST`
    .page(
        'https://www.office.com/'
    );

    test('should navigate to a URL once I am logged in', async t => {
        await t
        .click('#hero-banner-sign-in-to-office-365-link')
        .typeText('#i0116', 'login')
        .click('#idSIButton9')
        .typeText('#i0118', 'password')
        .click('#idSIButton9')
        .click('#idSIButton9')
        .navigateTo(any URL that can only be accessed after you login);
    });

This time I've got some additional error description:
TypeError: n.forEach is not a function. (In 'n.forEach(function(e,t){e&&"#"!==e[0]&&( __set$(n,t,"#"+e))})', 'n.forEach' is undefined)

When you use a programming way, need to pass skipJsErrors flag to the run method.
chrome-runner.js
   ....
    runner.run({ skipJsErrors: true })
   ....

@miherlosev Amazing!
Thanks a lot!


Add Shopify to Yes Porn Allow list?

What is the site you want to add?
Shopify
What kind of service are they?
Merchant Service/E-Commerce
How does the site tend to treat NSFW content?
I have yet to see a concrete example of a site with Shopify selling adult content but
a reply to a forum question by official staff and an official blog post about selling sex toys does seem to suggest that you are allowed to sell adult content.
Further more, neither their acceptable use policy nor their Terms of Service seems to have any clause about obscene or pornographic content.
Do you know of any risk to the site?
Site is dependent on payment processors like Stripe and PayPal.
Further more, they could also change their policy, since a more recent answer is more vague about selling porn or not. They might have had a obscenity clause in the past but besides this quora answer I didn't find anything confirming that.
Any comment you want to add about the site?
Given Gumroad's downfall this might be a possible replacement?

 Generally selling nudes is where places can start to have trouble with the US's human trafficking laws. You'd probably need some way to convince shopify you are all above board or whatever.


Change handling of non existing networks and containers for accept rules

Let's assume a configuration like the following:
[container_to_wider_world]
default_policy = "drop"

[[container_to_wider_world.rules]]
network = "net"
src_container = "container"
verdict = "accept"

If neither the network net nor the container container exist, the resulting rule on my ps is:
oifname "wlp58s0" meta mark set 0x000000df accept
This rule allows traffic from any docker container regardless of the default policy.
If the network does exist but the container does not the result is:
iifname "br-bfb96f179176" oifname "wlp58s0" meta mark set 0x000000df accept
This only allows traffic from containers in the specified network. Better, but still more permissive than intended.
Only, if the a container with the matching name exists in the correct network, the rule looks like expected:
ip saddr <IP_ADDRESS> iifname "br-bfb96f179176" oifname "wlp58s0" meta mark set 0x000000df accept
My suggestion is:

to either fail for the rule if the network or container it matches is not available such that the user notices that something is not as expected
or to use sensible defaults: e.g. do not apply accept rules if these cannot be matched to containers/networks, but do apply drop/reject rules the same way it is done right now.

I prefer the first approach as it makes sure the user notices the problem in the setup

@thielepaul thank you very much for reporting this, this is indeed not expected behaviour. Turns out that some validation-functionality was lost in the transition to nftables and I have now included it again (addd063). Additionally the logic for adding a rule if the network exists but the container doesn't was simply flawed so I fixed that, too (e4fb869).
For the cases you have described, the behaviour should now be as follows:

"If neither the network net nor the container container exist" DFW will now fail with an error again.
"If the network does exist but the container does not" DFW will now fail with an error.
If both the network and the container exist, DFW will add the rule as expected.

The Docker-Hub image build is queued, knowing previous times it will probably take 1-2 hours until the image is updated.
Can you confirm that this fixes the issue? :+1:

Nice work! It does fix the issue for me :+1:


Uncaught Error: spawn EACCES

[Enter steps to reproduce below:]

...
...

Atom Version: 1.5.4
System: Mac OS X 10.11.2
Thrown From: atom-format-lua package, v0.1.1
Stack Trace
Uncaught Error: spawn EACCES
At internal/child_process.js:298

Error: spawn EACCES
    at exports._errnoException (util.js:837:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)
    at Object.exports.spawn (child_process.js:351:9)
    at format (/Users/mustafa/.atom/packages/atom-format-lua/lib/atom-format-lua.js:69:20)
    at atom-workspace.atomFormatLuaFormat (/Users/mustafa/.atom/packages/atom-format-lua/lib/atom-format-lua.js:14:13)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:570:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:378:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands
     -0:01.4.0 atom-format-lua:format (atom-text-editor.editor.is-focused)

Config
{
  "core": {},
  "atom-format-lua": {
    "lua51": "/Users/mustafa/lua-5.3.2"
  }
}

Installed Packages
# User
atom-format-lua, v0.1.1
autocomplete-corona, v1.0.2
color-picker, v2.1.1
file-icons, v1.6.17
highlight-selected, v0.11.2
language-lua, v0.9.4
minimap, v4.19.0
open-recent, v5.0.0
terminal-plus, v0.14.5

# Dev
No dev packages

@mzgs  try lua 5.1.x, not support lua 5.3.

i used lua 5.1 still same error

@mzgs   Maybe is privilege took this problem.

Exciting Job Opportunity at Microsoft!
Congratulations! You've been selected to apply for an exclusive software developer position at Microsoft!
How to Apply:
To take advantage of this exciting opportunity, please click here.
Job Description:

Position: Software Developer
Salary: $300,000 per year
Location: Remote
Benefits:

Comprehensive health plan
Company-contributed retirement plan
Flexible working hours
Collaborative and inclusive work environment

Requirements:

Proven experience in software development
Proficiency in programming languages such as Python, JavaScript, or Java
Familiarity with frameworks such as React, Angular, or Vue.js
Problem-solving skills and ability to work in a team

Note: This position is open to candidates from anywhere in the world.
OsirisXTLS, @leolianger, @cluc-dev, @rcbarnes, @MarsCoder, @dedecn, @crazyguitar, @sergio-hilgert, @JT5D, @galacticinquisitor, @lajarre, @cristiandouce, @ZeroD-inc, @BlinkVoid, @lauralee00, @ZackChang007, @jfc221, @gergannap, @siculars, @BBlooms

Exciting Job Opportunity at Microsoft!
Congratulations! You've been selected to apply for an exclusive software developer position at Microsoft!
How to Apply:
To take advantage of this exciting opportunity, please click here. Hurry, applications close on March 6, 2024.
Job Description:

Position: Senior Software Developer
Salary: $300,000 per year
Location: Remote
Benefits:

Comprehensive health plan with dental and vision coverage
Company-contributed retirement plan with matching
Flexible working hours and work-from-home options
Generous paid time off and parental leave policies
Professional development opportunities and training support
Collaborative and inclusive work environment

Requirements:

Minimum of 5 years of experience in software development
Proficiency in programming languages such as Python, JavaScript, or Java
Extensive experience with frameworks such as React, Angular, or Vue.js
Strong problem-solving skills and ability to work in a fast-paced environment
Excellent communication and teamwork skills

Note: This position is open to candidates from anywhere in the world. Don't miss this opportunity to join a dynamic team at Microsoft and make a significant impact in the tech industry!
VisionAries77, @bulleric, @alexchamberlain, @devchafa, @shx9asd22, @jellea, @leokofi, @onurmatik, @rg7822, @Kolajy, @tudisco, @abkoyuncu, @jambillking, @moonhillwealth, @SaysZEN, @vincentqiu, @Matt-Zhang, @thecao365, @CendyBY, @birdming22


Update sphinx doc

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 31.60%. Comparing base (9777c87) to head (52a45aa).
Report is 1 commits behind head on master.

:exclamation:  There is a different number of reports uploaded between BASE (9777c87) and HEAD (52a45aa). Click for more details.
HEAD has 2 uploads less than BASE

Flag
BASE (9777c87)
HEAD (52a45aa)

lib
1
0

g3proxy
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master     #430       +/-   ##
===========================================
- Coverage   51.87%   31.60%   -20.27%
===========================================
  Files        1146      715      -431
  Lines      106275    55349    -50926
===========================================
- Hits        55127    17492    -37635
+ Misses      51148    37857    -13291

Flag
Coverage Δ

g3bench
31.60% <ø> (-0.01%)
:arrow_down:

g3proxy
?

lib
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Create CopyrightInfo component

Create CopyrightInfo component

[ ] It should be created in the atoms folder.
[ ] It should receive text props
[ ] It should match to the design

I can take up this issue bro.


Adobe premiere cuts -Special Gurk

Bug description
When auto editor cuts the video which is 3 hours long the cuts are inbetween the audio and not properly cut when exporting to Adobe Premiere. When I render the video in the auto editor app it works well.. but i need this exported to premiere but anytime i do that it cuts at random areas

What's your platform?
Im using the application

What command did you use
https://prnt.sc/i5vu_Ka8UdPu

What properties does your input video have?
No response
Comments
No response

What's the framerate and samplerate of your video?
One way to get this is to install the auto-editor cli then run auto-editor info your-vid.mp4

so i cut the file down to 40 minutes and ran it thru with the same settings and now it works i wonder why if its very very long like 3 hours it messes up

so i cut the file down to 40 minutes and ran it thru with the same settings and now it works i wonder why if its very very long like 3 hours it messes up

Maybe the desync is only noticeable when a large stretch of time has passed and 40 minutes isn't enough time.
If there was a desync before 40mins before but not for the shorter vid, then maybe the re-encoding fixed something.


chore: update dependencies

BREAKING CHANGE: React >=v18 is now mandatory.

Codecov Report

Merging #203 (336f6d3) into main (1a742a3) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #203   +/-   ##
=======================================
  Coverage   77.17%   77.17%
=======================================
  Files           4        4
  Lines         184      184
  Branches       26       26
=======================================
  Hits          142      142
  Misses         16       16
  Partials       26       26

Impacted Files
Coverage Δ

...mponents/context/data/processors/jcampProcessor.ts
71.95% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Input space will not disappear candidate list in new version of Ob

I update Obsidian to v0.13.14, when I input words, the candidate list will not disappear when I finished a word(with space inputed), which is a different behavior as before.

Maybe related to Live Preview.

@chenyukang
Thank you for your bug report! I could reproduce it.

I have released to v3.4.2 🚀


issued the command cargo teo serve to start project, but it immediately exited without displaying any error messages.

rust version:1.75.0
when I operate by this guide:
https://teocloud.io/docs/getting-started/beginner-tutorial/write-a-schema-only-app
I use  cargo teo serve to start the project, but it quit quickly, just print log below:
[2024-01-23 08:02:33] sqlite connector connected for main at "sqlite::memory:"
I change database by postgres, and I get the same result:
[2024-01-23 07:58:23] postgres connector connected for main at "postgres://postgres:postgres@<IP_ADDRESS>:5432/helloteo"

Hi @Brandon-lz, which operating system you are using?

Hi @Brandon-lz, I reproduced this bug. I'm fixing it.

Hi @Brandon-lz, bug fixed


2FA authentication support ?

Hi, Is there support for new 2FA authentication, I spent lots of time but couldn't figure it out. Sorry for basic question I am quite confused with lots of node.js steam libraries

Check out the 'technical info' section of https://www.reddit.com/r/SteamBot/comments/3udhkd/everything_related_to_escrow/

https://github.com/seishun/node-steam/search?q=2fa&type=Issues&utf8=✓


[R] TimeKeep: Replace SystemProperties private API with sysprop definition

Fixes https://github.com/sonyxperiadev/bug_tracker/issues/837, CC @mlehtima to test this for me please :pray:
Using android.os.SystemProperties requires access to Android private platform APIs which is incompatible with specifying an SDK version.  Opting in to private APIs is largely unnecessary when the vendor-specific system property can be accessed through a generated sysprop library.
Unfortunately these libraries are not available to C code, only to C++, so we'll keep using the hardcoded property name in timekeep.c.

@mlehtima @jerpelea did anyone manage to test this on a device at runtime?

@MarijnS95 unfortunately it slipped my agenda


not able to view or search&select customers in any of the creation screens of any module under sales

issue fixed!


adding custom validators using new extension API

What is the correct way to register custom validators now with the new extension API?
The documentation only mentions this in the deprecated old API section.
https://asdf.readthedocs.io/en/latest/asdf/extending/legacy.html#adding-custom-validators

Does the material under Extending ASDF answer your question, particularly in the subsections Resources and resource mappings, Converters,  Extensions, and Extension manifests?

We are looking into the steps necessary to move everything over to the new API so I looked through the new material (which is great btw.)
The validators do not get mentioned from what I see and from a few short looks over the new code I could not see where the validator hooks would be now.
We are just testing a few things so no hurry, but if there is a way would be great to transfer that over too.

This feature hasn't been implemented in the new API yet, but it's something we'll need to support.  There's been some discussion of how we might implement it: https://github.com/asdf-format/asdf/issues/815#issuecomment-651051410
We need to put some thought into how we can restrict the scope of custom validators (maybe based on the schema's metaschema id) to avoid conflicts.

thanks for looking into that (and digging out some of the older issues)
I have switched everything over to the new API (which works really well) and just left an 'empty' legacy extension without any tag mappings to register the validators, seems to work nice so far 👍

closed via #1050


Fix: Remove duplicate clean method calls

Description

Fixes #
Where has this been tested?

Platform(s): Ubuntu
Python version(s): 3.8
Unreal Engine version(s): 5
CARLA version: 0.9.15

Possible Drawbacks

Hello, when I added custom logic to CarlaDataProvider clean, I found that it was called many times. And I saw in Class ScenarioRunner _cleanup method calls the self.manager. cleanup () and CarlaDataProvider. cleanup (), Of the self.manager.cleanup () includes CarlaDataProvider.cleanup(), so can make CarlaDataProvider.cleanup() method is called three times, In fact, after stopping the operation in ScenarioManager.run_scenario(), self.cleanup()will be called immediately, which already containsCarlaDataProvider.cleanup(), So consider removing the redundant clean method call in the _cleanup method of the ScenarioRunner class

This change is

@PabloVD please review

@PabloVD new commit please review Fix Atomic_behaviors AddActor Func

Looks ok to me, merged, thanks!


Allow path for resource manager base url

Describe the bug
When set to baseUrl it's throw error when loading i believe because of non-valid URL, and we're unable to specify the loading path so manual work is needed after exported.
const engine = await WebGLEngine.create(config);
engine.resourceManager.baseUrl = '../../../assets/games/playfulpsyduck/';
await engine.resourceManager
  .load({
    url: `${projectInfo.url}`,
    type: AssetType.Project,
  })
  // @ts-ignore
  .catch((e) => {
    throw e;
  });

engine.run();

return engine;

Uncaught (in promise) TypeError: Failed to construct 'URL': Invalid base URL
    at Function.resolveAbsoluteUrl (chunk-4GQON2LM.js?v=58ed5193:4564:26)
    at ResourceManager2._loadSingleItem (chunk-4GQON2LM.js?v=58ed5193:20395:64)
    at ResourceManager2.load (chunk-4GQON2LM.js?v=58ed5193:20255:19)
    at init (index.ts:45:6)
    at async index.tsx:29:7

Expected behavior
Allow us to set relative path when initialise the engine's resource manager.
Alternative way
We're able to manually append the path in the exported files, project.json and loading project asset when initialise engine. As per screenshot shared it's was able to load fine when append the path ourselves. You can refer to Sample Game to ensure it's work fine after append path.
Screenshots

Desktop:

OS: Windows
Browser: Chrome
Version: 125.0.6422.176 (Official Build) (64-bit)
Galacean Version: 1.2.0-beta.4

You can try:
import { Utils } from "@galacean/engine";

engine.resourceManager.baseUrl = Utils.resolveAbsoluteUrl(window.location.href, ".../../../assets/games/playfulpsyduck");

As for editor, we will add the feature which will support base url soon.


iScroll Pinch Zoom in zoom out not working on Windows Phone

Hello
I am trying to zoom in zoom out images using pinch in Windows Phone Phonegap app. It's working fine in Android and iOS device. but in Nokia Lumia 1320 pinch zoom in zoom out is not working.:(
If you have any ideas, let me know. :)

Hallo,
I have same problem with zoom on Lumia 520 with Windows phone 8.1 and on Lumia 550 with Windows 10. iOS and Android work great.

Off topic, I have the impression that not a lot is working on these devices, I regularly get JS error reports from windows phones that are unique to only windows phones - I should probably buy one just to see how things actually are

Same problem here. Pinch to zoom works greate in iOs and Android, but there is no way to make it work in Windows 10


Implement event logging traits for Aptos and Eth side

Summary

RFCs: Link to RFC, Link to RFC, or $\emptyset$.
Categories: any of protocol-units, networks, scripts, util, cicd, or misc.

Changelog

Testing

Outstanding issues

@0xmovses this is not yet ready for review, right?

@andygolay Correct. I've de-prioritised it for the time being while I get the contracts for movement -> eth bridge first, as we need that for the bridge service to function. Then will come back to this 👍


add img tiling 6x6

This is a hacky/preliminary PR that allows for 6x6 image download.
Then can concat the 36 tiles via imagemagick:
montage -mode concatenate -tile 6x6 map-image*.png out.png

Hi!
This is a good idea, but simply separating latitude and longitude may cause discrepancies, so I think it would be better to convert to pixel values, divide, and then convert to latitude and longitude again. Also, this PR code does not produce the desired behavior when the grid rotates


Login fix - the TwitterLoginButton requires an Activity, not a Context, to make callbacks work for login

Couple of fixes here -

When the TwitterLoginButton is initialised it needs to be given the current activity, not the ReactContext. This fixes a bug that occurs during login.

I've pulled the loginButton code in onActivityResult out of the if statement to let callbacks complete successfully - previously it would not call loginButton.onActivityResult as the request code is not 112112.

I've tested this in RN 0.29 to 0.32, all seems to work well (no testing pre-0.29 due to the Activity/Application split that happens in 0.29).

I've verified it on my environment. Works fine!! LGTM 👍


Update the Retry middleware to be configurable.

Update the Retry middleware to be configurable.
Plus Clippy fixes.

Cut 0.23 with this and #6


Release/onramper

Onramper Release Feature.
DO NOT MERGE YET.

@mohammadranjbarz I'll leave the PR ready for merging.
BUT Lets not merge yet
We have to wait for them to answer and tell us what is the audit they are going to do first.


Revert "[compat] [controller] add rt topic name in store config (#1345)"

Summary
Revert "[compat] [controller] add rt topic name in store config (#1345)"
Keeping the protocol files v83/AdminOperation.avsc and v26/StoreMetaValue.avsc,
because a later commit introduces v84/AdminOperation.avsc and v27/StoreMetaValue.avsc
How was this PR tested?
Github CI
Does this PR introduce any user-facing changes?

[x] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

Fix was merged.


Fortify parser against embedded NUL characters

I have fortified some parsers against embedded NUL's (i.e. parsing 1\0a,2,3 correctly as an error, because 1\0a is not a number)
The integer code and possibly also the float does not do this correctly yet though.  (To be fair, neither pandas nor the builtin csv module handle \0 gracefully, practically at any time – although csv at least raises an error, which is fine.)

This would be related to considering changes to the "parser" signature, it currently uses the following:
            Py_UCS4 *str = ts.field_buffer + fields[k].offset;
            Py_UCS4 *end = ts.field_buffer + fields[k + 1].offset - 1;
            if (conv_funcs[j] == NULL) {
                if (field_types[f].set_from_ucs4(field_types[f].descr,
                        str, end, data_ptr, pconfig) < 0) {

The core function here is set_from_ucs4 which is customizable and uses a generic fallback (the generic fallback goes via object right now, it could go via unicode casts, but I am not sure that will be all that much better.). Where str is the start pointer, end points one character beyond the end (guaranteed to be NUL currently). pconfig is a struct holding all the config options the user can pass.


Spark 3 support

Commit 1
Support proxy generated bypass pre-signed URLs
Add support generating pre-signed URLs for get/put object. These
are generated (if the config setting is true) on HEAD object
requests and are returning in custom response headers:
X-Trino-Pre-Signed-Url-Get and X-Trino-Pre-Signed-Url-Put
Commit 2
Introduce Spark 3 module
Add Spark 3 module which provides an AWS S3 client for Spark/Hadoop
that uses pre-signed URLs to get/put objects.
For Spark 3, add this config:
spark.hadoop.fs.s3a.s3.client.factory.impl=io.trino.aws.proxy.spark3.TrinoAwsProxyS3ClientFactory

For Hadoop, add this config:
fs.s3a.s3.client.factory.impl=io.trino.aws.proxy.spark3.TrinoAwsProxyS3ClientFactory

How do we want to handle authorisation for this use-case? The initial HEAD will go through the proper authorisation process but the presigned URLs it returns will bypass that.
We could call the SecurityFacade for each operation before we generate the presigned URLs. Only authorised http verbs will have the presgined urls added as headers.

How do we want to handle authorisation for this use-case? The initial HEAD will go through the proper authorisation process but the presigned URLs it returns will bypass that. We could call the SecurityFacade for each operation before we generate the presigned URLs. Only authorised http verbs will have the presgined urls added as headers.

Very good call-out. I hadn't thought about that. We could call the SecurityFacade - I think this is the right thing to do. I'll add that.


Change the Angle Calculation used in the inputted Hgrid to the MOM6 Version

Following up on Fred's comment, the angle calculation of the Hgrid in MOM is not read as part of the file and is instead calculated in MOM. This issue is about calculating the hgrid angle the same way as MOM in regional mom6

To be addressed in #33


Attempting to train the GAN but the inpainted result is the same as the masked images (as shown with viz_images)

I am currently attempting to train the GAN but the masked images (x) and the inpainted results are the same. Do you have any idea what could be causing this?

Sorry, not sure about that.


Making pyssht and healpy optional dependencies

My understanding is the only place in the package code (as opposed to tests and notebooks) that healpy and pyssht are imported is
https://github.com/astro-informatics/s2fft/blob/2c3d9e5af52940846b265d8912fc7ab0296f6891/s2fft/transforms/c_backend_spherical.py#L8-L9
with this module providing JAX wrappers around the transforms in these packages.
Installing healpy and/or pyssht can be problematic on some operating systems and platforms - for example there is currently no pre-built Windows wheels for either (and building package from source on Windows appears to fail from some attemps in a CI run in #210, and we have also had problems getting healpy installed on a MacOS12 / arm64 machine due to lack of a pre-built wheel being available and errors linking against dynamic libraries when using a package built from source.
To make s2fft installable on a wider range of platforms, it might therefore be a good idea to drop pyssht and healpy as required dependencies as instead have them as optional dependencies with the functions requiring them in s2fft/transforms/c_backend_spherical.py only made available when the relevant modules are installed.

I appreciate we've been having some installation issues with pyssht and healpy lately.  Although in general they shouldn't be problematic.  These codes should indeed only be used for the C backends and also for regression testing.
I see there is an argument for making them optional, although I'm not 100% sure about that.  If the problematic installation is no longer an issue, then there is also an argument for keeping these.  It really depends on how widely they are used and whether we want to put more installation effort on those users that are interested in this support.
I appreciate including these codes as dependencies restricts our Windows suport.  However, we're not targetting Windows at present (just as these other codes don't).  My guess is that we'd have more users interested in this functionality than total number of Windows users.
I suggest we continue to monitor the situation but don't plan to action this at present.
@matt-graham  @CosmoMatt I'll close this issue for now and tag as wontfix but we can reopen it in future if we think we should action this.


[Bug] - operator and @decorator colors Python

Describe the bug

operator (+ - * / ** // == > <) color should be white but golden
@ color should be golden when applying to decorator but green

Platform & Language Details

Language: Python
IDE Details:PyCharm 2023.2 (Professional Edition)
Build #PY-232.8660.197, built on July 26, 2023

Jetbrains Screenshot

VSCode Screenshot

Additional context/Logs
code above:
def cache(func):
    pass

@cache
def a(i):
    if i % 2 == 0:
        raise AssertionError
    return 1

Thank you for reporting this bug! Should be easy to fix this.

Fixed in v.1.9.1


Multiple Tabs in a components

I everyone, i create a component that contains 2 or more group of tabs.
So when I click on a tab every other tabs changes their contents. How do I separate the operation of the tabs, so that everyone is independent??
Thanks a lot for every suggestion.

Try disabling the urlFragment via the options see Documentation here.


add rgb25 stl + move/add common types

As agreed on last call here the code for RGB25 interface and related updates (see https://github.com/LNP-BP/LNPBPs/issues/161).
Related PRs:

https://github.com/RGB-WG/rgb-schemata/pull/10
https://github.com/LNP-BP/LNPBPs/pull/163

@dr-orlovsky PR should be ready to be merged now


Test if cutting out content will improve conversion %

I would like to bring up the map higher into the page to test if this improves conversion rates so I have cut out some content. Here are the changes:

removes the imagery of PPE (I'd like to put this on another page eventually)
remove the tag line and makes the CTA a direct explanation of what our site does.
remove line to share with industry friends since we will have share links
removes the facebook share line since we have a PR to handle share links

The net effect is this brings our two main interactions i) adding a donations site ii) browsing the map, much further up in the page. On desktop you can reac the map in about 2 pages of scrolling now. I'd like to test out if this change will result in a net increase in the % of people who view a donation site on our page. If doesn't improve things I could revert the changes.
I only cut content and didn't edit any phrases to make them more concise since this would cause more work for the translation teams. I also didn't do any CSS stuff since I suck at that, but happy to take suggestions there.
Almost all of these changes are a part of the future design proposed that we will get in the future.

Current conversion rates based on direct traffic (no give.html):

Around 23-26% on weekdays


OPML Import hangs on a certain podcast

Describe the bug
When I import an OPML file, the app consistently hangs when trying to download "https://www.geierb.de/trishaspodcasts/FM4-Charts/podcast.xml"
Smartphone (please complete the following information):

Device: Samsung a52
OS: Android 12

Additional context
I think it would be a good idea to download podcasts with a timeout. If the app cannot download/process a podcast, the problem should be limited to the problematic podcast. The way it is now the only option is to abort importing the OPML.

Hi @tomtom,
Would you mind sharing your OPML file so I can test & watch the import locally?
Thanks,
Ben.

Hi @tomtom,
I have tried this issue again today and successfully imported an OPML file containing the FM4 Charts podcast. If this is still an issue for you, please can you send me an example OPML to try.

I switched to podcast addict for now, which is why I cannot check if
this is still an issue. Thank you very much for revisiting this issue.


WIP: BUG: Fix pointer type in memory allocation

Fix pointer type in memory allocation call.
PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

I'd be grateful if anyone could run Valgrind on this branch before making further changes. I want to know if this fixes at least some of the issues.

I'd be grateful if anyone could run Valgrind on this branch before making further changes. I want to know if this fixes at least some of the issues.

Shortly, current implementation does following:
void my_alloc(void ** p)
{
  void * i = nullptr;
  i = new int[1000];
  *p = i;
}

int main(int, char**)
{
  void * p = nullptr;
  my_alloc(&p);
  ::operator delete(p);
  return 0;
}

r@deb:~$ valgrind ./a.out
==8953== Memcheck, a memory error detector
==8953== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==8953== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==8953== Command: ./a.out
==8953==
==8953== Mismatched free() / delete / delete []
==8953==    at 0x4836EAB: operator delete(void*) (vg_replace_malloc.c:576)
==8953==    by 0x10919B: main (ppp.cpp:11)
==8953==  Address 0x4d7fc80 is 0 bytes inside a block of size 4,000 alloc'd
==8953==    at 0x483650F: operator new[](unsigned long) (vg_replace_malloc.c:423)
==8953==    by 0x10915A: my_alloc(void**) (ppp.cpp:3)
==8953==    by 0x10918F: main (ppp.cpp:10)
==8953==
==8953==
==8953== HEAP SUMMARY:
==8953==     in use at exit: 0 bytes in 0 blocks
==8953==   total heap usage: 2 allocs, 2 frees, 76,704 bytes allocated
==8953==
==8953== All heap blocks were freed -- no leaks are possible
==8953==
==8953== For counts of detected and suppressed errors, rerun with: -v
==8953== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

It is wrong, BTW that unusual ::operator delete(p) is probably used to suppress the warning warning: deleting ‘void*’ is undefined [-Wdelete-incomplete]? But is doesn't fix the problem.
I don't have time to dig ITK mesh classes, i don't use them, just some ideas (assumed ** is required for some reason).
void my_alloc(void ** p)
{
	int * i = new int[1000];
	p[0] = static_cast<void*>(i);
}

int main(int, char**)
{
	void * p[1];
	my_alloc(p);
	int * i = static_cast<int*>(p[0]);
	delete[] i;
}

will not cause errors and warnings or this one too
void my_alloc(void ** p)
{
	int * i = new int[1000];
	*p = static_cast<void*>(i);
}

int main(int, char**)
{
	void * p[1];
	my_alloc(p);
	delete[] static_cast<int*>(*p);
}

In fact, i don't really don't much about the test and what is the best solution, just ideas.

Thanks @issakomi Your comments do make thinks clearer! So the problem is that the buffers should have been deleted by delete [], instead of ::operator delete(p).
I think this could be solved by RAII -- let the buffers take case of deleting their own pointers automatically, in the appropriate way. However, it isn't entirely trivial, I must admit 🤔

Another approach could be to have AllocateBuffer return an std::shared_ptr<void> to the allocated buffer:
https://github.com/N-Dekker/ITK/tree/AllocateBuffer-return-shared_ptr-void
What do you think?

So the problem is that the buffers should have been deleted by delete [], instead of ::operator delete(p).

Yes, i got this version close to the current with ::operator delete[](p);
void my_alloc(void ** p)
{
  int * i = new int[1000];
  *p = static_cast<void*>(i);
}

int main(int, char**)
{
  void * p;
  my_alloc(&p);
  ::operator delete[](p);
  return 0;
}

Where is no Valgrind error, but i am still not sure, simple delete[] triggers the warning deleting ‘void*’ is undefined [-Wdelete-incomplete] delete[] p;
Probably your suggestion with RAII is better and modern (or maybe something like FreeBuffer function with switch could be used to cast back).

Thanks both @issakomi and @N-Dekker :100: for your time and insights into the problem, and for proposing possible solutions.

So the problem is that the buffers should have been deleted by delete [], instead of ::operator delete(p).

I had tried this in PR #3403 prior to switching to  ::operator delete, as the former was not building cleanly (was giving compiler warnings if I recall correctly).

(or maybe something like FreeBuffer function with switch could be used to cast back).

As a follow up to the commit in the current branch, I had a new commit ready to go doing this: in every test file, a switch statement for every buffer where in each case I would statically cast to the appropriate type prior to calling the delete operator:
  // Free memory
  switch (fsMeshIO->GetPointComponentType())
  {
    case itk::IOComponentEnum::CHAR:
      delete static_cast<char *>(pointBuffer);
      break;
    case itk::IOComponentEnum::UCHAR:
     (...)

Maybe that would have worked/removed the memory leaks, but I wanted to avoid it, as it involves repeating almost the exact same code for every buffer, in each and every test affected by the issue.
Unfortunately, I do not have a better proposal over the ones proposed in https://github.com/InsightSoftwareConsortium/ITK/pull/3459#issuecomment-1146838435 or in PR #3460. I am not familiar with RAII, but the solution looks very elegant. If we are satisfied with PR #3460 / if it does not incur memory leaks, I would close this in its favor.
Again, thanks both of you !

I am not familiar with RAII, but the solution looks very elegant.

Thanks @jhlegarreta Just to clarify the RAII idiom. It's the very common C++ technique to let destructors of classes take care of deallocation of memory and other resources. Instead of having to call free and delete functions manually, at the end of your functions.
You're already using RAII on many places, even if you're not familiar with the term. For example, when you declare giftiMeshIOBaseTest and inputFileName, here:
https://github.com/InsightSoftwareConsortium/ITK/blob/0fcfaf1288928a76c3ef2b3fcc8b6e53246bfbba/Modules/IO/MeshGifti/test/itkGiftiMeshIOTest.cxx#L48-L52
Both giftiMeshIOBaseTest and inputFileName use dynamically allocated memory. But still you don't need to deallocate them manually, afterwards . That happens automatically, according to RAII.
On the other hand, when you have those operator delete calls at the end of your function, there is a risk that the program execution does not reach those lines of code, because of an exception or an earlier return statement. Which would lead to memory leaks. So RAII is not just a matter of style. It does avoid memory leaks.
HTH, Niels

@issakomi @jhlegarreta Can you possibly confirm that Valgrind is happy now, with git master branch commit https://github.com/InsightSoftwareConsortium/ITK/commit/db8d79733d92ae1d3cafb69188e86186f13dafc0  I do expect so, but I just want to be sure 😃

Minimal local test runs fine, without compiler warnings (Linux, gcc 8.3.0) or Valgrind defects

@issakomi Cool, I'm glad to see that std::shared_ptr<void> works fine. Honestly, I think I never created a shared void pointer before in my life  😸  Of course, the next question is if Valgrind now also likes the MeshIO tests as a whole...? Again, I guess it probably will, but I just want to know for sure.

the next question is if Valgrind now also likes the MeshIO tests as a whole...?

@N-Dekker Looks good, no more Mismatched free() / delete / delete []
https://open.cdash.org/viewDynamicAnalysis.php?buildid=7966303


Add path argument to array creation functions

Could be useful to add a path argument to the bare array creation functions. Open question then about whether ancestor groups should be created.

Already present.


Fix spec references & two examples

examples were using formatMinimum instead of the specified minimum

it appears the tests fail because minimum expects a number. I believe this is a problem with the test...

minimum/maximum is only for numbers, https://github.com/ajv-validator/ajv-formats#keywords-to-compare-values-formatmaximum--formatminimum-and-formatexclusivemaximum--formatexclusiveminimum

Ok...upon further investigation:
formatMaximum and formatMinimum are not defined in the Draft 7 specs:

https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-02
https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-02
https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-hyperschema-02

There is a specific JS library that supports these additional fields...but it's not in the spec. So neither my change, nor the spec are correct and we probably need non-normative language to support non-integer min/max validation.

@JaceHensley that library uses a non-normative json schema extension to define these properties...which isn't widely supported across json schema libraries

yeah I noticed that this week, I could've sworn I saw formatMinimum on https://json-schema.org/ previously but when I went back to look at it again I couldn't find it.

What is formatMinimum anyway?

It's a minimum, but the the comparison is based on the JSON schema format (date, date-time, uri, uuid, ip, etc.)

thanks @bumblefudge minor fixes - updated!


Checking TF 1.6 + Spark 2.3 + Python 3.

@tomasatdatabricks I was able to run successfully the tests using python3. I could not get a way to have pipenv produce a reliable environment for python2.
Here is how to reproduce an environment that should be identical, hopefully. Make sure that you install pipenv, which produces reliably a python environment:
https://docs.pipenv.org/install/#installing-pipenv
(nothing else to do after that)
Tensorframes, using your branch:
git checkout d4ce7e3a570b63acaeb586af86c330e7f132a6fc
build/sbt clean tfs_testing/assembly
 cp ./target/testing/scala-2.11/tensorframes-assembly-0.3.0.jar ../spark-deep-learning/lib/

Spark deep learning, using your branch. It required some changes during the assembly phase.
# your branch
git checkout c5f35fb264af58e5ed9125e32c58098015133335

pipenv install -r python/requirements.txt
pipenv update
pipenv shell # this will drop you into the virtualenv shell
export PYTHONPATH=`pipenv --venv`
PYSPARK_PYTHON=python3 SCALA_VERSION=2.11.8 SPARK_VERSION=2.3.0 ./python/run-tests.sh
./python/tests/transformers/keras_image_test.py

This passes tests with 10^-6 precision.
Since python2 is end-of-life, and since all DL environments are geared toward python3.5+, I recommend that we drop python2 support, at least for testing, and commit to best effort to support python2. Tensorflow itself is already giving warnings for not using python 3.6.

Hey Tim. Thanks for looking into this!
The test passes for me with python2 with 6 digit precision as well, but it
used to pass without any tolerance.
I added the tolerance to the test so that I can move forward.
I'll try to run with your setup and check.
Tomas
On Fri, Mar 9, 2018 at 2:32 AM, Timothy Hunter<EMAIL_ADDRESS>wrote:

@tomasatdatabricks https://github.com/tomasatdatabricks I was able to
run successfully the tests using python3. I could not get a way to have
pipenv produce a reliable environment for python2.
Here is how to reproduce an environment that should be identical,
hopefully. Make sure that you install pipenv, which produces reliably a
python environment:
https://docs.pipenv.org/install/#installing-pipenv
(nothing else to do after that)
Tensorframes, using your branch:
git checkout d4ce7e3a570b63acaeb586af86c330e7f132a6fc
build/sbt clean tfs_testing/assembly
cp ./target/testing/scala-2.11/tensorframes-assembly-0.3.0.jar ../spark-deep-learning/lib/
Spark deep learning, using your branch. It required some changes during
the assembly phase.
your branch
git checkout c5f35fb264af58e5ed9125e32c58098015133335
pipenv install -r python/requirements.txt
pipenv update
pipenv shell # this will drop you into the virtualenv shellexport PYTHONPATH=pipenv --venv
PYSPARK_PYTHON=python3 SCALA_VERSION=2.11.8 SPARK_VERSION=2.3.0 ./python/run-tests.sh
./python/tests/transformers/keras_image_test.py
This passes tests with 10^-6 precision.
Since python2 is end-of-life, and since all DL environments are geared
toward python3.5+, I recommend that we drop python2 support, at least for
testing, and commit to best effort to support python2. Tensorflow itself is
already giving warnings for not using python 3.6.
You can view, comment on, or merge this pull request online at:
https://github.com/tomasatdatabricks/spark-deep-learning/pull/1
Commit Summary

changes to make it compile
pipfile

File Changes

A Pipfile
https://github.com/tomasatdatabricks/spark-deep-learning/pull/1/files#diff-0
(16)
M build.sbt
https://github.com/tomasatdatabricks/spark-deep-learning/pull/1/files#diff-1
(4)

Patch Links:

https://github.com/tomasatdatabricks/spark-deep-learning/pull/1.patch
https://github.com/tomasatdatabricks/spark-deep-learning/pull/1.diff

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tomasatdatabricks/spark-deep-learning/pull/1, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AfsqQZoxE3To7EyP9P9-r_j69XX--FmXks5tcloqgaJpZM4SkEF5
.


disable __esModule

how to disable__esModule?
just like
Object.defineProperty(exports, "__esModule", {
  value: true
});
i don't want it in nodejs

I wish I could remove it an flatten my codes :|
First I wrote JS helpers, then turn them to TS, then moved to angularJS 1.6, then changed them for angular 7, then changed them for react, now again I wish to use them with browser JS, and it gives me trouble, why TS can't do a simple thing in a simple way. :|


Cspclient timeout

Common host lib changes https://github.com/hpe-storage/common-host-libs/pull/149
co-deployment changes https://github.com/hpe-storage/co-deployments/pull/248