Add Papua New Guinea holidays

Proposed change

Add Papua New Guinea holidays.
Closes #1239 .
Type of change

[x] New country/market holidays support (thank you!)
[ ] Supported country/market holidays update (calendar discrepancy fix, localization)
[ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
[ ] Dependency update (version deprecation/upgrade)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (a code change causing existing functionality to break)
[ ] New feature (new python-holidays functionality in general)

Checklist

[x] I've followed the contributing guidelines
[x] I've run make pre-commit, it didn't generate any changes
[x] I've run make test, all tests passed locally

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

48 of 48 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
10299

Relevant Lines:
10299

💛  - Coveralls


Subscribing to started service not getting current state

Description
When a service is subscribed to (via .onTransition() or .subscribe()) after it has started, it does not receive the current state.
Expected Result
It should receive the current state.
Actual Result
No value is sent to the listeners.
Reproduction
(will put in tests)
Additional context
Placeholder issue

Ugly workaround:
const service = interpret(machine).start();

const someListener = state => { console.log(state); }

service.subscribe(state => someListener);

// Manually send current state
someListener(service.state);


Add shortcuts for layouts

Add keyboard shortcuts for layouts: ctrl+shift+1/6.
Reorder layouts in menu, from the smallest to the biggest.

#4682


builtin source browser should support line anchors.

Hi,
I'm using zoekt to index src rpms, before build it, after that the patches are already applied, and I'm wondering if zoekt is the right tool. The index and search tool, work as expected, however I see that if I search for a term, in the results page the links to the code number are wrong, pointing to the searched term. I.e if my search looks like http://<IP_ADDRESS>:6070/search?q=TIFFLinkDirectory&num=50, every single line in the results page will link to http://<IP_ADDRESS>:6070/search?q=TIFFLinkDirectory&num=50#
I don't know if its a bug or thats related with the way that I'm using it. Does it should link to a code browser kind like http://lxr.linux.no/? If not, do you have any recommendation of code browser, which could interact well with zoekt (without reimplement the same features?)

There is a -print option to the webserver that should let you search the code as it was indexed.

oh great!  any plans to have the code then being rendered with line codes?
On Mon, Jan 9, 2017 at 10:27 AM, Han-Wen Nienhuys<EMAIL_ADDRESS>wrote:

There is a -print option to the webserver that should let you search the
code as it was indexed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/zoekt/issues/7#issuecomment-271240291, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACSKlvWu20SDLXG88bPrCjn585XDn6wks5rQf1zgaJpZM4LZvwD
.

no, but happily will take a change that implements that :-)

thank you!


JSON Viewer - window.getSelection() not returning full text selection for browser extension

For the JSON viewer, window.getSelection() only returns what is in the user's viewport if a whole JSON document is selected. This is causing problems for our browser extension.
I understand that browser extensions do not have access to the page's JS code so even if window.getSelection() were to be overridden, extensions would not have access.
Copy + paste still works fine if performed by the user, so I'm assuming there is already some interception/override of selection APIs.
AB#51282586

I think the reason for this is that the JSON viewer is using a web editor JS-based library to render the JSON content. This library optimizes for speed by only rendering to the DOM what can fit in the viewport. Copy/Paste probably works thanks to the library too.
But I'm afraid getting the JSON by querying the DOM won't work, because the content is just not there entirely.
We have already received a request to expose the entire JSON data to the page context. So, for example, you could do window.jsonData and get the entire JSON object. I guess this would help you in your case.
Unfortunately, we've not yet prioritized working on this.

JSON Viewer has been deprecated and removed from Microsoft Edge. We just found too many incompatibilities with expected web platform behavior, and do not have the capacity to make it as great as we believe it could be. In the meantime, there are many extensions which support JSON formatting, or you can use DevTools to inspect JSON data in a formatted way.

JSON Viewer has been deprecated and removed from Microsoft Edge

@robpaveza, @leahmsft: The JSON viewer seems to be still active and enabled by default in Edge 133.0.3023.0 (Official build) canary (64-bit). Is there any related gerrit change at https://chromium-review.googlesource.com? Couldn't find it so far.


Fix Mobile Menu

On Android When You Tap On A Menu It Selects And Then Unselects.

Yeah, this is a long-standing bug. This has been on the TODO for... let me check, yeah literally years, haha. Since 2016. (via git blame)
There's a bunch of things I want to change/improve about the menus, so I've been thinking I want to rewrite that code entirely. I want to:

Not use jQuery, so I can package the menus up with no dependencies for other projects to use
Support context menus
Not take focus when interacting with the mouse, so that Edit > Copy/Paste can work with textboxes
Support more scenarios where the menus meet the bounds of the screen (like if there's just a really long menu, that can't fit on screen with repositioning, it should scroll).
Work with touch as a primary concern, instead of tacked-on support. Sub-menus are also very hard to use on mobile right now.

This is fixed.


[The Veil] Allow translations

Could be possible update The Veil sheet by @plexsoup to allow translation?

Anyone can start working on placing the translations tag into any sheet here. The wiki have a guide for how this is done.

Anyone can start working on placing the translations tag into any sheet here. The wiki have a guide for how this is done.

I am not a Pro user, just a Plus one. I can translate sheets (I've done it before) but I can not modify or upload a sheet.

If you do the legwork of palcing the translation tags in a version of the html sheet, some of us Pro users will hapily generate the needed translation.json file through Roll20.
Anyone can update the sheets on roll20's github, but we other can do do the upload stuff if you do the manual work for inserting translation tags. I have a automated script I've been working on so I could provide a partial start for you to improve in a day or so.

I apreciate that but I am not a really programmer. I do not know how to do that and I am not a The Veil player, I am just "preparing" the way when the future spanish version come up.

There is zero programming skills involved, it just a matter of inserting  i18n-data="some-tag-name" in the places the guide I linked to tells to put them. By virtue of finding Github and the roll20 repository makes you qualified enough. But oh well, I'll run my script and leave a template that people can start from when someone picks up to do it.

I looked at the sheet to see if I could just add the translation attributes, but the sheet uses some HTML and CSS tricks that will break the translation method. For example:
Veil & CascadeThe original RPGs by Fraser Simons
If you create a translation attribute for the  tag, the translation will include and override the  tag. Putting "Veil & Cascade" into a separate span tag would fix that, but mess up the CSS creating the popup effect.
I would recommend asking the original author, Plexsoup and asking them to add translation attributes, as they already know how the HTML and CSS work and may be able to modify it more easily. Someone else could do it if they have the time and inclination to start modifying the HTML, but I don't at the moment.

You can actually put spans inside the values of translations, too.

Thank you very much.
The spanish edition have to comes out but I'll use a fan translation to watch if everything is ok.
Regards

Ok. Here is the PR for the   translation.
#4531

That was fast. I'll take a quick look at the CSS this weekend and do some updates for Spanish as needed. :)

Hi, this seems to have broken my veil game. Crashing my roll20 game at startup.
I checked the console and it's raising this error:
GET https://app.roll20.net/editor/startjs/?timestamp=1545242932&disablewebgl=false&forcelongpolling=false&offsite=false&fbdebug=false&forcetouch=false 500
Can you revert the change back to the last working state?

Greetings @lindybombette  I am so very sorry. :( It appears some of the translation files did not generate for some reason. I'll put in a pull request for a fix to this tonight but I'll have request an update tomorrow during working hours.

Thanks for making the fix!

@lindybombette
A dev saw your issue and fixed it. You should be able to use the Veil sheet in English again.


feat: add memcached 3.3.0 release

update memcached with release 3.3.0

:tada: This PR is included in version 1.381.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature: accept text to edit and return URL as parameters

It should be possible for a third party site to invoke the editor as a tool. The site should allow editing, then return control to the calling site when the user requests it. The calling site would provide text to edit, maybe from partially filled-in textbox, and maybe a prompt. The user would have a button to finish editing and return to the calling site. On activating the button the scratchpad app should send the text to the calling site; probably as a parameter, but possibly as a webhook for the calling site to GET.

I think this is too speculative. I can't imagine any site actually doing this.


Mintbase & Donation features

@race-of-sloths, please, include my PR in the race
implemented #29
fixed #30
implemented #31

@ArturLevchuk Thank you for your contribution! Your pull request is now a part of the Race of Sloths!
You are true leader! Other sloths hot on your heels, keep moving!

Current status: waiting for scoring
We're waiting for maintainer to score this pull request with @race-of-sloths score [0,1,2,3,5,8,13] command. Alternatively, autoscoring [1,2] will be applied for this pull request
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow
For contributors:

Tag @race-of-sloths inside your pull requests
Wait for the maintainer to review and score your pull request
Check out your position in the Leaderboard
Keep weekly and monthly streaks to reach higher positions
Boast your contributions with a dynamic picture of your Profile

For maintainers:

Score pull requests that participate in the Race of Sloths
Engage contributors with fair scoring and fast responses so they keep their streaks
Promote the Race to the point where the Race starts promoting you
Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands

For contributors

Include a PR: @race-of-sloths include to enter the Race with your PR

For maintainers:

Invite contributor @race-of-sloths invite to invite the contributor to participate in a race or include it, if it's already a runner.
Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called

🥁  Score it!
@vlmoon99, please score the PR with @race-of-sloths score [1/2/3/5/8/13]. The contributor deserves it.
If no scoring is provided within 24 hours, this PR will be scored as 1 🦥

@race-of-sloths score 21

🏆 Score recorded!
It looks like @vlmoon99 provided a score of 21, but based on our Fibonacci scoring rules, we've adjusted it to 13.

[!TIP]
We accept only the following Fibonacci numbers [0, 1, 2, 3, 5, 8, 13] for scoring


Faulty handling of UNC paths

I have a case where Jinja doesn't find a template which is loaded using the PackageLoader("gcovr").
For reference, see https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd:

File I/O functions in the Windows API convert "/" to "\" as part of converting the name to an NT-style name, except when using the "\\?" prefix as detailed in the following sections.

Using the "\\?\" prefix is desirable in general, because it lifts a few limits, in particular one on the length of the path.
I haven't gotten to the state where I can present a simple example. My setup is a bit stacked, Jenkins running a job in Kubernetes on Windows, there using Bazel to invoke gcovr to generate a coverage report from some C/C++ binaries compiled with MinGW. What I found there was that Jinja fails to load a style.css file, which is totally there. What I ended up with was that I copied bits'n'pieces from loader.py in order to debug them on that stack in the most crude print() way you can imagine. It's not pretty.
Still, here's the code from gcovr, which shows how Jinja is integrated:
    from jinja2 import Environment, PackageLoader

    return Environment(
        loader=PackageLoader("gcovr"),
        autoescape=True,
        trim_blocks=True,
        lstrip_blocks=True,
    )

And a bit of code that comes from split_template_path() and class PackageLoader:
    template = 'style.css'
    p = os.path.normpath(
        posixpath.join(template_root, *split_template_path(template))
    )
    print(p)
    if not os.path.exists(p):
        print('  -> does not exist')
    elif not os.path.isfile(p):
        print('  -> is not a file')
    else:
        print('  -> is a file')

    if os.path.altsep and os.path.altsep in p:
        p = p.replace(os.path.altsep, os.path.sep)
        print(p)
        if not os.path.exists(p):
            print('  -> does not exist')
        elif not os.path.isfile(p):
            print('  -> is not a file')
        else:
            print('  -> is a file')

Locally (running Ubuntu), it works and it doesn't enter the "altsep" path of course. On Windows, it produces this output though:
\\?\C:\Users\ContainerAdministrator\AppData\Local\Temp\Bazel.runfiles_u_shwwy7\runfiles\gcovr_wheel_5_1_default\gcovr\templates/style.css
  -> does not exist
\\?\C:\Users\ContainerAdministrator\AppData\Local\Temp\Bazel.runfiles_u_shwwy7\runfiles\gcovr_wheel_5_1_default\gcovr\templates\style.css
  -> is a file

I believe that converting the string-based and rather manual path handling could be improved by using the Python pathlib. I have only gotten to use it recently, but I'm fully convinced that it's a huge step ahead in reliability and readability of code handling paths. As a quick workaround, see the above, i.e. replacing os.path.altsep with os.path.sep in the paths.
Environment:

OS: MS Windows
Python version: 3.7
Jinja version: 3.1.2

Please provide an example using Jinja. It seems like you've extracted some code from Jinja, but have also mixed it with your own code, and it's hard for me to follow what part of Jinja the issue is coming from with that.

I believe that converting the string-based and rather manual path handling could be improved by using the Python pathlib. I have only gotten to use it recently, but I'm fully convinced that it's a huge step ahead in reliability and readability of code handling paths.

Thanks, I'm well aware of pathlib. I've already evaluated using it in the code you're showing. It did not help, and occasionally made the implementation more complicated.

As a quick workaround, see the above, i.e. replacing os.path.altsep with os.path.sep in the paths.

This seems like obviously a bad idea. If / has literal meaning instead of a separator in UNC paths, then turning it into a separator can produce incorrect results.

Also note that we have to join using / to avoid a security issue on Windows, because otherwise drive-relative and UNC paths can potentially escape the base directory. So undoing that by replacing / with \ would reintroduce the security issue.

Hello David! Thanks for your feedback. I'm aware I was a bit vague, it was a long and warm day yesterday. I'll dig further into it today and hopefully be able to provide a full example.

Just a short update: It's not trivial to reproduce in isolation. The reason is that importlib.util.find_spec() gives me "normal" paths ("C:\foo\bar") for modules when running Python on its own. It only gives UNC paths ("\\?\C\foo\bar") when running inside of Bazel and only for some modules.
If I understand the intentions correctly, the Jinja template is specified using a notation similar to a POSIX path. In loaders.py, in split_template_path(), you split this using "/" as separator, while filtering some invalid path elements. You then you use POSIX path operations to append it to the OS-specific path from the module. The result is then passed to os.path.normpath(). The comment there reads "Use normpath to convert Windows altsep to sep.". The problem is that os.path.normpath() doesn't touch a path that starts with "\\?\", and IMHO that's correct. The reason is that "." and ".." are valid filenames and "/" can also be part of a filename. For reference, I found this bug which discusses a similar topic.

Also note that we have to join using / to avoid a security issue on Windows, because otherwise drive-relative and UNC paths can potentially escape the base directory. So undoing that by replacing / with \ would reintroduce the security issue.

Can you elaborate, perhaps give some examples? It's unfortunately not obvious to me...

If the template name e:secret.txt was given, then ntpath.join(base, name) (Windows) would produce e:secret.txt, the drive relative letter is treated as an absolute path, and join gives precedence to absolute paths. Now secret.txt would be looked up in the current directory but on a different drive. Security issue.
So instead, Jinja joins using posixpath.join, which uses / to join segments and doesn't recognize Windows drive-relative paths as absolute.

I see, didn't expect that semantic of joining two absolute paths. For some reason, pathlib retained that behaviour.
Still, it can conveniently solve the task:
# template_root from the importlib spec
root = pathlib.Path(template_root)
# template from the get_source() function parameter
# important, the resolve() will eliminate "." and ".." and resolve symbolic links
template_path = (root / template).resolve()
# check if template_path is in root
if not template_path.is_relative_to(root): raise Exception()

Happy to review a PR.

Heya! :) There is https://github.com/UlrichEckhardt/jinja/releases/tag/jfrog-dev1 as a preview. I need to do some more testing due to the complicated software stack here, but it seems to have fixed the issue. I'll clean this up when I find time, probably next week rather, and file a proper PR then. I'd appreciate if you could take a look, just to say if this is heading the right direction.

I have run into this bug when trying to convert a setuptools project to a maturin (rust) project. My python code uses jinja2's PackageLoader, which works when built with setuptools. When built with maturin, however, the spec.submodule_search_locations contains a UNC path.
I suspect (but haven't proven) that maturin uses rust standard library code that returns UNC paths: https://github.com/rust-lang/rust/issues/42869

I've also run into this when using Buck2 which is built in Rust. As a workaround I ended up just using FileSystemLoader and providing the template in the working directory, bypassing the need to provide a file path.


Remove redundant npm dependency

Hello archemiro!
It seems like you have npm as one of your (dev-) dependency in pascua.
Since you actually need npm to install the dependencies it's redundant to
have npm itself as (dev-) dependency.
Therefore I've removed it and made this PR, merge if you want :)
Be sure to re-run npm i or yarn to actualize your lock files.
Beep boop, I'm a bot.

Codecov Report

Merging #5 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master     #5   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          61     61
  Branches       11     11
=====================================
  Hits           61     61

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2079c6f...ff44a47. Read the comment docs.

There is no npm devDependency in the project, no files changed with this pull request.


update TKK key setting after Google Translate changes

This change works correctly.

Coverage increased (+1.6%) to 96.154% when pulling b5d1b8561fc1a34fac1e66bb280cd153d1a31044 on ncpierson:master into 28a531bd43f09337ac29851c94fb265dfd32c8c9 on zlargon:master.

Oops, sorry for my misstake! I found #14 after this requested... 😭

Hi, @ycrack
I have updated the testing rule (https://github.com/zlargon/google-tts/commit/4b9872a01d5d9c8b757b7580ad0f93161aff4616), so this pull request can properly pass the test.
I have merged this request, thank you.


Working with Shaders part of docs is blank

Working with Shaders part of docs is blank. Not sure if this section was meant to be removed or something else.
https://pyglet.readthedocs.io/en/latest/programming_guide/shaders.html

Thanks for opening the ticket.
It was accidentally included, so i'll remove that. Documentation on Shaders can be found in:
https://pyglet.readthedocs.io/en/latest/programming_guide/graphics.html

Thank you!


Move beta tag to exact right of shortcut title in help dialog

Describe the enhancement that can be done
In current scenario beta tag is in exact left to actual shortcut which is not looking good so Let's move beta tag to exact right of shortcut title in help dialog.
Additional context

Please consider my pr, I have checked it in my local system

Please consider my pr, I have checked it in my local system

Yeah sure will review it today.


Name clash

I like the idea of a Go X.509 certificate linter very much. Thanks for working on this!
However, the name clash with awslab's older and established certlint is IMHO a little bit unfortunate.
Did you consider choosing a different project name?

Not really as it's a project in a different language.

BTW: In the CLI usage example of the README.md you wrote "certlinter".

Hi there,
thanks for your effort! That is a useful tool!
But please do reconsider renaming it. You could really help to avoid name confusion in the future by putting this aside right now.
If linux distros will package certlint (both globalsign and awslabs) in the future there will need to be two different names anyway. You can now still choose the name before others will do it.
e.g. certlint-aws and certlint-gs or something like that might happen :/
certlinter doesn't sound that bad and as it's already documented that way? ;)
That it's written in another language isn't really the point here and most users won't even know about that.
Again: thanks for your efforts and for releasing it under a free license!


feat: Popover Component

What this does

Implements a bare bones version of the headless ui popover.
Provides convenience props for trigger text/icon for most commonly expected trigger use cases.
Provides convenience text prop for simple tooltip like popovers.
Adds positioning prop for flexible positioning.
Keeps presentation styles minimal leaving it mostly up to the PositionContent slot to do whatever it needs.

@profsmallpine something for us to consider as we add features like this is how opinionated and convenient they should be.  Example we could strip out the triggerText and triggerIcon props and instead use those in more highly opinionated components such as "Tooltip" where the styling would be more opinionated for that specific use case.
https://user-images.githubusercontent.com/3856703/153058513-bcaf9947-486d-4e74-80f0-ced0158abc6d.mov
TODO

[ ] bump version number

Code looks good, appreciate the ease of overriding classes in the content slot. I'd opt to start with as many opinions as possible (in general). Styling can be what we want for the existing use case (expanded in the future if need be). That way, if someone is being lazy, they will just get the default UI which will help us maintain features working the same way across apps and helping solidify user expectations of when something is clickable, etc..
In that vein, I'd consider auto-positioning (depending on how sane/reliable it is) so that you just drop the content in and are off n running. Stripping away the trigger text/icon makes a lot of sense here (moving towards a tooltip, maybe built off of this). I'm curious if we could just make it a convention to use the little i icon as it becomes muscle memory to see that and know more info lies beneath (would we ever use the popover or is a more opinionated tooltip enough). Those types of decisions help us tighten up the UI, even if it's less flexible in the end. Open for more discussion though if you have different intuitions.


Support Triplet Cars Mitsubishi i-Miev, Citroën C-Zero and Peugeot Ion

Can4eve shall have support for the triple group of cars that share a common set of OBDII-Pids.
This group of cars does not have an in-car software supplied by the manufacturer.
The OBDII pids as outlined in http://cantriplet.bitplan.com/ shall be supported.

reopen until #3 is fixed


my-slide-branch

How am I going to be creating a new branch to test?

I believe the bot is waiting to close this issue for #3;)


CUDNN_STATUS_INTERNAL_ERROR when running with CUDA 10.0 tensorflow-gpu on RTX2080 ubuntu18

I have Geforce 2080, running latest nvidia drivers, Cuda 10.0, matching cudnn libs and I'm getting
CUDNN_STATUS_INTERNAL_ERROR when running with tensorflow-gpu.
System information

NVIDIA drivers:  NVIDIA-SMI 430.50       Driver Version: 430.50       CUDA Version: 10.1
Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution: Linux Ubuntu 18.04)
TensorFlow installed from (source or binary): using pip install tensorflow
TensorFlow version (use command below): v2.0.0-rc2-26-g64c3d38
Python version: 3.7.4
GCC/Compiler version (if compiling from source): 7.4
CUDA: 10.0
cuDNN version: <IP_ADDRESS>
GPU model and memory:

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
Getting  CUDNN_STATUS_INTERNAL_ERROR when trying to run my tensorflow program.

> python classify_image2.py --image_file images/dakota/20262694-7620733-A_bit_of_skin_Scarlett_s_chicness_couldn_t_be_denied_as_she_step-a-3_1572251360982.jpg
> Tagging None images/dakota/20262694-7620733-A_bit_of_skin_Scarlett_s_chicness_couldn_t_be_denied_as_she_step-a-3_1572251360982.jpg image_vectors
> WARNING:tensorflow:From classify_image2.py:144: FastGFile.__init__ (from tensorflow.python.platform.gfile) is deprecated and will be removed in a future version.
> Instructions for updating:
> Use tf.gfile.GFile.
> W1030 11:25:26.150423<PHONE_NUMBER>12288 deprecation.py:323] From classify_image2.py:144: FastGFile.__init__ (from tensorflow.python.platform.gfile) is deprecated and will be removed in a future version.
> Instructions for updating:
> Use tf.gfile.GFile.
> Creating graph
> 2019-10-30 11:25:26.333540: W tensorflow/core/framework/op_def_util.cc:370] Op BatchNormWithGlobalNormalization is deprecated. It will cease to work in GraphDef version 9. Use tf.nn.batch_normalization().
> 2019-10-30 11:25:26.419195: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
> 2019-10-30 11:25:26.438190: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.438444: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
> name: GeForce RTX 2080 major: 7 minor: 5 memoryClockRate(GHz): 1.71
> pciBusID: 0000:02:00.0
> 2019-10-30 11:25:26.438552: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
> 2019-10-30 11:25:26.439222: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
> 2019-10-30 11:25:26.439782: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10.0
> 2019-10-30 11:25:26.439910: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10.0
> 2019-10-30 11:25:26.440597: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10.0
> 2019-10-30 11:25:26.441076: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10.0
> 2019-10-30 11:25:26.442559: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
> 2019-10-30 11:25:26.442603: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.442865: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.443091: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
> 2019-10-30 11:25:26.443293: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
> 2019-10-30 11:25:26.462892: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
> 2019-10-30 11:25:26.463602: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55fa96c51240 executing computations on platform Host. Devices:
> 2019-10-30 11:25:26.463612: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
> 2019-10-30 11:25:26.530626: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.530928: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55fa96c50af0 executing computations on platform CUDA. Devices:
> 2019-10-30 11:25:26.530940: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): GeForce RTX 2080, Compute Capability 7.5
> 2019-10-30 11:25:26.531026: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.531249: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
> name: GeForce RTX 2080 major: 7 minor: 5 memoryClockRate(GHz): 1.71
> pciBusID: 0000:02:00.0
> 2019-10-30 11:25:26.531267: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
> 2019-10-30 11:25:26.531274: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
> 2019-10-30 11:25:26.531280: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10.0
> 2019-10-30 11:25:26.531286: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10.0
> 2019-10-30 11:25:26.531292: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10.0
> 2019-10-30 11:25:26.531298: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10.0
> 2019-10-30 11:25:26.531305: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
> 2019-10-30 11:25:26.531328: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.531555: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.531763: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
> 2019-10-30 11:25:26.531782: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
> 2019-10-30 11:25:26.532197: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
> 2019-10-30 11:25:26.532205: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0
> 2019-10-30 11:25:26.532208: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N
> 2019-10-30 11:25:26.532255: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.532487: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1006] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
> 2019-10-30 11:25:26.532713: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7150 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080, pci bus id: 0000:02:00.0, compute capability: 7.5)
> 2019-10-30 11:25:27.283539: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
> 2019-10-30 11:25:27.486979: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
> 2019-10-30 11:25:27.996932: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
> 2019-10-30 11:25:27.998075: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
> Traceback (most recent call last):
>   File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1365, in _do_call
>     return fn(*args)
>   File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1350, in _run_fn
>     target_list, run_metadata)
>   File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1443, in _call_tf_sessionrun
>     run_metadata)
> tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
>   (0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
> 	 [[{{node conv/Conv2D}}]]
>   (1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
> 	 [[{{node conv/Conv2D}}]]
> 	 [[softmax/_3]]
> 0 successful operations.
> 0 derived errors ignored.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "classify_image2.py", line 345, in <module>
    tf.compat.v1.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "classify_image2.py", line 296, in main
    run_inference_on_image(image)
  File "classify_image2.py", line 162, in run_inference_on_image
    {'DecodeJpeg/contents:0': image_data})
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 956, in run
    run_metadata_ptr)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1180, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1359, in _do_run
    run_metadata)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1384, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
  (0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
	 [[node conv/Conv2D (defined at /home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1751) ]]
  (1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
	 [[node conv/Conv2D (defined at /home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1751) ]]
	 [[softmax/_3]]
0 successful operations.
0 derived errors ignored.

Original stack trace for 'conv/Conv2D':
  File "classify_image2.py", line 345, in <module>
    tf.compat.v1.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "classify_image2.py", line 296, in main
    run_inference_on_image(image)
  File "classify_image2.py", line 149, in run_inference_on_image
    create_graph()
  File "classify_image2.py", line 129, in create_graph
    _ = tf.import_graph_def(graph_def, name='')
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/importer.py", line 405, in import_graph_def
    producer_op_list=producer_op_list)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/importer.py", line 517, in _import_graph_def_internal
    _ProcessNewOps(graph)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/importer.py", line 243, in _ProcessNewOps
    for new_op in graph._add_new_tf_operations(compute_devices=False):  # pylint: disable=protected-access
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 3564, in _add_new_tf_operations
    for c_op in c_api_util.new_tf_operations(self)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 3564, in <listcomp>
    for c_op in c_api_util.new_tf_operations(self)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 3454, in _create_op_from_tf_operation
    ret = Operation(c_op, self)
  File "/home/tomburnell/github/news-search-image-similarity/venv/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 1751, in __init__
    self._traceback = tf_stack.extract_stack()

Describe the expected behavior
It should not fail with this error  :-)
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64/
python classify.py --image_file  someimage.jpg
-----------classify.py--------------------

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import argparse
import os.path
import re
import sys
import tarfile
from collections import defaultdict
import psutil

import numpy as np
from six.moves import urllib
import tensorflow as tf

FLAGS = None

# pylint: disable=line-too-long
DATA_URL = 'http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz'

def create_graph():
  """Creates a graph from saved GraphDef file and returns a saver."""
  # Creates graph from saved graph_def.pb.
  with tf.compat.v1.gfile.FastGFile(os.path.join(
      FLAGS.model_dir, 'classify_image_graph_def.pb'), 'rb') as f:
    graph_def = tf.compat.v1.GraphDef()
    graph_def.ParseFromString(f.read())
    _ = tf.import_graph_def(graph_def, name='')

def run_inference_on_image(image):
  if not tf.io.gfile.exists(image):
    tf.compat.v1.logging.fatal('File does not exist %s', image)
  image_data = tf.compat.v1.gfile.FastGFile(image, 'rb').read()

  print("-----Creating graph")
  create_graph()

  with tf.compat.v1.Session() as sess:
    print("----Get softmax_tensor")
    softmax_tensor = sess.graph.get_tensor_by_name('softmax:0')

    print("-----Get predictions")
    predictions = sess.run(softmax_tensor,
                           {'DecodeJpeg/contents:0': image_data})

def maybe_download_and_extract():
  """Download and extract model tar file."""
  dest_directory = FLAGS.model_dir
  if not os.path.exists(dest_directory):
    os.makedirs(dest_directory)
  filename = DATA_URL.split('/')[-1]
  filepath = os.path.join(dest_directory, filename)
  if not os.path.exists(filepath):
    def _progress(count, block_size, total_size):
      sys.stdout.write('\r>> Downloading %s %.1f%%' % (
          filename, float(count * block_size) / float(total_size) * 100.0))
      sys.stdout.flush()
    filepath, _ = urllib.request.urlretrieve(DATA_URL, filepath, _progress)
    print()
    statinfo = os.stat(filepath)
    print('Successfully downloaded', filename, statinfo.st_size, 'bytes.')
  tarfile.open(filepath, 'r:gz').extractall(dest_directory)

def main(_):
  maybe_download_and_extract()
  image = FLAGS.image_file if FLAGS.image_file else None
           # else
           # os.path.join(FLAGS.model_dir, 'cropped_panda.jpg'))

  run_inference_on_image(image)

if __name__ == '__main__':
  parser = argparse.ArgumentParser()
  parser.add_argument(
      '--model_dir',
      type=str,
      default='/tmp/imagenet',
      help="""\
      Path to classify_image_graph_def.pb,
      imagenet_synset_to_human_label_map.txt, and
      imagenet_2012_challenge_label_map_proto.pbtxt.\
      """
  )
  parser.add_argument(
      '--image_file',
      type=str,
      default='',
      help='Absolute path to image file.'
  )
  FLAGS, unparsed = parser.parse_known_args()
  tf.compat.v1.app.run(main=main, argv=[sys.argv[0]] + unparsed)
~

I found to also be failing in the same way using docker image
docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu
python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"
I have simplified the code above that still replicates the problem

Also I should say, the same nvidia driver/cuda/cudnn seems to work fine for my pytorch code

@tombburnell Dude just move to Pytorch !

Apologies for the delay in response. Is this still an issue?
You may try gpu memory resources management by allowing gpu memory growth.
To know more see https://www.tensorflow.org/guide/gpu#limiting_gpu_memory_growth
You can try Allowing GPU memory growth with:
import tensorflow as tf
gpu = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpu[0], True)

The solution provided by @ymodak worked for me. I am using tensorflow 1.15, cudnn 7.6.5 on conda 4.8.2, Ubuntu 20.04. Thanks for the help.

Apologies for the delay in response. Is this still an issue?
You may try gpu memory resources management by allowing gpu memory growth.
To know more see https://www.tensorflow.org/guide/gpu#limiting_gpu_memory_growth
You can try Allowing GPU memory growth with:
import tensorflow as tf
gpu = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpu[0], True)

Thanks. This solution worked for me.

I had the same problem and I solved it with this code
 import tensorflow as tf config = tf.compat.v1.ConfigProto() config.gpu_options.allow_growth = True #sess = tf.Session(config=config) sess = tf.compat.v1.InteractiveSession(config=config)


No error in terminal but SMTP does not connect

I have successfully connected IMAP but not SMTP. I tried <IP_ADDRESS> instead of localhost too but same problem. Tried Mailspring client and Kmail.
Is this a bug?
I am using Kubuntu with the latest Surface Kernel if this helps.

It's unlikely that this is a bug given how common it is to use the proxy with O365. As explained in the readme, it is always worth trying to connect via a terminal first. You mention trying the IPv4 address directly; have you tried the IPv6 version?
If this still doesn't help, please post the proxy log in --debug mode, the log that your client is offering (in the screenshot) and your configuration file.

It's unlikely that this is a bug given how common it is to use the proxy with O365. As explained in the readme, it is always worth trying to connect via a terminal first. You mention trying the IPv4 address directly; have you tried the IPv6 version?
If this still doesn't help, please post the proxy log in --debug mode, the log that your client is offering (in the screenshot) and your configuration file.

Thank you! It works now by using IPv6.
Solution: Use ::1 in SMTP server instead of localhost or <IP_ADDRESS>

Thanks for following up – I'm glad you were able to resolve this.


Update scripts/tweet_things.py

Nice! Were you able to figure out a way to test this?

I think there's a typo in my code, actually. document.annotation_document.body.strip() should be Document.annotation_document.body.strip() (with "Document" capitalized), yes?
Couldn't quite figure out how to write a test function, any thoughts? I think we'd just need to change previous_tweets in main() to a set of test documents, some blank and some with text:
def main():
    # Put test documents here
	previous_tweets = {}

    post_document_tweet(previous_tweets)

and then change post_document_tweet to something like this:
def post_document_tweet(previous_tweets):
	from django.utils.timezone import now

	for doc in Document.objects.filter(created__gt=now() - timedelta(days=5)).order_by('created'):
		key = "document:%d" % doc.id
		# Don't post empty documents
		if Document.annotation_document.body.strip() == "": continue
		if key in previous_tweets: continue

		print doc

Which would log which documents were going through and which were being passed over.
I don't know how the documents are formatted, though. How would you set up the test documents?

My guess is that you'd want to use doc, as that's what's being passed to the loop. But that's why we need some tests!
This project actually doesn't have any tests yet, which is probably not a great practice and laziness on our part. I'm not very familiar with this area, so @JoshData can correct me if I'm wrong, but I believe that the proper thing to do would be to create a tests folder in the root and put testing scripts in there. The scripts can use something like unittest, and in this case would set up those representative test documents and check that they create the expected outcome.
That would be a separate pull request, but are you interested in giving that a shot? I'm interested in how this works and am happy to help, too.

Sure, I'll play around with that. Thanks for the feedback.


Bump minimum cmake version to 2.8.12 to satisfy latest cmake

I wonder what is the point of when using versioning if basically even minor versions are being forcibly deprecated. Like how dare you using an older version of this orogram that has been working for you until now!
Anyways that's a complaint against CMake.
Thank you for this change.


Update SDK Tools Consumption to use Template

Add Azure-SDK-Tools as a repository resource.
Load scripts as templates from the resource.

/azp run net - eventhub - ci
#7492

/azp run net - eventhub - ci

/azp run net - core - ci

/azp run net - applicationinsights - ci


Sometimes PSI result is wrong

Env:

Centos 7.9
sender.csv / 315MB / 10,000,000
receiver.csv / 315MB / 10,000,000
sender.csv == receiver.csv, (id is 32 characters, ex: xxxxxxxxxxxxxxxxxxxxxx1000000000)

Steps:

Loop 100 times
One by one

Results:

6/100 psi result is 9,999,999 lines
94/100 psi result is 10,000,000 lines

Log:
=> 1 sender starting
=> 1 receiver starting
=> 1 psi done
=> 1 psi result: 9999999
=> 2 sender starting
=> 2 receiver starting
=> 2 psi done
=> 2 psi result: 9999999
=> 3 sender starting
=> 3 receiver starting
=> 3 psi done
=> 3 psi result: 10000000
=> 4 sender starting
=> 4 receiver starting
=> 4 psi done
=> 4 psi result: 10000000
=> 5 sender starting
=> 5 receiver starting
=> 5 psi done
=> 5 psi result: 10000000
...
addtion:

1,000,000 psi is 100% correct
100,000,000 psi occurs wrong results, the same as 10,000,000 psi

Thanks for the details. If you run the same input twice do you get the same answer?

Was able to reproduce. Will fix soon

Should be fixed now

Should be fixed now

ok, let me try again.

still be able to reproduce.

And you are sure you're on the latest commit?

can you run  -u Baxos_solve_Test -n 10000000 -b 16384 -t 1000 -v and tell me if it fails

closing due to inactivity.


Implement authSig authentication for Node.js environment

To safe new people, the trouble of figuring out how to create an AuthSignature(authSig) for a Node.js environment where they have the free choice to implement their provider and wallet - but at hearing to signature structure of Lit nodes.

Merged.  Thanks for the contribution!


FD leaks when ep.start() failed or cancelled in acceptEvent or con.connect() failed

Currently, we have con.close() inside the SSLNetVConnection::free() but UnixNetVConnection::free() doesn't.
It makes socket fd leaks when:

ep.start() failed inside UnixNetVConnection::connectUp
action.cancelled inside UnixNetVConnection::acceptEvent
con.connect() failed inside UnixNetVConnection::connectUp

The Connection::~Connection() is not called since the NetVC is deallocated by freelist.

@zwoop
We met "Cannot assign requested address", errno = 99 (EADDRNOTAVAIL) during performance testing and found socket fd leaks.
Please backport this PR to 7.1.1 if possible.

Added to 7.1.x project, please land.

Cherry-picked to 7.1.1. @oknet This didn't cherry-pick cleanly, but the resolution is trivial I think, but can you please double check the 7.1.x branch to make sure?

@zwoop I checked it again. I'm sure it is all correct.

I screwed this up, so I reverted it from 7.1.1. Can you please make a PR for 7.1.x branch? The issue is the "t" vs e->ethread.

Going to cherry-pick this one together with a32f7ed3e49f595633f59cc44481f42af01f7a58.


Embeddable array of objects cannot be searched by properties

Describe the bug
Embeddable arrays cannot be searched in mysql (haven't tested other drivers). I think the mysql driver manually creates a query for searching json objects but doesn't take into account that embeddables can be arrays of objects.
To Reproduce
Create an Embeddable array property in an entity:
@Embeddable()
class Prop {
  @Property()
  key: string

  @Property()
  value: string
}

...

@Embedded(() => Prop, { array: true })
props: Prop[] = []

Try to search by a property inside the array of objects:
const { search } = request.query
const players = await em.find({ props: {
  value: {
    $like: `%${search}%`
  }
 })

This will produce an sql query looking something like this:
select `e0`.* from `player` as `e0`
where `e0`.`props`->'$.value' like '%xyz%'

Expected behavior
If the embeddable is set to array mode then the query should use the json array search syntax. I'm not sure if there's any fancy syntax for doing that but currently I'm using the QueryBuilder to manually use json_extract:
em.createQueryBuilder(Player, 'p')
  .where('json_extract(props, \'$[*].value\') like ?', [`%${search}%`])

Is there any update on working with an array of embeddables? I'm facing a similar issue.

The problem with this is that only MySQL offers feasible solution, I haven't found a way to do it with other drivers (that would fit how the QB is designed).

Is it worth submitting feedback upstream to postgres? Curious about the blocker in how postgres works versus MySQL.

More context here, I got some suggestions on how this could be done, but the problem is that it's not possible to go that way without a lot of added abstractions, or it would be very limited in general.
https://stackoverflow.com/questions/67785282/how-can-i-filter-by-jsonb-object-value-inside-array


Add verification for fields in thermals, renewables and storages

Update thermals, renewables and storages forms: add verification on fields with the specs from the back-end.

TODO:

[ ] Get validation rules from the API code or specs
[ ] Update Thermal form fields
[ ] Update Renewable form fields
[ ] Update Storage from fields
[ ] Test all validation rules works as expected

Storage form missing validation rules:

initial_level min: 0 max: 1
efficiency min: 0 max: 1 default: 1
withdrawal_nominal_capacity min: 0
injection_nominal_capacity min: 0
reservoir_capacity min: 0

Thermal form missing validation rules:

unit_count min: 1
nominal_capacity min: 0
min_up_time min: 0 max: 168 default: 1
min_down_time min: 0 max: 168 default: 1
spinning min: 0 max: 1
volatility_forced min: 0 max: 1
volatility_planned min: 0 max: 1

Renewable form missing validation rules:

unit_count min: 1
nominal_capacity min: 0


[WIP] Adding gh-pages support . Closes #646

Hopefully added gh-pages support. Added the build folder that has all the doc HTML, css, etc files. Made a HTML file called docs/index.html that links to docs/build/html/index.html to keep the docs folder cleaner.
Also, this will enable automatic gh-page updates since documents are always being created with each make, but a contributor will need to git add any new rst files and their corresponding html files.
Changed the make file to make sphinx-apidoc ignore test files within file-drop for example and ignore settings for the different workers.

Codecov Report

Merging #656 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #656      +/-   ##
==========================================
- Coverage   89.04%   88.98%   -0.06%
==========================================
  Files          47       47
  Lines        3387     3387
==========================================
- Hits         3016     3014       -2
- Misses        371      373       +2

Impacted Files
Coverage Δ

vent/helpers/meta.py
77.9% <0%> (-1.17%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ffae25a...385cf00. Read the comment docs.

It's on fire yo.


[✨] Critical DX/UX improvement to SPA navigation in Qwik City

What is it?

[x] Feature / Enhancement
[x] Bug / Fixes
[x] Docs / tests

Overview
This is a relatively straightforward change that addresses a number of interrelated issues around SPA navigation in Qwik City. Some are already mentioned in other issues (#2162, #2050, #3149, #2202, #2203), while some are newly reported here.
Support MPA-like scroll restoration in SPA
Before: Qwik City always scrolls to the top upon SPA navigation, unless there is a hash segment in the URL. This is not consistent with how browsers handle MPA scroll restoration on popstate.
After: Users can additionally opt into a new mode that mimics how browsers handle scroll restoration in MPA - scroll to the top for new pages (e.g. useNavigate() and <Link />), but to the last-visited scroll position for popstate navigation (e.g. back/next button), unless there is a hash segment in the URL.

This provides feature parity against React Router and Remix

Customizable scroll restoration
Before: Scrolling to the top is hard-coded into the Qwik City navigation logic, but different applications have their own needs (e.g. Installed PWAs and regular web pages should restore scroll positions differently).
After: Users can now customize scroll restoration with the built-in scroll restorer toTopAlways and toLastPositionOnPopState or even their own implementation. The 'before' behavior is equivalent to toTopAlways.

This provides feature parity against React Router and Remix
This provides customizability for users to implement #2162 in userland

Race condition when restoring scroll positions
Before: Scroll position is restored after the DOM is 'settled' in order to synchronize content update and scroll position update. However, the current implementation relies on a series of hard-coded setTimeout(), which very often results in either early scrolling or late scrolling.
After: A DOM change marker (just an empty <script> tag with a custom attribute) re-renders with a unique value whenever there is a navigation). 'DOM Settled' is accurately detected by having a temporary MutationObserver monitoring the actual DOM update on this marker. Scroll and content updates are now always in-sync.

This provides feature parity against React Router and Remix
This fixes #2050 and #3149

Prevent full-page reload when popstate happens before manual navigation
Before: Qwik City registers a temporary popstate event listener to reload the page if there is any popstate navigation before the first pushState is called. This essentially turns all SPAs into MPA whenever users refresh the page. This also makes page navigation inconsistent before and after the first pushState. In addition, there are unnecessary popstate listener registration/unregistration, because the temporary listener will be replaced by a real listener anyway after the first pushState.
After: Instead of a temporary popstate listener that does full-page refreshes, Qwik City now directly sets up the real popstate listener that updates the page without full-page refreshes.

This makes Qwik City consistent with all other SPA frameworks in the market.

Navigation Events
Before: Users can detect navigations via isNavigating from the location object returned by useLocation(), but this does not tell the start of navigation, nor when the DOM is settled after the navigation.
After: Two new CustomEvents are now available for hooking into different phases of navigation. The 'qnav' event has a status property that informs whether the navigation is pending (interaction triggered) or resolved (resources loaded). For SPA, there is now a 'qsettled' event that tells when the DOM update has been completed after each navigation.

This fixes #2202 and #2203.

Breaking Changes
As a result of this change, SPA users need to update their root.tsx with the following template.
import {
  QwikCityProvider,
  RouterOutlet,
  ServiceWorkerRegister,
  toTopAlways
} from<EMAIL_ADDRESS>import { RouterHead } from './components/router-head/router-head';

export default function Root() {
  return (
    <QwikCityProvider>
      <head>
        <meta charSet="utf-8" />
        <link rel="manifest" href="/manifest.json" />
        <RouterHead />
      </head>
      <body>
        //            ⬇ New (optional): toTopAlways or toLastPositionOnPopState (default)
        <RouterOutlet restoreScroll$={toTopAlways} />
        <ServiceWorkerRegister />
      </body>
    </QwikCityProvider>
  );
}

If they want to opt into the improved scroll restoration, they can replace toTopAlways with toLastPositionOnPopState in the above example.
Demo
Scroll restoration after popstate
Before the change:

always to the top

https://user-images.githubusercontent.com/8078716/225979618-ce4e7ec9-996b-4258-915d-1b8dc8799a86.mp4
After the change:

scroll to the last-visited positions

https://user-images.githubusercontent.com/8078716/225979653-01ea348c-6915-45be-a520-e7cd8fef3f6b.mp4
popstate after reload
Before the change:

full-page reload the second time

https://user-images.githubusercontent.com/8078716/225979767-131b7914-4b1f-453d-818d-e6ce3a71755a.mp4
After the change:

re-rendering

https://user-images.githubusercontent.com/8078716/225979800-d8e88838-a56f-44e0-9960-209271830857.mp4
Checklist

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] Added new tests to cover the fix / functionality

Hi @billykwok 👋  thank you very much for creating this PR 🙏
I just have a question based on the description:

Currently, pages are always scrolled to the top (or hashed element if specified in URLs) upon navigation. While this makes sense for -triggered navigation, popstate-triggered navigation fails to restore previous scroll positions. This does not match the native behavior of browsers nor that of competing frameworks.

you mention, that the restore for MPA (popstate) navigations does not work atm, which i can't confirm so far. At least not on the available browsers 😄 The <Link> component driven navigations are the SPA (pushstate) ones which you also show in the video.
MPA navigation scroll position restore
https://user-images.githubusercontent.com/3241476/222718122-f5b9a9a5-d70e-4c3a-aba8-df2f0917d680.mp4
Is the description wrong in that case or do i miss something? 👼
Thanks again for your time and contribution 🙏

Thanks for checking out my change. It is intended for addressing SPA scrolling. When I said popstate, I was referring to popstate navigation in SPA (e.g. re-rendering due to pressing back button after pushState). MPA does not need manual scroll restoration because browsers handle it by default.

Thanks for checking out my change. It is intended for addressing SPA scrolling. When I said popstate, I was referring to popstate navigation in SPA (e.g. re-rendering due to pressing back button after pushState). MPA does not need manual scroll restoration because browsers handle it by default. Hope this clarifies the change.

Converted to draft for now as I found a new way to implement the change that is more flexible and robust.
Will update it with the new implementation in the coming days.

@adamdbradley
The new implementation is now complete. Please take a look and let me know if you have any questions. Thank you in advance.

@zanettin @adamdbradley
I know that the core team is probably quite busy at the moment and has its own priorities, but I have already needed to resolve merge conflicts more than a couple of times. I would really appreciate it if there is anyone who can at least spend a few minutes looking at this. I'm happy to make changes if the approach of this PR does not align with the team's vision.
Thank you in advance.

Now there seems to be a bug in CI that prevents the GitHub API token from being read.
I think clearing the GitHub Actions may resolve the issue.

thanks again @billykwok 🙏 i try to bring some attention to this PR. and sorry for the delay. the team is hard at work 👼

thanks @billykwok for this thoughtful PR!
I say - to save your time, don't merge conflicts until @adamdbradley or @manucorporat will review this change.
And once they'll do, we'll try to give the final reviews more focus so it'll get merged as soon as it's approved.
That way it won't take more of your time, and it'll give the team a chance to carefully review it without the pressure of the other things they're currently trying to get done.
Sounds reasonable?

Wonder if we can ship this without new APIs:
<SinglePageNavigation restoreScroll$={toTopAlways} />
can it be part of the QwikCity provider?

Thanks for the suggestion. Yes, this can be done, for example, by putting <SinglePageNavigation /> inside <RouterOutlet /> and rendering it conditionally based on an MPA/SPA prop. What do you think about the following API?
<body>
  <RouterOutlet
    navigation="spa"
    restoreScroll$={toLastPositionOnPopstate} // omitted when navigation="mpa"
  />
</body>

I just made a change to directly integrate <SinglePageNavigation /> into <RouterOutlet />. Now the public API should be simpler.

Thank you. Having navigation set to 'spa' will result in a popstate listener being registered and a marker for "dom update settled" detection being rendered. All SPAs work like MPA until JS is loaded.
If navigation is set to 'mpa', the listener and marker code will never be run. Such behavior is suitable for complete MPA like the Qwik Doc site.
Regarding automatic flipping to SPA with <Link />, a few versions ago, Qwik City had a similar feature. I personally think that it sounds like a good idea but is hard to implement correctly. Some considerations include:

SPA can still have pages that have no <Link /> (i.e. the leaf nodes of the site tree)
Most of the time, whether a page/site is SPA or MPA is known at SSR time or even compile time. The runtime cost of determining SPA vs MPA becomes pure overhead.
Users who write their own <Link /> implementation using useNavigate() need to be covered as well.

thanks @billykwok
I agree with @jordanw66
I think we should strive for a MPA that turns into SPA as I really believe that most MPA (which aren't small documentation websites) will want to become SPAs (to preserve better UX)

This PR does not make it harder to turn MPA into SPA.
Looks like the navigation props cause some confusion. The 'mpa' option is meant for optimizing sites that for sure don't want to be SPAs. Any other sites should be configured with 'spa', which makes a site both MPA-first and SPA-enhanced.
If pure MPA is not a use case that Qwik wants to optimize for, I am happy to remove the navigation option and include SPA-specific initialization logic even for MPA sites.

I just realized Qwik has been able to avoid running most of my SPA initialization all along. The popstate and SPA-specific listeners will only be downloaded and run when the first event arrives (which will never happen for MPA). It also removes the need for opting in/out MPA/SPA. The SPA functionalities are loaded incrementally and naturally as users interact with the page.
I pushed another (and probably the last one) update to this PR to reflect this change.
@jordanw66
Regarding the edge case that you mentioned for leaf nodes/dead ends, it has been one of the motivations of this PR from the very beginning. It replaces the MPA refresh with a soft SPA re-render after manual refresh at a dead end.

Would you mind clarifying your question? As far as I know, the View Transition API leaves the DOM update control to the users.
If you are implying that View Transition API may be used for detecting DOM 'settled' time, it probably can't. It relies on users to tell how and when the DOM is settled so that it can set up the corresponding pseudo-DOM for transition. It is not related to the DOM settled detection in this PR, which is caused by the asynchronous nature of Qwik and the inability to tell directly when the DOM is updated after a rerun of the component function.
If you are implying that View Transition API can be used for enriching navigation in the future, absolutely! However, I guess Qwik (instead of Qwik City) may be a better place to implement this. Only Qwik has information about when the DOM change is flushed to the actual DOM, and the View Transition API requires this level of control.

So, i would like to push the limits a bit more, i dont like users to choose between SPA and MPA, qwik is kind of designed to blur the lines a bit. Is it really necessary for developers to choose spa? what's the disadvantage?

I would really like to merge this API, i am a bit worry about a regression in initial loaded JS and the mutation observer code, not entirely sure, why we need it. But not a fan of that part.

I would really like to merge this API, i am a bit worry about a regression in initial loaded JS and the mutation observer code, not entirely sure, why we need it. But not a fan of that part.

In terms of initial JS load, I don't have numbers yet, but I don't think this would have any impact since all codes are either executed on the server or after users click the back/forward button or <Link />. If anything, the change actually reduced the initial load by replacing the 'eagerly-loaded' 'qinit' listener with the 'lazily-loaded' 'popstate' and 'qnav' listeners in <RouterOutlet />.
For MutationObserver, I think both Point 3 in the PR and the comment provide an explanation. Could you clarify which part you don't understand?
I would love to find another way to reliably detect when Qwik flushes DOM update to the actual DOM tree. Since Qwik does not expose such information, a short-lived MutationObserver is so far the only solution I can think of.
Any suggestion is welcome.

Thanks for following up. I appreciate the pursuit of avoiding the initial JS load at all costs. However, there is probably no simple way to achieve the intended result of this PR with Qwik's current design/APIs.
While I agree that the current implementation may not fully align with Qwik's vision, the UX issues in scroll restoration mentioned in the original post should still be fixed ASAP. There might be some clever tricks that I'm not aware of (perhaps through some unknown internal APIs). Unfortunately, I've decided to move on from this.
For the hard refresh issue specifically, it may not be that big of a concern after all. Since Qwik embraces and optimizes MPA more than most JS frameworks (except Astro), maybe triggering a hard page refresh on popstate is acceptable for most Qwik adopters (unfortunately I am not among this crowd).
Qwik has introduced so many innovative solutions to improve the initial page load experience, and it has so much potential IMO. I am happy to revisit it one day. But until then, if someone cares enough about the SPA Scrolling UX in Qwik and has a solution that fits into Qwik's vision, please feel free to pick this up and fix it once and for all.
I am closing this PR for now. Thank everyone who has put time into it.

Hey! actually i am working on it, i think it's possible

We will get it merged!

Do you think we could merge and iterate, seems like this PR would fix some issues + add a cool feature, what if we leave for a second PR:

Fix flickering
Fix the popstate (very tricky one)

let me try to find him in discord!

@billykwok this is amazing. Thank you so much for the contribution.


Envoy crash (not security relevant) on launch on macOS Monterey (macOS 12) betas (TCMalloc incompatibility)

Please note: I am reporting a crasher issue here that is not security relevant because it's an immediate crash on launch, I cleared this with @ggreenway too.
Title: Envoy crash (not security relevant) on launch on macOS Monterey betas due to TCMalloc incompatibility
Description:
The envoy 1.19.0 (and any other binary version I could find) binary from Homebrew -- which is the recommended installation method on macOS -- crashes immediately when started on all macOS Monterey (macOS 12) betas. The problem seems to be that the TCMalloc that Envoy uses is incompatible with macOS Montere. Concretely, the system's malloc implementation seems to invoke free_definite_size which is is set to NULL in TCMalloc.
Workaround:
As a workaround, it should be enough to publish macOS binaries that do not use TCMalloc until that is compatible again.
Repro steps:
# Install a macOS Monterey beta from https://developer.apple.com/download
brew install envoy
envoy --version # will crash

notes

Please find the full crash report from macOS Monterey beta 3 attached:
envoy_2021-07-26-065109_f12087c8-e3c5-452e-9ad9-33cf36005b6a.crash.txt

It appears that the version of tcmalloc in gperftools has diverged from the main tcmalloc repo, and the offending code is only present in gperftools. But gperftools-tcmalloc is used by default on MacOS. Testing to see if switching MacOS to use the non-gperftools tcmalloc fixes the issue.


test/deployframework: Create the local operator logs without a trailing suffix.

We are already storing these local operator logs in a directory that's guaranteed to be unique (via ioutil.TempDir so there's no need to worry about naming collisions.

/lgtm
/approve


Widgets on Back layer is clickable even when the front layer is there

Description of the Bug
I adapted KickenSink demo codes. I found that even when the front layer is there, the widgets on the back layer is still clickable.
Please see the first gif for details. As you can see, when the front layer is there, if I click a position overlap with back layer's widgets, it will change the style.
Please see the second gif for an example in Kitchen Sink. Similar issue is encountered.
Could you please help me solve this issue? Thank you.
Code and Logs
git clone https://github.com/xie186/KivyScanpy.git
cd KivyScanpy
git checkout 3b6cf8deb1fa0b323e6a01efb239d23c33859d60
cd KivyScanpy
pip install -r requirments.txt
python main.py

Screenshots

Versions

OS:  Windows 10
Python:  3.7.8
Kivy: Kivy==2.0.0
KivyMD: kivymd==0.104.2

Packages required can be obtained at KivyScanpy/requirments.txt.

@xie186 This is fixed in the master branch of the KivyMD library.

I'll try it. Thanks for the quick response. I really appreciate it.

pip install https://github.com/kivymd/KivyMD/archive/master.zip

I used the command line above to install KivyMD.
I was told:
Installing collected packages: kivymd
  Attempting uninstall: kivymd
    Found existing installation: kivymd 0.104.2
    Uninstalling kivymd-0.104.2:
      Successfully uninstalled kivymd-0.104.2
Successfully installed kivymd-1.0.0.dev0

But new issue came up. The back layer won't hide after I check "Light". Please see the gif below for details. I also tried Kitchen Sink. Same issue came up.

@xie186 Yes, there is such a problem.


task 12 to task 20

@Padminivaddi
Task -13 to 20 not available in this PR and before Raise a PR please ensure code are available in correct folders
Task -12
Code verified.


fwupdmgr for firmware updates

Research if possible to run in a container

Flatpak: https://flathub.org/apps/details/org.gnome.Firmware

Update: the above Flatpak seems to be only a fwupdmgr frontend. fwupdmgr itself needs to be installed on the base system.


Replaced filterByCallback for 'Children' to just create a new array a…

…s function calls are exponentially expensive in PHP (the more functions that exist, the slower a function call becomes) and replaced 'array_key_exists' with op-code equivalent for speed. The best increase isn't really noticeable but we should work towards optimizing the core as much as possible.
Squashed version of #4884

ping @tractorcow for mergin


How to fill the "memos" field in a transaction?

Hi!
An error occurs when this code is executed XRPLCoreError(XRPLBinaryCodecError(XRPLTypeError(UnknownXRPLType))):
#[tokio::main]
async fn main() {
    let client = JsonRpcClient::connect("https://s.altnet.rippletest.net:51234".parse().unwrap());

    let wallet1 = generate_faucet_wallet(&client, None, None, None, None)
        .await
        .unwrap();
    let wallet2 = generate_faucet_wallet(&client, None, None, None, None)
        .await
        .unwrap();

    dbg!(
        get_xrp_balance(wallet1.classic_address.clone().into(), &client, None)
            .await
            .unwrap(),
        get_xrp_balance(wallet2.classic_address.clone().into(), &client, None)
            .await
            .unwrap()
    );

    let mut transaction = Payment {
        common_fields: CommonFields {
            account: wallet1.classic_address.clone().into(),
            transaction_type: TransactionType::Payment,
            account_txn_id: None,
            fee: None,
            flags: FlagCollection::new(vec![]),
            last_ledger_sequence: None,
            memos: Some(vec![Memo::new(
                Some("72656e74".to_string()),
                None,
                Some("687474703a2f2f6578616d706c652e636f6d2f6d656d6f2f67656e65726963".to_string()),
            )]),
            // memos: None,
            network_id: None,
            sequence: None,
            signers: None,
            signing_pub_key: None,
            source_tag: None,
            ticket_sequence: None,
            txn_signature: None,
        },
        amount: Amount::XRPAmount("100000".into()),
        destination: wallet2.classic_address.clone().into(),
        destination_tag: None,
        invoice_id: None,
        paths: None,
        send_max: None,
        deliver_min: None,
    };

    submit_and_wait(&mut transaction, &client, Some(&wallet1), None, Some(true))
        .await
        .unwrap();

    dbg!(
        get_xrp_balance(wallet1.classic_address.clone().into(), &client, None)
            .await
            .unwrap(),
        get_xrp_balance(wallet2.classic_address.clone().into(), &client, None)
            .await
            .unwrap()
    );
}

If you make the memos: None, the error disappears.
How to fill the "memos" field in a transaction?

Hello @mzigan
This repo is for Blockscout-related questions. Blockscout is an open source blockchain explorer. Thus, your question is out of scope, where the Blockscout team can help, you better contact the  support directly.
I'll have to refer you to the official support live chat with the ticket ID WAL2003
Please see the link below to our dedicated support line:
 Wallet Support Network:
Click on the live chat icon at the bottom corner of the page to initiate chat with a live support agent.

Thanks for your reply. I am using the library xrpl-rust and there is an error with this library. Should the problems with this library be discussed there instead of here?

Similar code in the xrpl-py library, on which the xrpl-rust library is based, works without errors. Therefore, the assumption is that the xrpl-rust library has an error when using the memos field.
from xrpl.account import get_balance
from xrpl.clients import JsonRpcClient
from xrpl.models import Payment, Tx, Memo
from xrpl.transaction import submit_and_wait
from xrpl.wallet import generate_faucet_wallet

client = JsonRpcClient("https://s.altnet.rippletest.net:51234")

wallet1 = generate_faucet_wallet(client, debug=True)
wallet2 = generate_faucet_wallet(client, debug=True)

print("Balances of wallets before Payment tx")
print(get_balance(wallet1.address, client))
print(get_balance(wallet2.address, client))

payment_tx = Payment(
    account=wallet1.address,
    amount="1000",
    destination=wallet2.address,
    memos=[Memo(
        memo_data = "72656e74",
        memo_format = None,
        memo_type = "687474703a2f2f6578616d706c652e636f6d2f6d656d6f2f67656e65726963")],
)

payment_response = submit_and_wait(payment_tx, client, wallet1)
print("Transaction was submitted")

tx_response = client.request(Tx(transaction=payment_response.result["hash"]))

print("Validated:", tx_response.result["validated"])

print("Balances of wallets after Payment tx:")
print(get_balance(wallet1.address, client))
print(get_balance(wallet2.address, client))

Hey thanks for reporting! I will look into it this evening and give you an update :)

There was an issue with the transaction serialization where structs (including Memo) using the custom serde_with_tag macro could not be serialized correctly. They cannot use skip_serialize_none, resulting in fields with null values. Instead we now check if the passed value is null in XRPLTypes::from_value and just skip the field. I have implemented a test, testing the Payment txn with Memo.
You can currently use by defining the dev branch:
[dependencies]
xrpl-rust = { git = "https://github.com/sephynox/xrpl-rust", branch = "dev" }

LimpidCrypto, thank you very much!


Unable to use Tooltipster in map

Hey everyone,
I'm trying to use Tooltipster on a  but it only works for the last , it's kind of weird.
I'm sure this is something that I'm missing, but I can figure it out.
Here's my code:
https://jsfiddle.net/d2c4j8ph/
Any help will be highly appreciated 😄

nevermind, I was able to figure it out.
thanks!


feat(env): add Long Range key overrides from env

Add environment variables to override the long range security keys.

KEY_LR_S2_Authenticated
KEY_LR_S2_AccessControl

Ideally, this shouldn't any features outside of configuration of the long range security keys on startup.
Seems to work on my local setup now. 🎉
Related Issue
Fixes #3765

@zwave-js-bot fix lint

@zwave-js-bot fix lint

@zwave-js-bot fix lint

@bobcob7 Could you fix lint issues please? npm run lint-fix

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 13 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 21.129%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/utils.ts
0
13
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
3899

Relevant Lines:
19625

💛  - Coveralls


How to schedule job execution?

Hi, @HiromuHota.
First, thanks for this awesome project.
I'm using the webspoon-docker in my production project, but I need to automatize the execution of my job.
I've tried to schedule the START component, but if my container of spoon restart this schedule don't work anymore, then I need to play the job again.
Searching at Google, I've found some articles where people say to use kitchen.sh or pan.sh, but these files doesn't work in webspoon-docker, right?
I'm trying to automatize the steps with Selenium and then to use Kubernetes cron to schedule these steps to execute my job.
There is any way simplest to do this automation?

webSpoon does not have kitchen.sh or pan.sh, but includes Carte.
The endpoint is at http://localhost:8080/spoon/kettle (if webSpoon is deployed at http://localhost:8080/spoon/spoon).
You can start a trans/job using the Carte APIs (https://help.pentaho.com/Documentation/8.2/Developer_Center/REST_API/Carte).
Unfortunately, Carte does not have a scheduler. Use Cron or something for scheduling.
Hope this helps.

Hi, thanks.
When I go to route /spoon/kettle:
java.lang.NullPointerException
	org.pentaho.di.www.CarteServlet.doGet(CarteServlet.java:74)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)

I forgot to set something up?

I read the documentation you mentioned above and was able to run the job through the URL:
http://localhost:8080/spoon/kettle/executeJob/?job=/home/tomcat/.kettle/data/myJob.kjb&level=Debug
Thanks!!

When I do loggin throught Browser, and after call the API it works.
But when I restart spoon and call the API again:
ERROR (version <IP_ADDRESS>-371-20, build <IP_ADDRESS>-371-20 from 2019-11-21 12.13.39 by jenkins) : Unable to find datasource by JNDI name: smart_master
guidoo-bi-spoon          | 2020/01/06 18:02:26 - Smart_Master - ERROR (version <IP_ADDRESS>-371-20, build <IP_ADDRESS>-371-20 from 2019-11-21 12.13.39 by jenkins) : org.pentaho.di.core.database.DataSourceNamingException:
guidoo-bi-spoon          | 2020/01/06 18:02:26 - Smart_Master - javax.naming.NameNotFoundException: Name [smart_master] is not bound in this Context. Unable to find [smart_master].
guidoo-bi-spoon          | 2020/01/06 18:02:26 - Smart_Master - Name [smart_master] is not bound in this Context. Unable to find [smart_master].

Need any extra configuration?

I think the current implementation behaves like this:
When the first session of webSpoon starts, (web)Spoon loads JNDI connections from /usr/local/tomcat/simple-jndi/jdbc.properties and then Carte can use the loaded connections.
So, if you ever open webSpoon after restart, I think Carte can use the JNDI connections loaded by (web)Spoon.
Let me know if this works.
If you don't want to open webSpoon every time you restart the Tomcat, you'd have to define the JNDI connection in webapps/spoon/WEB-INF/web.xml and webapps/spoon/META-INF/context.xml for Carte.
https://help.pentaho.com/Documentation/8.3/Setup/Set_up_JNDI_connections_for_the_Pentaho_Server

As mentioned here,

Spoon don't have real JNDI since it is not a web server but a simple JNDI.
Carte is a Jetty web server, so Carte JNDI is a question of Jetty JNDI, since Carte is a jetty web server under the hood. (have never try JNDI with Carte).

The Tomcat document https://tomcat.apache.org/tomcat-8.5-doc/jndi-datasource-examples-howto.html may also help.

Now I think that webSpoon should also use "real" JNDI instead of "simple" JNDI.
According to https://github.com/h-thurow/Simple-JNDI,

Simple-JNDI is intended to solve two problems. The first is to test or use classes that depend on JNDI environment objects (most known a DataSource) provided by a Java EE container outside of such a container.

webSpoon runs inside a servlet container like Tomcat and so does Carte.
Therefore, webSpoon can (maybe should) use the JNDI provided by Tomcat.

Yes, inside /usr/local/tomcat/simple-jndi/jdbc.properties I put the database configs I need.
The problem is when I call  the API directly it don't recognize the JNDI configs, but if I loggin in SPOON and after call the API again it worked.
I also made a POST request on the SPOON login form but it still didn't work.

Thank you for your confirmation.
A single POST call may not be enough for webSpoon to load simple JNDI configs.
Instead, you could use Google Chrome in the head-less mode to do this.
Or please define "real" JNDI instead of "simple" one.

I changed it to use connection instead of JNDI.
The connection I set through kettle environment variables like this:
<connection>
    <name>MyConnection</name>
    <server>${HOST}</server>
    <type>MYSQL</type>
    <access>Native</access>
    <database>${DATABASE}</database>
    <port>3306</port>
    <username>${USER}</username>
    <password>${PASSWORD}</password>
</connection>

It works now.
Thank you for your help!


Release 2.6.0

Description
Release v2.6.0 changes - 1 commit for config and another for the doc redirects.
Todos

[x] Tests
[x] Documentation
[x] Release note

Release Note

See https://github.com/projectcalico/calico/releases/tag/v2.6.0 for details.

Note the build has failed due to referencing v2.6 github objects and this will require that a maintainer accept the PR.


Could not resolve all dependencies for configuration ':iosArm64CompileKlibraries'

Hello, faced such an issue while trying to implement your lib into my project
in common target I get such a Gradle error, but in android target everything works perfectly fine

Could not resolve com.darkrockstudios:mpfilepicker:2.1.0.
Required by:
project :composeApp > project :features:comments:ui
No matching variant of com.darkrockstudios:mpfilepicker:2.1.0 was found. The consumer was configured to find a library for use during 'kotlin-api', preferably optimized for non-jvm, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native', attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64' but:
- Variant 'jsApiElements-published' capability com.darkrockstudios:mpfilepicker:2.1.0 declares a library for use during 'kotlin-api':
- Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'js' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native'
- Other compatible attributes:
- Doesn't say anything about its target Java environment (preferred optimized for non-jvm)
- Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64')
- Variant 'jsRuntimeElements-published' capability com.darkrockstudios:mpfilepicker:2.1.0 declares a library:
- Incompatible because this component declares a component for use during 'kotlin-runtime', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'js' and the consumer needed a component for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native'
- Other compatible attributes:
- Doesn't say anything about its target Java environment (preferred optimized for non-jvm)
- Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64')

I have managed to fix it by using version 3.0.0
I am so sorry......


Base-N Calculator

Aim

A Python calculator that can convert numbers from base-X to base-Y. Example: Decimal to Binary, Binary to Octal, Base 3 to Base 6, ..etc.

Details

The script will not be limited to the known bases of Binary, Octal, Decimal, and Hexadecimal. The user will be able to enter/ convert-to the desired base number.
The Script will be able to also deal with decimal numbers.
Imparative approach will be used. (No external libraries to do the conversion job)

Contribution Event

GSSOC

Hi, @XZANATOL
Can you make it a GUI application?

Didn't try to build a GUI application before, but I think I can overcome the challenge. :D

@XZANATOL okay give it a try!

@XZANATOL updates on this?

Still working on it


The det_t is only 36.09.

I trained the model with map_bucket config. The traffic element detection result is only 36.09. I notice that the realization of bbox_head is the same as TopoNet, but the det_t of TopoNet is 48.1. I wondered if I did something wrong? Is there any explanation of this phenomenon?

This is mostly caused by multi-task interference. You can try increasing the loss weight of the TE head.

I think the possible reason is the difference between the mm-series version.
I have train TopoNet on mm-series same as LaneSegNet and there is a significant decrease in the DET_t.


migrate leaderboard to paperswithcode

We should check if this could be a viable option. Requirements are an easy submission system, that we can review submissions, and that the leaderboard graphic is embeddable on our webpage.
If they don't have that I think it's easier if we just fancy up our leaderboard.

there's other alternatives as well, eg eval.ai


Revisions on the ribbon can be very slow to appear

This can result in a confusing screen for some time (I got stuck like this for a good 20 seconds).

Not sure if this is because the extension sends the revisions much later or if it's something we should simply mitigate on the webview side with either staying in the whole loading state longer or adding a loading to the ribbon.

@sroy3 what is the DVC output in this case? could you share pls?

Also, when it's done - does it show any extra plots here or not?

It took me a while to understand when the problem was happening. I think it's because we keep the old webview state when we re-open it while we're still waiting on plotsDiff to finish. On first load we get the loading screen, but in that case, plots are saved in a store outside of Redux and not effectively cleaned when closing the webview.
https://user-images.githubusercontent.com/3683420/204042810-6d8456bb-74e1-4dca-a6dd-07ecae71ee4d.mov
Reseting the state might not help too much for performance, but at least it'll look a little less buggy. It should be an easy fix.

I was wrong, it's not the webview state that isn't being reset, it's actually reset. When re-opening the webview, the plots are set instantly, but the selected revisions are not. We should probably keep the current plots webview data into an object and send it back to the webview when re-opening before re-calculating everything.

#2831 should help


:book: Document Versioning in contributing guide

This changeset also completely removes the outdated VERSIONING.md document. We follow the CAPI workflow in this regard which is documented here: https://github.com/kubernetes-sigs/cluster-api/blob/main/CONTRIBUTING.md

Also, please fix the markdown issues reported in the CI

/test-ubuntu-integration-main

Also, please fix the markdown issues reported in the CI

Thanks for the review. PTAL again.

/test-ubuntu-integration-main