[github] added latest "commits since" badge

/github/commits-since/SubtitleEdit/subtitleedit/latest.svg route added.
Hi, There is no API from github to check compare branch with latest release. So that I've made 2 two GET request to server. One for getting latest version, anther for comparing...
However, tests are falling as the API for compare from github is taking much time (almost 5 sec).

On Issue request #993

Badge

EDIT :  Test case passed in Travis CI, don't why it is not passing in my machine

Hi, thanks so much for addressing this!

Hi @paulmelnikow. I am working on it. please wait. I'll tell you when I'll done

Actually, linting is not working in my machine. (npm start lint). I don't know why. So , I've to check through Travis.

You want npm run lint. 😀

Sorry, I meant, npm run lint

Oh. I got the issue. why it is not working.... In windows It should be eslint "**/*.js" not eslint '**/*.js' (double quote)

Hi, @paulmelnikow . Now Fixed... Please review ta code now..
And I think, eslint "**/*.js" should be fixed. As far I know, eslint "**/*.js" works on all platform -- NOT 100% Sure.

Thanks!
Regarding lint, I think @Daniel15 uses Windows so I'm surprised he hasn't run into the issue you're seeing. I can say that "lint": "eslint \"**/*.js\"" is working fine on my machine.

oh. I've just notice, it is not working on only CMD. I's working perfectly fine on powershell & git-bash

I ran the service tests locally with this patch that works around a bug in our logic for token rate limit handling.
I'm getting the same intermittent failure:
  1) Github Commits since by latest release
	[ GET http://localhost:1111/github/commits-since/microsoft/typescript/latest.json ]:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

We should increase the timeout. Actually I'd say it's a bug in IcedFrisby, since the default timeout should be 5000 ms, not 2000 ms. I opened MarkHerhold/IcedFrisby#71 to fix that.


dropdown menus are broken on mobile

fixed hamburger menu for smaller screens.  used css to make navbar items collapsible.  removed red hover on parent elements, children still red on hover.


need to do more reading on this

enjoying following the book so far

Hey @papasushi! I'm glad you're enjoying the book! Thanks for the pull request.


Reset current tool after each click

@rsinghal
Create one shape per tool selection. Reset current tool on every mousedown except when creating shape.
This is what we talked in https://github.com/IIIF/mirador/pull/1043.
I think this pull request fixes the issue.Check it out please and tell me if this is what we are looking for :)

Coverage decreased (-0.02%) to 47.148% when pulling 19e257ec79f2e0e3b72c764504f2802951da77b0 on SirmaITT:bugfix/current-tool-reset into af16de5745c642e35e0696dba4294ed2d5a4e8ba on IIIF:annotation-work.

Coverage decreased (-0.009%) to 47.159% when pulling d5835d59729d1d491ece5755b39be50f7758a7c3 on SirmaITT:bugfix/current-tool-reset into af16de5745c642e35e0696dba4294ed2d5a4e8ba on IIIF:annotation-work.


OAK-11111 Check if principal cache property exists

Added a condition to check if the principal cache value it's already present

and make sure that in the default setup we always get the cache property written.

The MEMBERSHIP_THRESHOLD cannot be changed by configuration so changing to < MEMBERSHIP_THRESHOLD  will have the same effect like remove the condition, which is also fine for me.

we have no test coverage for the situation when the cache is not present and cannot be written

There's a test when the cache cannot be written or an exception is triggered.
https://github.com/apache/jackrabbit-oak/blob/fd78e686ffce2369766519964a3c42d9ff3e03cf/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReaderTest.java#L138-L150

@Amoratinos , i get a build failure due to lack of branch coverage:
[WARNING] Rule violated for package org.apache.jackrabbit.oak.security.user: branches covered ratio is 0.98, but expected minimum is 0.99
the new method hasCacheValues(@NotNull Tree principalCache) only has 50% branch coverage and the condition if (canServeStaleCache(expirationTime, now) && hasCacheValues(principalCache)) also doesn't have full coverage. i guess this the reason for the drop of coverage.
once the build passes i will merge it.


fix(deps): bump bootstrap-select and bootstrap-switch

Closes #1207
Closes #1206

Bumping bootstrap-select breaks tests that I'm not sure are safe to break or not: https://travis-ci.org/github/patternfly/patternfly-3/builds/731337663#L1382.
On-hold until we can investigate them.

@redallen It's not only breaking the tests but the UI of Bootstrap Select looks odd too. May need some JS changes but at least some CSS adjustments.
Related to #1170 #1167


IAM validation: Resource is now processed during authorization

This PR uses the validation logic to validate the resource attribute of the principal-attached policies during sts:AssumeRole
It relates to the discussion in https://github.com/getmoto/moto/pull/6793#issuecomment-1712505836
What do you think of this draft @bblommers ? I implemented following your directions. I don't have enough experience to make an alternative proposition, and what you offered makes sense. It feels like it's going to be rather intense to implement each map of (service, method) to the corresponding resource attribute, but I don't see an alternative.
If it looks good for you, I'll include in this PR the logic in TokenResponse._determine_resource() for every actions already supported for STS before submitting it as PR.
It's breaking some tests and there's one I've looked into I don't get:

FAILED tests/test_s3/test_s3_bucket_policy.py::TestBucketPolicy::test_block_or_allow_get_object[kwargs2-403] - Failed: DID NOT RAISE <class 'botocore.exceptions.ClientError'>

On the previous commit that works, with a breakpoint at this line, I don't understand how the exception raises correctly ? https://github.com/ajoga/moto/blob/fa9aa95156d1e11a3c5a2e06ab8b085ae98c2c1f/tests/test_s3/test_s3_bucket_policy.py#L68
When I compare my commit that breaks the test and the previous one that does not, I see no difference.
Also, do you see other tests cases needed?
I'll close the initial PR

It feels like it's going to be rather intense to implement each map of (service, method)

Intense is the right word, I think! But that's the beauty of this approach - it can be done on a service by service basis, only if/when people need it.

It's breaking some tests:

Took me a while to get my head around.. but I think the TestBucketPolicy test is just wrong. The Moto approach to bucket policies is: allow, unless there is an explicit deny.
But the failing test cases all expect a failure when we allow access to different resources.
So these test cases can just be removed IMO.

Also, do you see other tests cases needed?

The new test in this PR look good. But we should extend this to also test the other methods, if you do extend the _determine_resource-logic to include other actions.


Viva Connections - Multiple issue with images in Microsoft Teams

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
other (enter in the "Additional environment details" area below)
Developer environment
macOS
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[X] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details
Microsoft Teams Client

Describe the bug / error
Viva Connections Dashboard on a Desktop Computer looks like this:

All images on this Dashboard are SVG Graphics and load perfectly fine.
In MS Teams on a mobile device they look like this:

The SVG graphics fail to load, while the image that is loading has a huge distortion in Teams. It seems like the desktop styling does not apply in Teams.
Steps to reproduce

Create a card using Adaptive Card designer or SPFx

Add SVG graphic as an image

Create a card using Adaptive Card Designer or SPFx

Add image that is larger then the image placeholder - Resize on Desktop works fine but not in Teams client.

Expected behavior
Images should load correctly as well as size correctly.

Adding a similar issue.

@anoopt Thanx. This case happens even with the out of the box web parts. None of those load SVG images + other images is CSS wise broken.

Hi @StfBauer -

On mobile, SVG images are only supported in the card icon, not in the card image. We are working on enabling support. Please expect an update in April.
Kindly use smaller size images (< 400px x 400px ) as documented here. This will prevent aspect ratio distortion on desktop. However, we are working to ensure that larger images also do not get distorted. Please expect an update by April end.

@frags51 Thank you for the update.
1.) Happy to get the support ASAP. Thank you for your effort. 2020 where everything is all about SVG this is not a great user story to have forgotten about this support. Will then Level 2 Cards also be able to load SVG images?
2.) Then the documentation and implementation are wrong since those cards do not use a 1:1 ratio at all. On Desktop the images are 164x180, which translates on Mobile to a 507px x by 516px.
While on other screen resolutions it also has 186px by 180px - Desktop small screen.

@StfBauer

SVG images are supported on level 2 cards, but they may not work with height/width specified as 'auto'. You would need to provide either the size or the height and width for it to work. The AC platform does not support SVG images as mentioned in the docs, but we are working on providing a consistent SVG experience.
Thanks for pointing out the 1:1 part - I will check that out. Could you please explain the point about mobile resolution being 507x516? On all of the platforms we have tested, the image which gets rendered is < 400x400 pixels. While we are working to ensure that larger images are not distorted, kindly use an image with both dimensions < 400 pixels.
Screenshot from mobile using 321 x 359 image, it is working correctly:

1.) SVG height and width properties can be battled using aspect-ratio or object-fit. The way the cards are currently implemented has some CSS issues, which exactly cause troubles with the distortion. There are some positions: absolute definitions, which are not required.
2.) Not sure how you tested it but I think your testing is wrong. Took out the measurements from a 1:1 screenshot in an iPhone 13 Pro. Which is also a 1:1 representation of the design. So scaling not downsampling.
My guess is you tested it in the browser teams app on Microsoft Edge or Chrome. Those browser engines are not available on an iPhone. You only are allowed to use the WebKit engine, not the chromium.
In order to test it properly, you have to use real devices. So while you can simulate how the dimensions of a browser work on an iPhone with the developer tool, you can not test what the actually rendering looks like. In there you would only see how Edge/Chrome renders it, which is not the engine picked up on iOS.

To add to Stefan's point on testing on mobile devices, if helpful, we can use the spfx-fast-serve's ngrok plugin to see results instantly on a mobile device.

@StfBauer My bad - I was talking about different units (dp) and not pixels. I have tested and pasted the above screenshot from an iOS device. However, if the image dimensions are more than 400 pixels, SharePoint compresses them to a lower resolution (<= 400 pixels in the highest dimension). Due to an issue in this process, we see a slightly distorted image as you pasted in your screenshot:

Please try this case out after reducing the image resolution to < 400 pixels as a workaround until we fix the compression logic. Let me know if it works.
Thanks!

That's fine for now but it's a bit strange that in any case mobile and desktop "should" have a 1:1 ratio but do not have because of the current implementation.
So for resizing it doesn't have to be super smart because you know the target resolution, you know that the image is portrait or landscape and this is enough information to reduce the size of the file to match right in the frame. Pretty common web development workflow and I wouldn't resize it to be squared when you have to leave it portrait or landscape and make it object-fit.
Also, keep in mind that maybe picture look add then a 300x300 pixel is rendered at 216px/inch instead of 72px/inch
Another thing I just recognised is that the drop shadow gets dropped on the image. So you only have it on the left part, which also kinda looks odd. Again here is a screenshot of a real device.

@StfBauer

That's fine for now but it's a bit strange that in any case mobile and desktop "should" have a 1:1 ratio but do not have because of the current implementation.

Thanks for this feedback - we will have a look at the 1:1 (we might need to correct our docs). What I was trying to say is that for now please use an image with dimensions lower than 400px (no need to enforce the 1:1 aspect ratio), due to an issue with image compresion on our side. From your latest screenshot, it appears that this is working for you (and you no longer see a distorted image as mentioned in the screenshot in issue description).

Another thing I just recognised is that the drop shadow gets dropped on the image. So you only have it on the left part, which also kinda looks odd. Again here is a screenshot of a real device.

Could you please elaborate more on this - or maybe please create a separate issue for this.
Thanks!

hey @StfBauer, feel free to elaborate more here on what @frags51 mentioned or close this issue and open a new one.
Thanks

thanks @StfBauer for reaching out. I'm going to close this one then.


The removeFields method asks for array of keys but works with array of fields

The CrudPanel removeFields in the Fields trait specifies that an array of field names should be passed, but works with an array of fields.
All the attributes of a field in that array are then passed to the removeField method which calls an array_forget that might lead to undesired consequences (e.g.: when one of our fields has the same name as a backpack attribute).

Wow. Ok, I say we:

modify the docblock to specify you can pass:

an array of field names
an array of fields

fix the bug where it passes through the attributes, if a field has been passed


Search menu button overlaps with Loquibot

When using loquibot with GDDL, the buttons stack here. Not sure if it is yours or Alpha's problem

patrick61804 on Discord

Solution - allow the user to move the button x spots down (that will be a setting, I won't target Loquibot's button specifically so it's compatible with all mods in the future)
It'll be released with v1.1

not only loquibot btw


Create a Docker image of the master branch

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
If we want to use Arnold in other project, like Matsuo, we always to respect a given process:

Work in arnold.
Create a PR.
Release a new version of Arnold.
Use this new version in Matsuo

Doing this we release often Arnold (this is not really a problem) and we always have to wait a release to start working/testing in matsuo.
The idea will be to not wait an Arnold release to start working in Matsuo.
Describe the solution you'd like
We can add a new circle-ci task dedicated to tag and push a new docker image every time a modification is made in master branch. Basically every time a PR is merged a new image is created and tag with master name.
Do you want to work on it through a Pull Request?
Yes I can.

Fixed in #245


No such file or directory: 'which'

Uhhhhhh, not sure how this is happening, but it seems flask is not picking up the vanilla env variables.
The following shows up in the Web UI upon logging into the admin account:
This clearly isn't working. We need a break.

Error Description
[Errno 2] No such file or directory: 'which'
Traceback (most recent call last):
File "/opt/snitch/venv/lib/python3.9/site-packages/flask/app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()
File "/opt/snitch/venv/lib/python3.9/site-packages/flask/app.py", line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/opt/snitch/app/controllers/auth.py", line 131, in login_process
system.run_updates()
File "/opt/snitch/app/lib/base/system.py", line 45, in run_updates
self.__update_git_hash_version()
File "/opt/snitch/app/lib/base/system.py", line 49, in __update_git_hash_version
git_binary = self.shell.execute(['which', 'git'])
File "/opt/snitch/app/lib/base/shell.py", line 16, in execute
return self.__execute(command, wait)
File "/opt/snitch/app/lib/base/shell.py", line 20, in __execute
return subprocess.run(command, stdout=subprocess.PIPE).stdout.decode().strip()
File "/usr/lib/python3.9/subprocess.py", line 505, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'which'

systemctl status snitchdns:
Notice the /usr/bin/env: 'bash': No such file or directory near the end
snitchdns.service - SnitchDNS Gunicorn
     Loaded: loaded (/opt/snitch/data/config/service/snitchdns.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-02-25 14:05:13 CET; 6min ago
    Process: 2309667 ExecStartPost=/opt/snitch/venv/bin/python3 -m flask snitch_start (code=exited, status=0/SUCCESS)
   Main PID: 2309666 (gunicorn)
      Tasks: 4 (limit: 1100)
     Memory: 184.1M
        CPU: 3.046s
     CGroup: /system.slice/snitchdns.service
             ├─2309666 /opt/snitch/venv/bin/python3 /opt/snitch/venv/bin/gunicorn --workers 3 --bind <IP_ADDRESS>:8080 -m 007 wsg>
             ├─2309668 /opt/snitch/venv/bin/python3 /opt/snitch/venv/bin/gunicorn --workers 3 --bind <IP_ADDRESS>:8080 -m 007 wsg>
             ├─2309669 /opt/snitch/venv/bin/python3 /opt/snitch/venv/bin/gunicorn --workers 3 --bind <IP_ADDRESS>:8080 -m 007 wsg>
             └─2309670 /opt/snitch/venv/bin/python3 /opt/snitch/venv/bin/gunicorn --workers 3 --bind <IP_ADDRESS>:8080 -m 007 wsg>

Feb 25 14:05:06 ho-dns systemd[1]: Starting SnitchDNS Gunicorn...
Feb 25 14:05:06 ho-dns gunicorn[2309666]: [2022-02-25 14:05:06 +0100] [2309666] [INFO] Starting gunicorn 20.1.0
Feb 25 14:05:06 ho-dns gunicorn[2309666]: [2022-02-25 14:05:06 +0100] [2309666] [INFO] Listening at: http://<IP_ADDRESS>:8080 (23>
Feb 25 14:05:06 ho-dns gunicorn[2309666]: [2022-02-25 14:05:06 +0100] [2309666] [INFO] Using worker: sync
Feb 25 14:05:06 ho-dns gunicorn[2309668]: [2022-02-25 14:05:06 +0100] [2309668] [INFO] Booting worker with pid: 2309668
Feb 25 14:05:06 ho-dns gunicorn[2309669]: [2022-02-25 14:05:06 +0100] [2309669] [INFO] Booting worker with pid: 2309669
Feb 25 14:05:07 ho-dns gunicorn[2309670]: [2022-02-25 14:05:07 +0100] [2309670] [INFO] Booting worker with pid: 2309670
Feb 25 14:05:08 ho-dns python3[2309671]: /usr/bin/env: ‘bash’: No such file or directory
Feb 25 14:05:13 ho-dns python3[2309667]: SnitchDNS - Starting daemon...
Feb 25 14:05:13 ho-dns systemd[1]: Started SnitchDNS Gunicorn.

/etc/systemd/system/snitchdns.service:
[Unit]
Description=SnitchDNS Gunicorn
After=network.target
StartLimitBurst=5
StartLimitIntervalSec=30

[Service]
Restart=always
RestartSec=30
User=www-data
Group=www-data
WorkingDirectory=/opt/snitch
EnvironmentFile=/etc/environment
EnvironmentFile=/opt/snitch/data/config/env/snitch.conf
Environment="PATH=/opt/snitch/venv/bin:$PATH"
#ExecStart=/opt/snitch/venv/bin/gunicorn --workers 3 --bind <IP_ADDRESS>:8080 --certfile=/opt/snitch/data/config/http/gunicorn.crt --keyfile=/opt/snitch/data/config/http/gunicorn.pem -m 007 wsgi:app
ExecStart=/opt/snitch/venv/bin/gunicorn --workers 3 --bind <IP_ADDRESS>:8080 -m 007 wsgi:app
ExecStartPost=/opt/snitch/venv/bin/python3 -m flask snitch_start

[Install]
WantedBy=multi-user.target

Thanks for reporting this.
Are you running this on Debian by any chance? Can you check if /etc/environment is empty and if /etc/profile is setting the PATH instead? If that's the case, you can update EnvironmentFile=/etc/environment to point to /etc/profile and restart the service.

Good call on that one.
Yeah it's running on debian, I had some other issues before which required an environment file so it existed, but was empty.
The UI seems to be working now that the systemd unit is changed.

Excellent, I'll close this issue then - if anything else comes up please create a new one. Thanks.


Terraform hcloud provider moved

Describe the bug
The hcloud terraform provider moved to https://github.com/hetznercloud/terraform-provider-hcloud

I think we can close it:
https://github.com/NixOS/nixpkgs/blob/cc496fd42dcd5a902f920045a537cba700b94a9a/pkgs/applications/networking/cluster/terraform-providers/hcloud/default.nix
@fionera let me know if you think we should keep this issue open


KEY ERROR

 in <cell line: 3>()
1 import erag
2
----> 3 results = erag.eval(
4     retrieval_results = retrieved_documents,
5     expected_outputs = expected_outputs,
/usr/local/lib/python3.10/dist-packages/erag/eval.py in eval(retrieval_results, expected_outputs, text_generator, downstream_metric, retrieval_metrics, **args)
107                     mean_value = 0
108                     for i in range(cut_value):
--> 109                         mean_value += labels[str(i)]
110                     results[query][metric] = mean_value / cut_value
111                 else:
KeyError: '2'

When I try to run "eRAG.ipynb", no matter which model I use, it reports the above error. How to do with it?


[feature request]: Add documentation to testing FAQ on how to keep Mock services from production bundle

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ x] feature request

Versions.
@angular/cli: 1.4.1
node: 8.2.1
os: win32 x64
@angular/animations: 4.3.6
@angular/common: 4.3.6
@angular/compiler: 4.3.6
@angular/compiler-cli: 4.3.6
@angular/core: 4.3.6
@angular/forms: 4.3.6
@angular/http: 4.3.6
@angular/platform-browser: 4.3.6
@angular/platform-browser-dynamic: 4.3.6
@angular/platform-server: 4.3.6
@angular/router: 4.3.6
@angular/cli: 1.4.1
@ngtools/webpack: 1.5.0
typescript: 2.4.1
Desired functionality.
I am adding Mocked services.  I am trying to figure out the ideal and simple way to not have these items in my production bundles.  Knowing little about how the Angular CLI works, I thought a decorator on the class might work to keep things from bundling in the case of tests or mocks.   If not feasible, what is the approach.
Mention any other details that might be useful.
If you look at the Angular sample:
https://angular.io/generated/live-examples/testing/app-specs.eplnkr.html
What would prevent FakeHeroService (fake-hero.service.ts) from ending up in the production bundle?
Is there an official way of doing this today?
This would be good for the FAQ on this page.
Thanks

If none of the code already in the production bundle imports it - it won't be in production bundle. That's it :)


Add Missing "create_path_from_interpolator" Function

This function declaration used to exist in allegro_flare/render_path2d.h:
path2d create_path_from_interpolator(interpolator::interpolator_func_t func, int num_segments=16);

However, there does not appear to ever have been a definition.  The method might be useful in the future, however, there's not an immediate or expected use for it right now.

This has bumped up a bit in priority. I can see an upcoming scenario where this feature might be needed. However, I think it should be in an isolated object, like a Path2DFromInterpolator or something.


Reset Message buffer for interruption

Fix #27
Signed-off-by: yi1.li<EMAIL_ADDRESS>

Please add corresponding unit test.

Please add corresponding unit test.

added unit test case

reviewed-by: Jiewen Yao<EMAIL_ADDRESS>

Looks good to me.


South Africa cleanup and extended class

Cleans up SouthAfrica class and tests to take into account the specs of holidays that vary over the periods.
As a side-effect, it effectively cleans the duplicates that were generated by the previous code.
refs #285

[x] Tests with a significant number of years to be tested for your calendar.
[x] Changelog amended with a mention describing your changes.

ping @surfer190 : could you please have a look at this Pull Request here?


Does this support for table ?

Does this support table element.

project isn't maintained anymore, thanks.


first attempt at making qbatch compatible with SLURM

From testing I also have the impression that job dependencies are also handled differently. For example in antsRegistration-MAGeT if the resample stage is done later, I see dependencies specified that correspond to the time of submission of the resample stage (e.g. mb_register_atlas_template*). These jobs don't exist, and sbatch fails. I'm I getting that correctly ?

@dcoynel Check out the (https://github.com/pipitone/qbatch/blob/master/bin/qbatch#L167)[find_pbs_jobs()] function for how we handle job dependencies in PBS. Might have to do something similar if slurm complains when dependencies aren't found.

Indeed, the hardest part of qbatch is correctly abstracting away the dependencies design of the queuing system.
SGE can just depend on jobs by name.
PBS can only do number so we parse the job list XML and find the jobid for a given name pattern.
For sbatch hopefully one of these methods will do it.
Sent from my OnePlus ONEPLUS A3000 using FastHub

Cool. Thanks @dcoynel this is shaping up!
A few things before it's ready to merge, imo:

[ ] You'll want to make sure your code satisfies pep8 style. You can use autopep8 to make that easier.
[ ] Update the readme to show slurm support, and maybe now we need a contributors section ;-)
[ ] Make sure you haven't broken any existing tests
[ ] If you're up for it, write some tests for slurm, or file an issue about it so we don't forget.

I’ve never done testing in python before, do you use py.test ?
Am 20.06.2017 um 16:24 schrieb Jon Pipitone <notifications<EMAIL_ADDRESS>Cool. Thanks @dcoynelhttps://github.com/dcoynel this is shaping up!
A few things before it's ready to merge, imo:

You'll want to make sure your code satisfies pep8 style. You can use autopep8https://pypi.python.org/pypi/autopep8 to make that easier.
Update the readme to show slurm support, and maybe now we need a contributors section ;-)
Make sure you haven't broken any existing tests
If you're up for it, write some tests for slurm, or file an issue about it so we don't forget.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/pipitone/qbatch/pull/140#issuecomment-309772454, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJBq-0bEwRwkIvjJSZ3W98RTmlxYdRA3ks5sF9YygaJpZM4N9Ue5.

I would need some input on this testing error. The nosetests -v command functions on my cluster.

Cool beans.
I think you just need to add slurm-wlm to the list of packages in .travis.yml to install during testing.

Looking very interesting. The compute canada new clusters just launched with SLURM as their scheduler, so I'll be able to give this a test drive soon.

Ok, it doesn't seem so straightforward. From what I get in the travis logfile munge has to be correctly setup for slurm to work.

Not starting munge (no keys found). Please run /usr/sbin/create-munge-key

... although the error I get is related to the local piped command.

As for the local piped test failing, I see this sh: printf: I/O error being printed... Add a 'w' flag to the open() when redirecting subprocess.call, i.e.:
subprocess.call(['which', 'sbatch'], stdout=open(os.devnull,'w'))

I don't know what munge is or how to install it properly. Sorry this is turning out to be a bit difficult. If the munge warning you see in the log isn't failing the test, then just leave it for now because we'll tidy all of this up in #114.

Yes I agree, sorry for playing around. I lack some experience with those issues.

No no, thanks @dcoynel for contributing!


pathMigration and LOCALE

if LOCALE is not set in production, pathMigration.json does not get filled properly - it defaults to a single empty json object. In this case the server does not behave correctly, though it does boot without issues.
We need to do two things

[ ] generate pathMigration.json correctly, regardless of the LOCALE value.
[ ] fail fast if it is missing/empty.

We can default to english to make sure that something is generated, but unless the file is the same in all locales, this might cause worse problems.
Ideally the failing fast should be during CI.  If we can make Cypress close enough to the production environment, that would be ideal.  If not, we should cancel the boot with a message explaining the problem.

Since https://github.com/freeCodeCamp/freeCodeCamp/pull/39447, this file is unused. Most branches (by extention forks, and PR) which have not been rebased will see this getting created.
We could add this to .gitignore but that would be treating the symptoms. I would rather wait until the branches/forks heal themselves.


[CS] Avoid emitting invalid binding diagnostic in more cases

Also avoid emitting the diagnostic for an out of place binding pattern if there's an existing fix on a parent call expression, as that's the real source of the failure.
rdar://113025351

@swift-ci please test

@swift-ci please test Linux

@swift-ci please clean test


rta: Don't force running rta as root for calibration

You don't need to run it as root. I have tested it on an unrooted phone.

Mmm... AFAIR we use to run it as root to ensure we can run it as an RT task:
https://github.com/ARM-software/lisa/blob/legacy/libs/wlgen/wlgen/rta.py#L129
That's the reason why we also compute max_rtprio, which is now a not user variable.
That looks like a nonintentional change since the "big switch", maybe @valschneider and/or
@douglas-raillard-arm know why? Running calibration as an RT task was intended to avoid interferences and get more consistent results.

I'll leave that to @valschneider as he refactored wlgen, but that seems not intentional indeed. We should also probably use the freezer as well to make sure nothing disturbs the calibration loop.

Ok, but now that the calibration can be done in non-rooted devices, it would be great if the RT task and the freezer was only done if target.is_rooted.

Right so that change was unintentional. I did run some side-by-side comparison and didn't notice differences in calibration values back at the time, so hopefully we haven't been too far-off.
IMO using the freezer only makes sense if we're not using the RT class, so we could go with:

If we are rooted, go with RT class for the calibration task
If we aren't rooted, go for default (CFS) class + freezer (and warn about !rooted status).

We already have something similar for cpufreq - if we don't have cpufreq available, which is the cases in most VMs, we just warn about it and keep going with the calibration.

We should probably expose in the target configuration if the target user has sudo rights or not, but I'll need to dive again in devlib to see how exactly that should be done. Last time I checked the rooted/unrooted statuses management were very confusing.
Once that info is exposed, various pieces of code could bail-out and warn if the target user is not sudo user, like the freezer.

If we aren't rooted, go for default (CFS) class + freezer (and warn about !rooted status).

Will we be able to freeze everything without being root ?

We should probably expose in the target configuration if the target user has sudo rights or not, but I'll need to dive again in devlib to see how exactly that should be done. Last time I checked the rooted/unrooted statuses management were very confusing.

devlib already exposes it in its Target class: it's got an is_rooted property. Can't you use that?

Looks like is_rooted should do the job, looks like my issue was that the host connection does not try to check if the username is already "root".

If we aren't rooted, go for default (CFS) class + freezer (and warn about !rooted status).

Will we be able to freeze everything without being root ?

Good point, I'm not sure. We already peacefully continue when we can't freeze because the freezer cgroup isn't there, so maybe we could do that there. I sense a "do this as root or skip it" building block....

Here is the PR that restores RT and userspace freezing when running calibration, and warns but proceeds when ran as non-sudo user:
https://github.com/ARM-software/lisa/pull/994
@JaviMerino If that fits the bill, you can close this PR


Add docs and Modify code a little

Summary
Resolve #5 and #9

Deploy gh-pages by using vuepress-deploy github actions
https://github.com/marketplace/actions/vuepress-deploy

Update errors test

Rename from clearAllHelpers to clearAllUDFHelpers

Docs
https://yukihirop.github.io/babel-udf-helpers
Test
$ yarn test
yarn run v1.19.0
$ jest
 PASS  src/__tests__/basic.test.ts
 PASS  src/__tests__/error.test.ts

Test Suites: 2 passed, 2 total
Tests:       17 passed, 17 total
Snapshots:   17 passed, 17 total
Time:        1.861 s, estimated 5 s
Ran all test suites.
✨  Done in 3.00s.

LGTM


Document Social Embedding

When document share urls are linked from various social platforms, an embed should be able to be obtained from the Homebrewery site. Embeds are typically handled by document head attributes, primarily opengraph values.
My proposal includes a few things:

Fix https://github.com/stolksdorf/vitreum/blob/master/headtags.js

if you have multiple Meta objects it will duplicate them, which will break the embedding

A default Homebrewery embed for the main page, v3 preview, and migrate pages
Dynamic Homebrewery embeds for document share pages
imageUrl document attribute that will display as the image for embeds

Example:

Check #1777 - that PR added a bunch of OpenGraph meta tags in the header, but the change was reverted almost immediately due to an issue with how the thumbnail URL was being stored (see https://github.com/naturalcrit/homebrewery/pull/1777#issuecomment-960421531). This should be resolvable now that metadata is codefenced inside the brew text during storage; the original PR may be fine once any conflicts are resolved.

Oh cool!

The original issue that PR #1777 was attempting to resolve was #820, for further reading.

If this is solved by #1777 then I say just revive that PR and go for it.


Tumblr has changed its API?

It looks like Tumblr has changed or done something odd  to its API. Upon attempting to rip Tumblr sites I am now receiving this error:

Downloading http://api.tumblr.com/v2/blog/letmedothis.tumblr.com/posts/photo?api_key=v5kUqGQXUtmF7K0itri1DGtgTs0VQpbSEbh1jxYgj9d2Sq18F8&offset=0
Rip complete, saved to /Users/Redburn2/Downloads/rips/tumblr_letmedothis.tumblr.com
Failed to load http://api.tumblr.com/v2/blog/letmedothis.tumblr.com/posts/photo?api_key=offset=0 after 1 attempts

The error about failing to load the Tumblr API seems to recur.
Letmedothis.tumblr.com is a reasonable test point. It has worked in the past.

Same problem here

Nope, don't think so. API still looks the same.
Maybe try the steps mentioned there: https://github.com/4pr0n/ripme/issues/335

Yes, sorry for bothering.
i noticed some time later.
2016-07-28 21:19 GMT+02:00 H R X N<EMAIL_ADDRESS>
Nope, don't think so. API still looks the same.
Maybe try the steps mentioned there: #335
https://github.com/4pr0n/ripme/issues/335
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/4pr0n/ripme/issues/339#issuecomment-235997296, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATvpoHTWs1LArIdQDnR5IJgsAv1UIBOUks5qaQC9gaJpZM4JWl9p
.

No problem. :+1:

Hi, sorry to bother again but i have a question.
if you are to busy or not willing to help, i can understand.
just stop reading and tell me please.
I am not that familiar with java.
i am playing a little bit around with your source code since i experienced
some problems with the deviant art ripper.
i wanted to have the deviant art timeouts configurable.
now i have problems to generate a runnable jar file.
i get the following error messages:
log4j:WARN No appenders could be found for logger
(org.apache.commons.configuration.PropertiesConfiguration).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for
more info.
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NullPointerException
at com.rarchives.ripme.utils.Utils.getConfigBoolean(Utils.java:104)
at com.rarchives.ripme.utils.Utils.configureLogger(Utils.java:350)
at com.rarchives.ripme.App.main(App.java:38)
... 5 more
greetings
Martin
2016-07-28 22:51 GMT+02:00 H R X N<EMAIL_ADDRESS>
No problem. 👍
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/4pr0n/ripme/issues/339#issuecomment-236021375, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATvpoJTAkdCXEgbxnyW9ehDKycyvsdPRks5qaRZpgaJpZM4JWl9p
.

Closing as duplicate of #335


[ERROR] Error updating the NVD Data; the NVD returned a 403 or 404 error ( Using 10.0.2 )

Hi,
After upgrade my plugin for the lastest version 10.0.2, I'm still receiving this error below.:
Installing dependency check from /var/lib/jenkins/caches/dependency-check/LINUX/10.0.2.tar.gz to /var/lib/jenkins/tools/org.jenkinsci.plugins.DependencyCheck.tools.DependencyCheckInstallation/OWASP-July-2024 on Jenkins_node01
[INFO] Checking for updates
[ERROR] Error updating the NVD Data; the NVD returned a 403 or 404 error
Please ensure your API Key is valid; see https://github.com/jeremylong/Open-Vulnerability-Project/tree/main/vulnz#api-key-is-used-and-a-403-or-404-error-occurs
If your NVD API Key is valid try increasing the NVD API Delay.
If this is ocurring in a CI environment
org.owasp.dependencycheck.data.update.exception.UpdateException: Error updating the NVD Data; the NVD returned a 403 or 404 error
Please ensure your API Key is valid; see https://github.com/jeremylong/Open-Vulnerability-Project/tree/main/vulnz#api-key-is-used-and-a-403-or-404-error-occurs
If your NVD API Key is valid try increasing the NVD API Delay.
If this is ocurring in a CI environment
at org.owasp.dependencycheck.data.update.NvdApiDataSource.processApi(NvdApiDataSource.java:387)
at org.owasp.dependencycheck.data.update.NvdApiDataSource.update(NvdApiDataSource.java:116)
at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:906)
at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:878)
at org.owasp.dependencycheck.App.runUpdateOnly(App.java:427)
at org.owasp.dependencycheck.App.run(App.java:172)
at org.owasp.dependencycheck.App.main(App.java:89)
[INFO] Updating CISA Known Exploited Vulnerability list: https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json
[INFO] Begin database defrag
[INFO] End database defrag (256 ms)
[ERROR] Error updating the NVD Data; the NVD returned a 403 or 404 error
Please ensure your API Key is valid; see https://github.com/jeremylong/Open-Vulnerability-Project/tree/main/vulnz#api-key-is-used-and-a-403-or-404-error-occurs
If your NVD API Key is valid try increasing the NVD API Delay.
If this is ocurring in a CI environment
org.owasp.dependencycheck.data.update.exception.UpdateException: Error updating the NVD Data; the NVD returned a 403 or 404 error
Please ensure your API Key is valid; see https://github.com/jeremylong/Open-Vulnerability-Project/tree/main/vulnz#api-key-is-used-and-a-403-or-404-error-occurs
If your NVD API Key is valid try increasing the NVD API Delay.
If this is ocurring in a CI environment
at org.owasp.dependencycheck.data.update.NvdApiDataSource.processApi(NvdApiDataSource.java:387)
at org.owasp.dependencycheck.data.update.NvdApiDataSource.update(NvdApiDataSource.java:116)
at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:906)
at org.owasp.dependencycheck.Engine.doUpdates(Engine.java:878)
at org.owasp.dependencycheck.App.runUpdateOnly(App.java:427)
at org.owasp.dependencycheck.App.run(App.java:172)
at org.owasp.dependencycheck.App.main(App.java:89)
ERROR: Mark build as failed because of exit code 8

I'm already checked the API Key.. everything OK and the communication with the SITE NVD ok too..
But I'm still receiving this... start only after upgrade from 9.0 to 10.0.2 because these last problems from NVD.. before this.. using 9.0 everthing ok.

Most likely cause for a 403 would be too many requests for your API key. Do you have an API-key specific to your project, or a shared API key that is used across all/many projects?
Best setup is to have your projects run in no-update mode with a dedicated schedule-triggered job that maintains the CVE database locally (empty project/job invoking dependencycheck in update-only mode)
Second-best setup is only having a shared/cached location for the data, but each job configured to update this central data whenever it builds.
Best guarantees for disasters like this are jobs that each and every time have to build the CVE database from scratch (which needs to get 200k+ entries from the NVD each and every build)

It may very well be (speculation mode on)  that in addition to blocking 'old clients' that NVD has also put measures in place that will block APIKeys when they observe abusive behaviour of the last type of project setup on a certain APIKey (speculation mode off).
NVD is hosting a valuable database with limited resources. The best thing the community can do is to use it in a gentle manner and therefor cache results locally in their CI infrastructure rather than re-retrieving the entire dataset on every CI-build.

As this also seems to be the jenkins plugin I guess it's additionally difficult to tell if the key is being supplied properly? Not sure.
If it works fine locally using ODC CLI with a different API key then the problem is clearly the Jenkins plugin or some additional throttling like @aikebah alludes to.
It is a good question as to how the throttling behaves from NVD. If they don't do it already, they really should be replying with HTTP 429 (or 503 if they really have to) for throttling situations to distinguish from 403 for (bad API key). Preferably they'd give a retry-after header and even concurrent clients could back off to the required time and "co-exist".
I assume from @aikebah's response above that he's pretty sure they dont use 429s for these cases where an individual API key is making too many requests though. And nothing is mentioned at https://nvd.nist.gov/developers/start-here.

the rate limit with an API key is 50 requests in a rolling 30 second window

Is actually quite a lot, especially when bulk retrieving the database. In theory you could retrieve the entire database (~250,000 entries) in parallel in batches of 10,000 and be under that limit - but yeah, probably not their desired usage, and likely retrying 50xs also count against ones rate limit. :-)

Don't know whether they use the 429, but can't recall having seen 429s, which is why I went to speculation mode that maybe they put 403s for that case as well.

Yeah it's fair speculation. Maybe I'll try an empirical test at some point. Hmm.

@jeremylong hi how are you?
I would like to ask you connected with this problem above.. because I'm identified another limitation, only 1000 registers are authorized and the last 10.0.2 trying 2000 ( [WARN] Retrying request /rest/json/cves/2.0?resultsPerPage=2000&startIndex=0 : 2 time )

TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]

TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [265 bytes data]

TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]

TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [265 bytes data]
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* TLSv1.3 (IN), TLS Unknown, Unknown (23):
{ [1 bytes data]
< HTTP/1.1 404
< message: resultsPerPage parameter cannot exceed 1000.

It's possible create a new version ( 10.0.3 ) only to return 1000 registers per page?

Hmmm.. their response message  contradicts their documentation as https://nvd.nist.gov/developers/vulnerabilities documents both   default and upper limit as 2000

And it must be over 1k, as I just successfully updated my local CVE database with 1580 new records.
Did you properly configure an API key for NVD?

Hi @aikebah  yes everthing ok .. I tested with Curl and works very well if I change from 2000 to 1000.
If have any argument to use in the jenkins pipeline to make the Owasp Dependence consider only 1000, because the --updateonly doesn't work, I my tests .. I purged my cache before @jeremylong released 10.0.2.
I have another test environment in AWS and from there I don't have any problem to use 2000 registers, but in my official environment on Azure, only works the Curl if I change to 1000. My pipeline returns only these results above.
So strange.. this behavior

Both with and without an API key NIST NVD responds normally on a resultsPerPage of 2000
So my suspicion would go to an intercepting firewall/proxy in your infrastructure that has some generic policy activated for a resultsPerPage query-parameter

Quite a badly configured one even... as a request parameter violation should be accompanied by an HTTP 400 (Bad Request) response code rather than 404 (Not Found)

Hi @aikebah , no I considered this too and my access is direct to internet, no filter or proxy, but still returning this error.
I imagined some WAF in the NVD side.. maybe some rule there.. for the range IP used by me.

sounds like a genuine direct connection towards NVD infrastructure indeed, same IP shown for me on nslookup of the host

@snake121314spbr For future: don't forget to delete your initial comment when redacting sensitive data (I already took care if it for you this time) - see https://docs.github.com/en/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment

@jeremylong I've started to work on a PR to allow configuration of a lower resultsPerPage for cases like mentioned in the comments.

Thank you very much!!!!

We should surface this error better as well... Let me look at the client code.

With release 10.0.3 the client should automatically adjust if the NVD requests a lower resultsPerPage. For other errors with the NVD API 10.0.3 improves the error reporting so it will be easier to determine exactly what is wrong.


API Changes to FivetranSensor for supporting backfills

Resolves #49
Changes
FivetranOperator
High level API:

Deprecate execution_timeout kwarg. This isn't even being used. It is pretty straightforward to remove this.
(Breaking) Make default behavior when deferrable=False to wait for Fivetran sync to complete.

Right now there is a fundamental divergence between how the deferrable and non-deferrable modes work.
I would argue that:

(1) Typically in Airflow, the deferrable param is a parameter that defines the runtime of the operator (i.e. in normal worker nodes vs a triggerer instance), not the fundamental behavior of the operator. For that reason, the deferrable=? kwarg should not impact the behavior as dramatically as it currently does.
(2) Adding code to make it wait synchronously is not tricky.
(3) The existing behavior when deferrable=False is significantly worse than waiting, as it leads to the FivetranSensor being necessary to await the FivetranOperator, whereas the FivetranSensor would be more interesting if it were a choice rather than a strict necessity. I updated the README.md to clarify what the FivetranSensor can/should be used for going forward.

Add wait_for_completion kwarg. (I copied this kwarg name from EcsRunTaskOperator for whatever that is worth.) This combined with deferrable splits what deferrable does into two separate options (waiting for Fivetran vs running on Triggerer instance) rather than having them combined into one option.

FivetranSensor
I start by describing the changes to FivetranOperator because understanding these changes paves the way to understanding why FivetranSensor also changes.
It appears right now that FivetranSensor is designed just to await a FivetranOperator(deferrable=False), out of necessity due to lack of functionality when non-deferrable.
However, a much more relevant use case for the FivetranSensor is when Fivetran is running on its own schedule, and we want to await a sync scheduled outside of Airflow. The main motivation in designing these API changes is to support that use case. By making FivetranOperator always wait by default even when deferrable=False, then FivetranSensor's primary purpose can focus on more interesting use cases.
High level API:

Replace xcom with completed_after_time. xcom is a misleading name. The value does not need to necessarily come from xcom. This kwarg was designed originally to be used in the case of FivetranOperator >> FivetranSensor, with the intent that the FivetranSensor was always awaiting a manually scheduled job via the completed at time passed through xcom.

I originally wanted to name this target_completed_time or something similar to emulate the DateTimeSensor API. However, this is not a very descriptive name, and it feels especially confusing when using the old xcom_pull() pattern (target_completed_time="{{ task_instance.xcom_pull('fivetran-operator', key='return_value') }}" looks strange and could be interpreted as "targetting" the last sync value. But in that case it would be unclear why this pattern even works!) I found this name to be a lot clearer.

Add always_wait_when_syncing kwarg. So the operator never passes while Fivetran is syncing when this is true.

Setting this as a default True won't matter for most users.
This is at its most useful for backfills. Fivetran syncs are not atomic and it's possible for table A to be updated while table B is not, or alternatively some rows in table A are written while others are still being written. So running downstream operations while Fivetran is syncing can be a little dangerous, and this operates as an imperfect* but reasonable check to see if the coast is clear.

Added propagate_failures_forward kwarg.

This makes it so target_completed_time > failed_at > succeeded_at raises an error. By default this is False, matching the existing API.
A justification why you may want this to be true is because a fail > success indicates an issue that may eventually impact future syncs.

(* Imperfect because for a long running DAG, or for concurrent task runs, Fivetran can just resync again.)
FivetranHook
High level API

Add is_synced_after_target_time() and is_synced_after_target_time_async() to replace and get_sync_status_async() (which are deprecated).

It was too risky to replace the entire API with something slightly new, so instead I just created a new method name.
This name is also a little more descriptive. "get sync status" implies that the value being returned is some sort of enum representing, but in the sync hook implementation it is just a boolean. In reality, it is a mix-- get_sync_status_async returns a string but get_sync_status returns  boolean. Here the name is_synced_after_target_time() implies a boolean return value, which is what you get.

**Refactor connector_details parsing logic so that it is in _determine_if_synced_from_connector_details(). This means that both the sync and async operator use the same logic, and it gets to be DRY.
Check success before fail in get last sync. I explain why this is a beneficial change here: https://github.com/astronomer/airflow-provider-fivetran-async/issues/49#issuecomment-1704385524

Misc.
I did my best to keep the API in tact, which you can see by the fact that there are very few changes in tests/.
The main test change I made was so that "succeeded_at > failed_at > completed_after_time" returns a success rather than a failure.

We have run these code changes in our company's Airflow deployment like this:
FivetranSensor(
    task_id=...,
    connector_id=...,
    completed_after_time="{{ data_interval_end + macros.timedelta(minutes=5) }}"
)

And we confirmed it works as intended in these two cases:

When the completed_after_time is long in the past and Fivetran has already run much more recently (so completed_at > completed_after_time), it doesn't spend any time waiting around.
When the completed_after_time is near the present and a completed_at hasn't yet occurred greater than the completed_after_time, it does end up waiting around.

Will anyone be able to review this? @phanikumv @pankajastro @sunank200.
I know these are big changes, but I think it's worth looking at them. Overall I think these changes really elevate the package to the next level, allowing folks to really customize their experience with Fivetran connection into Airflow. I've been using Airflow for multiple years for data engineering and am an OSS contributor to Airflow. I consider these changes to make for a more idiomatic experience, and also addresses many of the sort of real-world nuances that you want to have control over when designing data pipelines.
Other reasons why I think this should get reviewed:

We have been using this for the past few weeks at my company, and it works great!

I did learn the hard way that always_wait_when_syncing should be defaulted to False. 😬 It's a very useful control flow feature in many circumstnaces, but it's not always safe. There are pros and cons to turning it on or off, but I think "off" is a better default.

It is nearly fully backwards compatible (with deprecation warnings). The only exception is there is a slight change in behavior when deferrable=False for the FivetranOperator (although, I think this change in behavior is extremely sensible).
I think all the API changes are totally defensible and make for a better experience.
I think this

Let me know if there is anything you need from me to assist in reviewing the changes.
Thank you for all your work on this!

Will anyone be able to review this? @phanikumv @pankajastro @sunank200.
I know these are big changes, but I think it's worth looking at them. Overall I think these changes really elevate the package to the next level, allowing folks to really customize their experience with Fivetran connection into Airflow. I've been using Airflow for multiple years for data engineering and am an OSS contributor to Airflow. I consider these changes to make for a more idiomatic experience, and also addresses many of the sort of real-world nuances that you want to have control over when designing data pipelines that can guarantee data integrity.
Other reasons why I think this should get reviewed:

We have been using this for the past few weeks at my company, and it works great!

I did learn the hard way that always_wait_when_syncing should be defaulted to False. 😬 It's a very useful control flow feature in many circumstnaces, but it's not always safe. There are pros and cons to turning it on or off, but I think "off" is a better default.

It is nearly fully backwards compatible (with deprecation warnings). The only exception is there is a slight change in behavior when deferrable=False for the FivetranOperator (although, I think this change in behavior is extremely sensible).

I think all the API changes are totally defensible and make for a better experience.

It's better to get these sort of changes in earlier than later, while the package has fewer dependents.

Let me know if there is anything you need from me to assist in reviewing the changes.
Thank you for all your work on this!

Sure @dwreeves we will review it.Thank you so much for your contributions

Thanks!

All requested changes made.

Thanks @dwreeves , someone will review it tomorrow

Sorry all, I have been on vacation and essentially offline the past week. Will get to this tonight!


[Bug] resetToCenter parameter doesn't work.

Describe the Bug
I passed the resetToCenter Parameter to false, but when resetCamera is running, it moves to the center of the volume.
Steps to Reproduce
const viewports = this.renderingEngine?.getViewports() as cornerstone3DCore.Types.IVolumeViewport[]
viewports?.forEach((viewport) => {
viewport.resetCamera(true, true, false)
viewport.render()
})
The current behavior
I passed the resetToCenter Parameter to false, but when resetCamera is running, it moves to the center of the volume.
The expected behavior
I expect that when the resetCamera is executed with the resetToCenter parameter to false,
keep the current coordinates without moving to the center of the volume
OS
macOS sonoma 14.0
Node version
20.14
Browser
chomre 129.0.6668.101

Can you check the latest OHIF viewer, which now includes Cornerstone 3D 2.0?
Here are the migration guides:
Try OHIF locally: https://viewer-dev.ohif.org/localbasicTry Cornerstone3D 2.0 locally: https://www.cornerstonejs.org/live-examples/local.html
https://docs.ohif.org/migration-guide/3p8-to-3p9/

Can you check the latest OHIF viewer, which now includes Cornerstone 3D 2.0?
Here are the migration guides:
Try OHIF locally: https://viewer-dev.ohif.org/localbasicTry Cornerstone3D 2.0 locally: https://www.cornerstonejs.org/live-examples/local.html
https://docs.ohif.org/migration-guide/3p8-to-3p9/

I use cornerstonejs version 2.2.15 but it still produce.
viewport.resetCamera({ resetZoom: true, resetPan: true, resetToCenter: false })


Poll and show notification in system tray when app is in background

Summary:
It would be nice to have a background service that can poll for notifications and publish a notification in the system tray. It can also serve for multiple use cases as discussed in #871.
As a basic thing, we can poll for user notifications when the app is in the background. All the infrastructure is in place for this and we just need to have a periodic background task to achieve this. Clicking on system tray notification can open the app's notification activity.

I would like to work on this.

Sure, feel free to pick this up.
@prajurock Can you describe how you plan to implement it?

If we are using FCM and message is in form of data then I use 'onMessageReceived()' to publish a message in the notification tray.

We won't be using FCM. The background job will poll for notification and show a local notification if there's a new one.

Poll for notifications means??

We can call the API to fetch notification every 1-2 hours and check if there's a new notification.

We have to build a Service that handles your notification contents and shows notifications when it knows that are new data(notification). The service will run in background even if your application is closed. You need a BroadcastReciever to run the service in background after the boot phase is completed.

Yes, sounds good.

Should i start working on it?Or you will assign this then i will start.

@prajurock Its assigned to you now.

Ok I will do.

Can you provide me an API ?? or i will make dummy one.

the API is already integrated into the app.
https://mediawiki.org/wiki/Notifications/API
check ApacheHttpClientMediaWikiApi:getNotifications


FfiException(PANIC_ERROR, called Option::unwrap() on a None value, null)

Report
`Option::unwrap()` on a `None` value, null)

Got this log error when trigger onTap
Steps to Reproduce
Please describe the exact steps to reproduce the error.
rinf message
brew install protobuf
flutter run

                onTap: () async {
                  try {
                    final requestMessage = tutorial_resource.ReadRequest(
                      letter: 'Hello',
                      beforeNumber: 1,
                      dummyOne: 1,
                      dummyTwo: tutorial_resource.SampleSchema(
                        sampleFieldOne: true,
                        sampleFieldTwo: false,
                      ),
                      dummyThree: [],
                    );
                    final rustRequest = RustRequest(
                      resource: tutorial_resource.ID,
                      operation: RustOperation.Read,
                      message: requestMessage.writeToBuffer(),
                    );

                    printWrapped('aaaa');
                    final rustResponse = await requestToRust(rustRequest);
                    printWrapped('bbbb');
                    final responseMessage = tutorial_resource.ReadResponse.fromBuffer(
                      rustResponse.message!,
                    );
                    printWrapped('after=${responseMessage.afterNumber}');
                  } catch (e, trace) {
                    rethrow;
                  }
                },

System Information
Please provide the output from the command below, using markdown codeblock syntax.
rustc --version
rustc 1.74.0 (79e9716c9 2023-11-13)

protoc --version
libprotoc 25.1

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.0, on macOS 13.6 22G120 darwin-arm64, locale en-ID)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    ✗ Unable to get list of installed Simulator runtimes.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] VS Code (version 1.84.2)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 1 category.

Hi @erlangparasu , thanks for the report :)
I can come up with one possibility. Can you check if you initialized Rust logic from the Dart side, like this?
https://github.com/cunarist/rinf/blob/5b3c23395b3066bebf739a7534a440e48bb884dd/flutter_ffi_plugin/example/lib/main.dart#L7-L11

@temeddix oh Thanks so much!


TestDrive demo broken on Chrome/Linux_x64

Google Chrome Version 45.0.2454.37 (64-bit)
symptoms Left input panel shows up and receives user input fine, Right panel is blank.
Works fine with my firefox install.

updated to 46, seems to be fixed now


Add a hack for allowing us to talk to brokers that do not have proper…

… certs for demo purposes

I need this hack personally to unblock some demo work for kubecon.

LGTM, I'd like the issue filed in addition to @MHBauer

@MHBauer

fine for now. if it takes to long to add an --insecure flag or some such, I want an issue filed and linked.

Please do

Related: https://github.com/kubernetes-incubator/service-catalog/issues/606

I'll add the --insecure flag as a follow on if that's ok...

Pulling this and testing now

Confirmed that:

A broker with an incorrectly signed cert does not work without this patch
A broker with an incorrectly signed cert does work with this patch

Merging because I need this stat to unblock so time-sensitive work


session end times now wrong

As of a few hours ago, in the downloaded sessions the start times are correct but the end times and durations are totally wrong (I think it's mainly the "asleep" times that are way too long now). See attached download versus Snoo log in app for same time period. Sessions should be approximately 21:52-2:16, 2:41-5:03, 5:03-5:16, 5:34-8:14, as in image

At second look, actually this is a problem with when the code for exporting the data (> data_sessions = client.export_sessions(start_date,end_date)) is run multiple times within a single Colab runtime sessions, for some reason it keeps adding to durations. Runtime must be restarted to get correct values


rcore.c: wrong behavior in ScanDirectoryFiles() and ScanDirectoryFilesRecursively() on windows

Hi.
I'm using LoadDirectoryFiles() and LoadDirectoryFilesEx() functions in my test project to print all files in the current directory:
Code Example
FilePathList file_list = LoadDirectoryFiles(GetWorkingDirectory());

printf("file_list capacity = %u, count = %u, paths: \n",
        file_list.capacity,
        file_list.count);

for(unsigned int i = 0; i < file_list.count; i++)
            printf(u8"\t%s\n", file_list.paths[i]);

UnloadDirectoryFiles(file_list);

Issue description
As result a has mixed back-slashes (windows style) in directory path, joined with forward-slash (unix style) and a file names:
file_list capacity = 8192, count = 5, paths:
        D:\code\c23test\build\Release/mplayer.exe
        D:\code\c23test\build\Release/rguilayout.exe
        D:\code\c23test\build\Release/Tutorial.exe
        D:\code\c23test\build\Release/TutorialRaylib.exe
        D:\code\c23test\build\Release/TutorialSDL.exe

Fix
After little search was done I find out, that actual joining is made by ScanDirectoryFiles() and ScanDirectoryFilesRecursively() functions in rcore.c module.
To fix that behavior I changed line 3111 from:
sprintf(path, "%s/%s", basePath, dp->d_name);
to:
#if defined(_WIN32)
    sprintf(path, "%s\\%s", basePath, dp->d_name);
#else
    sprintf(path, "%s/%s", basePath, dp->d_name);
#endif

and line 3150:
sprintf(path, "%s/%s", basePath, dp->d_name);

to:
#if defined(_WIN32)
    sprintf(path, "%s\\%s", basePath, dp->d_name);
#else
    sprintf(path, "%s/%s", basePath, dp->d_name);
#endif

Environment
DESKTOP platform, Windows 10, OpenGL 4.3, GPU NVIDIA GTX780.
Issue Screenshot

In terminal one can see  output before and after fix was done.

@raylibfan afaik, it should work ok despite the mixed slashes on the directory paths or at least I didn't have any problem with that on my tools. In any case, feel free to send a PR with the reviews proposed. Thanks!


Add support for page-level metadata

Relates to https://github.com/elastic/docs-builder/issues/49
Our current proposal for representing the version/context of each page in the new information architecture and doc system needs a method for clearly identifying all the contexts that a page is applicable to.
In the current docs system, context needs to be derived from the text itself, the "book" breadcrumbs and version selector. Since books tended to apply to a single product or context, that was usually simpler to infer. For example:

In the new docs system and information architecture you can't assume pages that are "near" each other are all applicable to the same context, so we should be as clear as possible about the context. For example:

At this moment, we are proposing that the page-level metadata uses the same deployment type, lifecycle, and version dimensions as described in https://github.com/elastic/docs-builder/issues/94. The assumption being that what is specified at the page-level is applicable to the entire page unless it's overridden by admonitions at the section, page, or line level.
NOTE: We haven't gotten input from the design team yet on the best possible way to make these admonitions informative but not too disruptive. But the vision is informed by the type of "badges" we had in the Serverless docs.
Short term
In the short term we would want a consistent way to apply this metadata at a page level and just show them all.
Ideally it would be possible to set this metadata in a configuration file for all the pages in a folder, for example, so that we only needed to set it at a page level if it differed from the default for that content set.
Long term
In the longer term, we likely need input from design and user feedback on whether it's more useful to only show a subset of contexts (e.g. only show badges that indicate where it is supported or vice versa).
In the even longer term, it would be nice to have this metadata affect search and filtering functionality.

Closing this as implemented even though we might go through a few more refinement cycles.


Benchmarking pallet_membersip Panics

When benchmarking substrate pallets for acala's runtime the executor panics for pallet_membership. Acala has five membership instances in the runtime and specifically the fifth instance causes the panic. So seems like a large number of instances causes more recursion leading to a stack overflow in wasm execution while running benchmarking? See output below

Details
 target/release/acala benchmark --chain=acala-latest --steps=50 --repeat=20 --pallet=pallet_membership '--extrinsic=*' --execution=wasm --wasm-execution=compiled --heap-pages=4096 --template=./templates/runtime-weight-template.hbs --output=./runtime/acala/src/weights/
Error: Input("Error executing and verifying runtime benchmark: Other("Wasm execution trapped: wasm trap: unreachable\nwasm backtrace:\n 0: 0x539efe - !rust_begin_unwind\n 1: 0x1ace84 - !core::panicking::panic_fmt::h0dfe153eb0ef456a\n 2: 0x8ca0f - !core::panicking::panic::ha2f229d777a180c9\n 3: 0x441039 - !core::ops::function::FnOnce::call_once{{vtable.shim}}::h43522baa5c1617ed\n 4: 0x204f98 - !,sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic::Signer as sp_runtime::traits::IdentifyAccount>::AccountId,u32>,acala_runtime::Call,acala_primitives::signature::AcalaMultiSignature,(frame_system::extensions::check_spec_version::CheckSpecVersion,frame_system::extensions::check_tx_version::CheckTxVersion,frame_system::extensions::check_genesis::CheckGenesis,frame_system::extensions::check_mortality::CheckMortality,frame_system::extensions::check_nonce::CheckNonce,frame_system::extensions::check_weight::CheckWeight,module_transaction_payment::ChargeTransactionPayment,module_evm::SetEvmOrigin)>>>>::dispatch_benchmark::h35403195857e8ba1\n 5: 0x505526 - !Benchmark_dispatch_benchmark\n")")

Might need to introduce some instance flag which targets specific instances of the pallet rather than running all the pallets with the same name at the same time.
But are you sure this is a stackoverflow? I don't see anything in that log which would imply that?

No probably not a stack overflow, I saw a stack overflow have the same error message when googling... but Wasm execution trapped: wasm trap: unreachable, could mean any number of things.
Thanks I will try some flags

Did you close it since its stale or does it not panic anymore?
How do I reproduce this in case its still an issue? @ferrell-code

Yeah I know what the issue was, the benchmarks assume that T::MembershipChanged::set_prime() is implemented but for one of Acala's pallets we don't care about the prime member so set_prime() was not implemented... This breaks the benchmarking, but only for that particular case


Create Interest Section for Sales Funnel

User Story-
I want to create an engaging and informative "Interest" section for our sales funnel to capture the attention of potential customers, pique their curiosity, and encourage them to move to the next stage in the buying process.
Actions-
Ensure that the "Interest" section is optimized for a seamless and engaging experience on mobile devices, considering the increasing use of smartphones for online browsing.
Results-
Achieve increased user engagement within the "Interest" section, measured by metrics such as click-through rates, time spent on the page, and interaction with multimedia elements.

Interest: A hero text and image that conveys an athlete with the basketball product. Creating cards with promotions and limited time offers that the users will get on their first order, along with other purchases.


SDL2_image: 2.8.2 -> 2.8.3

Changes: https://github.com/libsdl-org/SDL_image/releases/tag/release-2.8.3

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Moving to draft as it breaks SDL2_image_2_0 with SDL2_image which for some reason shares the expression:
      > autoreconf: error: automake failed with exit status: 1
       For full logs, run 'nix log /nix/store/dcfzmq79hz9wi6ppi2kcnrp0r4iiyzrr-SDL2_image-2.0.5.drv'.

Moving to draft as it breaks SDL2_image_2_0 with SDL2_image which for some reason shares the expression:
      > autoreconf: error: automake failed with exit status: 1
       For full logs, run 'nix log /nix/store/dcfzmq79hz9wi6ppi2kcnrp0r4iiyzrr-SDL2_image-2.0.5.drv'.

Tweaked the patch phase to provide enough files to allow autoreconf. Ready for review.

nixpkgs-review result
Generated using nixpkgs-review.


Add progress

Thanks for this awesome library.
i'd like to see some kind of progress when I'm backuping a database.
For now, I just have the info that it is dumping but can't really know if it really is doing something or not.

Thanks for using copybase ! :) And sorry for the late response, I didn't see it coming.
That would be a great feature, but progress is usually displayed by the database tooling to dump / restore the database. Copybase just execs these commands,  and there is no easy way to retrieve the progress from the executed command.
On my side, I use --verbose when databases are big, to display the progress directly from the command.


License issues with nl/countrywide

The current nl/countrywide source has terms and conditions at https://www.esri.nl/nl-nl/legal/voorwaarden/esri-nederland-terms-of-use which specify:

The data remain the property of Esri Nederland and use is only permitted in combination with Esri software based on our Fair Use Policy.

I don't think that meets the "free and open" criteria.
It looks like the upstream source provides the data under CC0, but change for the data extracts. I tried to pull from their WFS service but it seems like it only provides a small subset of data. https://www.kadaster.nl/bag-producten

I'm pretty sure the data can be downloaded freely.
E.g. you can follow the links from the Dutch open data portal
https://www.pdok.nl/introductie?articleid=1948590 to get to the download URL: http://geodata.nationaalgeoregister.nl/inspireadressen/extract/inspireadressen.zip
This one is 1.6 GB compressed, so it should include all addresses. Not so sure on the license. The atom feed says "Copyright (c) 2012, Kadaster en Openbare Registers", the downloaded file has no license info. But perhaps we can use the licensing from the upstream links you suggested?

#4573 solves this problem, since it doesn't use ESRI, but the opensource nlextract


Add collision detection to Path

Codecov Report

Merging #32 into master will increase coverage by 7.11%.
The diff coverage is 66.66%.

@@            Coverage Diff            @@
##           master     #32      +/-   ##
=========================================
+ Coverage   34.68%   41.8%   +7.11%
=========================================
  Files          24      27       +3
  Lines         369     543     +174
=========================================
+ Hits          128     227      +99
- Misses        241     316      +75

Impacted Files
Coverage Δ

PathTools/Path+Arrowhead.swift
0% <0%> (ø)
:arrow_up:

PathTools/Path+Circle.swift
0% <0%> (ø)
:arrow_up:

PathTools/PathElement+CGPathElement.swift
0% <0%> (ø)
:arrow_up:

PathTools/Path+Parallelogram.swift
0% <0%> (ø)
:arrow_up:

PathTools/Path+Transform.swift
6.45% <100%> (+6.45%)
:arrow_up:

PathToolsTests/TransformTests.swift
100% <100%> (ø)

PathTools/CollisionDetectionTests.swift
100% <100%> (ø)

PathTools/Vector2.swift
100% <100%> (ø)

PathTools/PathElement.swift
52.63% <46.03%> (-31.99%)
:arrow_down:

PathTools/Path+Rectangle.swift
76.92% <50%> (-23.08%)
:arrow_down:

... and 10 more

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 1c6bba6...5303849. Read the comment docs.


Google Location API usage is significantly higher than expected

This appears to be due to a lack of debouncing in the code we are using.
Suggested solutions seem to suggest removing new google.maps.places.Autocomplete in favor of AutocompleteService and some custom debouncing logic; perhaps a delay of 200-300ms after a keystroke, and only searching of more than 4 characters have been entered into the field?
Both the main site and the rally page should be updated; perhaps in different ways.  There are some styling requirements from google we need to pay attention to, too.

@jontg do you have a preference in how we bundle javascript?  We typically write in es2015 and then use rollup to build a bundle.  We wrote a little cli lib that runs our JS through babel and rollup and minifies.  cool if I use that?  Also, is there a build step currently or would we need to check in the minified code?
Alternatively, we just include the 3rd party libraries on the page and then the page level javascript could be inline.  I'll defer to you.

Our front-end CI is bare-minimum at this point.  I defer to @sethvoltz on what the preferred method for bundling and language is, but at the moment I've just been including 3rd party libraries on the page.
I have no objections to fixing this!  I'm mostly a back-end dev so I'm not really familiar with the front-end build ecosystem, but as long as we can continue to use circle for CI (I'm uncomfortably aware of the lack of tests at the moment, if you have a preferred methodology) and CD.

Since I don't see this page needing to be very complex, maybe just needing some templating to reuse footers and form components, I don't have a specific opinion on bundleing.
I think vanilla JS is the right way to go, possibly with Babel or some other transputer to ensure modern features are backported to work on I.E. and other old browsers.
Additional build scripts could be added to the bin dir and coordinated in circle.yml before the static assets are copied to s3.

Should be able to get to this today


Memory usage in XGBoost training

I'm trying to understand roughly where the bottlenecks for XGBoost memory usage will come up during training, assuming that I am

Using the hist algorithm for trainig
Loading all training and validation data into memory
Training distributed using MPI + rabit

My understanding is that the main bottlenecks would be

Before training, when loading all the data into memory
During training, when nodes are added, due to computing the gradient histograms

For the latter, are the gradient histograms retained in memory throughout the whole training job? Or are they computed, temporarily stored to figure out how to split the tree, and then deleted?
I've noticed in some of my training jobs that the memory usage steadily increases over time, but I would assume that if the gradient histograms are only stored temporarily, this would not be the case. Can anyone clarify if this understanding is correct or not?

For CPU, it's kept for caching during each boosting iteration, and freed after a tree is built.

Got it. Would there be anything else that would be accumulating additional memory as each tree is built, besides the model itself.

I can't think of anything on top of my mind. Please note that the model can be non-trivial if you grow deep trees. Consider a tree with depth $d$ and dense nodes (full tree), the number of nodes is $2^d - 1$. Each node consumes at least 180 bytes due to storage of index, split value, hessian value, etc.

I see, that makes sense. What do you mean by the index that is stored at each node?
I'm also not clear on why each node requires it's own histogram. Can't the histogram be computed for the whole tree, and then based on the split value at each node, you can determine what the gradients are from the histogram associated with the tree? I saw this comment on the forums that implied otherwise, but I don't quite get why given the following for a node in the tree

the histogram for the tree
the split value (or the bounds for the feature)
you couldn't determine the gradient sums for the data associated with that node.

I will look into it a bit later. In general, if there's no memory leak, it's considered an optimization request and we might not be able to prioritize it immediately.

Thanks! Is there a chance it's due to something that's enabled when I set verbosity=3? I found that when I don't use verbosity, I don't see any issues (no increase in memory usage aside from creating the training QuantileDMatrix).

It can not. Each node is associated with a partition of samples, and the histogram is computed with this partition. I recommend looking into decision trees in general.

Just want to confirm that, for distributed training,  it is by design that each node can have different histogram of samples?
We use QuntileDmatrix + dask_cuda.LocalCUDACluster with an 8 GPUs host for pairwise training.
On each Dask node, we construct the training data as QuntileDmatrix with around 500452 groups and 31885080 samples with 404 features.

I think I'm still not following the part about the histogram being recomputed for each node. If we had the histogram for the whole tree, and each node has an associated feature index and split value for that feature, couldn't we compute the histogram for that node by simply looking up the part of overall histogram that's associated with the feature index + split value?
And re: profilers, do you have any suggestions for what I could use for profiling?

And the training hung sometimes with v1.7.4, but seemed working on v1.7.5.

We have some bug fixes.
On the tree node part, let me try explain the decision tree-building process here briefly. When a node is split, it splits on a feature based on a condition like $f_1 < 3.14$. The split essentially partitions the samples into two parts: samples with $f_1 < 3.14$ and samples with $f_1 >= 3.14$. Starting with the root node before it's split, we compute a histogram from all samples. Once the root node is split into two children, each owns a partition of the samples. The left node owns $f_1 < 3.14$ while the right one owns $f_1 >= 3.14$. You see, the children cannot directly reuse the histogram for the root node as they own different samples. We need to recompute the histogram from each partition by calculating the histogram for the left node from the partition where samples have $f_1 < 3.14$, and similarly, for the right node. There's no tree histogram since we don't have a tree.

Just want to confirm that, for distributed training, it is by design that each node can have different histogram of samples?

I am trying to understand what this means. All workers share the same tree structure. Each worker builds its local histogram for a tree node, then allreduce them into a single histogram.

I'm still a bit confused about why it can't reuse the parent's histogram, maybe let me write out with an example to clarify. Is it because the split value is not guaranteed to be a bin edge?
For example, if I had a histogram like
bin_edges = [0, 1, 2, 3, 4]
counts = [3, 4, 5, 2]

If the split value was 2, then I could immediately compute the children's histograms as
# <= 2
bin_edges = [0, 1, 2]  # this could be a view of the original bin_edges
counts = [3, 4]  # this could be a view of the original counts
# > 2
bin_edges = [2, 3, 4]   # this could be a view of the original bin_edges
counts = [5, 2]   # this could be a view of the original counts

But if the split value was something like 2.5, and there were examples where the feature value was e.g. 2.1, 2.4, 2.45, 2.9, then I could see that requiring to recompute the histograms.

The histogram is a histogram of gradient values used to approximate the gain function.

Your observation is only true for the histogram of the feature that is being split on. If we split on feature x1, then the new histograms for feature x2 are not trivially derivable from the parent's histogram.

Oh I see.. so to clarify:

For the parent node, we compute histograms for each feature, where the histogram maps from bin edges for that feature to gradient values
We decide which feature and what value for that feature to split on. From this, we can only get the histogram of the feature that is split on directly from the parent node, but otherwise, we need to create a new histogram for every other feature, for each child.

Is that right?


Problem transitioning to Plain image from other image types

There is a bug here which would create a problem if someone were to try to transition to a Plain image type from any other image type (e.g. Fitted).
https://github.com/elm-lang/core/blob/3.0.0/src/Native/Graphics/Element.js#L486-L493
This code appears to optimize the case where it is only the src attribute which is changing. In that case, it is not necessary to recreate the DOM node -- once can just change the src attribute (and, of course, apply other property updates, but that is not relevant here).
The problem is that the code only checks the type of the image which we are transitioning to -- it ignores the type of the image we are transitioning from. The optimization only makes sense if we are transitioning from a Plain image to another Plain image. If, for instance, we are transitioning from a Fitted image to a Plain image, then the structure of the DOM is completely different -- updating the src attribute will not accomplish anything.
One way to fix this would be to change the conditional to something like:
if (nextE._0.ctor === 'Plain' && currE._0.ctor === 'Plain')

Of course, there may be other ways.
It is possible that no one has ever encountered this bug, since it is probably unusual to transition from one image type to another. Therefore, one might not consider this to be a high priority bug to fix.

Sorry for the slow reply. It has been busy times. All the Graphics.* modules have moved to evancz/elm-graphics so it makes sense to retarget stuff like this.


Increase segmentSize for larger setups and MMAP

On some production systems where the resulting graph folder is >100 GB we get:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007fd9299ab000, 262144, 0) failed; error='Not enough space' (errno=12)

or
2019-12-07 12:50:17.531 [main] ERROR io.dropwizard.cli.ServerCommand - Unable to start server, shutting down
java.lang.RuntimeException: Couldn't map buffer 1227 of 6421 for shortcuts_fastest_hike_node at position<PHONE_NUMBER> for<PHONE_NUMBER> bytes with offset 100, new fileLength:6732906596
        at com.graphhopper.storage.MMapDataAccess.mapIt(MMapDataAccess.java:237)
        at com.graphhopper.storage.MMapDataAccess.loadExisting(MMapDataAccess.java:296)
        at com.graphhopper.storage.CHGraphImpl.loadExisting(CHGraphImpl.java:358)
        at com.graphhopper.storage.GraphHopperStorage.loadExisting(GraphHopperStorage.java:260)
        at com.graphhopper.GraphHopper.load(GraphHopper.java:774)
        at com.graphhopper.GraphHopper.importOrLoad(GraphHopper.java:615)
        at
...
Caused by: java.io.IOException: Map failed
        at java.base/sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:1016)
        at com.graphhopper.storage.MMapDataAccess.newByteBuffer(MMapDataAccess.java:252)
        at com.graphhopper.storage.MMapDataAccess.mapIt(MMapDataAccess.java:230)
        ... 20 common frames omitted
Caused by: java.lang.OutOfMemoryError: Map failed

So even decreasing the -Xmx argument, increasing graph.dataaccess.segment_size or increasing /proc/sys/vm/max_map_count did not help.
The reason is simple: alhtough we can certainly change the segment size, the segment size value is stored while import into the header of every DataAccess file and then read on loadExisting. This will overwrite any previously set value.
I.e. too many memory mapped files are created and when increasing the default segment size we could avoid this. We could also try to move the often separately handled segmentSize into the GHDirectory and make it a final variable in the DataAccess objects.
A workaround should be also simple via using graph.dataaccess.segment_size: 16777216 in the config.yml. But need to try this later.

I just saw a similar exception when importing the planet file with skadi set as elevation provider. In my case this was fixable by increasing the max_map_count. The issue was, as far as I can tell, created by skadi, since there are a lot more files and data to consider compared to other providers like CGIAR.


Failed to unlock new wallet|Ubuntu 20.04.2 LTS

Run anchor 1.1.12(also 1.1.8).
Go to Tools -> Reset Application -> OK
Setup wallet - > enter any password, for example 123
Go to Tools -> tool menu v1 -> Wallet Tools -> Permission
Click Unlock wallet - > enter 123 and... nothing. In dev log error not found file:

Also:
step in 1-3 again
4) Select EOS blockchain
5) Go to Tools -> tool menu v1 -> Wallet Tools -> Delegation
6) get error in dev log:

7) enter password 123 and get error Failed to unlock wallet

Based on the first screenshot, it looks like the API node is unset for some reason.
Go into "Manage Blockchains" from the dropdown in the upper left, and click the gear next to the network you want to edit. In the API node field, enter a valid API node URL and save it, then click the blockchain to select it again.
You can use our node, the URL is https://eos.greymass.com.

We'll also do some investigation as to why this value could possible be null.

So the issue here is that you shouldn't be able to access the permissions section until you actually setup an account. Took me a while but after following these exact instructions I reproduced and realized this was the situation. There will be a fix for this in 1.2.1.


Issue on video and audio sync

After recording the preview and the saved video have issues
The video view is faster than the audio.because of that when I record a 60-sec video, the saved video will be 40 sec due to the fast video playback and the remaining audio will all be missed at last.
After the video saving process, the folder will have more than one video outputs for a recording with audio and without audio
Thank you

any solutions?

v4.4 修复在某些手机上录制出的视频时间会变短(自动补帧)


Frontend right sidebacr

[ ] FIX: right sidebar styles
[ ] FIX: Bug where left sidebar button gets hidden.
[ ] ADD: summary statistics to right sidebar

Looks good to me!


Default file manager Bug

Description
Well I just installed today Files and want to try if I use the ,Set Files as the Default file manager,
But when I have (RuntimeBroker.exe errors every time) Then i wanted to use the standard file manager but then i get this error
(View Image 1, If Someone want to see My RuntimeBroker.exe error is - ShareX_TPXrE2OCw0)
Is there any fix to this?
And The Sad Think i need to be with Files until you fix my bug
Steps To Reproduce

Go to Options
Experimental
Turn On ,Set Files as the Default file manager`
Turn off ,Set Files as the Default file manager`
Ur Pc Is broken

Steps to fix

eg. Fix crash that occurs when...
eg. Correct action happens when clicking...

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19045.2075
Windows Version
Windows 10 22H2 (OS Build 19045.2075)
Relevant Assets/Logs

Thank you for your feedback, this might be fixed in the preview version, but we don't have any plans to continue tracking this issue https://files.community/download/preview as we're hoping Microsoft will provide an official solution for changing the default file manager.


docs: minor fixes to typos in docs

Really minor fixes to typos. So minor, not sure if it was worth even doing a PR, only had a skim of docs, so these are just the few I saw in the areas I was looking at. Creating as draft PR as I'll take a deeper read through docs at some point soon and may add to it.

All changes are minor to fix either typos or readability, but should be proofed to ensure intended meaning in some places hasn't been incorrectly changed.


update List Rlm

hi , i want to update rlm list and (hat can not updated because the list is not rlm array in my BD
 let ex = Exercice()
ex.exerciceDuration = exercice.exerciceDuration
ex.exerciceDescription = exercice.exerciceDescription
ex.exerciceTitle = exercice.exerciceTitle
ex.sortOrder = exercice.sortOrder

// Add exercice to record Template in Realm
recordTempAdded.value.realm?.beginWrite()
recordTempAdded.value.exercices.append(ex)

do {
    try recordTempAdded.value.realm?.commitWrite()
} catch let error as NSError {
    print(error.localizedDescription)
}

Hi @AhmedAmineZribi. Please copy the issue template from here and provide us with as much information about your project, tooling (versions and setup) and any other information that you can provide for us to better assist you. Thanks!

Hey @AhmedAmineZribi. Just going to reiterate that we need more information before we can help you. Please follow my previous instructions and we'll gladly help. :)

@AhmedAmineZribi unfortunately your comment is fairly incomplete. For example, where is recordTempAdded defined? What does it look like? What are your models, Realm version, etc.

I'm closing this issue due to inactivity.
@AhmedAmineZribi If you're still having trouble with Realm, please re-open this issue after you've updated the question with the information we've requested. Thanks! :)


Charge price D08: Valid charge request for period where there are a switch DST to normal time - > getting a reject

Test #1296
Expect an confirm after a request for charge price for date where we switch DST to normal time, but I receive a reject
Request:
cim:mRIDIrenetest</cim:mRID>

cim:priceTimeFrame_Period.resolutionP1D</cim:priceTimeFrame_Period.resolution>
cim:effectiveDate2022-10-29T22:00:00Z</cim:effectiveDate>

cim:Series_Period
cim:resolutionP1D</cim:resolution>
cim:timeInterval
cim:start2022-10-29T22:00Z</cim:start>
cim:end2022-10-30T23:00Z</cim:end>
</cim:timeInterval>
cim:Point
cim:position1</cim:position>
cim:price.amount200.001</cim:price.amount>
</cim:Point>
But instead of a confirm I got a reject:
cim:codeE87</cim:code>
cim:textThe number of prices received does not match the expected number of prices given the time interval and resolution provided for charge with ID Irenetest of type Tariff owned by<PHONE_NUMBER>047.</cim:text>
There are a issue for "calculate of day", as there only are 1. postion, and not 2.
Its works as expect for PT1H ( 23 or 25 positions)

Error is in NumberOfPointsMatchTimeIntervalAndResolutionRule
The interval we calculate returns a decimal value and use to get total days returns a decimal value
_expectedPointCount = Resolution.P1D => interval.Duration.TotalDays,
So when we compare that
IsValid => _expectedPointCount == _actualPointCount;
Is is a mismatch.
Maybe we should just round down the value from total days?

Be aware that this also applies resolution P1M


upgrade commons io

#29

I saw the build is stuck in travis-ci.org which is deprecated so went ahead and migrated the repo to travis.com. In order to force a new build in the new travis env closing this PR momentarily and reopen it right away to kick off a new build.


Fix crash of transpose

This PR tries to address the issue raised in https://github.com/tensorflow/tensorflow/issues/76036 where transpose will crash when perm is assigned negative value. Based on a closed PR https://github.com/tensorflow/tensorflow/pull/63064

Hi @rdzhabarov,  Could you please review my PR? Thank you!

Hi @keerthanakadiri , Could you please review my PR? Thank you!


docs(material/card): add more examples

Introduce more examples with actions, footer, image size, and subtitles.
Demo: https://stackblitz.com/edit/angular-ivy-zanf7t?file=src%2Fmain.ts
Close Issue: https://github.com/angular/components/issues/22844

@googlebot I signed it!

@crisbeto I have added the divider and progress-bar for the footer example. Thank you for reviewing my pr. 🙏🏼


Which options of all this we need to download?

https://dotnet.microsoft.com/en-us/download/dotnet/6.0

to build, you would need the SDK, to run you would need .NET Desktop Runtime
If you're building, you probably already have it installed as part of the prereqs for the build.
Currently, there doesn't appear to be a prebuilt binary release so that's the only way to get it done


Ukrainian translation.

Thanks for the app!
I would like to contribute to it at least with minimum.
I'm not android developer but java, aws, databases, linux is my passion, so I may just help with translation to Ukrainian language.
Ukrainian translation is added.
I haven't found where the following is displayed
+    <string name="aspect_ratio_contain">Contain</string>
+    <string name="aspect_ratio_fill">Fill</string>
+    <string name="aspect_ratio_cover">Cover</string>

so decided to not translate without understanding the context. In future I may update it as well.
In case if you add any new data to translate feel free to ping me.

@romankoval I would recommend you to change “Добавити” to “Додати” and “Основна” to “Головна” as these are more commonly used in Ukrainian language (see kak-pravilno and wiki article


Feat: add manticore instrumentation

This PR adds instrumentation to the manticore http client
https://github.com/cheald/manticore
Opening PR early to get some feedbacks in the meantime, the following work is still incomplete.

Add more unit test and coverage
Add Appraisal file if needed
Update README.md

screwed up with git history chain. going to fix it and reopen pr


Use simplified CSS structure

Because we're using CSS files which are built through a PostCSS plugin, we can use a simpler syntax when declaring classes of classes within CSS. This also keeps the code more organized in the long run, rather than having to deal with lots of indentation.
There are some caveats that make this a little more tedious and that's how classes can be extended. If we need a block of code to be under multiple parent classes, it takes a little be more finesse than just adding the parent classes to the list. I think this is a fair tradeoff for readability.

 Faster YouTube video loading when embedded


[dashing] add note about msg char type new mapping

adds a note to the change of type for "char" members in Python.
This also explicitly states the type mapping change in the rosidl section. If considered redundant, that part can be removed to keep only the Python one.

I didn't see this before but I created #149 which describes the change a bit more precisely. E.g. this is not Python specific but also effects all other languages.

sounds good, closing in favor of #149


Preparations for GNOME Shell 46 and 47

Includes a few small cleanups and preparations for GNOME Shell 46 and 47.

I have reversed my fix attempt so that at least the rest can be merged