Robot cannot find a locator saved from Katalon Studio 7

Hi,
I am stuck trying to figure out why is it that robot returns error:
"Element with locator 'xpath=//div[@id='root']/div/div[2]/div[2]/div/div[2]/div/div[2]/div[3]/div[10]/div/div/div' not found."
The test was recorded from Katalon Chrome plugin and it executes fine from there. There are several other links in that app that return similar error. Please, please help me resolve this. I am stuck and have no workaround for this. Any suggestions or ideas would be much appreciated.
Robot Framework 3.1.2 (Python 3.7.1 on darwin), robotframework-seleniumlibrary 4.1.0
thanks,   RM

This issue tracker is reserved for Robot Framework core issues and enhanced request. You are asking support for a SeleniumLibrary library, which is not handled in this GitHub project. For support, please see https://robotframework.org/#/support

Yeah, this is a wrong tracker for SeleniumLibrary related issues. This also looks more like a question than a bug report or an enhancement request.
At least I could't help with this particular issue even if this was the right support forum. Only thing I could say would be to recommend adding ids for more elements. An xpath with anything like div[2]/div/div[2]/div[3]/div[10]/div is very fragile.

Thanks @aaltat. Will post in the Selenium forum.


Bag Distance documentation missing in 0.4

I noticed that the bag distance measure is documented in 0.3 but not in 0.4, although it still seems to be part of the code base.

Thanks @ixxie
Fixed the docs in the latest release.
Updated docs: anhaidgroup.github.io/py_stringmatching/v0.4.x/


pulseaudio service launches too soon, before X is available

Issue description
The pulseaudio service, with jack support enabled, launches too soon and has some errors. Simply restarting it after X is online causes those errors to go away. Note that I have this first fix applied (https://github.com/NixOS/nixpkgs/pull/15840) - without that jack support is entirely broken.
Steps to reproduce
immediately after a clean boot,
[anders@gurney:~]
$ systemctl --user status pulseaudio | cat
● pulseaudio.service - PulseAudio Server
   Loaded: loaded (/nix/store/zcqqaw2w6p8n2pp4c7h4czx6ldia0qmj-unit-pulseaudio.service/pulseaudio.service; static; vendor preset: enabled)
   Active: active (running) since Mon 2016-05-30 22:12:24 PDT; 23s ago
 Main PID: 967 (pulseaudio)
   CGroup<EMAIL_ADDRESS>           └─967 /nix/store/vijnj53rskw5ijcrlp0cngb8f9s6y1am-pulseaudio-8.0/bin/pulseaudio --daemonize=no

May 30 22:12:23 gurney systemd[963]: Starting PulseAudio Server...
May 30 22:12:24 gurney pulseaudio[967]: E: [pulseaudio] module-jackdbus-detect.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.Spawn.ExecFailed: /nix/store/hd1z4pmjadcf0kvpbs49x5p71s22yirx-dbus-1.10.8-lib/bin/dbus-launch terminated abnormally with the following error: Invalid MIT-MAGIC-COOKIE-1 keyAutolaunch error: X11 initialization failed.
May 30 22:12:24 gurney pulseaudio[967]: E: [pulseaudio] module.c: Failed to load module "module-jackdbus-detect" (argument: "channels=2"): initialization failed.
May 30 22:12:24 gurney pulseaudio[967]: E: [pulseaudio] main.c: Module load failed.
May 30 22:12:24 gurney pulseaudio[967]: W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.Spawn.ExecFailed: /nix/store/hd1z4pmjadcf0kvpbs49x5p71s22yirx-dbus-1.10.8-lib/bin/dbus-launch terminated abnormally with the following error: Invalid MIT-MAGIC-COOKIE-1 keyAutolaunch error: X11 initialization failed.
May 30 22:12:24 gurney pulseaudio[967]: W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.Spawn.ExecFailed: /nix/store/hd1z4pmjadcf0kvpbs49x5p71s22yirx-dbus-1.10.8-lib/bin/dbus-launch terminated abnormally with the following error: Invalid MIT-MAGIC-COOKIE-1 keyAutolaunch error: X11 initialization failed.
May 30 22:12:24 gurney systemd[963]: Started PulseAudio Server.
May 30 22:12:31 gurney pulseaudio[967]: E: [pulseaudio] ltdl-bind-now.c: Failed to open module module-x11-publish.so: module-x11-publish.so: cannot open shared object file: No such file or directory
May 30 22:12:31 gurney pulseaudio[967]: E: [pulseaudio] module.c: Failed to open module "module-x11-publish".
[anders@gurney:~]
$ systemctl --user restart pulseaudio
[anders@gurney:~]
$ systemctl --user status pulseaudio | cat
● pulseaudio.service - PulseAudio Server
   Loaded: loaded (/nix/store/zcqqaw2w6p8n2pp4c7h4czx6ldia0qmj-unit-pulseaudio.service/pulseaudio.service; static; vendor preset: enabled)
   Active: active (running) since Mon 2016-05-30 22:12:58 PDT; 1s ago
 Main PID: 1401 (pulseaudio)
   CGroup<EMAIL_ADDRESS>           └─1401 /nix/store/vijnj53rskw5ijcrlp0cngb8f9s6y1am-pulseaudio-8.0/bin/pulseaudio --daemonize=no

May 30 22:12:58 gurney systemd[963]: Starting PulseAudio Server...
May 30 22:12:58 gurney systemd[963]: Started PulseAudio Server.

Technical details
[anders@gurney:~]
$ nixos-version
16.09.git.e707090 (Flounder)
[anders@gurney:~]
$ nix-env --version
nix-env (Nix) 1.11.2
[anders@gurney:~]
$ nix-instantiate --eval '' -A lib.nixpkgsVersion
"16.09.git.e707090M"

@anderspapitto, can this be closed? pulseaudio with socket activation is working fine here.

my setup has changed a bit, and this isn't currently causing me problems


Add support to HDD storage type in FSx section

This patch will replace  #2115
Description of changes:
Allow to create new FSx file systems that utilize the new HDD feature as part of the cluster creation process.
FSx for Lustre offers HDD-backed filesystems, a new feature that allows to create cost-optimized FSx for Lustre filesystems for customers with throughput-intensive workloads.
For more details, please see https://aws.amazon.com/blogs/aws/new-high-performance-hdd-storage-for-amazon-fsx-for-lustre-file-systems/

@chenwany is currently hitting issues with Travis migration, merging without travis check for now


Add BADGER Space

Got it - I had started that process in parallel.  I thought that these both needed to be completed!


Drop support for python 3.9

This PR drops support for python 3.9 in all places I am aware of (CI / pyproject.toml). Please merge when ready.

Should we be testing against 3.10 and 3.12 instead of 3.10 and 3.11?

Should we be testing against 3.10 and 3.12 instead of 3.10 and 3.11?

Sure, switched to 3.10 and 3.12 in the latest commits. Everything looks good on tests.

No one has raised any concerns about dropping support for 3.9 so I vote for merging this PR whenever you are ready.  Thanks for doing this!  I'm looking forward to using 3.10 as there are some nice improvements from what I recall.

Merged.


Rejected by many companies. Now work at blackberry

Was rejected by many companies which one of them was AutoDesk whom escorted me out of their office midway through the interview for having more knowledge of java over C++.  I kept at it and now work at BlackBerry as my job. #StickWithIt

Great story! Do you by chance have a Twitter account I can link your story to? Otherwise I can use Github!

https://twitter.com/rajatonit

Thank you! Just added. :)


[4021] Preserve selection of degree type when navigating back

Context
This PR attempts to fix an issue with the back link in the new degree flow in which the degree type selection is lost when navigating back to it from the degree details page.
Changes proposed in this pull request
Because the new degree record is not persisted until the user completes the details form we have to pass the original degree type selection (uk or non-uk) explicitly (as a URL param) and read this into the model before rendering the form.
Guidance to review

Is there a simpler way to do this?

Important business

[x] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[x] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Pages where data is not preserved if users use back links


Remove repeated digits in a given number.

Write a program to remove repeated digits in a given number.

Will plz assign me this issue...?

can you assign me this i can provide you fresh and well explained code


No data

Tried to get support through slack
No luck.
Plugin installed properly no errors.
No data is being captured on dashboards widgets, no data is being sent to google.
Used component as instructed by documentation.
Unclear how to troublesoot this.

Have you followed the instructions on configuring the API here: https://github.com/rainlab/googleanalytics-plugin#configuration?

Hi Luke,
Yes to the letter.
Not sure why is not working.

Is debug mode enabled?

Yes.
On Wed, 15 Apr 2020, 18:22 Luke Towers<EMAIL_ADDRESS>wrote:

Is debug mode enabled?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rainlab/googleanalytics-plugin/issues/95#issuecomment-614171058,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNFIEUQE7M5YZKWGSLOCTRMXUNNANCNFSM4MISOPTA
.

that's the output of the widgets

This google check on code and it seems ok

Analytics settings

settings in October CMS

Do you have other server error logs you can check?

Not on octobercms.
I can ask the system admin to see if there is any error on the windows
server.
What should we look for?
On Fri, 17 Apr 2020, 18:30 Luke Towers<EMAIL_ADDRESS>wrote:

Do you have other server error logs you can check?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rainlab/googleanalytics-plugin/issues/95#issuecomment-615371637,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNFIEFY4C6RD3UJ2IWSB3RNCG3LANCNFSM4MISOPTA
.

Look for the server software's error logs, or any PHP specific error logs.

Luke
As soon I replaced the component and used google analytics code instead it
started working.
Nothing on the server logs.
On Sun, 19 Apr 2020, 03:37 Luke Towers<EMAIL_ADDRESS>wrote:

Look for the server software's error logs, or any PHP specific error logs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rainlab/googleanalytics-plugin/issues/95#issuecomment-616011845,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNFIEUPWUP7L26UTMFCW3RNJPYNANCNFSM4MISOPTA
.

What do you mean by replaced the component?

Removed it from the pages....
You have two options
A) using the component on the layout after %pages%
B) do not use the component and use the js script code provided per google.
Method a) as it is described on the documentation do not work for me.
This led me to believe that something on the component code does not work
with the universal analytics. Its a brand new analytics account.
It also let me to consider that on the settings you could add a place to
paste the google provided code instead of using some thing generic. Just a
thought.
On Sun, 19 Apr 2020, 19:02 Luke Towers<EMAIL_ADDRESS>wrote:

What do you mean by replaced the component?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rainlab/googleanalytics-plugin/issues/95#issuecomment-616196785,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNFIELXZB62OYUBFQOP4DRNM4B5ANCNFSM4MISOPTA
.

@Somel1978 could you paste the code that Google provided along with where Google told you to put it on your page?

`

`
masked the UA for privacy

@Somel1978 did you try putting the component in the HEAD section?

Think so, but not certain to be honest as instructions were to place it
below pages.
On Mon, 20 Apr 2020, 17:30 Luke Towers<EMAIL_ADDRESS>wrote:

@Somel1978 https://github.com/Somel1978 did you try putting the
component in the HEAD section?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rainlab/googleanalytics-plugin/issues/95#issuecomment-616666339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNFIBHDTQZYML3WHXONPLRNR2CHANCNFSM4MISOPTA
.

Could you give it a try? Perhaps we need to update the instructions. In theory it should work either place, putting it in the HEAD just prioritizes it above everything else, which is why Google recommends it there, and we recommend not putting it there.

Luke,
Carried the following to ensure proper testing

Created three new layout templates

Template a uses google code on the head
Template B uses component in Body after pages
Template C uses component in Head

Results:
Templates with a head section properly display in google analytics real time view.
Template with component in Body does not show up in google analytics real time view
Template with component in Body does show up after 48h in google analytics
So most like has to do how analytics tracks coding?
Not sure what to think now.
Can it be something with new accounts?
Did end up testing google code at end of body but this was also visible in real time view, what confused me more. I suspect the only thing the component does is add the script?

@Somel1978 ah, I see. https://github.com/rainlab/googleanalytics-plugin/blob/master/components/tracker/default.htm is using a pretty old version of the tracking code. You could probably update it in a PR to use the new code that Google is suggesting and then the component would work for realtime viewing too.

Not a coder.
Not sure what you mean lol
On Wed, 22 Apr 2020, 17:52 Luke Towers<EMAIL_ADDRESS>wrote:

@Somel1978 https://github.com/Somel1978 ah, I see.
https://github.com/rainlab/googleanalytics-plugin/blob/master/components/tracker/default.htm
is using a pretty old version of the tracking code. You could probably
update it in a PR to use the new code that Google is suggesting and then
the component would work for realtime viewing too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rainlab/googleanalytics-plugin/issues/95#issuecomment-617900564,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNFIHPKH6G6PFIGOQKVMTRN4OFFANCNFSM4MISOPTA
.

That's fine :)
@mjauvin or @bennothommo could you look at updating the GA snippet we use in the component in a way that retains our current options (forceSSL & annomizeIP)?

could you look at updating the GA snippet we use in the component in a way that retains our current options (forceSSL & annomizeIP)?

@LukeTowers here you go: #100


✨ feat: highlighter supports setting default folding of code…

💻 变更类型 | Highlighter supports setting default folding of code blocks

[x] ✨ feat
[ ] 🐛 fix
[ ] ♻ refactor
[ ] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

🔀 变更说明 | Description of Change
md代码块支持设置默认折叠状态

📝 补充信息 | Additional Information
close: https://github.com/lobehub/lobe-ui/issues/235

项目发布验证ok


Support additional argument type in UsersUAA.decodeAccessToken().

this is a not-great fix, but we don't have typescript available...

The need for this still crops intermittently for me, not sure where it's coming from in the bluemix-code-extension code base, but it's happening.  Since I've seen no complaints about this I'm going to merge it.


Update imbuement costs

What I did

Updated methods calculate_intricate_imbue() and calculate_powerful_imbue() in _site/scripts/imbue.js and scripts/imbue.js files.

Closes #95

Thank you!


BUG: Update chi_gen to use scipy.special.gammaln

Reference issue

Closes #15103
What does this implement/fix?

Updated chi_gen function to use gammaln function so that it doesn't return NaN for large values of df.
Additional information

This looks good @NamamiShanker. The only thing you need now is a test that this fixes the issue, probably in \scipy\scipy\stats\tests\test_distributions.py. I would suggest computing the mean of the chi distribution for df=1000 using an external reference (e.g. Mathematica, R) and doing something like np.testing.assert_allclose(chi.mean(df=1000), reference).

I checked with Wolfram Alpha and the results now match up to 9 decimal places. I will update the tests and update the PR.

This looks great! Thanks @johnsmorgan for finding the issue and suggesting a fix and @NamamiShanker for implementing the change and appropriate unit test!


auto upgrade doesn't work when there is more than one channel

With two channel (unstable and stable because I need some stable version of some packages) the nix-rebuild --upgrade updates only first channel and wipes out the rest. Then nix-rebuild switch complains when you reference from configuration.nix the non-default channel.
I made my own systemd unit and timer to run nix-channel --update && nixos-rebuild switch which seems to work correctly.

Hrm.  This all seems to be working fine with my configuration.
FWIW, I put my channels into packageOverrides and reference them via e.g. pkgs.nixpkgs-unstable.gitkraken.
Auto upgrade does seem to be working fine for me.
Ahhh wait, do you mean channels via nix-channel? In that case, I only have nixos.

Yes, I meant via nix-channel. I have two channels there.

Is it the way how channel(s) are supposed to be used? Have couple if them configured by nix-channel —add, let them update with nix-channel —update and reference them in configuration.nix with import ?
If yes then I would expect nix-rebuild —upgrade to update all present channels...

Is it the way how channel(s) are supposed to be used? To have couple of them configured by nix-channel —add, update them with nix-channel —update and reference them in configuration.nix with import ?
If yes then I would expect nix-rebuild —upgrade to update all present channels...

I think it's up to the user.  I used to have my machines configured this way, but got tired of having to manage both channels in nix-channel and nixos-config.
And yes, according to the wiki, one of the example commands is:
Updating all channels | nix-channel --update.

Seems to work now. Closing.


Add javax.inject:javax.inject:1:jar as runtime dependency

Since the javax.inject.Provider interface is imported and used in every constructor of the *QueryFactory classes ( example at https://github.com/querydsl/querydsl/blob/master/querydsl-jpa/src/main/java/com/querydsl/jpa/impl/JPAQueryFactory.java#L17 ), it should be a runtime dependency and not only provided.
Fixes #2026

Where do we declare it as provided?
Of course, marking it as dependency might be clearer, but I suppose that we could add it to the root pom.xml then and inherit the declared version.

The "provided" dependency comes from the querydsl-apt artifact which depends on the querydsl-codegen artifact which (at last) depends on javax.inject
I don't know if it must be included into the root pom.
Some projects such as the lucene artifacts doesn't require this dependency.
This is a political choice at this point and I'm not a such serious contributor to have my word on it.

I meant to have them in a dependencyManagement section, so we don't need to update versions left and right.
But that's probably better to do it in one go.
Looks good though. 👍

Indeed this is a better way to do it.
I missed the dependency management part of the root pom since it's really small and I thought there was none.
I didn't went through the whole project so I might have missed other occurrences of javax.inject declarations to removed their version.


Update app logo

The WinUI logo has recently been updated:

Lets also update the Xaml Controls Gallery icon!

Exactly how the logo should be updated is TBD - we're open to suggestions!

We could replace the old XAML logo in the middle with the new WinUI logo:

However, the new WinUI logo is quite detailed, so not that sharp and crisp in low resolutions.
Using the low resolution version provided by @mdtauk, we could do this:

I am happy to leave it to the community to decide this new logo :D
But rather than putting one logo onto the other, why not rethink it...

Especially when you move down to the 16px icon sizes, it will be harder to integrate the WinUI logo into any other shapes.

Lets continue the conversation on #374


New version: Unity.Unity.6000 version 6000.0.9f1

Created by 🥟 Dumplings in workflow run #6342.

Log
Updated: 6000.0.8f1 → 6000.0.9f1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run

Automatic Validation ended with:

Installation failed with exit code -1978335226
2024-07-07 04:13:57.471 [CLI ] ShellExecute installer failed: 2

Automated error analysis suggests -1978335226 may mean Install successful but system restart may be required.
(Automated response - build 886.)


Sidebar Navigation- Paddng issue

Hi Team,
I have noticed that there is a padding issue in the sidebar navigation. Please look into the below snap and do the needful.
https://www.aldevron.com/our-services/cas9/ribonucleoproteins
https://main--aldevron--hlxsites.hlx.page/custom-manufacturing/mrna-production/design-and-development

Hi @Kummu007  I fixed the issue please look into it

This is working as expected.


Fix awarding points with star emoji and clean up the codebase

And

Removes giphy stuff
Removes node-gitter package
Renames bot-engine.js to botEngine.js
Removes requestUserFromGitter and getNamesFromTextNoStar functions

👍 Looks great


Restore original Mija button device triggers

Partially reverts (#783)
Addresses comments in https://github.com/home-assistant/core/issues/52579

Codecov Report

Merging #947 (c008148) into dev (204fca8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #947   +/-   ##
=======================================
  Coverage   82.60%   82.60%
=======================================
  Files         191      191
  Lines        4812     4812
=======================================
  Hits         3975     3975
  Misses        837      837

Impacted Files
Coverage Δ

zhaquirks/xiaomi/mija/sensor_switch.py
58.69% <ø> (ø)

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 204fca8...c008148. Read the comment docs.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.606%

Totals

Change from base Build 999741790:
0.0%

Covered Lines:
3975

Relevant Lines:
4812

💛  - Coveralls


Always on Top outline remains in Outlook "new email" after window closed

Microsoft PowerToys version
0.60.1
Running as admin

[X] Yes

Area(s) with issue?
Always on Top
Steps to reproduce

Create a new email in Outlook (in a new window)
Enable Always on Top
Send email or close new email window
The Always on Top outline remains

Note: if you then draft another new email it has Always on Top enabled, and you can then disable it on that new window to get rid of the permanent outline.

✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
Outlook Version 2206 build 15330.20246

@SeraphimaZykova i think we have an existing bug on this but can't seem to find it.

@SeraphimaZykova i think we have an existing bug on this but can't seem to find it.

I recall fixing similar issue with explorer file transfer window, it must be closed already.


Two issues regarding player

I found 2 issues:
First:

If the Spotify Client has no song selected(or playlist) it does not connect to librespot-java client

Second (See #61):

Play a song from the top list from an artist on librespot-java client
Switch to the songs Album
It does not switch

First:
How do you force Spotify to have no selected song? I think it does that only when it updates. Can you reproduce this systematically?
Second:
I actually knew about this issue, but forgot to fix it.

I am not sure, sometimes my desktop Linux Spotify client is empty, I think it happens when I shutdown/reboot my computer without closing the Spotify client beforehand.

@devgianlu
I tried the new master branch regarding the album playing problem. It still does not work for me. It started to play a song in the middle of the album and when I pressed the next song it played a random song from that band.

Fixed one issue, #61 is open for the other one.


[WIP] Improving Tag location using interval trees for index files

Adding support for Index look up by using interval trees for tag location
Added unit tests for the same (for loop up tree)

Coverage:

ClassName
Class %
Method %
Line %

IndexFileRangeNode
100% (1/ 1)
94.7% (18/ 19)
91.1% (41/ 45)

IndexLookUpTree
100% (1/ 1)
100% (6/ 6)
97.7% (43/ 44)

All lines added as part of HoodieBloomIndex is fully covered
Gaps:
IndexFileRangeNode: toString() hasn't been covered.
IndexLookUpTree: null root hasn't been tested.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Sivabalan Narayanan seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@leletan @hanleiwang would you be able to give this a shot and see if index lookup time comes down?

@leletan @hanleiwang would you be able to give this a shot and see if index lookup time comes down?

Thanks! Will do. We were using global_bloom index for our use case, wondering if this PR will cover that in the next step.

@nsivabalan can you please rebase and push? if ready, then @hanleiwang  can probably check it out and see if it helps reduce runtime furhter?

@vinothchandar : one of my unit test is failing. Let me fix it and push it out along w/ rebase

@hanleiwang you can use this branch now to test it out.

Closing in favor of #653


I want to go back to the channel selection after the update is finished

I want to go back to the channel selection after the update is finished instead of the first step

Data wasn't cleared


[Bug ] : Contributor page should be fixed.

Describe the bug
Contributor page  doesnot fetch entire data using your api call. If no of contributors are more than 30 you will get only 1st page data. The Github API uses pagination and limited to per_page 100 ids and default is 30.
Expected behavior
If the contributors increase more than 30 then this change is mandatory.
Additional context
@notsoocool I have developed a solution for this.

Okay @Akshithsaai i will review it once I get some time.

@notsoocool Ok, Please suggest any changes ,if any .
I have linked the PR to this issue.


Only allow Exllama v2 for inference. Exllama v1 is reserved for packing only

Only allow Exllama v2 for inference. Exllama v1 is reserved for packing only. There is no need for allow v1 for quant inference as v2 is better in every regard.

@csy-modelcloud  Run and make sure all tests are passing. This one is confusing since this var is passed down everywhere. Packing currently uses v1 code so we can't remove the exllama v1 kernel completely for now but we can make v2 the default and not even offer the option of slower v1 in from_quantized() execution.


Add support for styler pandas object

See here :Styler object docs
This PR uses css-inline as a way to convert CSS styling into inline CSS styling for wider support on mail clients (

Check out this example of how far the stylizing of tables can go with this simple addition. Also, ignore the data in the table as it is just an ongoing project I am extensively utilizing redmail for.

This is achieved with the following code:
styles = [
        dict(selector="tr:hover",
                    props=[("background", "#f4f4f4")]),
        dict(selector="th", props=[("color", "#fff"),
                                   ("border", "1px solid #eee"),
                                   ("padding", "12px 35px"),
                                   ("border-collapse", "collapse"),
                                   ("background", "#00cccc"),
                                   ("text-transform", "uppercase"),
                                   ("font-size", "18px")
                                   ]),
        dict(selector="td", props=[("color", "#999"),
                                   ("border", "1px solid #eee"),
                                   ("padding", "12px 35px"),
                                   ("border-collapse", "collapse"),
                                   ("font-size", "15px")
                                   ]),
        dict(selector="table", props=[
                                        ("font-family" , 'Arial'),
                                        ("margin" , "25px auto"),
                                        ("border-collapse" , "collapse"),
                                        ("border" , "1px solid #eee"),
                                        ("border-bottom" , "2px solid #00cccc"),
                                          ]),
        dict(selector="caption", props=[("caption-side", "top")])
    ]

    style = df.style.set_table_styles(styles).hide(axis="index").set_caption("This is an example of a formatted table using pandas Stylers with redmail!")

Then you just pass it the same as a normal pandas dataframe:
body_tables = {     table = style },
It's that easy and brings a whole world of customization to the tables within emails seamlessly with the preexisting redmail table handler. Let me know if you have any questions @Miksus!

@Miksus bumping

wow nice PR!

wow nice PR!

Thanks! I am unable to request your review to have it merged. Either way, feel free to implement this another way if you see fit, takes a couple lines and makes customization really extensive.

Sorry for taking an eternity to review this (and bunch of other issues and PRs). Have had a bit longer Christmas break from open-source just because I have been busy with hobbies and random events. I wanted to have a full free day to focus on my open-source projects to get back on track with all the amazing PRs and issues I have ignored but seems I have to work on the time I have.
This indeed seems promising.  The only issue I see is the Pandas dependency. Some people want Pandas to be an optional dependency (as it is quite heavy).
One candidate would be similar setup as I did with Red Bird (it has this small utilility). Perhaps a similar setup would make the optional imports smooth here as well? Another option would be a simply try-except.
We also need the css_inline here: https://github.com/Miksus/red-mail/blob/master/pyproject.toml#L36.
I have a random event today (again...) but I'll take this as a priority now.

Perhaps the css_inline could be an optional dependency as well. With a quick glance, the project is somewhat in use but the code coverage is 50% so perhaps it's best not to force users to have it.
I hope you don't mind if I tinker with your PR.

Having the Pandas Styler as an optional dependency is a bit tricky but I'm sure we will come up with an idea.

 This section of the code couldn't even be executed if Pandas was missing. I think we can put the import directly to the function. It's ugly but in this sort of situation, there is no better alternative.

Perhaps the css_inline could be an optional dependency as well.

Bit unfortunate that this package my have to resort to using the new css-inline package, i'm sure it will be really good once it starts getting used more widely. However, the older premailer package was battle tested because it had been around for a long time and it was a lot more feature rich and more powerful (though it was a lot slower as a result of being written in python instead of rust). Cant really use it now though when it comes to developing new packages because the latest version of python it officially supports in 3.8 and it hasn't been updated since 2021

Ye, it seems it's still active (the last merge was 3 weeks ago). Anyways as this is a feature that does not change any previous behaviour, I don't see much risk in terms of the dependency.
However, the existing Pandas table "styling" is pretty ugly so it would be nice to rewrite that with such a library as well.

Codecov Report
Base: 99.68% // Head: 99.05% // Decreases project coverage by -0.63% :warning:

Coverage data is based on head (80805d2) compared to base (a813ac1).
Patch coverage: 69.23% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #66      +/-   ##
==========================================
- Coverage   99.68%   99.05%   -0.63%
==========================================
  Files          13       13
  Lines         627      636       +9
==========================================
+ Hits          625      630       +5
- Misses          2        6       +4

Impacted Files
Coverage Δ

redmail/email/body.py
96.49% <50.00%> (-3.51%)
:arrow_down:

redmail/email/utils.py
100.00% <100.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Perhaps the css_inline could be an optional dependency as well.

Bit unfortunate that this package my have to resort to using the new css-inline package, i'm sure it will be really good once it starts getting used more widely. However, the older premailer package was battle tested because it had been around for a long time and it was a lot more feature rich and more powerful (though it was a lot slower as a result of being written in python instead of rust). Cant really use it now though when it comes to developing new packages because the latest version of python it officially supports in 3.8 and it hasn't been updated since 2021

Only reason I went with css-inline and not premailer is because the css-inline package converts nth-child elements to be renderable in email clients that do not support it, which is a majority of clients (gmail, ios mail app, etc). I really like the alternating gray color from the built in current redmail table and wanted that to still be an option. Obviously if it is only updated till 3.8 then I agree we should switch it to premailer.

I hope you don't mind if I tinker with your PR.

Feel free to do whatever you want to the PR. Since it's only a couple lines it doesn't affect much and I see I missed some definitions for dependencies, sorry about that!

Feel free to do whatever you want to the PR. Since it's only a couple lines it doesn't affect much and I see I missed some definitions for dependencies, sorry about that!

Nah, no problem! I find it fun playing with this and I really appreciate you decided to make the PR in the first place! I'll tinker with this a bit more, write some documentation and fix that one test, and we are good to go.
Are you working on this as well at the moment? Just wondering I don't mess with your changes.

Are you working on this as well at the moment? Just wondering I don't mess with your changes.

Nope! You are all good, I will let you work out the kinks. Glad I was able to contribute a little bit!

Obviously if it is only updated till 3.8 then I agree we should switch it to premailer.

Actually premailer is the one that hasn't been updated since Python 3.8. css inline seems good except for it's low test coverage statistics.

Yep, I think this is good to go! I'll sleep the night though and double-check in the morning. The master is auto-deployed to test PyPI so if you need this quickly, it should be installable from there. I possibly will do a formal release tomorrow though.
The css_inline seems quite promising. I was quite surprised at how well it seems to work.
Thanks again, @ejbills, for the effort and patience and sorry for the delay. Thank you, @Waghabond, also for being active and for helping to push this through!


Leverage twitter hooks

Such that new posts are automatically tweeted to the dev account.

This should ideally be added to the Makefile and automated using travis. Twitter creds/API key can be encoded in the .travis.yml file, just like the github api key.

https://dev.twitter.com/cards/overview


 This will enhance your project.
Could you assign me this work under hacktoberfest tag.

Done

i have added search bar now you can merge the PR - search bar added #83 and close this issue.


Add support for parametrizing/quoting identifiers(col/table names)

In order to facilitate parametrizing table and column names, this PR adds an Identifier type. Example:
sql, err := bqb.New(
    "INSERT INTO ? t (?) VALUES (?)",
    bqb.Identifiers{"schema", "table"},
    bqb.Identifiers{"t", "col with spaces and \" even"},
    1,
).ToSql()

Produces
INSERT INTO "schema"."table" t ("t"."col with spaces and "" even") VALUES (?)

PARAMS: [1]

Quoting logic pretty much just cribbed from here: https://github.com/lib/pq/blob/2a217b94f5ccd3de31aec4152a541b9ff64bed05/conn.go#LL1661C9-L1661C57

Switched to draft pending figuring out how to deal with the fact that MySQL/MariaDB uses a backtick rather than double quotes unless ANSI_QUOTES is set.

Closed in favor of #17


Question: Should EXP calculations really be based on IAT?

Here's my scenario... when a user posts the JWT to my application, I'd like the application to renew and resign the JWT with a new expiration time. This is to have much the same behavior as a traditional session, which keeps going indefinitely as long as you don't walk away for too long and let it expire.
On resigning the payload with a new expiration, it looks like it's using the token's iat to calculated the exp timestamp. E.g. exp = iat +  timeSpan. I don't see anything about those two fields being tied together in RFC 7519. They look like they should be calculated and treated as independent of one another. It's totally possible I missed something, so forgive me if I'm mistaken... But shouldn't exp be calculated based on the current timestamp instead? E.g. exp = Math.floor(new Date()/1000) + timeSpan.
If iat and exp really are intrinsically linked in the JWT signing algorithm, can the documentation be updated to make that more explicit?
Example code:
let payload = jwt.verify(originalToken, _jwtSecretKey)

//always returns the  exact same token given the same original payload (assuming exp & iat set)
getSignatureWithIAT = () => {
  delete payload.exp

  return jwt.sign(this.payload, _jwtSecretKey, {
    expiresIn: '2h'
  })
}

//works as I'd expect with exp set to Math.Floor((new Date())/1000) + 2 * 60 * 60
getSignatureWithoutIAT = () => {
  delete this.payload.exp
  delete this.payload.iat

  return jwt.sign(this.payload, _jwtSecretKey, {
    expiresIn: '2h'
  })
}

jwt.verify(getSignatureWithIAT(), originalToken) === originalToken //True
jwt.verify(getSignatureWithoutIAT(), originalToken) === originalToken //false

@jvanalst this behaves exactly as documented

Generated jwts will include an iat (issued at) claim by default unless noTimestamp is specified. If iat is inserted in the payload, it will be used instead of the real timestamp for calculating other things like exp given a timespan in options.expiresIn.

In other words, if an iat is already part of the payload the current timestamp used to offset claims like nbf or exp will be the iat value.

Oh it's hiding down there at the bottom instead of with the expiresIn option.
Thanks.


ci: Use gatsby-cache action to cache gatsby build outputs

Signed-off-by: jongwooo<EMAIL_ADDRESS>Description
I created an action to cache Gatsby's build outputs. This action is easy to set up.
AS-IS
- name: Gatsby Cache Folder
  uses: actions/cache@v3
  id: gatsby-cache-folder
  with:
    path: .cache
    key: ${{ runner.os }}-cache-gatsby
    restore-keys: |
      ${{ runner.os }}-cache-gatsby
- name: Gatsby Public Folder
  uses: actions/cache@v3
  id: gatsby-public-folder
  with:
    path: public/
    key: ${{ runner.os }}-public-gatsby
    restore-keys: |
      ${{ runner.os }}-public-gatsby
- name: Build site
  run: yarn build:clean

TO-BE
- uses<EMAIL_ADDRESS>  with:
    key: ${{ runner.os }}-gatsby-build
    restore-keys: |
      ${{ runner.os }}-gatsby-build
- name: Build site
  run: yarn build

References

https://github.com/jongwooo/gatsby-cache

I have read the DCO document and I hereby sign the DCO.

@tay1orjones, Thank you for your comment!
This action supports caching in the same way as actions/cache, with less setup. And it internally sets up Gatsby's conditional page builds, enabling fast builds. This action also being used at nodejs.dev.

My understanding is that we already have conditional page builds - Gatsby v3 turned them on by default as long as both .cache and /public are cached.
Just to be totally candid with you, I don't see a strong value proposition for adding this action. Also I would prefer to not introduce another dependency in our pipeline.


External Elasticsearch SSL/auth issue

CWS supports either connecting to Elasticsearch with no username and password via HTTP, or to Elasticsearch with username and password through HTTPS. The case where Elasticsearch is deployed with an SSL certificate (HTTPS), but without authentication, is not supported, and it seems to be a legitimate one (for example, Elasticsearch deployed on AWS within a restricted VPC).
Intended / desired behavior:

default to SSL, add config option for "elasticsearch_insecure" or something sensible

if auth is provided (user/pass), pass it through, otherwise leave it out

so the "elasticsearchUseAuth" flag probably changes meaning in the code
ideas / places to look:

rest service (makes lots of ES calls)

configuration (installer, etc) because that's where the user can set config options

will need to look into Spring autowiring, or at least just know where / when to use it (it's already how "elasticsearchUseAuth" gets passed around)

will probably need to run a local ES & mess around with different auth & cert settings

Fixed in v2.2


eyaml question

Affected Puppet, Ruby, OS and module versions/distributions

Puppet:
Ruby:
Distribution:
Module version:

How to reproduce (e.g Puppet code you use)
What are you seeing
What behaviour did you expect instead
Output log
Any additional information you'd like to impart
I am trying to use hiera with eyaml to secure my ssl certificate password. The sslcertificate.thumbprint is working correctly, but when I change the sslcertificate.password to a hiera lookup, it fails. I know my syntax is correct because the thumbprint lookup works, and I even tried an unencrypted password in my hiera file, and it still fails, whenever I use a lookup for the password. I absolutely cannot have a plain text password in my manifest, so I need to solve this issue.

This question is not related to the module as it deals with how to use eyaml. Suggest looking through https://github.com/voxpupuli/hiera-eyaml


[FIX] fix comments in radix_tree.py

Seems function descriptions for PagedRadixTree.add and PagedRadixTree.extend are misleading.
Fixed according to implementations in radix_tree.cc

cc @cyx-6


Support for command line args

--config filepath.yml
YAML config file. -> read with PyYAML http://www.lifewithpython.com/2013/06/pyyaml.html


HMR support for Firefox / Vite

Vite's HMR fails on Firefox and requires a restart instead. The switch to wss is required for HMR to work as intended.
Temp solution: Use Chrome.
Note: This is not being worked on actively until I'm clear on the docs. I haven't had the time to go through this specific issue and copy/pasting solutions from other repos has not worked out yet.

Figured it out, fixed in rewrite.

Solved, will be up with @shopify/shopify-api v6 update


Implement primitiveQuo in C++

In the spirit of (64 bit) portability, I chose a not-to-frequently-used primitve
to convert to C++: "primitiveQuo".
(Handy BTW, that the primitive table is now in C+. That saves handling of name mangling)
Below is the C++ source code with optimized (Release) assembly.
The x86 assembly looks OK to me, but I only have expericence in reading it, not writing it.
Are there any large optimizations missed?
Now that I'm writing this, I'll think I'll do a small performance test...
Comments welcome..

Oop* __fastcall Interpreter::primitiveQuo( Oop* const sp, unsigned argCount )
{
1000F3E1  push        ebx
Oop* arg = sp;
ST::Integer* pDivider = reinterpret_cast< ST::Integer* >( *arg-- );

1000F3E2  mov         ebx,dword ptr [ecx]
if( ! ObjectMemoryIsIntegerObject( pDivider ) )
1000F3E4  test        bl,1
1000F3E7  je          Interpreter::primitiveQuo+23h (1000F404h)
return NULL;
int divider = ObjectMemoryIntegerValueOf( pDivider );
ST::Integer* pReceiver = reinterpret_cast< ST::Integer* >( *arg );

1000F3E9  mov         eax,dword ptr [ecx-4]
if( ! ObjectMemoryIsIntegerObject( pReceiver ) )
1000F3EC  test        al,1
1000F3EE  je          Interpreter::primitiveQuo+23h (1000F404h)
int receiver = ObjectMemoryIntegerValueOf( pReceiver );
1000F3F0  sar         eax,1
int quo = receiver / divider;

1000F3F2  cdq
1000F3F3  sar         ebx,1
1000F3F5  idiv        eax,ebx
1000F3F7  pop         ebx
*arg = ObjectMemoryIntegerObjectOf( quo );

1000F3F8  add         eax,eax
1000F3FA  or          eax,1
1000F3FD  mov         dword ptr [ecx-4],eax
return arg;

1000F400  lea         eax,[ecx-4]
}
1000F403  ret
return NULL;
1000F404  xor         eax,eax
1000F406  pop         ebx
}
1000F407  ret

Ha, that was interesting.
This code:
Time millisecondsToRun: [ 1 to: 100000000 do: [ :i |  1234567 \ i ]  ]
In the assembly version runs for 720 to 740 msec.
The C++ version runs in 700 msec, so actually a little quicker.
Don't know which part of the execution time is the loop.
The difference seems negligable anyways.

PS In the current assembly, there is check of an overflow with max SmallInt quo -1,
but I have not been able to reproduce this case.
0x3FFFFFFF quo -1 gives the correct output of 0.
0x3FFFFFFF + 1 becomes a LargeInteger, so will not overflow.

I'm a bit confused by your performance test since in the code you give you are measuring \\ i.e. modulus (not the same as the C % operator either). If you are measuring and testing with \\ you certainly won't be exercising primitiveQuo.
The overflow case is SmallInteger minimum quo: -1. Its not so easy to detect that efficiently in C as it in assembler.
I don't think there is much to gain by reimplementing the SmallInteger arithmetic primiitives anyway. Most of them have bytecode instructions which shortcut the primitive (i.e. the primitive is hardly ever used, except for error cases or when perform'd). Since realistically those bytecodes have to remain in assembler in the current VM design, and the code is basically the same, reimplementing those in C++ would not contribute to a reduction in porting effort, probably the reverse. Although there is no bytecode for SmallInteger>>quo: (because, as you say, it isn't as commonly used as SmallInteger>>//), given that it is part of the same family of arithmetic primitives I think there would have to be a compelling reason not to leave it in the same form as the others.
There might be a minor perf win in switching the sign extend mov and shift pair to cdq in the assembler implementation now though. On the earlier Intel chips CDQ may have been slow, or I might have written in that way to open up an instruction pairing opportunity on the earlier Pentiums when that mattered. I don't recall, but the u and v pipeline comments in the code suggest probably the latter was the consideration. Either way it is probably not optimal on modern CPUs. It's quite difficult to measure the relative performance at that level in a repeatable and reliable way though.

Thanks as always for the thorough and informative answer.
Indeed, I confused quo and mod when quickly writing the performance test.
(The code for the primitive was written and tested a while back).
I also reproduced the overflow case (Smallinteger minimum quo: -1),
and added a check for it, just to see how that would be done.
The C++ performance test code is now 10 - 15 percent slower than the asm code.
This is including the overhead of the loop.
So the percentage difference for the quo function itself will be larger.
I concur that it's best to leave the asm code for the low-level arithmatic,
since there's an asm expert around... :)
As said in the start, this was more of an excercise for me.
And I did indeed learn a few things.
I'll close this now as an "issue" / feature request.
On to bigger things...


"Read tree" stage tests are flaky

the tests are flaky - they fail and if i run it again with no changes, they pass
[stage-4] Running ./your_git.sh ls-tree --name-only 8eeb4ae8872e3393d1530df8f536f56255b69000
[your_program] doo
[your_program] dumpty
[your_program] Traceback (most recent call last):
[your_program]   File "<frozen runpy>", line 198, in _run_module_as_main
[your_program]   File "<frozen runpy>", line 88, in _run_code
[your_program]   File "/app/app/main.py", line 105, in <module>
[your_program]     main()
[your_program]   File "/app/app/main.py", line 83, in main
[your_program]     mode, path = entry.split(b" ")
[your_program]     ^^^^^^^^^^
[your_program] ValueError: too many values to unpack (expected 2)
[stage-4] Expected "doo\ndumpty\nhumpty\n" as stdout, got: "doo\ndumpty\n"
[stage-4] Test failed
[stage-4] Running tests for Stage #4: Read a tree object
[stage-4] Running ./your_git.sh init
[your_program] Initialized git directory
[stage-4] Writing a tree to git storage..
[stage-4] Running ./your_git.sh ls-tree --name-only 0e0e083fd1cd81bb3df04d53e726e2a6a763e6d0
[your_program] doo
[your_program] dumpty
[your_program] yikes
[your_program] Traceback (most recent call last):
[your_program]   File "<frozen runpy>", line 198, in _run_module_as_main
[your_program]   File "<frozen runpy>", line 88, in _run_code
[your_program]   File "/app/app/main.py", line 105, in <module>
[your_program]     main()
[your_program]   File "/app/app/main.py", line 83, in main
[your_program]     mode, path = entry.split(b" ")
[your_program]     ^^^^^^^^^^
[your_program] ValueError: not enough values to unpack (expected 2, got 1)
[stage-4] Test passed.

Looks like we aren't testing the exit code?

Thanks to @siraj-samsudeen for highlighting this!

Let's fix this + add a test similar to https://github.com/codecrafters-io/git-tester/tree/605053c117d7cc599ebadc218d6c89194a40797d/internal/test_helpers/stages/read_tree that prints the correct content to stdout but exits with a non-zero exit code.


adbc/flightsql: Parametrized queries question

Hi, I've been trying to use parametrized queries against our AFS server and can't seem to figure out how to do it.
Here's what I tried in python:
        with conn.cursor() as cur:
            cur.execute("select ?", [1])

and here's the error:
Traceback (most recent call last):
  File "/Users/aiguofer/work/dbtlabs/sl-example-clients/python/src/adbc_example.py", line 86, in <module>
    main(sys.argv)
  File "/Users/aiguofer/work/dbtlabs/sl-example-clients/python/src/adbc_example.py", line 51, in main
    cur.execute("select ?", [1])
  File "/Users/aiguofer/Library/Application Support/hatch/env/virtual/afs-example/vPTxZbV9/afs-example/lib/python3.11/site-packages/adbc_driver_manager/dbapi.py", line 604, in execute
    handle, self._rowcount = self._stmt.execute_query()
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "adbc_driver_manager/_lib.pyx", line 991, in adbc_driver_manager._lib.AdbcStatement.execute_query
  File "adbc_driver_manager/_lib.pyx", line 385, in adbc_driver_manager._lib.check_error
adbc_driver_manager._lib.InternalError: ADBC_STATUS_INTERNAL (9): [FlightSQL] rpc error: code = Internal desc = There was an error servicing your request.

When I look through the logs, I see that the driver tried to make a acceptPutPreparedStatementQuery call, which we haven't implemented on our service yet. What exactly is the purpose of this call?
Are we supposed to implement the string replacement for the parameters? I haven't been able to find much documentation about  this.

Look at the last sequence diagram here: https://arrow.apache.org/docs/format/FlightSql.html#sequence-diagrams
For parameters, the client uploads the parameter values in one RPC, then executes another RPC to execute the query and get the response.
Flight SQL/ADBC don't parse queries at all. So yes, you'd need to parse the query and substitute the parameters, somehow.

Ahh thanks! that makes sense. So this isn't an issue on the ADBC driver side but on our FlightSql server. Closing for now


Creating an ingress with rules having two paths and two services does not get created correctly

**Rancher Version:**v1.1.0-dev2-rc3
OS and where are the hosts located? (cloud, bare metal, etc): Ubuntu, Cloud
Environment Type: (Cattle/Kubernetes/Swarm/Mesos): Kubernetes
Steps to Reproduce:

Create a two services
Create an ingress with two paths and two services as below:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: customingress2
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - path: /service3.html
        backend:
          serviceName: k8test
          servicePort: 81
      - path: /name.html
        backend:
          serviceName: k8test1
          servicePort: 80

Results:
The rules specified with path:/name.html and service: k8test1 is not reflected in the haproxy.cfg

@soumyalj the reason why it wasn't configured: the port 80 defined on the ingress for k8test1, doesn't match the actual service port (81). If there is no match, the rule will be ignored. Please re-test with the matching ports, I've tested it locally, it works.

Verified in v1.1.0-dev2-rc4. Able to create ingress with two services and two paths.


TACHYON-198 Move WorkerConf to use TachyonConf.

Another PR to continue moving WorkerConf to TachyonConf usages.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/2555/
Test PASSed.


Chrome extension in Google store

I'm not sure if you're aware but your plugin is in Chrome store:
https://chrome.google.com/webstore/detail/youtube-playback-speed-co/hdannnflhlmdablckfkjpleikpphncik
The code is minified for no reason and author added donation feature.

I was searching for the source code because I wanted to change something.

It is two different projects:) my only for firefox

It looks like modification of you project, even screenshots, icon and name are the same, it looks like there are minor differences between FF and Chrome, I was able to install your project in chrome. It's looks like he use your project as base without attribution.


Request to Clarify PIO usage

I am using the Maker PI RP2040 board by Cytron.  This Servo Library works vey well on this board using GP12 thru GP15 and a PIO.  The Adafruit NeoPixel uses PIO0 and SM0 but this library apparently knows this and uses PIO0 with SM1 and SM2.  Can you clarify this?  I ask because I am also using the NanoConnectHcSr04 library which needs single SM to function.  The NanoConnectHcSr045 has documentation showing how to deciare a specific PIO and SM.  However, there appears to be a bug in NanoConnectHcSr04 whereby only PIO0 will work even though it shows a parameter to select PIO1.
I was able to get all these libraries to function correctly together by allowing the NeoPixel to 1st select SM0, then allowing this library to select the next 2 SM's and then defining the NanoConnectHcSr04 to use PIO0 with SM3.  So, I'd just like to know exactly which PIO and SM's this library needs.  I suspect we may see future requests for PIO usage as their popularity expands.  Thank you very much.  Austin

Hi @AKLitman
Thanks for your over-trust in and your usage of the library ;-))
The library is dumb (it's better this way), and gets some good intelligence thanks to using the functions provided by the RP2040 pico-SDK via arduino-pico core.
I haven't really spent much time to fully investigate the smart usage / assignment of PIOx and SMy. You can get some more info from hardware_pio
So, you can trust and be safe that:

This library is using the PIOx and SMy assigned by the core / pico-sdk. It's not hard-coded to use any fixed PIOx / SMy
The remaining hardware, such as NanoConnectHcSr04 can be assigned different PIOz / SMw, provided that you or the NeoPixel+NanoConnectHcSr04-related library uses the PIO/SM-related function correctly.

As this library is using the correct functions, it's safer for you to initiate the Servo at the end, after initialting NeoPixel+NanoConnectHcSr04.
If you still have more issue, it's better to post issues on pico-sdk, arduino-pico core or the other NeoPixel+NanoConnectHcSr04 libraries.
Good Luck,

/** \file hardware/pio.h

\defgroup hardware_pio hardware_pio

Programmable I/O (PIO) API

A programmable input/output block (PIO) is a versatile hardware interface which
can support a number of different IO standards. There are two PIO blocks in the RP2040.

Each PIO is programmable in the same sense as a processor: the four state machines independently
execute short, sequential programs, to manipulate GPIOs and transfer data. Unlike a general
purpose processor, PIO state machines are highly specialised for IO, with a focus on determinism,
precise timing, and close integration with fixed-function hardware. Each state machine is equipped
with:

Two 32-bit shift registers – either direction, any shift count

Two 32-bit scratch registers

4×32 bit bus FIFO in each direction (TX/RX), reconfigurable as 8×32 in a single direction

Fractional clock divider (16 integer, 8 fractional bits)

Flexible GPIO mapping

DMA interface, sustained throughput up to 1 word per clock from system DMA

IRQ flag set/clear/status

Full details of the PIO can be found in the RP2040 datasheet.
*/

The correct function to use to get free PIO/SM is
servoPgm.prepare(&pio, &smIdx, &pgmOffset)
as in
if (!_servoPgm.prepare(&servo[servoIndex].pio, &servo[servoIndex].smIdx, &servo[servoIndex].pgmOffset))
{
  // ERROR, no free slots
  ISR_SERVO_LOGERROR("Error no free slot");
  return -1;
}

You can check if those libraries are using the same smart function.

Thank you very much.  I have much to learn about these functions.  Thank you for pointing me in the correct direction and for writing your library in the Approved manner for automatic PIO & SM assignment.

Dear khoih-prog, the Author of the Sonar Ping library (NanoConnectHcSr04) has replied and pointed to a couple lines in his code where he hardcoded the PIO instead of using the values the User is asked to supply.  I altered the library on my own system and the Sonar Ping now allows me yo specify any of the PIO's and corresponding SM's.  I remain hopeful he will publish a new version with these changes and that eventually he will re-write his library to follow the SDK guidelines and make his library truly universal in function.  You, Sir, are following the "best practices" of coding and I hold you in high esteem.  Austin

Can you post the link to that library. Thanks.

It's also better to use auto-assigned values from the pico-sdk / core. Not good to assign them yourself.  More issues will come later if you're manually do so.

https://github.com/MrYsLab/NanoConnectHcSr04 is the library for the Sonar Ping.  While it was intended for the HC-SR04 module, I am using it with the US-100 module and it works perfectly.  I fully agree that having hardcoded PIO's is not optimal, I am not skilled enough to take on this task myself.  Perhaps as my knowledge and confidence grows, I might be able to complete such a task in the future but I am not competent to try it now.

Just try and I'll help you to spot any possible mistake. We together can learn lot of things via the exercise.

Dear khoih-prog, The Author of NanoConnectHcSr04 has released a new version which corrects the hard coding error the prior version had.  With several variations of PIO & SM, I tested both his Example and my code incorporating his library and both function correctly.  I mentioned where he might find the auto-assign of PIO & SM functions which he apparently looked at but he doesn't feel it is complete.  At the risk of violating some authorship protocols, here is a part of his reply to me.
"For the auto-select feature, it appears the SDK can only find an available SM for a given pio (pio_claim_unused_sm). Unless I missed something, it does not do an autoselect for both sm and pio. If the claim fails for both pio's, I am unsure what to do about it. If this repo is used in conjunction with telemetrix-nano-2040-wifi, I could send an error report back that would result in an exception being thrown on the Python side. However, if the repo is being used in a standalone fashion, I am not sure how to handle the failure. Not every user has a serial port connected to the board. I am open to any suggestions you might have."


line added by mesv

@sudhakar-mnsr Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@sudhakar-mnsr please use your own fork to test Github's features.


Bios and gravatar

#54 and #53 merged after drama w git.
Closes #1

Add bios
Add gravatar in header

@adamwathan all input fixed or moved here: https://github.com/tightenco/symposium/issues/57


Sensor orientationmismatch

If I use mpu9250 sensor, do I need to adjust the magnetic sensor axis, below is the orientation of the magnetic sensor relative to the 6-axis sensor:
https://imgur.com/aEbyCrC
If I am correct then when updating madgwick I would do the following:
madgwick.update(gyr=(gx, gy, gz), acc=(ax, ay, az), mag=(my, mx, mz), dt=0.01)
One more thing i see your magnetometer input unit is nT, sensors usually output uT so i will have to multiply it by 1000, right

Your sensor axis need to follow the "right hand rule" and the axis for accelerometer, gyroscope and magnetometer need to be the same. So direction x in accelerometer needs to match with x axis in gyroscope or magnetometer. Adjustment would mean that you might need to exchange the axis by placing Y in to X etc. Don't no for your sensor.  Otherwise you need to change the sign.
You can check my gearVRC project where I reorganize the sensor axis.
About the magnetometer values, you can check what your sensor delivers and the magnitude should be in the range of what (https://pypi.org/project/AHRS/) predicts at your location, but the units don't matter as long as the readings are calibrated so that magnitude when pointing sensor up is the same as the one when sensor is pointing down (usually not the case without calibration).
Its more important that your accelerometer creates m/s^2 values and gyroscope has correct rotation speed in radians/sec. But even if those are not accurate the fusion still produces values that might be acceptable. Since you have gravity its trivial to measure accelerometer but if you truly want to calibrate gyroscope you need turntable and set it to 45 or 33.333 rpm.


[BEAM-4144] Fixes SplittableParDoProcessFnTest

R: @kennknowles

LGTM when it passes

Jenkins seems hosed and I successfully ran Gradle precommit locally (discovered and fixed a checkstyle issue though), I'm going to merge this.


⚠ Empornium has degraded performance

In 4733605, Empornium ($EMP) experienced degraded performance:

HTTP code: 500
Response time: 1044 ms

Resolved: Empornium performance has improved in 60c30a2 after 12 minutes.


The popover show should not be light in Dark Mode

https://github.com/aheze/Popovers/blob/47b82f57f7b1e56e962cf9047e9b6ceddf52d294/Sources/Templates/Shadow.swift#L26-L31
Hello. I'm try to intergrade a popover for custom SwiftUI control. I notice the shadow template is implement with .label color. This  color works well in Light Mode. But for the Dark Mode the shadow color should still be black and we needs elevate the modal background color (from black to gray) to make popover looks like floating.
For example the iPad slide over window:

Hmm, good point. Should it be .black instead? I can also make it a static var so you can change it

Yes. Black is the correct choice. And that's enough for most of the usages.
That's could be modified now by:
.popoverShadow(shadow: {
    var shadow = Templates.Shadow.system
    shadow.color = Color(.black.withAlphaComponent(0.3))
    return shadow
}())

And opening the modifier is also a good idea.

Hi @aheze, I also would like to ask if it is possible to customize the Template.Container logic for applying shadow as well.
By default it applies Color(.label.withAlphaComponent(0.25)). Could it be done such that if shadow was not provided, we do not automatically pass the shadow?
Otherwise, I could extend Template with another container to modify my own version of container, but I also require the BackgroundWithArrow to be public.

@aheze I have created a PR to have some modification to the Container's shadow. https://github.com/aheze/Popovers/pull/62
Let me know if you have any concerns or additional area you would like to replicate this behavior on other areas.

@aheze I have created PR for the changes.....Kindly review

Thanks!


Inconstant behavior

jquery-confirm version:
v3.3.0
I'm submitting a ...  (check one with "x")
[x ] bug report
[ ] feature request
[ ] support request
Current behavior:

Confirm message with animation 'top' is opened and flys in from top. A value selected. Modal closes and a bootstrap dialog is opened showing the result. Dialog is closed. Confirm message is opened again and the animation setting (top) is not honored. Flyin comes from top/left
Expected behavior:

Regardless of opening a dialog from a different, top animation is honored.
Steps to reproduce:
Confirm message with animation 'top' is opened and flys in from top. A value selected. Modal closes and a dialog is shown using bootstrap. Confirm message is opened and the animation setting is not honored. Flyin comes from top/left
Related code:
Bootstrap Dialog:
(Layout)

                    <button type="button" class="btn btn-primary" data-dismiss="modal" data-target="#errormessage">Close</button>

(JS)
var ErrorMessage = {
    show: function (message, title) {
        var selector = 'errormessage';
        var elem = null;

        $('#errormessageTitle').html(title || "Error:");
        $('#errormessageContent').html(message || "");
        $('#' + selector).modal();
    }
};

Jquery Confirm:
var Confirm = function (message, title, callback) {
    $.confirm({
        animation: 'top',
        title: title,
        content: message,
        buttons: {
            confirm: {
                btnClass: 'btn-primary',
                action: function() {
                    callback(true);
                }
            },
            cancel: function () {
                callback(false);
            }
        }
    });
};

Other information:
Jquery Version: 3.3.1
Jquery Confirm Version: v3.3.0
Bootstrap Version: 4.1.2
Using unaltered style sheets

I have this issue with a $.dialog as well, also 3.3.0. I implemented it in a navbar. When open, it always flies in from the top left hand corner, regardless of whether animation param was set. closeAnimation works okay

Same here!


Fix YAML indentation for better readability

What does this PR do?
Fixes indentation (for example YAML file) to avoid customer confusion and/or to avoid errors that arise from copy-pasting.
Motivation
The docs for Win32 integration (link: https://docs.datadoghq.com/integrations/win32_event_log/#filtering-events)
have some formatting issues around - type:   : Maybe the doc needs to be updated for better readability
Screenshot link: https://a.cl.ly/BluGpXxo
Customer from this ticket (https://datadog.zendesk.com/agent/tickets/825320) seemed to have copied the configuration settings directly from the example.
Additional Notes
Correct YAML formatting:
  - type: windows_event
    channel_path: Security
    source: windows.events
    service: Windows
    log_processing_rules:
    - type: include_at_match
      name: relevant_security_events
      pattern: .*(?i)eventid.+(1102|4624|4625|4634|4648|4728|4732|4735|4737|4740|4755|4756)
  - type: windows_event
    channel_path: System
    source: windows.events
    service: Windows
    log_processing_rules:
    - type: include_at_match
      name: system_errors_and_warnings
      pattern: .*(?i)level.+((?i)(warning|error))
  - type: windows_event
    channel_path: Application
    source: windows.events
    service: Windows
    log_processing_rules:
    - type: include_at_match
      name: application_errors_and_warnings
      pattern: .*(?i)level.+((?i)(warning|error))

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Fixed with this PR, sorry for the delay. Closing this PR


Issue/48 remove stringified json func

Codecov Report

Merging #49 (467f6b7) into main (3f2361a) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #49   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           16        16
  Lines          925       883   -42
  Branches       163       151   -12
=========================================
- Hits           925       883   -42

Flag
Coverage Δ

data
100.00% <100.00%> (ø)

data-backend
100.00% <ø> (ø)

data-frontend
100.00% <ø> (ø)

metadata-jsonschema
100.00% <ø> (ø)

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

Impacted Files
Coverage Δ

data/src/fp-ts-utils.ts
100.00% <100.00%> (ø)


WIP: Add emptyList interface for ListView.builder

Description
WIP: Added an emptyListWidget parameter to ListView.builder that will be used if the list is empty.

(PR triage): Just checking in, do you still have plans for this PR?

(PR triage): I am going to close this for now since it is not ready yet. Feel free to reopen when you found the time to work on this again.


[WIP] Track feature

NASA's deepzoom server no longer allows cross-site usage.
Disable the example for now; otherwise, CI is broken.
Reference #1036.

@aashish24 We need to fix this so other CI will pass.  Unless you know another deepzoom server off-hand, I recommend we merge this and revisit finding such a server sometime later.


Update repositories.toml

Kepler Project added

Closed due to inactivity. Please open a new PR. Thanks!


Incorrect gradient when using tf.dynamic_stitch and tf.gather?

In Tensorflow 0.12, I find the discrepancy of gradients in two mathematically equivalent training procedures of LSTM, probably due to the use of tf.gather and tf.dynamic_stitch.  One is the normal procedure using the whole batch of training examples to unroll the LSTM in each step. The other first uses tf.gather to select ALL the examples of the whole batch in each step, then unroll the LSTM with those examples and finally use tf.dynamic_stitch to update the corresponding states and outputs.
These two procedures should be equivalent as they both essentially use the whole batch. However, the gradients of the same variables are significantly different.
The code is as follows (the core parts are essentially # 1. and  # 2.):
batch_size = 2
num_timesteps = 10
vocab_size = 10
num_embedding_nodes = 32
hidden_size = 128
n_class = 2
learning_rate = 0.001
inputs = tf.placeholder(tf.int64, [batch_size, num_timesteps])
targets = tf.placeholder(tf.int64, [batch_size])
embedding = tf.get_variable("embedding", [vocab_size, num_embedding_nodes])
x = tf.nn.embedding_lookup(embedding, inputs)
w_predict = tf.get_variable("w_predict", [hidden_size, n_class])
b_predict = tf.get_variable("b_predict", [n_class])

with tf.variable_scope('lstm') as lstm_scope:
  cell = tf.nn.rnn_cell.BasicLSTMCell(hidden_size, forget_bias=1.0, state_is_tuple=False)
  state = cell.zero_state(batch_size, dtype=tf.float32)
  state1 = cell.zero_state(batch_size, dtype=tf.float32)
  for t in range(num_timesteps):
    if t == 0:
      output, state = cell(x[:, t, :], state)
      lstm_scope.reuse_variables()
      output1, state1 = cell(x[:, t, :], state1)
    else:
      lstm_scope.reuse_variables()
      # 1. normal lstm
      output, state = cell(x[:, t, :], state)
      # 2. lstm using tf.gather and tf.dynamic_stitch to select all samples from batch
      idx_select = tf.range(batch_size)
      tmp_output, tmp_state = cell(tf.gather(x[:, t, :], idx_select), tf.gather(state1, idx_select))
      output1 = tf.dynamic_stitch([tf.range(batch_size), idx_select], [output1, tmp_output])
      state1 = tf.dynamic_stitch([tf.range(batch_size), idx_select], [state1, tmp_state])
logits = tf.nn.xw_plus_b(output, w_predict, b_predict)
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, targets, name=None)
logits1 = tf.nn.xw_plus_b(output1, w_predict, b_predict)
cross_entropy1 = tf.nn.sparse_softmax_cross_entropy_with_logits(logits1, targets, name=None)
trainable = tf.trainable_variables()
grad = tf.gradients(cross_entropy, trainable)
grad1 = tf.gradients(cross_entropy1, trainable)

######## gradient log
cg = []
for g in grad:
  if g is not None:
    cg += [g]
cg1 = []
for g in grad1:
  if g is not None:
    cg1 += [g]

optimizer = tf.train.AdamOptimizer(learning_rate)
train_op = optimizer.apply_gradients(zip(grad, trainable))
init_op = tf.initialize_all_variables()

""" Training """
## arbitrary synthetic data
# we use two training examples, each with length 10
my_input = np.array([[3,4,6,8,3,5,8,9,2,4], [4,2,3,8,5,2,2,3,6,1]])
my_target = np.array([0,1])
sess = tf.Session()
sess.run(init_op)

epoch = 0
while epoch < 5:
  epoch += 1
  fetches = [train_op, cg, cg1]
  outputs = sess.run(fetches, feed_dict={inputs: my_input, targets: my_target})
  gradients = outputs[1]
  gradients1 = outputs[2]
  print 'epoch %d:' % epoch
    for i, g in enumerate(gradients):
      if i > 0:
	print('norm of gradient of var %d: %f' % (i, LA.norm(gradients[i])))
	print('norm of gradient1 of var %d: %f' % (i, LA.norm(gradients1[i])))

The sample output is:
epoch 1:
norm of gradient of var 1: 0.644620
norm of gradient1 of var 1: 0.644620
norm of gradient of var 2: 0.393020
norm of gradient1 of var 2: 0.393020
norm of gradient of var 3: 0.838759
norm of gradient1 of var 3: 102.815338
norm of gradient of var 4: 0.435841
norm of gradient1 of var 4: 44.867126
epoch 2:
norm of gradient of var 1: 0.613848
norm of gradient1 of var 1: 0.611423
norm of gradient of var 2: 0.355387
norm of gradient1 of var 2: 0.351987
norm of gradient of var 3: 0.797761
norm of gradient1 of var 3: 96.391121
norm of gradient of var 4: 0.397020
norm of gradient1 of var 4: 39.937107
epoch 3:
norm of gradient of var 1: 0.603118
norm of gradient1 of var 1: 0.603118
norm of gradient of var 2: 0.318260
norm of gradient1 of var 2: 0.318260
norm of gradient of var 3: 0.773661
norm of gradient1 of var 3: 93.290131
norm of gradient of var 4: 0.366684
norm of gradient1 of var 4: 36.636879
epoch 4:
norm of gradient of var 1: 0.607643
norm of gradient1 of var 1: 0.607643
norm of gradient of var 2: 0.280101
norm of gradient1 of var 2: 0.280101
norm of gradient of var 3: 0.763007
norm of gradient1 of var 3: 92.295441
norm of gradient of var 4: 0.340769
norm of gradient1 of var 4: 33.630474
epoch 5:
norm of gradient of var 1: 0.622874
norm of gradient1 of var 1: 0.619443
norm of gradient of var 2: 0.239731
norm of gradient1 of var 2: 0.235509
norm of gradient of var 3: 0.757205
norm of gradient1 of var 3: 93.335388
norm of gradient of var 4: 0.312203
norm of gradient1 of var 4: 30.536301

We can see that the gradient and gradient1 of var3 have significantly different norms in every epoch, which should be the same. So is var4. Those two are the trainable variables of LSTM. In fact, if the sequence length is 50 instead of 10, the discrepancy is even much larger.
Could anybody tell me why it is the case?
Environment info
Operating System: ubuntu 14.04

Is this on CPU?

@michaelisard , yes, on CPU.

@rmlarsen any idea why this might be happening?

@rmlarsen Were you planning to respond based on the tag you added?  Someone should probably track this down.

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Support for SnakeYaml 2.0

SnakeYaml 2.0 is not supported
io.kubernetes v18.0.0 has added support for SnakeYaml 2.0, can we upgrade to v18.0.0 please
Sample Output
Caused by: java.lang.NoSuchMethodError: org.yaml.snakeyaml.constructor.SafeConstructor: method 'void ()' not found
at io.kubernetes.client.util.KubeConfig.loadKubeConfig(KubeConfig.java:83)
at io.kubernetes.client.util.ClientBuilder.getClientBuilder(ClientBuilder.java:124)
at io.kubernetes.client.util.ClientBuilder.standard(ClientBuilder.java:108)
at io.kubernetes.client.util.ClientBuilder.standard(ClientBuilder.java:100)
at io.kubernetes.client.util.ClientBuilder.defaultClient(ClientBuilder.java:82)
at org.springframework.cloud.kubernetes.client.KubernetesClientUtils.kubernetesApiClient(KubernetesClientUtils.java:51)
at org.springframework.cloud.kubernetes.client.KubernetesClientAutoConfiguration.apiClient(KubernetesClientAutoConfiguration

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-kubernetes-fabric8-config</artifactId>
      <version>2.1.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-kubernetes-client-config</artifactId>
      <version>2.1.5</version>
      <scope>compile</scope>
    </dependency>
    <dependency>

I assume you are including snakeyaml 2.0 as well?
In fact the version of Spring Cloud Kubernetes you are using is using using version 13 of the Kubernetes Java client

Yes, that's correct. As a temporary fix I've overridden <kubernetes-native-client.version>18.0.0</kubernetes-native-client.version> and it's working.

OK, thats the best we can offer at the moment.  We cannot upgrade dependencies to new versions without potentially breaking others.

Will this be available as part of 2.1.x once your PR gets merged?

The PR is merged, they just need to do a release of the 17.x branch.  However the 2.1.x branch uses the 13.x branch of the kubernetes java client and they informed me there will not be a release of that branch.
If the Kubernetes Java Client does a release of the 17.x branch we will pick that up in Spring Cloud Kubernetes 3.x

Hi, thank you for the fix. However I'd like to confirm if this will not be shipped into 2.1.x.
Spring Boot 2.7.10 has added support for SnakeYaml 2.0: https://github.com/spring-projects/spring-boot/releases/tag/v2.7.10#:~:text=Loading application.yml fails with NoSuchMethodError when using SnakeYAML 2.0 , but Spring-Cloud-Kubernetes 3.x requires Spring Boot 3.x, correct?
So I believe that means we have to use Spring Boot 3.x in order to use SnakeYaml 2.0 if we use spring-cloud-kubernetes?

Spring Boot 2.7.10 is on COMPATIBLE with SnakeYaml 2.0, it does not use SnakeYaml 2.0.
https://github.com/spring-projects/spring-boot/issues/34405#issuecomment-1451004370
You still need to override the dependency version of SnakeYaml in your project if you want to use it in Spring Boot 2.7.10.
So you can still use Spring Cloud K8S 2.1.x, and Spring Boot 2.7.10 but I am not sure if the Kubernetes Java Client we are using (13.x) is compatible with SnakeYaml 2.0.0 and there is nothing we can do about that.

So I believe that means we have to use Spring Boot 3.x in order to use SnakeYaml 2.0 if we use spring-cloud-kubernetes, because it will be shipped into spring-cloud-kubernetes 3.x only?

This would be the best known path to support SnakeYaml 2.0


Small changes + phase transitions

This change is

@SamHybz I did a PR on bioptim to display the graphs for holonomic problems, this sould help you a lot ! :)


Verify Zig build concurrency

It feels like Zig is often running with a single worker / job, so concurrency of 1 when I really think it should be running 16 on my workstation. This is when it is invoked by acton.

[ ] find reproduction case
[ ] maybe look into zig detection logic for number of CPUs or so and debug print in builder?
[ ] fix the thing if it needs fixing

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


Split out plugin store states by file

Is your feature request related to a problem? Please describe.
Certain settings for users, such as "Exporting to Figma" or "Apply as" are persisted in the plugin across all files. This causes confusion when the plugin doesn't work as expected.
Describe the solution you'd like
If possible, the status of the plugin for a variety of settings should be split by file, so that when a user changes across, these persist.
Describe alternatives you've considered
Using context instead of Redux.
Additional context

"Apply as" settings thread
"Export to Figma" settings thread

I'm not sure on this. I would find it confusing if that apply state changes per file - I would have to remember what settings I last used in that file, not what I last used within the plugin.
cc @SamIam4Hyma in case you can talk to some users to bring clarity on it before we actually work on this.


Add menu item button is gone

Anyone having same issue that the Add menu items buttons is not anywhere after creating the first menu item?

I have some problem

Nova breaks at least half of my packages every minor release they make. It's literally impossible to keep up with all of the changes.
Ever since Nova 4 they also kicked everyone out from the Nova repository, so every release is now a guessing game what they broke this time.
If someone would submit a PR to fix the buttons in the latest versions of Nova, I would greatly appreciate it. Thanks!

I will attempt a PR this week as this is affecting my production app.

@graphem did you make any progress? I was going to do the same but got busy and just downgraded Nova instead.

Yeah sorry got busy also, so no progress yet.

fix and released in version 7.1.4


Add apply_layout method to SparsePauliOp

Summary
This commit adds a new method, apply_layout, to the SparsePauliOp
class. It takes in either a TranspileLayout object or a list of
indices that represent a layout transformation caused by the transpiler
and then returns a new SparsePauliOp object that applies a matching
transformation.
Details and comments
This PR is based on top of #10835 and includes the contents of that PR. To see the content of just this PR you can view:
https://github.com/mtreinish/qiskit-core/compare/imrpove-transpile-layout...mtreinish:qiskit-core:apply-layout-spare-pauli-op?expand=1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

81 of 86 (94.19%)  changed or added relevant lines in 6 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.03%) to 87.021%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py
16
17
94.12%

qiskit/qpy/binary_io/circuits.py
15
17
88.24%

qiskit/transpiler/layout.py
43
45
95.56%

Files with Coverage Reduction
New Missed Lines
%

qiskit/pulse/library/waveform.py
3
93.75%

qiskit/qpy/binary_io/circuits.py
3
91.77%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
74176

Relevant Lines:
85239

💛  - Coveralls

can we also make it take a layout object

can you rebase this PR? Overall it looks good to me.
I opened an issue in Aer so that observables that are enlarged with I due to this PR still remain simulable.

can we also make it take a layout object

I'm not sure there is a simple path for supporting just a Layout  object. A layout object maps virtual Qubit objects to positional indices and that isn't enough information to know how to apply the layout because we don't know the starting position for the virtual Qubit objects. The TranspileLayout  contains a dictionary mapping the Qubit objects to the their initial position which final_index_layout() is using to build the output array used for qargs here.

can you rebase this PR?

Done

I'm not sure there is a simple path for supporting just a Layout object. A layout object maps virtual Qubit objects to positional indices and that isn't enough information to know how to apply the layout because we don't know the starting position for the virtual Qubit objects.

I'm confused, this current PR accepts a list of integers, which seems like it would contain strictly less information than a Layout object would. So if a list of integers is possible, Layout should be possible too?

The difference is that a Qubit object doesn't have any associated position with it. It's just a Python object we don't know where it was in the circuit just from the object. For a concrete example, if you had an input circuit generated by this
qr = QuantumRegister(3)
qc = QuantumCircuit()
qc.add_bits(qr[i] for i in [2, 0, 1])
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 2)

if you had solely a Layout object from the transpiler output with this circuit as an input it would be the equivalent of a dictionary mapping something like:
{qr[0]: 0, qr[1]: 1, qr[2]: 2}

with solely this mapping you wouldn't know how to transform the operator as this layout object doesn't have any details about the starting position of each qubit. (I used registers here to illustrate you can't rely on ordering of bits, but also if you used bare Qubit() qubits there isn't anything in it). If you combined the circuit with the layout object you'd be able to figure out that qargs on the internal compose()  call should be [2, 0, 1]. This is a big part of why I don't like the Layout class and prefer to use integers.
A list of integers is different because it maps ever index in the list to it's new position, so we have all the information needed to apply the layout.

Ok @mtreinish I think I see now the problem is with the Layout class. I'm fine with this PR


SPM Warning

The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99.

Maybe I should raise the compatibility version to iOS 9.
Thanks for the issue, I will let you know once done or I have more informations 👍

This is now fixed on Queuer 3.0.0 🎉


Update errors.cabal to support text-2.1

This library doesn't access the internals of the Text type, so this should be fine.

I published this as Hackage revision 5: https://hackage.haskell.org/package/errors-2.3.0/revisions/


Type variables

Continuing our discussion in https://github.com/gcanti/tcomb/issues/179
Using common functions to produce types I've hit the following problem:
let matrix = T
  .func([Nat, Nat, T.Type, T.maybe(T.String)], T.Type)
  .of((m, n, a, name) => {
    let Matrix = vect(m, vect(n, a), name || `Matrix(${m}, ${n})`)
    Matrix.meta.size = [m, n]
    return Matrix
  })

let mrows = T
  .func([Matrix], Nat), // <-- can't use Matrix or matrix here for obvious reasons
  .of((m) => {
    return m.length
  })

let ncols = T
  .func([Matrix], Nat), // <-- can't use Matrix or matrix here for obvious reasons
  .of((m) => {
    return m ? m[0].length : 0
  })

In Haskell all type constructors can have >=0 params. We can use them
either fully parameterized ([Int] or List Int) or not ([a], List a).
I guess I need something like the Matrix a a in the definitions of mrows and ncols but I dunno how to write this in Tcomb syntax or if there is such possibility at all.

Perhaps is possible if you can choose something reliable which you can detect in a predicate:
const vect = (n, a, name) => {
  const T = t.refinement(t.list(a), ({length}) => length === n, name || `Vect(${n})`)
  T.meta.size = n
  return T
}

const matrix = (m, v, name) => {
  const T = vect(m, v, name || `Matrix(${m}, ${v.meta.size})`)
  T.meta.size = [m, v.meta.size]
  return T
}

const Matrix = t.refinement(t.Type, (type) => {
  return t.tuple([t.Number, t.Number]).is(type.meta.size)
  // && ... && ... && ... <= add other conditions here?
})

const mymatrix = matrix(2, vect(3, t.String))

console.log(Matrix.is(mymatrix)) // => true
console.log(Matrix.is(vect(3, t.String))) // => false

Seems like a big dry violation.


Adding age matcher (older/younger)

This allows for an easy filtering on age, without cluttering the cli.
Examples:
fu -a .go -o 1h # returns .go files modified more than 1h ago
fu -a .go -y 30m # returns .go files modified less than 1h ago

New flags:

-o --older=AGE
-y --younger=AGE

This is awesome 😄 I'd been procrastinating over doing this for a while, thanks for sending a PR!


AttributeError: 'GCTrainer' object has no attribute 'scaler'

Hi @luyug, any idea on how to fix this?
04/14/2022 15:48:04 - INFO - tevatron.trainer -   Initializing Gradient Cache Trainer
Traceback (most recent call last):
File "/home/odunayo/anaconda3/envs/tevatron_env/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/odunayo/anaconda3/envs/tevatron_env/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/lustre07/scratch/odunayo/tevatron/src/tevatron/driver/train.py", line 103, in
main()
File "/lustre07/scratch/odunayo/tevatron/src/tevatron/driver/train.py", line 84, in main
trainer = trainer_cls(
File "/lustre07/scratch/odunayo/tevatron/src/tevatron/trainer.py", line 105, in init
scaler=self.scaler
AttributeError: 'GCTrainer' object has no attribute 'scaler'

I guess this is a Tevatron issue

Hi @ToluClassics , I'm encountering the same problem. How did you solve it?

Hi @jordane95 , check below issue if it solves your problem?
https://github.com/texttron/tevatron/issues/35#issuecomment-1080840310

Hi @jordane95 , check below issue if it solves your problem?
texttron/tevatron#35 (comment)

Unfortunately no. I'm using deepspeed. I think there may be some conflit with this repo...

@jordane95 deepspeed has its gradient accumulation opaquely implemented in C/C++ codes. technically, it is possible to work it out by carefully aligning all the gradcache's sub batch gradient computation with deepspeed engine's gradient accumulated backwards. personally i have not done it before but instead switched to use native torch / fairscale. is there a particular reason to use deepspeed in your case?


Adapt the wsl-vpnkit, so it makes use of WSL_INTEROP variable

Adapt the wsl-vpnkit, so it makes use of WSL_INTEROP variable and make it self-healing when the socket would be closed for one reason or another

I can confirm that this worked for me when running wsl-vpnkit as a systemd service. Thanks a bunch!

@dabeck81 I tried your solution, but afterwards the start fails with:
/app/wsl-gvproxy.exe is not executable due to WSL interop settings or Windows permissions
So I commended out the check regarding wsl-gvproxy.exe and restarted it, but all the checks are failing:
Nov 24 08:09:06 UBUNTU systemd[1]: Started wsl-vpnkit.
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + VPNKIT_GATEWAY_IP=<IP_ADDRESS>
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + VPNKIT_HOST_IP=<IP_ADDRESS>
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + VPNKIT_LOCAL_IP=<IP_ADDRESS>
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + TAP_MAC_ADDR=5a:94:ef:e4:0c:ee
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + VMEXEC_PATH=/app/wsl-vm
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + GVPROXY_PATH=/app/wsl-gvproxy.exe
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + TAP_NAME=wsltap
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + CHECK_HOST=example.com
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + CHECK_DNS=<IP_ADDRESS>
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + DEBUG=0
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + set +x
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + WSL2_TAP_NAME=eth0
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + WSL2_GATEWAY_IP=<IP_ADDRESS>
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + WSL_INTEROP=/run/WSL/7_interop
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + '[' 0 -eq 0 ]
Nov 24 08:09:07 UBUNTU wsl.exe[364]: + set +x
Nov 24 08:09:07 UBUNTU wsl.exe[364]: starting vm and gvproxy...
Nov 24 08:09:07 UBUNTU wsl.exe[364]: time="2023-11-24T07:09:07Z" level=info msg="waiting for packets..."
Nov 24 08:09:08 UBUNTU wsl.exe[364]: started vm and gvproxy
Nov 24 08:09:18 UBUNTU wsl.exe[364]: check: ❌ ping fail to IPv4 WSL 2 gateway / Windows host (<IP_ADDRESS>)
Nov 24 08:09:28 UBUNTU wsl.exe[364]: check: ❌ ping fail to IPv4 Windows host (<IP_ADDRESS>)
Nov 24 08:09:37 UBUNTU wsl.exe[364]: /app/wsl-gvproxy.exe: Invalid argument
Nov 24 08:09:37 UBUNTU wsl.exe[364]: time="2023-11-24T07:09:37Z" level=error msg="cannot read size from socket: EOF"
Nov 24 08:09:38 UBUNTU wsl.exe[364]: check: ❌ ping fail to IPv4 gateway (<IP_ADDRESS>)
Nov 24 08:09:38 UBUNTU wsl.exe[364]: nslookup: can't connect to remote host (<IP_ADDRESS>): Network unreachable
Nov 24 08:09:38 UBUNTU wsl.exe[364]: check: ❌ nslookup fail for example.com A using <IP_ADDRESS>
Nov 24 08:09:38 UBUNTU wsl.exe[364]: nslookup: write to '<IP_ADDRESS>': Network unreachable
Nov 24 08:09:38 UBUNTU wsl.exe[364]: check: ❌ nslookup fail for example.com A using <IP_ADDRESS>
Nov 24 08:09:38 UBUNTU wsl.exe[364]: nslookup: can't connect to remote host (<IP_ADDRESS>): Network unreachable
Nov 24 08:09:38 UBUNTU wsl.exe[364]: check: ❌ nslookup fail for example.com A using <IP_ADDRESS>
Nov 24 08:09:38 UBUNTU wsl.exe[364]: time="2023-11-24T07:09:38Z" level=info msg="waiting for packets..."
Nov 24 08:09:43 UBUNTU wsl.exe[364]: ping: bad address 'example.com'
Nov 24 08:09:43 UBUNTU wsl.exe[364]: check: ❌ ping fail to IPv4 external host domain (example.com)
Nov 24 08:09:43 UBUNTU wsl.exe[364]: ping: sendto: Network unreachable
Nov 24 08:09:43 UBUNTU wsl.exe[364]: check: ❌ ping fail to IPv4 external host IP (<IP_ADDRESS>)
Nov 24 08:09:43 UBUNTU wsl.exe[364]: nslookup: can't connect to remote host (<IP_ADDRESS>): Network unreachable
Nov 24 08:09:43 UBUNTU wsl.exe[364]: check: ❌ nslookup fail for example.com AAAA using <IP_ADDRESS>
Nov 24 08:09:43 UBUNTU wsl.exe[364]: nslookup: write to '<IP_ADDRESS>': Network unreachable
Nov 24 08:09:43 UBUNTU wsl.exe[364]: check: ❌ nslookup fail for example.com AAAA using <IP_ADDRESS>
Nov 24 08:09:43 UBUNTU wsl.exe[364]: check: ❌ nslookup fail for example.com AAAA using <IP_ADDRESS>
Nov 24 08:09:43 UBUNTU wsl.exe[364]: nslookup: can't connect to remote host (<IP_ADDRESS>): Network unreachable
Nov 24 08:09:47 UBUNTU wsl.exe[364]: /app/wsl-gvproxy.exe: Invalid argument
Nov 24 08:09:47 UBUNTU wsl.exe[364]: time="2023-11-24T07:09:47Z" level=error msg="cannot read size from socket: EOF"
Nov 24 08:09:48 UBUNTU wsl.exe[364]: ping: bad address 'example.com'
Nov 24 08:09:48 UBUNTU wsl.exe[364]: check: ➖ ping fail to IPv6 external host (example.com)
Nov 24 08:09:48 UBUNTU wsl.exe[364]: time="2023-11-24T07:09:48Z" level=info msg="waiting for packets..."
Nov 24 08:09:53 UBUNTU wsl.exe[364]: wget: bad address 'example.com'
Nov 24 08:09:53 UBUNTU wsl.exe[364]: check: ❌ wget fail for http://example.com
Nov 24 08:09:58 UBUNTU wsl.exe[364]: wget: bad address 'example.com'
Nov 24 08:09:58 UBUNTU wsl.exe[364]: check: ❌ wget fail for https://example.com

@dabeck81 I tried your solution, but afterwards the start fails with: /app/wsl-gvproxy.exe is not executable due to WSL interop settings or Windows permissions
So, I commended out the check regarding wsl-gvproxy.exe and restarted it, but a have still the initial connection issues.

Open up a shel-terminal and try to manually run following command /app/wsl-gvproxy.exe -help, it seems you have a different issue preventing to run exe-files than the problem I resolved with the wsl-interop variable.

This worked for me using systemd with standalone script setup.

Open up a shel-terminal and try to manually run following command /app/wsl-gvproxy.exe -help, it seems you have a different issue preventing to run exe-files than the problem I resolved with the wsl-interop variable.
I had already done that at the time, so I knew it was a false positive and that's why I removed temporary the following check :

$GVPROXY_PATH -help 2>/dev/null
if [ $? -eq 1 ]; then
    echo "$GVPROXY_PATH is not executable due to WSL interop settings or Windows permissions"
    exit 1
fi

Interesting, I had this working flawlessly for 2 weeks and since today I get that all the time.

Adding that this PR fixed my issues with wsl-gvproxy.exe is not executable due to WSL interop settings or Windows permissions.