Browser integration =)

Please consider this "browser integration" pull request. It allows to bookmark current page easily via userscript.
I suggest squashing it because of lots of unneeded history in my repository.
I also have a kind of bookamrklet, but it fails on local files (just as expected), which, I guess, are widely used with your tool (at least my own bookmarks.public aren't public at all =)), so I don't suggest it to be added. But let it be here in the comment =):
var ba = document.createElement('a');
ba.innerHTML = "🔖";
ba.target = "_blank";
ba.href = "__URL_OF_YOUR_REPO__/index.html" +
    "?op=bookmark" +
    "&title=" + encodeURIComponent(document.title) +
    "&url="   + encodeURIComponent(window.location.href)
;
Object.assign(ba.style, {
  'color': 'black',
  'font-size': '1.2cm'
});
var bd = document.createElement('div');
Object.assign(bd.style, {
  'position': 'absolute',
  'z-index': 16777271,
  'top': "" + (window.pageYOffset + 10) + "px",
  'left': '10px',
  'width': '2cm',
  'height': '2cm',
  'background-color': 'white',
  'border': 'solid 1px black',
  'vertical-align': 'middle',
  'text-align': 'center'
});
bd.appendChild(ba);
document.body.appendChild(bd);

I appreciate your interest and contribution, but I admit I'm not 100% sure what to do with it.
As you say this fails on local file bookmarks, which is what I use and which I suspect is the most common way to use it.  (So, for example, my repository is located at ~/Repos/personal/bookmarks, and my browser homepage is set to file:///home/skx/Repos/personal/bookmarks/index.html).
You suggest not merging, which makes sense, but also I can see that it would be interesting and useful to others.
Perhaps the best way forward is for you to keep your merge request to yourself, and me to link to your repository in the README.md file.  For those that are adding online it would then be a little more discoverable, and I wouldn't have to worry about it not working in the common-case.  Does that seem sane?  Or do you have another idea?

Hello, Steve,
sorry, I guess I wrote a confusing text there =).
This pull request actually works well and can be either merged directly or squashed (probably better way just to keep it in one commit) into your repository.
It contains:

Functionality to open index.html with URL parameters instructing it to fill new bookmark's fields.
Small userscript that can be used to automate it in the browser. It works well on local files (checked with Firefox and Chrome), because userscript can open file:/// urls, while regular JavaScript is not allowed to do that.

Then what about bookmarklet. I started to write it before userscript, but then realized that it will not be able to work as it will have no right to open file:/// urls.
So basically I suggest two ways (up to your decision surely):

Squash-merge (may be with some further correction) this pull request and forget about this bookmarklet
Same as above, but with bookmarklet in README.md for those who use http(s):// to access their bookmarks (although I am not sure there are a lots of them) and prefer bookmarklet to userscript.

Or surely any other ideas from you =)

One thing that does occur to me is that you could change this:
  ba.href = "__URL_OF_YOUR_REPO__/index.html" +
    "?op=bookmark" +
     "&title=" + encodeURIComponent(document.title) +
     "&url="   + encodeURIComponent(window.location.href)
   ;

To this:
  ba.href = "__URL_OF_YOUR_REPO__/index.html" +
    "#?op=bookmark" +
     "&title=" + encodeURIComponent(document.title) +
     "&url="   + encodeURIComponent(window.location.href)
   ;

That would allow a local file:// to receive parameters - providing the tab wasn't already open - and populate the form.
That might mean we can make it work in either case..?

No, actually we have different problem here.
file:// URL receives both ? and # parameters very well once opened. The problem is in opening file:// URL itself.
Take a look on https://jsfiddle.net/dluciv/tbdvdL73/ — file:// link is neither opened by clicking nor programmatically when referenced from http(s)://. window.open, location = , browser.navigate, etc. will also fail.
Userscripts and extensions can do it, while JS on the page and bookmarklets can not.

You're right, thanks for the update.
If you give me a day or two to read over all the changes, some are obviously fine, some are unrelated (e.g. the scroll into view - seems reasonable, but unrelated really) then I'll merge.
I'll need the README to be updated with details of how to set this up and limitations too.

Here it is.
I have updated readme, now suggesting both options (userscript and bookmarklet), hope description is now friendly enough =)

I appreciate your patience and your updates.


TDI-43735 - Fix Google OAuth Client configuration

In components-parent/components-bom/pom.xml, the Google Oauth Client configuration is given as 1.36.0, however this doesn't actually exist. The correct version should be 1.30.5, and we should pick this version up for the google-oauth-client-jetty dependency to fix a CVE in Jetty.

Pull request test result: failure :x:

@Voievidko Can you push this please? I don't have the permissions...

We will merge it once the build is finished successfully. We want to make sure nothing is broken(at least according to our tests).

Pull request test result: failure :x:

Pull request test result: failure :x:

Pull request test result: success :star:
Sonar results


setKeysForResponseString does not properly set the _hasAccessToken flag

What steps will reproduce the problem?
1. Go through normal authorization, and store the persistenceResponseString
from the GTMOAuthAuthentication object in the keychain.
2. In new attempt at authorization, read back string from keychain and call
setKeysForReponseString on a new GTMOAuthAuthentication object, then call
'canAuthorize'.  This will always fail so sign in is required again.

What is the expected output? What do you see instead?
canAuthorize should return YES but returns NO.

What version of the product are you using? On what operating system?
latest trunk of gtm-oauth, in iOS 6.1.3

Please provide any additional information below.
From what I can see, the code in setKeysForResponseDictionary calls 'setToken'
should be changed to 'setAccessToken' so that the _hasAccessToken gets set to
YES as well.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 14 Aug 2013 at 10:35

Closing this out as it was an auto migrated issue that was really old and likely isn't relevant any more.


Size of In-app CTA increases automatically as user receives any new amount request from another user.

Frequency: 100%
Repro on build version: Appstore Build V1.18.0, Playstore Build V1.18.3, Testflight Build V1.17.0
Repro on devices: iPhone 12 (14.7.1),  iPhone 6+ (12.4.5), Redmi Note 8 (10.0),  Oneplus 7T (11.0)
Pre-condition:

User must have installed application & login into the app.

Repro Steps:

Launch the application & user A redirects to home screen.
Send Request of valid amount from another user to User A.
Observe the In-app CTA on the home screen of User A.

Current Behavior: Size of In-app CTA increases automatically as user receives any new amount request from another user.
Expected Behavior: Size of In-app CTA should remain same when  user receives any new amount request from another user.
Investigation: On tapping “Decline” button from request In-app CTA, the CTA get removed and the size of CTA reduces.
Impact: Bad user experience as CTA size increases when new request is received
Attachment:
In-app CTA size issue.mp4

https://valora.testquality.com defect D452.


Add support to disable appending images with auto complete

I would like a default option that would let us disable appending images to autocomplete li.
P.S: I am working on PR that would allow us this option.

Currently, if the associated data value is a string, it is displayed as an image URL. Just add the feature that, if it is an object, then it is some data which is not an image. This way, no need for extra options, and it should be 99% BC.
For example :
// standard implementation
$('input.autocomplete').autocomplete({
  data: {
    "Apple": null,
    "Microsoft": null,
    "Google": 'http://placehold.it/250x250'
  }
});

// data has data... (i.e. no images)
$('input.autocomplete').autocomplete({
  data: {
    "Apple": null,
    "Microsoft": null,
    "Google": { id: 1, url: 'http://placehold.it/250x250' }
  }
});

@yanickrochon Looks a good idea, let me find some time and come up with a better solution. Thanks


added Ancient Beast

https://AncientBeast.com

This is awesome! 👍

@jdnichollsc Cheers! Thanks for merging, always nice to get the project listed around some more :)

Thanks for sharing! 🤝


Remove TestCoreSimple and TestCoreRandomized

They were useful at the beginning when we didn't have other means to test the whole core. Now they are not that useful.

There is a fetcher change piggybacked here - but it also consists of removing stuff.


Improve esdoc's coverage report

Issue Summary
Adding documentation is a great way to save yourself and other developers time when they are looking at code to understand what was coded or when they are troubleshooting an issue.
Steps to Reproduce

clone this repo git clone https://github.com/sendgrid/nodejs-http-client.git
run npm install
a. If #42 is not complete or merged yet, npm i<EMAIL_ADDRESS>esdoc esdoc-coverage-plugin
run ./node_modules/.bin/esdoc
Open the coverage.json file that was generated in the docs directory
Find files that need more docs coverage and add it in!

If no one else has claimed this yet, I'd be willing to take this on

Closing all open issues and PRs. This repo is no longer maintained. Please use https://github.com/sendgrid/sendgrid-nodejs/tree/master/packages/client instead.


chore: update TypeDoc

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
Updated ~because of the nice dark theme~ to work with Typescript 5.2:

Let's also add yarn run docs:build to the CI config so that we catch breakage early next time. 👍
https://github.com/electron/packager/blob/3588ea1af19431654b425c76ae7bb433b029b154/.circleci/config.yml#L43-L45


Optimised modular arithmetic targeting elliptic curve operations

In the context of verkle trees we need to optimise modular arithmetic for elliptic curve calculations.
This PR introduces speed optimisations for moduli from 193 to 256 bits in length:

it does not use division when adding already-reduced operands, which is typical in applications of modular arithmetic
it uses Barrett reduction, caching the mu value (the reciprocal of the modulus) for each modulus encountered, removing the need to perform a division for each reduction

Before:
goos: freebsd
goarch: amd64
pkg: github.com/holiman/uint256
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
BenchmarkMulMod
BenchmarkMulMod/small/uint256
BenchmarkMulMod/small/uint256-8         	24091966	        51.95 ns/op
BenchmarkMulMod/small/big
BenchmarkMulMod/small/big-8             	13057272	        93.92 ns/op
BenchmarkMulMod/mod64/uint256
BenchmarkMulMod/mod64/uint256-8         	 6775998	       162.3 ns/op
BenchmarkMulMod/mod64/big
BenchmarkMulMod/mod64/big-8             	 3723324	       324.2 ns/op
BenchmarkMulMod/mod128/uint256
BenchmarkMulMod/mod128/uint256-8        	 4329858	       247.9 ns/op
BenchmarkMulMod/mod128/big
BenchmarkMulMod/mod128/big-8            	 2085337	       693.0 ns/op
BenchmarkMulMod/mod192/uint256
BenchmarkMulMod/mod192/uint256-8        	 3751779	       318.3 ns/op
BenchmarkMulMod/mod192/big
BenchmarkMulMod/mod192/big-8            	 1637002	       760.2 ns/op
BenchmarkMulMod/mod256/uint256
BenchmarkMulMod/mod256/uint256-8        	 3333724	       343.7 ns/op
BenchmarkMulMod/mod256/big
BenchmarkMulMod/mod256/big-8            	 1535760	       763.2 ns/op
PASS
ok  	github.com/holiman/uint256	15.822s

After:
goos: freebsd
goarch: amd64
pkg: github.com/holiman/uint256
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
BenchmarkMulMod
BenchmarkMulMod/small/uint256
BenchmarkMulMod/small/uint256-8         	25852512	        46.44 ns/op
BenchmarkMulMod/small/big
BenchmarkMulMod/small/big-8             	13739356	        88.47 ns/op
BenchmarkMulMod/mod64/uint256
BenchmarkMulMod/mod64/uint256-8         	 6403490	       196.1 ns/op
BenchmarkMulMod/mod64/big
BenchmarkMulMod/mod64/big-8             	 3167760	       394.4 ns/op
BenchmarkMulMod/mod128/uint256
BenchmarkMulMod/mod128/uint256-8        	 3329642	       338.7 ns/op
BenchmarkMulMod/mod128/big
BenchmarkMulMod/mod128/big-8            	 1510978	       829.5 ns/op
BenchmarkMulMod/mod192/uint256
BenchmarkMulMod/mod192/uint256-8        	 3204769	       357.8 ns/op
BenchmarkMulMod/mod192/big
BenchmarkMulMod/mod192/big-8            	 1512756	       778.7 ns/op
BenchmarkMulMod/mod256/uint256
BenchmarkMulMod/mod256/uint256-8        	 5124606	       233.6 ns/op
BenchmarkMulMod/mod256/big
BenchmarkMulMod/mod256/big-8            	 1604929	       720.6 ns/op
    benchmarks_test.go:712: Hits/Misses	4788461/1349390
PASS
ok  	github.com/holiman/uint256	17.042s

Running benchstat:
(master)> go test -v -run none -bench MulMod -count 5  -benchmem > master.txt
(master)> git checkout opt_modarith
(opt_modarith)> go test -v -run none -bench MulMod -count 5  -benchmem > daosvik.txt
> benchstat master.txt daosvik.txt
name                     old time/op    new time/op    delta
MulMod/small/uint256-8     46.0ns ±28%    38.7ns ± 2%     ~     (p=0.063 n=5+4)
MulMod/small/big-8          115ns ± 8%     118ns ± 6%     ~     (p=0.460 n=5+5)
MulMod/mod64/uint256-8      174ns ± 8%     172ns ± 6%     ~     (p=1.000 n=5+5)
MulMod/mod64/big-8          332ns ±11%     331ns ± 4%     ~     (p=0.548 n=5+5)
MulMod/mod128/uint256-8     280ns ± 6%     282ns ± 0%     ~     (p=0.730 n=5+4)
MulMod/mod128/big-8         699ns ± 3%     755ns ±12%     ~     (p=0.056 n=5+5)
MulMod/mod192/uint256-8     287ns ± 8%     377ns ±17%  +31.49%  (p=0.008 n=5+5)
MulMod/mod192/big-8         675ns ± 3%     743ns ± 7%  +10.17%  (p=0.016 n=5+5)
MulMod/mod256/uint256-8     288ns ±10%     215ns ±12%  -25.47%  (p=0.008 n=5+5)
MulMod/mod256/big-8         659ns ± 8%     682ns ± 1%     ~     (p=0.190 n=5+4)

There seems to be a significant performance hit. These are on a very specific platform, though, I wonder what the results would be on more standard platforms?

Here are my MulMod benchmark results on amd64 and arm64, with go1.13.8 on Ubuntu 20.04.3 LTS.
6-core Ryzen 5 3600 running at 3.6 GHz (boost is off):
MulMod/small/uint256-12     30.7ns ± 0%    31.4ns ± 0%   +2.41%  (p=0.016 n=5+4)
MulMod/small/big-12         69.9ns ± 2%    70.5ns ± 1%     ~     (p=0.254 n=5+5)
MulMod/mod64/uint256-12     93.7ns ± 1%    95.6ns ± 0%   +1.99%  (p=0.008 n=5+5)
MulMod/mod64/big-12          247ns ± 1%     248ns ± 1%     ~     (p=0.833 n=5+5)
MulMod/mod128/uint256-12     167ns ± 0%     164ns ± 0%   -1.80%  (p=0.029 n=4+4)
MulMod/mod128/big-12         453ns ± 2%     467ns ± 2%   +2.91%  (p=0.016 n=5+5)
MulMod/mod192/uint256-12     160ns ± 0%     159ns ± 1%   -0.88%  (p=0.048 n=5+5)
MulMod/mod192/big-12         414ns ± 1%     420ns ± 1%     ~     (p=0.063 n=5+5)
MulMod/mod256/uint256-12     155ns ± 0%     108ns ± 0%  -30.32%  (p=0.008 n=5+5)
MulMod/mod256/big-12         397ns ± 2%     406ns ± 2%     ~     (p=0.087 n=5+5)

4-core Core i7-1065G7 running at 1.3 GHz:
MulMod/small/uint256-8     91.3ns ± 0%    90.2ns ± 6%     ~     (p=0.690 n=5+5)
MulMod/small/big-8          132ns ± 0%     130ns ± 0%   -1.52%  (p=0.000 n=5+4)
MulMod/mod64/uint256-8      212ns ± 0%     205ns ± 0%   -3.67%  (p=0.008 n=5+5)
MulMod/mod64/big-8          337ns ± 0%     337ns ± 0%     ~     (p=1.000 n=5+5)
MulMod/mod128/uint256-8     433ns ± 0%     424ns ± 0%   -2.12%  (p=0.016 n=5+4)
MulMod/mod128/big-8         805ns ± 0%     799ns ± 0%   -0.77%  (p=0.008 n=5+5)
MulMod/mod192/uint256-8     418ns ± 1%     412ns ± 0%   -1.44%  (p=0.016 n=5+4)
MulMod/mod192/big-8         785ns ±14%     752ns ± 0%     ~     (p=0.056 n=5+5)
MulMod/mod256/uint256-8     412ns ± 0%     320ns ±11%  -22.23%  (p=0.016 n=4+5)
MulMod/mod256/big-8         719ns ± 0%     715ns ± 1%     ~     (p=0.127 n=5+5)

4-core Cortex-A72 running at 1.5 GHz (Raspberry Pi 4):
MulMod/small/uint256-4      186ns ± 0%     185ns ± 0%   -0.54%  (p=0.008 n=5+5)
MulMod/small/big-4          375ns ± 0%     375ns ± 1%     ~     (p=0.841 n=5+5)
MulMod/mod64/uint256-4      416ns ± 0%     413ns ± 0%   -0.86%  (p=0.008 n=5+5)
MulMod/mod64/big-4         1.07µs ± 1%    1.08µs ± 1%     ~     (p=0.095 n=5+5)
MulMod/mod128/uint256-4     741ns ± 0%     736ns ± 0%   -0.78%  (p=0.008 n=5+5)
MulMod/mod128/big-4        2.01µs ± 2%    2.01µs ± 2%     ~     (p=0.690 n=5+5)
MulMod/mod192/uint256-4     746ns ± 0%     742ns ± 0%   -0.56%  (p=0.016 n=5+5)
MulMod/mod192/big-4        1.89µs ± 1%    1.91µs ± 1%   +0.95%  (p=0.008 n=5+5)
MulMod/mod256/uint256-4     721ns ± 0%     612ns ± 0%  -15.17%  (p=0.008 n=5+5)
MulMod/mod256/big-4        1.78µs ± 1%    1.79µs ± 1%     ~     (p=0.690 n=5+5)

on cpu: Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
name                     old time/op    new time/op    delta
MulMod/small/uint256-6     36.8ns ± 3%    36.3ns ± 1%     ~     (p=0.206 n=5+5)
MulMod/small/big-6         70.1ns ±13%    65.9ns ± 4%     ~     (p=0.238 n=5+5)
MulMod/mod64/uint256-6      117ns ± 9%     105ns ± 3%  -10.22%  (p=0.008 n=5+5)
MulMod/mod64/big-6          238ns ± 1%     216ns ± 1%   -9.30%  (p=0.008 n=5+5)
MulMod/mod128/uint256-6     211ns ± 9%     173ns ± 0%  -18.18%  (p=0.016 n=5+4)
MulMod/mod128/big-6         572ns ±11%     504ns ± 3%  -11.96%  (p=0.032 n=5+5)
MulMod/mod192/uint256-6     195ns ± 4%     194ns ± 1%     ~     (p=0.841 n=5+5)
MulMod/mod192/big-6         563ns ± 6%     474ns ± 2%  -15.91%  (p=0.008 n=5+5)
MulMod/mod256/uint256-6     226ns ± 7%     124ns ± 3%  -45.02%  (p=0.008 n=5+5)
MulMod/mod256/big-6         518ns ± 5%     451ns ± 5%  -12.94%  (p=0.008 n=5+5)

So that also looks better than @gballet 's numbers

with go1.13.8 on Ubuntu 20.04.3 LTS.

@daosvik you should definitely update that, it's very old, and your benchmarks may be totally off.

 It would help if you moved those changes so that your very first commit is the benchmark-change, and after that, the commits that modify the code.
That way, it's possible to compare benchmarks for "master" (master + new/modified benches) against PR, by just jumping between commits. Which is pretty difficult right now, when the bench-changes are mixed with code changes.

@daosvik another thing -- you're adding/changing some benchmarks. It would help if you moved those changes so that your very first commit is the benchmark-change, and after that, the commits that modify the code.
That way, it's possible to compare benchmarks for "master" (master + new/modified benches) against PR, by just jumping between commits. Which is pretty difficult right now, when the bench-changes are mixed with code changes.

Sorry about that - I almost got it right. The first commit adds an unnecessary printout of cache stats, which you can delete or comment out to generate the baseline benchmark.

Right, so I hadn't seen that the resource-heavy go language server was running in the background. Without it, I do get results that are closer to expectation:
name                     old time/op    new time/op    delta
MulMod/small/uint256-8     52.2ns ±24%    52.5ns ±43%     ~     (p=1.000 n=5+5)
MulMod/small/big-8          113ns ± 5%     113ns ± 8%     ~     (p=1.000 n=5+5)
MulMod/mod64/uint256-8      168ns ± 9%     172ns ±13%     ~     (p=0.841 n=5+5)
MulMod/mod64/big-8          335ns ± 7%     364ns ±23%     ~     (p=0.222 n=5+5)
MulMod/mod128/uint256-8     278ns ± 4%     275ns ±18%     ~     (p=0.310 n=5+5)
MulMod/mod128/big-8         722ns ± 7%     738ns ±11%     ~     (p=0.690 n=5+5)
MulMod/mod192/uint256-8     291ns ± 6%     310ns ± 4%     ~     (p=0.095 n=5+5)
MulMod/mod192/big-8         685ns ± 7%     659ns ± 4%     ~     (p=0.548 n=5+5)
MulMod/mod256/uint256-8     295ns ± 8%     192ns ± 2%  -35.01%  (p=0.008 n=5+5)
MulMod/mod256/big-8         644ns ±10%     657ns ±13%     ~     (p=0.548 n=5+5)

Another benchmark -- if the cache is disabled:
name                     old time/op    new time/op    delta
MulMod/small/uint256-6     36.8ns ± 3%    36.6ns ± 3%     ~     (p=0.310 n=5+5)
MulMod/small/big-6         70.1ns ±13%    65.7ns ± 1%     ~     (p=0.310 n=5+5)
MulMod/mod64/uint256-6      117ns ± 9%     106ns ± 2%  -10.12%  (p=0.008 n=5+5)
MulMod/mod64/big-6          238ns ± 1%     220ns ± 5%   -7.70%  (p=0.008 n=5+5)
MulMod/mod128/uint256-6     211ns ± 9%     171ns ± 0%  -18.93%  (p=0.016 n=5+4)
MulMod/mod128/big-6         572ns ±11%     504ns ± 2%  -11.85%  (p=0.016 n=5+5)
MulMod/mod192/uint256-6     195ns ± 4%     196ns ± 2%     ~     (p=0.548 n=5+5)
MulMod/mod192/big-6         563ns ± 6%     483ns ± 5%  -14.20%  (p=0.008 n=5+5)
MulMod/mod256/uint256-6     226ns ± 7%     182ns ± 2%  -19.40%  (p=0.008 n=5+5)
MulMod/mod256/big-6         518ns ± 5%     451ns ± 3%  -12.81%  (p=0.008 n=5+5)

And the difference between with-cache and without-cache:
[user@work uint256]$ benchstat daosvik.txt daosvik_nocache.txt
name                     old time/op    new time/op    delta
MulMod/small/uint256-6     36.3ns ± 1%    36.6ns ± 3%     ~     (p=0.286 n=5+5)
MulMod/small/big-6         65.9ns ± 4%    65.7ns ± 1%     ~     (p=1.000 n=5+5)
MulMod/mod64/uint256-6      105ns ± 3%     106ns ± 2%     ~     (p=0.452 n=5+5)
MulMod/mod64/big-6          216ns ± 1%     220ns ± 5%     ~     (p=0.167 n=5+5)
MulMod/mod128/uint256-6     173ns ± 0%     171ns ± 0%   -0.92%  (p=0.029 n=4+4)
MulMod/mod128/big-6         504ns ± 3%     504ns ± 2%     ~     (p=0.690 n=5+5)
MulMod/mod192/uint256-6     194ns ± 1%     196ns ± 2%     ~     (p=0.548 n=5+5)
MulMod/mod192/big-6         474ns ± 2%     483ns ± 5%     ~     (p=0.310 n=5+5)
MulMod/mod256/uint256-6     124ns ± 3%     182ns ± 2%  +46.58%  (p=0.008 n=5+5)
MulMod/mod256/big-6         451ns ± 5%     451ns ± 3%     ~     (p=1.000 n=5+5)

@chfast would you mind taking a peek at this too?

Also benchmark changes can be merged first before functional changes.

Yeah, I noted the same. @daosvik can you make a separate PR with the benchmark changes, and then we can rebase this one on top of that one (or on top of master after we merge it). If not, I can do it myself too.

I also don't understand the motivation fully. Are ADDMOD and MULMOD so slow for the verkle-tree loads so slow that the node is not able to process blocks in time? If not, is gas cost reduction also planned?

So this PR seeks to accelerate the specific case of doing modulo operations for a specific case, namely prime field operations used for elliptic curves. This isn't connected to the speed ADDMOD and MULMOD EVM instructions, but the calculations of the root commitment (equivalent to the root hash), so it can not really be addressed with gas costs.

I also don't understand the motivation fully. Are ADDMOD and MULMOD so slow for the verkle-tree loads so slow that the node is not able to process blocks in time? If not, is gas cost reduction also planned?

So this PR seeks to accelerate the specific case of doing modulo operations for a specific case, namely prime field operations used for elliptic curves. This isn't connected to the speed ADDMOD and MULMOD EVM instructions, but the calculations of the root commitment (equivalent to the root hash), so it can not really be addressed with gas costs.

To confirm: you want to use these methods outside of EVM.

@holiman, the CI testing does not run for external PR, this should be enabled.

I think this is addressed now.

Some remaining tasks for this PR:

Rebase on top of latest master (benchmarks are now in master)
Move the caching implementation so it's not part of reciprocal
Look into the test failures which @chfast reported

* There is a bug in `AddMod()`. You can find failing tests in [tests: more AddMod() test cases #89](https://github.com/holiman/uint256/pull/89).

* The test `TestRandomMulMod` is running forever what indicates there may be also bug in `MulMod()`.

* @holiman, the CI testing does not run for external PR, this should be enabled.

Some remaining tasks for this PR:
* Rebase on top of latest master (benchmarks are now in `master`)

* Move the caching implementation so it's not part of `reciprocal`

* Look into the test failures which @chfast reported

All of this is resolved with my latest force-push.
I left out the patch reworking the cache, as this can lead to cache thrashing by moduli mapping to the same way of a cache set

That should hopefully be my final force-push, making a clean baseline for benchmarks in #93
Here are the key benchstat results comparing old and new operations using the new benchmarks:
Ryzen 5 3600, 3.6 GHz Zen2:
AddMod/mod256/uint256-12    34.2ns ± 0%    22.2ns ± 0%  -35.10%  (p=0.000 n=10+10)
MulMod/mod256/uint256-12     136ns ± 0%      72ns ± 1%  -47.04%  (p=0.000 n=9+10)
Raspberry Pi 4, 1.5 GHz Cortex-A72:
AddMod/mod256/uint256-4     147ns ± 0%      89ns ± 0%  -39.63%  (p=0.008 n=5+5)
MulMod/mod256/uint256-4     579ns ± 0%     459ns ± 0%  -20.74%  (p=0.008 n=5+5)

The latest commit (48c380f) is bad

My latest force-push was rebased on the latest master with #93 , skipping the already-applied commits. It should all work now.
Regarding gofmt, please don't apply it to mod.go, as it will reduce readability and maintainability of the code. If you have specific requests about following Go style more closely, I will happily make the changes wherever it does not reduce readability significantly. It's great to have a tool help with maintaining at least a minimum standard of readability, but keeping this code readable requires more than gofmt provides.

I added a fuzzer for this. cc @chfast -- if you're inclined to, you're very welcome to configure the mulmod fuzzer to run on CI ( go-fuzz -func Fuzz3Args). Otherwise I can take a peek at it later.

Regarding gofmt, please don't apply it to mod.go, as it will reduce readability and maintainability of the code

I'm not sure about this. But if we do this, for selected methods, then they should be commented like this, so we can still run go format on the repo as a whole:
//nolint
func foo(){
...
}

Ok, I will configure CI fuzzing later. On the subject I think we also need some fuzzing or at least a "random" unit test for AddMod.

Some paths in mod.go are not covered by any test, even RandomMulMod (fuzzing is very ineffective to big int). You can see the coverage at https://app.codecov.io/gh/holiman/uint256/compare/86/tree/mod.go. Unit tests for these cases should be added.

I ported AddMod implementation to intx (C++) and this works nicely although I will use branchless version even if less performant.
For the MulMod I will also try it some day, but I cannot say much about this implementation right now. But I recently started thinking about the "mu cache" embedded in the MulMod directly. If this is for specific use-case outside of EVM, can you consider different API design?

MulMod() should not use cache, it may use reciprocal-base implementation if faster.
Reciprocal() should be separate public function.
MulModWithReciprocal() should take additional mu argument coming from Reciprocal().

I'm assuming the verkle-tree use case always uses the same reciprocal so cache is not needed.

I removed the fuzzer again, let's do that as a separate PR

But if we do this, for selected methods, then they should be commented like this, so we can still run go format on the repo as a whole

Actually, that doesn't seem to work

I'm leaning towards formatting everything.
https://go.dev/blog/gofmt:

Gofmt’d code is:

easier to write: never worry about minor formatting concerns while hacking away,
easier to read: when all code looks the same you need not mentally convert others' formatting style into something you can understand.
easier to maintain: mechanical changes to the source don’t cause unrelated changes to the file’s formatting; diffs show only the real changes.
uncontroversial: never have a debate about spacing or brace position ever again!

I think it's The Right Thing. If you think it makes certain things less readable, perhaps it can be rewritten using methods (which can be inlined later on) or scopes (just enclose snippets in brackets).

I'm leaning towards formatting everything.
https://go.dev/blog/gofmt:

Gofmt’d code is:

easier to write: never worry about minor formatting concerns while hacking away,
easier to read: when all code looks the same you need not mentally convert others' formatting style into something you can understand.
easier to maintain: mechanical changes to the source don’t cause unrelated changes to the file’s formatting; diffs show only the real changes.
uncontroversial: never have a debate about spacing or brace position ever again!

I think it's The Right Thing. If you think it makes certain things less readable, perhaps it can be rewritten using methods (which can be inlined later on) or scopes (just enclose snippets in brackets).

I had read that article already, and respectfully both agree and disagree - gofmt'd code is indeed easier to write, read and maintain than a random collection of different style choices. However, for the particular case of mod.go, I would argue that purely gofmt styled code is actually:

harder to write
harder to read, and
harder to maintain.

Gofmt lengthens functions by insisting on only one statement per line, violating the principle of keeping functions reasonably short. This code also has examples where the standardised brace position of gofmt reduces readability. Additionally, according to that same article, 30% of "Go packages in the wild" are not "formatted according to gofmt’s rules." So gofmt can be somewhat controversial too.
Unfortunately, using methods and/or scopes here is not likely to be very helpful, as each chunk of code is still going to lose its readability when gofmt'd.
Regarding The Right Thing, I'm inclined to agree with this quote from Google's C++ style guide: "As always, common sense and good taste should prevail." The guidelines for how to write code in a consistent style are very useful, but they are not strict rules that must be followed at all cost.
I also agree with the same style guide when it says to "Optimize for the reader, not the writer."
The gofmt'd version of mod.go is like looking through thick fog, and it would have been a nightmare to debug the code in this format.
When the original and gofmt'd versions of the code are placed side by side, it is much easier to see the structure in the original code, as the repetitions and differences from line to line stand out very clearly.
At the end of the day, I expect most people reading this code will do it to assure themselves that they can safely use it. It might be easier, as writers of the code, to just follow the Go tradition and gofmt the code. But in the long run, future readers will find it more difficult to read the code. My personal preference is to make the readers' task as easy as reasonably possible.

I ported AddMod implementation to intx (C++) and this works nicely although I will use branchless version even if less performant.
For the MulMod I will also try it some day, but I cannot say much about this implementation right now. But I recently started thinking about the "mu cache" embedded in the MulMod directly. If this is for specific use-case outside of EVM, can you consider different API design?
* `MulMod()` should not use cache, it may use reciprocal-base implementation if faster.

* `Reciprocal()` should be separate public function.

* `MulModWithReciprocal()` should take additional `mu` argument coming from `Reciprocal()`.

I'm assuming the verkle-tree use case always uses the same reciprocal so cache is not needed.

A cache is indeed not always needed, but we should not expose too much of the inner workings of the implementation in its external interface. Please have a look at my latest commits, and tell me how you like this approach where users can configure the module with or without a fixed modulus+reciprocal and with or without a regular cache.
I also added tests to increase the code coverage, but I don't yet know how to trigger codecov, so maybe you could do that?

but I don't yet know how to trigger codecov, so maybe you could do that?

codecode triggers automatically, however, it updates it's previous comment instead of writing a new one. Link for this PR: https://app.codecov.io/gh/holiman/uint256/compare/86/diff

Regarding this:

I put a panic there, and modified the fuzzer to just generate a number and then call reciprocal, to find some value to trigger it and then add a testcase. Been fuzzing for five minutes, haven't found anything to trigger that path.

Yes and no. It can probably be worked around by hacking the compiler directives, but I think it's not go-idiomatic to do so. Then dependent projects would need to add the specific build-tag to their pipeline, which is pretty messy. I think it's better to use a dynamically allocated cache. We could provide the primitives for that without exposing the internals, just the public methods (which, for cache, can be none at all). Then we could either have it be a "user choose size" or just a boolean, cache or no cache. Performance-wise, I'm not sure it has to have a significant impact. If the cache type is internal, and we use non-public methods, then the compiler should still be able to inline the calls.

I pushed an alternative implementation of the cache, making it so the caller first creates a cache (which can be a global var on the caller side), and then supplies it in the call to mulmod.
For the big mulmods, I see no regression, but it does add a little overhead to the smaller mulmods (for some reason)
name                     old time/op  new time/op  delta
MulMod/small/uint256-6   33.4ns ± 4%  41.2ns ± 8%  +23.52%  (p=0.008 n=5+5)
MulMod/mod64/uint256-6   75.9ns ± 3%  96.6ns ± 4%  +27.29%  (p=0.008 n=5+5)
MulMod/mod128/uint256-6   112ns ± 1%   140ns ±12%  +25.01%  (p=0.008 n=5+5)
MulMod/mod192/uint256-6   167ns ±22%   156ns ± 1%     ~     (p=0.730 n=5+4)
MulMod/mod256/uint256-6  98.3ns ±13%  97.3ns ±10%     ~     (p=0.548 n=5+5)

Those tests are with cache

Regarding the formatting. We need to format this, for maintenance reasons. Otherwise it'll just happen by accident some time in the future, when some other committer wants to modify some detail somewhere. Since it's not possibly to simply denote a block of code as "don't format", we'll just have to do the entire file. Sorry :(

Moved the cache to a separate file, and un-exported the type. The latter change improved the figures a bit:
name                     old time/op  new time/op  delta
MulMod/small/uint256-6   33.4ns ± 4%  37.5ns ± 8%  +12.46%  (p=0.008 n=5+5)
MulMod/mod64/uint256-6   75.9ns ± 3%  85.2ns ± 5%  +12.28%  (p=0.008 n=5+5)
MulMod/mod128/uint256-6   112ns ± 1%   127ns ± 5%  +13.48%  (p=0.008 n=5+5)
MulMod/mod192/uint256-6   167ns ±22%   154ns ± 0%     ~     (p=0.690 n=5+5)
MulMod/mod256/uint256-6  98.3ns ±13%  93.8ns ±11%     ~     (p=0.095 n=5+5)

(global cache versus caller-provided cache)

Even without the cache, I still see a speed up:
name                     old time/op  new time/op  delta
MulMod/small/uint256-6   32.0ns ± 1%  32.4ns ± 4%     ~     (p=0.064 n=8+10)
MulMod/mod64/uint256-6   74.3ns ± 1%  75.7ns ± 1%   +1.87%  (p=0.000 n=8+9)
MulMod/mod128/uint256-6   122ns ± 2%   121ns ± 3%     ~     (p=0.092 n=9+8)
MulMod/mod192/uint256-6   149ns ± 4%   148ns ± 0%     ~     (p=0.813 n=9+9)
MulMod/mod256/uint256-6   187ns ± 5%   160ns ± 9%  -14.26%  (p=0.000 n=9+10)
MulMod/small/big-6       61.3ns ±17%  57.2ns ± 1%     ~     (p=0.780 n=10+9)
MulMod/mod64/big-6        112ns ± 9%   113ns ± 6%     ~     (p=0.725 n=10+10)
MulMod/mod128/big-6       365ns ± 7%   357ns ± 2%     ~     (p=0.182 n=10+9)
MulMod/mod192/big-6       408ns ± 1%   416ns ± 6%     ~     (p=0.779 n=9+9)
MulMod/mod256/big-6       473ns ± 4%   485ns ± 6%     ~     (p=0.280 n=10+10)

And also for addmod:
[user@work uint256]$ benchstat addmod_before.txt addmod_after.txt
name                     old time/op  new time/op  delta
AddMod/small/uint256-6   12.0ns ± 2%  12.2ns ± 2%   +1.65%  (p=0.016 n=10+9)
AddMod/mod64/uint256-6   19.3ns ± 3%  19.4ns ± 0%     ~     (p=0.055 n=9+8)
AddMod/mod128/uint256-6  43.3ns ± 2%  42.0ns ± 6%     ~     (p=0.661 n=9+10)
AddMod/mod192/uint256-6  46.6ns ± 1%  46.9ns ± 1%   +0.59%  (p=0.023 n=9+9)
AddMod/mod256/uint256-6  49.8ns ± 1%  19.8ns ± 4%  -60.19%  (p=0.000 n=9+10)
AddMod/small/big-6       44.7ns ± 1%  43.4ns ± 1%   -2.92%  (p=0.000 n=9+9)
AddMod/mod64/big-6       54.8ns ± 1%  53.6ns ± 1%   -2.14%  (p=0.000 n=9+9)
AddMod/mod128/big-6       143ns ± 3%   141ns ± 1%   -1.87%  (p=0.001 n=10+9)
AddMod/mod192/big-6       144ns ± 2%   143ns ± 2%     ~     (p=0.305 n=10+9)
AddMod/mod256/big-6       144ns ± 1%   143ns ± 1%     ~     (p=0.868 n=9+8)


Proposal RFC: Jib Core as a library for Java

For #337
Preview at: https://github.com/GoogleContainerTools/jib/blob/jib-core-proposal/proposals/jib_core_library.md
Note that the proposed API is currently in implementation.

Thought about the TargetImage types more and we should probably have SourceImage as well with the initial implementing class be RegistryImage. Jib#from would also need to take a RegistryImage in order to specify credentials for the base image.

Merged, but final API may be subject to change.


Doesn't work on macOS High Sierra

Hello,
This gem no longer works on macOS High Sierra.
I noticed it is only compatible with systems that support fork(2) and High Sierra does change how fork() works on syscall level.

the problem is:
== Shotgun/WEBrick on http://<IP_ADDRESS>:8999/
objc[89654]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.
objc[89654]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
[2017-10-04 13:36:39] ERROR EOFError: end of file reached

Well i know this will probably never get fixed, but for reference if any of the forks wish to solve it, i found this article explaining the problem:
https://blog.phusion.nl/2017/10/13/why-ruby-app-servers-break-on-macos-high-sierra-and-what-can-be-done-about-it/

this fixed it https://github.com/rtomayko/shotgun/issues/69#issuecomment-338401331

Well, this is helpful as well in the Beta of Mac OS Mojave. Thank you.
// ♥ objc[3502]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.
objc[3502]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.

worked for me after upgrading to Mojave. Thank you <3

For anyone coming here that upgrades to Mojave and exports the env variable and it still doesn't work, please please please run xcode-select --install and then make sure to open the Xcode app as it will ask you to install some additional components to get it running. Then restart your mac and it should be gucci.

Hi,
Thanks to all of you found this useful :-) and to add to Lucas keep an up to date software

For people still having this issue in Mojave, try upgrading ruby to a version >= 2.4.4 in the Gemfile and run bundle install

Worked for me after installing passenger:
1.
brew install passenger

export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES


Debian

Would you mind to add Debian to https://docs.openebs.io/docs/next/prerequisites.html ?
I am not sure, why open-iscsi is needed on the host at all. Ain't this iscsi stuff supposed to happen in the containers? All you would need is the iscsi-tcp module.

Would you mind to add Debian to https://docs.openebs.io/docs/next/prerequisites.html ?

@harridu the installation  steps will be similar to Ubuntu.

am not sure, why open-iscsi is needed on the host at all. Ain't this iscsi stuff supposed to happen in the containers? All you would need is the iscsi-tcp module.

I think you are using rancher based k8s cluster, where kubelet runs inside the container. Rancher suggest to install the iscsi in hosts instead of inside the container and bind mount inside the container, you can read more about here https://github.com/openebs/cstor-operators/blob/master/docs/troubleshooting/rancher_prerequisite.md

Where do I have to look for error messages indicating that the bind mounts are missing?

if ISCSI installation is missing (or missed to bind mount) the application pod will struck in container creating state , complaining about iscsi bin is missing .

There are no pods stuck in "creating", even though there are no bind mounts. ???

Sample:
% cat <<EOF | kubectl apply -f -
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: cstor-pvc-sample1
spec:
  storageClassName: sc-repl1-pool2
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
EOF
persistentvolumeclaim/cstor-pvc-sample1 created
% cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  namespace: default
spec:
  containers:
  - name: test-pod
    image: nginx:stable-alpine
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: volv
      mountPath: /data
    ports:
    - containerPort: 8080
  volumes:
  - name: volv
    persistentVolumeClaim:
      claimName: cstor-pvc-sample1
EOF
% kubectl get pods
NAME       READY   STATUS    RESTARTS   AGE
test-pod   1/1     Running   0          30s

This looks weird:
% kubectl exec test-pod -- sh -c "grep /data /proc/self/mounts"
/dev/sdd /data ext4 rw,relatime,stripe=256 0 0

Doesn't look like an iscsi volume to me.

Apparently Rancher 2.x clusters include iscsi initiator support: https://rancher.com/docs/rancher/v2.x/en/cluster-admin/volumes-and-storage/iscsi-volumes/. In case of incompatibilities between initiator and target on the node these bind mounts should be applied, AFAICS.


WARNING -The test dataset did not contain ligand54 and input/7y9b_A_relax.pdb. We are skipping this complex

How do I solve this problem that seems to be my protein problem?


Bug: AUHostingService (PID 734) and eqMac not responding when installing any 1.7.x version

I've tried a few different 1.7.x releases and get the same issue with all of them (no issues on 1.6.2 or previous). As soon as I install the upgraded version, eqMac will not respond (beach ball over menu bar icon and Not Responding shown in Activity Monitor). Also the process "AUHostingService (PID 734)" shows as Not Responding in Activity Monitor and it's memory usage will be 1GB+.
Only way I've found to fix it is just to uninstall and downgrade to 1.6.2, which is the most recent version that works for me.
Setup information:

Audio device used for playback: Macbook speakers or Focusrite Scarlett 2i2 audio interface to Yamaha HS7 monitors
Audio transmission interface: Macbook speakers or USB-C to audio interface
macOS Version: Ventura 13.2.1 on M1 MBP
eqMac Version: All 1.7.x releases

Any help would be appreciated. Thanks!

AUHostingService is only spawned if you added Extra Effects (AU PlugIns) to the audio chain.
Do you remember adding any specific Effects?

I didn't add any effects, but a while back I did install Blackhole (https://github.com/ExistentialAudio/BlackHole) to be able to record the computer audio while screen recording and I'm wondering if that's the issue. "Blackhole 2ch" and "Multi-Output Device" both show up as output options to choose from in eqMac.
I went to try and uninstall Blackhole to see if that would fix it, but the uninstaller didn't work and when trying to uninstall it manually the program files and driver were not in the directories they were said to be (uninstall instructions: https://github.com/ExistentialAudio/BlackHole/wiki/Uninstallation) so now I'm not even sure what to do.

Just tried updating again to the newest version and I'm still having the same issue. Any ideas?

Hi, since this is quite old I am closing this issue. The service mentioned is only started when there are effects in "Extra Effects". Otherwise it might be some other processes using the service. Please reopen this issue if you are still experiencing this issue.


Margin between img_container is not consistent

Description
In the Hacktoberfest 2022 webpage on mobile screen the y-axis margins between the sponsor images is not consistent causing two images to 'stick together' as one.

This can be fixed by adding extra margins to each of the img_container and make it look like the below images,

Screenshots
No response

Hi, @SauravMukherjee44 Would like to work on this can you please Assign me [HACKTOBERFEST-2022 Participant]

Go for it!
For support join our discord community: https://discord.com/servers/codein-community-831388874118660156


Fixed installation on Node 12

Bumped versions of nan & dbus
Updated deprecated functions in raw-fd.cc

Looks good. Thanks.


Fix few issues with the field validations in the vSphere create form

Fix few issues in vSphere create form regarding fields validations and specifically when switching between endpoint types.
This is a follow up for
https://github.com/kubev2v/forklift-console-plugin/pull/1033 and https://github.com/kubev2v/forklift-console-plugin/pull/1034.
The fix includes:

The initial help text for an empty user, password fields can't be set to an error validation type.
When switching between endpoint types (vCenter <-> ESXi), the fields value should be kept while re-validation of the fields based on the new endpoint type should be done. This was not the case prior to this fix.

Screencasts
Before
Screencast from 2024-03-28 14-38-05.webm
Screencast from 2024-03-28 14-33-33.webm
After
Screencast from 2024-03-28 14-52-20.webm
Screencast from 2024-03-28 14-54-24.webm

Those changes are all related and done for supporting the flow of switching between endpoint types for the vShpere provider while persisting the field values and keep showing valid field validation state and help text messages per each endpoint type.
Without those changes in this PR,  switching between endpoint types will show invalid help text and validation states. That is why I collected those changes in one PR.
d - this is required for switching endpoint types while keeping field values validations between rendering of one type to another and not resetting to hard coded validation state in every switch.
c- once switching, validate a base64 value will result with an invalid validation state
a+b - since there is no hardcoded default init state anymore, need to choose empty value fields as a default validation state to avoid displaying warning/errors once displaying an initial create provider form.

Ref: https://github.com/kubev2v/forklift-console-plugin/issues/1060


[Fixed]Added Extra Resources to Linux Section #464

I added some extra resources and details for the linux section, that might help beginners to

@Broken-Kaddu Please mention your issue here

@Broken-Kaddu please add let me know after complete


Add a Video Installation Guide

Just add it :3

For now there is an easy way to implement the widget, by just adding it as a browser source via the WTP Configurator of mine.


Color settings for selected text (single-click, double-click)

VSCode Version: 1.8.1
OS Version: Windows 7

Is there a way to prevent Visual Studio Code from highlighting editor text when single clicking on it? The difference in highlight color between single clicking and double clicking (to fully select the text) is too subtle for me as I am color blind. I struggle with being able to tell if the word is actually selected for copy/paste operations (for example). A setting to change the colors associated with the click and double click would also be adequate
Thanks

Disregard this request. It turns out that the issue is only with HTML and I think that can be turned off by setting the matching tag setting

Sweet! Glad you've got it figured out! Closing as this appears to be resolved, but let us know if you run into any other issues. Happy coding!


multicluster: Initial commit of ClusterManager interface

Initial version of the ClusterManager interface

@froesef Which issue/design doc does this address? Can you include a link?  Thanks!

@froesef please provide more details in the text of this PR. Specifically, what components will use this interface and for what. We don't have an issue linked to this PR, it seems to address https://github.com/IBM/the-mesh-for-data/issues/144 but also parts being part of https://github.com/IBM/the-mesh-for-data/issues/136


Add publication(s) to README

@ssgpers
Have we used this code in both papers?
https://pubmed.ncbi.nlm.nih.gov/33057197/
https://pubmed.ncbi.nlm.nih.gov/33986394/

Yes, it was used on one workflow step


fix: create folders for SQLite macconn_db

Running edgesec on a real Turris Omnia hub failed, due to the folders to macconn_db not existing.
Because of this, this PR automatically builds the folders to macconn_db, if they do not exist.

Let's keep it open and I will add to it. Because we need to do the same for crypt and capure db. We will also need to add an option in the config.ini to create folders to path.

Bump! I just encountered this issue when testing the edgesec .deb
2022-08-02 09:43:48.963  DEBUG runctl.c:323: Opening the macconn db=/var/lib/edgesec/connection.sqlite
2022-08-02 09:43:48.963  DEBUG sqlite_macconn_writer.c:38: Cannot open database: unable to open database file
2022-08-02 09:43:48.963  ERROR runctl.c:326: open_sqlite_macconn_db fail


Trying to use h5l_create_external

I'm working on a patch to provide a julia API for creating external (soft) links via H5L_create_external. I have a working example, but I'm having a hard time writing a test for it. I create a link from source_file["ext_link"] to target_file["target_group"] then add a few entries to that group. I want to open target_file and check that the entries have the correct values, but I get an error saying "file close degree doesn't match". I'm guessing I want something like "close hard" but I don't know where to look.
I close and restart julia, I can open target_file and see that it has the correct items.
Details below
In plain.jl I replace line 1974 with (I don't think H5L_create_hard_external exists)
     (:h5l_create_external, :H5Lcreate_external, Herr, (Ptr{UInt8}, Ptr{UInt8}, Hid, Ptr{UInt8}, Hid, Hid), (:target_file_name, :target_obj_name, :link_loc_id, :link_name, :lcpl_id, :lapl_id), :(error("Error creating external link ", link_name, " pointing to ", target_obj_name, " in file ", target_file_name))),

Then I run the following
using Base.Test
using HDF5
source_file = h5open(tempname(), "w")
target_file = h5open(tempname(), "w")
# create a group in the target file for the external link to point to
target_group = g_create(target_file, "target_group")
# close the target file (and group), cannot access external link while target file is open
close(target_file)

# h5l_create_external(target_file_name, target_obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
# create the link
HDF5.h5l_create_external(target_file.filename, "target_group", source_file.id, "ext_link", HDF5.H5P_DEFAULT,HDF5.H5P_DEFAULT)

# Now we can use the external link to create a new group inside the
# target group (even though the target file is closed!). The external link
# works just like a soft link.
group = g_create(source_file["ext_link"], "new_group")

# lets write a few things into this group
group["abc"]="abc"
group["1"]=1
group["1.1"]=1.1
close(source_file)

# Now lets check for those item by looking in target_file directly
target_file = h5open(target_file.filename, "r") # error occurs here
group2 = target_file["new_group"]
@test group2["abc"]=="abc"
@test group2["1"]==1
@test group2["1.1"]==1.1

And get this error
julia> target_file = h5open(target_file.filename, "r")
HDF5-DIAG: Error detected in HDF5 (1.8.13) thread 0:
  #000: H5F.c line 1594 in H5Fopen(): unable to open file
    major: File accessibilty
    minor: Unable to open file
  #001: H5F.c line 1414 in H5F_open(): file close degree doesn't match
    major: File accessibilty
    minor: Unable to initialize object
ERROR: Error opening file /var/folders/_0/25kp6h7x25v6vyjv2yjlcnkm000wrm/T/juliaSob70V
 in h5f_open at /Users/user/.julia/v0.4/HDF5/src/plain.jl:2027
 in h5open at /Users/user/.julia/v0.4/HDF5/src/plain.jl:550
 in h5open at /Users/user/.julia/v0.4/HDF5/src/plain.jl:557

When external links are traversed, they are always opened with H5F_CLOSE_WEAK. Somehow it seems that despite closing both source_file and target_file, a reference to target_file still exists with H5F_CLOSE_WEAK. Then I get the error that file close degree doesn't matter when trying to open target_file because h5open always uses H5F_CLOSE_STRONG.
That said, I still think this may represent a weakness in HDF5.jl because following the same procedure with h5py seems to work fine. As far as I can tell h5py also uses H5F_CLOSE_STRONG by default.
import h5py
import os

source_file = h5py.File(os.tmpnam(),"w")
target_file = h5py.File(os.tmpnam(),"w")
tfname = target_file.filename
target_group = target_file.require_group("target_group")
target_file.close()

source_file["ext_link"] = h5py.ExternalLink(tfname, "target_group")
group = source_file.require_group("ext_link/new_group")
group["abc"]="abc"
group["1"]=1
group["1.1"]=1.1
source_file.close()

target_file = h5py.File(tfname,"r")

assert(target_file["target_group"]["new_group"]["abc"].value == "abc")
assert(target_file["target_group"]["new_group"]["1"].value == 1)
assert(target_file["target_group"]["new_group"]["1.1"].value == 1.1)

h5py's close function is a bit more involves than HDF5.jl's. It is pasted below, the (license is BSD)[https://github.com/h5py/h5py/blob/master/licenses/license.txt], so I think there is no problem with me pasting it here
    def close(self):
        """ Close the file.  All open objects become invalid """
        with phil:
            # We have to explicitly murder all open objects related to the file

            # Close file-resident objects first, then the files.
            # Otherwise we get errors in MPI mode.
            id_list = h5f.get_obj_ids(self.id, ~h5f.OBJ_FILE)
            file_list = h5f.get_obj_ids(self.id, h5f.OBJ_FILE)

            id_list = [x for x in id_list if h5i.get_file_id(x).id == self.id.id]
            file_list = [x for x in file_list if h5i.get_file_id(x).id == self.id.id]

            for id_ in id_list:
                while id_.valid:
                    h5i.dec_ref(id_)

            for id_ in file_list:
                while id_.valid:
                    h5i.dec_ref(id_)

            self.id.close()

Link to docs noting use of H5F_CLOSE_WEAK: https://www.hdfgroup.org/HDF5/doc/RM/RM_H5L.html#Link-CreateExternal


No such set -f.

It should be set -g.
Here:
https://github.com/tmux-plugins/tmux-prefix-highlight/blob/master/README.md#configurations

Thanks @jiegec


feat(dal): retry dependent values update jobs on conflict

Adds retry logic to the job consumer. Jobs can request retry and specify a retry policy (immediate, or exponential backoff), as well as the retry limit. Uses this to make the DependentValuesUpdate job retry on conflict.

bors r+


feat: @opensdks/cli for simplified SDK Generation

Description:
We are planning to develop a new CLI tool, tentatively named @opensdks/cli, to streamline the process of generating SDKs from OpenAPI specifications. This tool will be an npm package and can be invoked using npx opensdks gen .... The idea is to follow the usability patterns of similar tools like openapi-typescript cli and create-next-app@latest.
Key Features and Workflow:

Input and Output:

The CLI will accept the URL of an OpenAPI specification as input.
The output will be a complete package that users can submit as a PR to our repository or use locally.

User Interaction:

The tool will provide an interactive interface - similar to npx create-next-app@latest, where users can input information as required during the generation process.
Alternatively, users can pass options directly in the CLI command for a non-interactive experience.

Ease of Use:

The aim is to make the SDK generation process as simple as possible, ideally boiling it down to a one-liner command.
Example usage: npx @opensdks/cli $OPENAPI_URL sdk-custom.

Merging other tasks in here

[Tools] Cli building on top of openapi-typescript to add additional functionality (extract server constant, export *, etc.)


Improve security by enabling DH to use PFS

The current script does configure "dh none".
By creating a DH file:
openssl dhparam -out dh2048.pem -2 2048
and setting dh to this file, will enable PFS on the VPN.

Im sorry, i used the script here:
https://github.com/Angristan/OpenVPN-install/blob/openvpn-2.4-update/openvpn-install.sh
Also configured ECDH certificates.

Yes, if an ECDH key is chosen, we add ecdh-curve in the config and the dh parameter is set to none.


tests: Fix expected text comparison

When running make test there is text comparison that doesn't match:
• Failure [0.000 seconds]
Client
/home/vkareh/go/src/github.com/openshift/moactl/pkg/aws/client_test.go:15
  EnsureOsdCcsAdminUser
  /home/vkareh/go/src/github.com/openshift/moactl/pkg/aws/client_test.go:41
    When the cloudformation stack already exists
    /home/vkareh/go/src/github.com/openshift/moactl/pkg/aws/client_test.go:49
      When stack is in ROLLBACK_COMPLETE state
      /home/vkareh/go/src/github.com/openshift/moactl/pkg/aws/client_test.go:87
        Returns error telling the stack is in an invalid state [It]
        /home/vkareh/go/src/github.com/openshift/moactl/pkg/aws/client_test.go:92

        Expected
            <string>: Error creating user: Cloudformation stack fake-stack existing with status ROLLBACK_COMPLETE.Expected status is CREATE_COMPLETE.
            Ensure user osdCcsAdmin does not exist, then retry with
            moactl init --delete-stack; moactl init
        to contain substring
            <string>: existing with status ROLLBACK_COMPLETE.Expected status CREATE_COMPLETE

        /home/vkareh/go/src/github.com/openshift/moactl/pkg/aws/client_test.go:97

/retest


agent software update module needs to handle files in the Cumulocity software repo

Some customers want to be able to host library and deb package upgrades in Cumulocity directly, including new versions of the agent, and install from there.  Currently it doesn't provide any mechanism to do so, and specifying the file or path in Cumulocity is ignored by the agent in lieu of the devices own source list.  This is a critical need for at least 2 customers at the moment.

I guess @switschel will comment here as well but for my understanding the agent implementation provided here is not for productive usage.
Its basically for knowledge transfer, PoC´s and Demo purposes. For a productive usage on customer side I would recommend the thin-edge.io framework since this is officially provided and supported by R&D. I know that they are currently discussing the self-update mechanisms.

@mbay-SAG Yep, I had a chat with Jan last week. You're totally right about production usage but still this might be a feature someone wants to demo/try so I decided to implement that (maybe in a different branch) or with the logic if the url contains "*.deb" that it will install the software from the url instead from APT.
Do you know if the "software type" property is already available in operations like the thin edge is planning to use it?

Ok agree, same would basically be true for the self-update I guess.
Currently thin-edge.io uses identifiers within the version with "::apt" oder "::docker" to identify the software type.  But the advanced software management, where the software type is included, is already in implementation from what I know. But I have no information about a release version.

@janhumble Can you give this branch a try: https://github.com/SoftwareAG/cumulocity-devicemanagement-agent/tree/binary_software_updates?
It allows to install files which can be installed using dpkg. c8ydm must be run as root to do so.
Btw. I had a hard way testing it because most deb files have dependencies which are not resolved this way.
Self-Update is not yet implemented as it is more complicated to restart the agent etc.


Scales the base_image in plot overlay

Now scales the base image for plot overlay (request from Benyamine). Could probably have been done externally as well, but I see no real reason for why it is not included here.

Im merging this now so that Benyamine can create more dragons with ease.


New release

Could you generate a new release with the changes that exists only in master? #9 is needed for the client to work.

Absolutely, I've tagged a new version.


Rebuild widgets to grid

Remake double, triple, transparent widgets to grid css.
Fix transparent widget sticker / header markup

We need to support IE11, so it's too early to move flex with grid


⚠ Samsung has degraded performance

In eef2c25, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2345 ms

Resolved: Samsung performance has improved in ade0f90.


[BugFix] should respect the session variables that have been set previously

Why I'm doing:

When a user runs 'execute as', we should respect the session variables that have been set previously and not overwrite them with the user's properties.
can not reset user's database property.

What I'm doing:
Fixes #issue
What type of PR is this:

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

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

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

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

[ ] This is a backport pr

Bugfix cherry-pick branch check:

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

[ ] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

Documentation PRs only:
If you are submitting a PR that adds or changes English documentation and have not
included Chinese documentation, then you can check the box to request GPT to translate the
English doc to Chinese. Please ensure to uncheck the Do not translate box if translation is needed.
The workflow will generate a new PR with the Chinese translation after this PR is merged.

[ ] Yes, translate English markdown files with GPT
[x] Do not translate

@mergify backport 3.3

@mergify backport branch-3.3


Disable acking a nats message when no reply is available. Closes #989

I think this fixes the issue with nats complains referred at #989.
Take a look and let me know if anything else is needed.

Thanks @mariosant but I've opted for a slightly different approach: https://github.com/Jeffail/benthos/commit/48c1c5b222e80939dec92ff24ac3920c28f63986, my worry here was that I want to let the library determine whether it's possible to ack, so instead I'm just surpressing the error we aren't bothered about.


Switching scene tabs duplicates nodes in the scene and eventually also leads to an editor crash.

Tested versions

Reproducible: 4.3dev master[99ff024f78f65ba0bc54fb409cfeca43ba2008fe]
Not reproducible: 4.3 dev5

System information
Windows 11 - Vulkan - Nvidia RTX 4070 - intel i5 13600KF
Issue description
When switching scene tabs while running the project some nodes in the scene tree get duplicated and stay in, eventually leading to a crash after couple times of repeating.
Video: https://youtu.be/11MNyMQJlh0
Steps to reproduce

Open the MRP.
Open the Test.tscn to have two tabs (main and test).
Go to main and press save and reload the project (this step is just in case, might not be necessary).
Play the project and keep the play window somewhere (doesn't matter).
In the editor switch from main to test tab and then back to the main tab.
Observe some nodes got duplicated.
(7. Repeat this proces to duplicate more - you might need to always press the stop and play buttons for every duplication - and observe after couple duplications the editor hard crashes)

Minimal reproduction project (MRP)
Mrp.zip
EDIT(@lyuma + @Illauriel): simpler MRP and repro steps:
Another MRP: node-dupe-bug.zip
Steps to reproduce:

Open node3d.tscn.
Open the nested scene.
Save the nested scene
Return to the original node3d.tscn. it will contain duplicate nodes.

The reason play duplicates nodes is because the play button saves all scenes. Therefore saving is sufficient.

Can confirm will try bisect in a bit

Regression from:

https://github.com/godotengine/godot/pull/89447

Unsure if this caused it or just exposed an existing issue that didn't fire without this
CC @ajreckof @KoBeWi

At a glance I suspect the issue is that the change in timing means the scene editor adds a preview environment or similar incorrectly and then doesn't restore it, could be related to incorrectly not checking ownership as well

You don't need to play the project. Just save the instance scene and go back to the parent scene. This causes reloading the scene (to update the instance) and leads to the mentioned bug.
After enough repeats, I got the editor to freeze while spamming Object was deleted while awaiting a callback. in the console.

In my own project (not the MRP) it duplicates several nodes as seen here (check the Time label is the only one without @ in the name but it was also duplicated).

Well the crash seems specific to your scene. The bug is that nodes get duplicated, but depending on nodes, the end result might be different.

It's due to an incorrect deletion sequence in the PR, writing a fix right now:
https://github.com/godotengine/godot/blob/2850ce2a15cfc9fdbb0efd69411c0ad7601b6f11/editor/editor_data.cpp#L725-L727

Indeed, this should go from last to first.
But this approach feels hacky in the first place, maybe we could add a bool to replace_by to not copy child nodes?

@Illauriel and I confirmed a bisect of #89447
Another MRP: node-dupe-bug.zip
Steps to reproduce:

Open node3d.tscn.
Open the nested scene.
Save the nested scene
Return to the original node3d.tscn. it will contain duplicate nodes.

I also had a suspicion that an internal node somewhere could cause an issue: I recall from debugging a different issue that the core function Node::replace_by may be buggy in the presence of internal nodes (off-by-n error), since it does not properly check indexing, so seeing replace_by in the regression PR is setting off that alarm bell as well.
From my notes about replace_by:
All nodes have to be added and moved to the same index, one by one. This might make files with thousands of nodes slow.
Calling replace_by on an internal node will malfunction because it does not preserve the internal_node in the add_child call
I do think there's a core bug in that replace_by is incorrect for internal nodes

I should try and repro + file the bug about replace_by, since it's probably a separate issue, but wanted to bring it up anyway just in case.

Moving a GDScript from one folder to another also reproduced this bug for me.

It seems that it will appear as long as you save the sub-scene and switch to the main scene.
Nodes will be duplicated only when the nodes meet the following conditions:

Is a direct non-internal child node of the main scene root;
The node index is an even number.


Support passing data from controller to Breadcrumbs::current()

Please provide support for passing data from a Laravel controller to Breadcrumbs::current() in a Blade template, as Breadcrumbs::render() from project https://github.com/davejamesmiller/laravel-breadcrumbs does. It will allow one to avoid calling the same Eloquent model or HTTP request twice (once in controller, and once in route's breadcrumbs() definition).

Hi @lbssousa!
I added expect arguments to the Breadcrumbs::current() method.
Now you can pass there your own variables from the controller:
Route::get('breadcrumbs', function () {
    return Breadcrumbs::current(['value 1', 'value 2', 'value 3'])->toJson();
})
    ->breadcrumbs(function (Trail $trail, $value, $value2, $value3) {
        return $trail
            ->push('Arguments', $value)
            ->push('Arguments2', $value2)
            ->push('Arguments3', $value3);
    });

It worked perfectly for me! Thanks!


feat: add/remove repos to/from insights.

What type of PR is this? (check all applicable)

[x] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description
This PR will allow users to add or remove repos on GitHub to/from insights on OpenSauced.
It adds a dropdown select menu similar to GitHub's list menu without sacrificing our look and feel.
Related Tickets & Documents
#13
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

@diivi, this looks great!! Can the dropdown arrow be a little bigger?

I was able to get the two buttons to show by click on the other dropdowns for "watching" and "forks"

Can we move the title to align left like the other dropdowns as well as add an X to close the dropdown.

I copied GitHub's classes, @bdougie can you check now?

I could not reproduce your issue with the duplicate buttons though, can you tell me the steps you took to get that?


Scannet validation set

Hi, thanks for sharing your work.
I tried to use the ScanNet pretrained model to obtain the validation set mIoU score but the network gives poor result.
I generated the HHA image from the raw depth (following https://github.com/charlesCXK/Depth2HHA-python) and use the images at a resolution of 640x480.
Did i miss something there ?
Thanks for your answer

Hi, thanks for your answer.
I used directly the code you provide and update only on the config file (ie. data path, image size) using the configuration provided in your paper for the ScanNet dataset. Can you provide the config file used for this task to check on my side if anything went wrong ?
Looking at the HHA images, it look like the same provided in your paper, but i want to know if you first inpaint the depth to fill the empty value or if you directly use the raw depth.
Thanks.


ci: use "push.tags" webhook event

Makes the workflow added in https://github.com/foundry-rs/forge-std/pull/366 more robust by using the push webhook event instead of release, which doesn't work with releases made by other GitHub Actions workflows.
For more information, see https://github.com/anton-yurchenko/git-release/discussions/100.

Is the push event fired when the release+tag is created from the GitHub UI? In that case I never pushed from my machine to the origin, so I don't know if this will trigger. From the docs it's not clear to me

No, it is not fired when you create a GitHub release via the GitHub UI.
https://docs.github.com/en/webhooks-and-events/webhooks/webhook-events-and-payloads#push
In this case, I think it would be best to keep it as is, but FYI the workflow will stop working once Forge Std moves to an automated way of generating the releases themselves.


[HW] Piotr Wlazeł

Name: Piotr Wlazeł
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/piotr-wlazeł-896202128/
Attach the homework screenshots below for both step II and step III:
workshop

data modeling with cassandra

cql - cassandra

Looks great Piotr, thank you. Here you go -> https://api.badgr.io/public/assertions/EWYMcFS1TkSEx_x5q81wZQ?identity__email=pancu1222%40gmail.com


[mp] aws ecs docs & architecture diagram

Summary
This creates a page with an architecture diagram and walkthrough of our AWS ECS deployment.
Tests
Mintlify, local.
cc:

What's "local-auth.png" for?

What's "local-auth.png" for?

This was a broken link from another doc that I noticed— shows where to look for a key when authenticating.


TensorRT Dynamic shape

Hi, thanks for your advanced repository. I want to export the D-FINE model to TensorRT with dynamic batch size, but I encountered an error. Have you tried exporting to dynamic batch size, and how can I do it?

Sorry😢I haven't tried it yet. I'll try in the near future. You can post the error message to see if anyone can help you.


SASS-5874: Creation of endpoints for the get and set of persistent user answers

Also contains files added from PR https://github.com/hmrc/income-tax-self-employment/pull/10 due to dependency on the repository.

Note - I am happy for a suggestion of a better name for the model we are storing the CYA answers against. Here it was recommended we use PersistedUserAnswers, but maybe there is a name more indicative that these stem from a CYA submission.


Conflicting IRIs for OMIM identifiers

Our scigraph data graph has two iri patterns for OMIM identifiers,
Purl version:
https://scigraph-data-dev.monarchinitiative.org/scigraph/graph/neighbors.png?id=OBO%3AOMIM_105830&depth=1&blankNodes=false&direction=BOTH&entail=false
OMIM version:
https://scigraph-data-dev.monarchinitiative.org/scigraph/graph/neighbors.png?id=OMIM:105830&depth=1&blankNodes=false&direction=BOTH&entail=false&relationshipType=RO:0002200
The consequence is that the mondo graph is not connected to the dipper a-box graph.  This means we're missing closures, not categorizing the ids as diseases, and not clique merging.
Potential paths forward:

Change dipper iris back to purls
Convert omim ids to purls before they are ingested by scigraph
Change mondo omim IRIs

This is a blocker for releasing our db.

@kshefchek  Let's talk this coming week so I can understand how I can help. I'm not that familiar with the other pieces of this issue.

To distill it down, we want to make sure we are using the exact same IRIs in dipper and MONDO, essentially:
In dipper we're currently using
OMIM:
http://omim.org/entry/1234
OMIMPS:
http://www.omim.org/phenotypicSeries/PS1234
As is stands, MONDO uses
http://purl.obolibrary.org/obo/OMIM_1234
for skosExactMatch: "http://identifiers.org/omim/1234"
OMIMPS:
http://purl.obolibrary.org/obo/OMIMPS_1234
We have a terrible hack to normalize the IRIs after building monarch.owl.

@kshefchek is this still an issue?


[SDK-252] Add personal avatar loading in quick start

SDK-252
Description

Added loading personal avatar in runtime for quick start

How to Test

Run quick start

Checklist

[ ] Tests written or updated for the changes.
[ ] Documentation is updated.
[ ] Changelog is updated.

UI looks really nice and seems to work fine. One thing, that's not a blocker but in future, we could potentially disable character movement input when the loader panel is up. It might seem annoying to some that the camera moves or character moves if you try typing into the input field or moving mouse around.

I agree will try to do it in my current analytics ticket.


Implement Fiber?

Go's fiber example

I think it's too early to discuss this feature, I'll close it and open a new one when needed.


Services no longer works ?

Did GitHub block this service with a new policy update? it seems so, the web page gives these errors when trying to download anything:
'http://kinolien.github.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
It's a shame, this was more convenient than just downloading the entire repository.

Works fine. Tested twice.
Just follow https://github.com/KinoLien/gitzip/blob/gh-pages/get-token-step.md

Copy and paste the token.
Then paste your target Github URL. for ex- https://github.com/KinoLien/gitzip/tree/master/js

You can get the CORS policy messages if you use your Github PA token. It's a common point of confusion, so please don't skip this app. The link to steps could be made more prominent on the page https://kinolien.github.io/gitzip/.
You need to generate one for GitZip app using the steps specified.
Once generated you can manage token in 'Authorized OAuth Apps' in Github settings-> Applications.
thanks. have a nice day. keep up the great work. 👏
ret394

Thank you all for the follow up, it works now!


Upload full alpha dataset to hugging face dataset

Now we have determined Hugging face is a great place to host our data. There are few things we need to do:

[ ] Create an organizational Hugging face account
[ ] FIgure out the dataset structure (write a config)
[ ] Upload newly generated data to the dataset
[ ] Point setup.py script to download data from the dataset

@RobotPsychologist If you can create an account, that would be great. Maybe invite me as a maintainer too. Thanks!


Rtos porting

Quality Assurance Checklist
To make reviews more efficient, please make sure the software feature meets the following standards and check everything off that meets the quality check. Once everything has been checked, the assigned reviewers will begin the review process. Edit this description to check off the list.
There are exceptions with all guidelines. As long as your decisions are justified, then you are good! Contact the reviewers or the leads about any exceptions.
Requirements

[ ] Followed Coding Style Guide
[ ] Code Build checks pass
[ ] No merge conflicts
[ ] Software feature has test associated with it.
[ ] Software feature has documentation for it updated.
[ ] Test provides useful information and uses relevant data to accurately represent BPS

NOTE: If test file already exists, use that one

[ ] 2 Members of the team have already reviewed my PR

NOTE: Approver will not look at PR if 2 other members haven't reviewed first

[ ] Did you Have Fun?

Things to Consider

[ ] Even if the above are checked, is this the best way of writing my code?

It's possible to write code that works, but are there ways to make code more efficient?

When reviewing this PR, try looking for bugs that were already in the code as well (for example deadlocks, etc.). When reviewing massive PRs like this one, I heavily rely on the diff feature of GitHub to first see what functionality was changed from before, whether it was necessary, whether the proper error checking has been done, etc.


lightly-qt: init at 0.4.1

Motivation for this change
Adds a package for the KDE application style "Lightly". This is the top-rated application style at https://store.kde.org
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

Perhaps I'm missing something, but how does this differ from lightly which was initiated in https://github.com/NixOS/nixpkgs/pull/146774?

doesn't look like you're missing something, though this PR adds a top-level name for the package rather than burying it in plasma5Packages.thirdParty. :thinking:

This should probably be an alias.


SQL Automatic tuning

I would like to know if automatic tuning can be applied on a running application

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 100228be-3a7f-ca84-3fe4-f3e537b27030
Version Independent ID: 73602e3b-9ecb-05cf-ec63-e89ca1f78218
Content: Performance recommendations - Azure SQL Database
Content Source: articles/sql-database/sql-database-advisor.md
Service: sql-database
GitHub Login: @stevestein
Microsoft Alias: sstein

@as19444 Thanks for the question. We are actively investigating and will get back to you soon.

@as19444 Yes, Automatic tuning can be enabled at the server or the database level anytime without causing downtime.

@as19444 We will now proceed to close this thread. If there are further questions regarding this matter, please open a new issue and we will gladly continue the discussion.


Show to Asia sorting logic

@lam3lka for now we have only sorting by distance, here https://github.com/michalmikolajczyk/viking-garage-api/blob/master/src/services/offer/getAll.ts#L41

@jonzee please double check if the reference would be readable to people who are not JavaScript natives


RunLocally has a operand issue for env

Q
A

Issue Type
Bug

Deployer Version
6.0.0

Local Machine OS
Mac

Remote Machine OS
Ubuntu16

Description
A merge in runLocally function is perhaps wrong written?
Steps to reproduce

Create a task with a runLocally command.
Call for the task.

Content of deploy.php
task('example', function() {
    runLocally("echo \$PWD");
});

Output log
[Error] Unsupported operand types
and what causes this is src/functions.php row 311:
    $env = get('env', []) + ($options['env'] ?? []);

You can't assign arrays with + in PHP. Or what is intended in this row?

What's your 'env' variable is?

set('env', '/usr/bin/env');

This is incorrect. See https://deployer.org/docs/configuration#env
It must be an array:
set('env', [
    'VARIABLE' => 'value',
]);

Also you CAN merge arrays in php with + – http://php.net/manual/en/language.operators.array.php
Maybe warning will be good here.

Ok, then I have some old v3 settings left in my deploy.php.
I will start using arrays instead.
And great the the operand + is ok to use to merge arrays in PHP.

Take a look at migration guide: https://github.com/deployphp/deployer/blob/master/UPGRADE.md

@antonmedv  Is it fine if I send in a PR for this ?

@abiodunjames what kind of PR? :)

Warn users that env  must be an array and then default to empty array

Actually now it's not possible to do. I'm going to add API in v7 for it:
set('env', [])
    ->validate(function ($value) {});


Event not being saved to Google Calendar with createEvent function on Android

Hi, thanks for making such a great package.
I'm on an Android emulator (Google Pixel 3A) and the default calendar app is Google Calendar. I'm facing an issue where the events that I'm trying to save are not actually being added to Google Calendar. The feature I'm building allows users to select multiple events to be synced to their calendar.
I think the issue is caused by the available calendars in when CapacitorCalendar.listCalendars() is called. I'm only getting the Holidays and Birthdays calendar in the list and both of these calendars are possibly read only. Here is the log of the list
list of calendars [{"id":"1","title":"Holidays in United States","color":"#16A765"},{"id":"2","title":"Birthdays","color":"#92E1C0"}].
Below is the implementation to handle the creation of events. There are no errors thrown except when I try to omit the calendarId.
const response = await Promise.allSettled(
      events.map((event: CalendarEvent) => {
        const eventParams = {
          calendarId,
          title: event.title,
          notes: event.notes,
          startDate: event.startDate,
          endDate: event.endDate,
          isAllDay: false,
          alertOffsetInMinutes: event?.alertOffsetInMinutes ?? [30, 1]
        }

        console.log('eventParams', JSON.stringify(eventParams))
        return CapacitorCalendar.createEvent(eventParams).catch((error) => {
          console.log(
            'error',
            JSON.stringify({
              title: event.title,
              error
            })
          )
          throw {
            title: event.title,
            error: error.message
          } as FailedEvent
        })
      })
    )

    console.log('response', JSON.stringify(response))

capacitor-calendar version: ^6.7.0
@capacitor/core version: ^5.7.3
Do let me know if there is something wrong with my implementation or if you require further information.
Thanks again for such an amazing package!

Hey @scaabel  and thanks. My assumption is that on the emulator you are not signed in with any google account. And thats why listCalendars returns only the birthdays and holidays. These calendars are readonly and therefore cant be manipulated.
Your implementation seems to be correct but to be sure I would try just a basic event only with a title to see if everything works as expected.
What i would try is to login with a google account and the emulator (if you havent already) and to see if you have access to your own calendar and if you can add events to it using the method.
If this still didnt work:

Is the android version of the emulator compatible with the minimum supported version of the plugin?
Are the necessary permissions In your manifest file present? Also did you request write access?

What i can offer is to implement a way to know if a calendar is readonly or not (this is already supported on ios).
I noticed your capacitor core version is 5.x.x but you are using the plugin for version 6.x.x. Doesnt this create issues? My expectation is that these major version of these dependencies should always match.

Hi @ebarooni, thanks for the prompt reply.
I've ensured that the emulator has logged in with a proper google account. I've also tried with the demo app provided and it is not working as expected even with the correct versions.
Yes, permissions were requested. The createEvent function works fine in my iOS app. This only happens in Android devices.

@scaabel I will test this behavior and get back to you here.

@ebarooni thanks, really appreciate it.

Hi @scaabel , i tested the behaviors that you reported. However i was not able to reproduce any! For the tests i used the example app from the repo without any modifications. listCalendars returned all my available calendars and createEvent saved an event to my personal calendar (both android). For listCalendars i request first read access and then i invoked the method. The available calendars on my emulator according to the calendar app itself is the following:

And i received all from the plugin as expected. And for creating an event, first i requested write access and then i invoked the method from the example app.
Can you maybe give me more info on your setup? Which framework? What version? What model is the emulator and which android version?
My emulator is a Pixel 7 Pro with API level 34.

@scaabel And also what do you get when you invoke getDefaultCalendar?

Hi @ebarooni ,
I'm using react/nextjs alongside this package.
Here is my emulator setup:
Pixel 3A, API 34
I've attached a screenshot based on the demo app.
Here are the results of the function invoked rom the bottom to top:

listCalendars
getDefaultCalendar
createEvent

I hope this information helps.

Hi @scaabel,
If you omitted the calendarId and no calendar is marked as IS_PRIMARY, which is indicated by getDefaultCalendar returning an empty object, then this behavior is expected. I recommend always providing a calendarId.

@AhegaHOE his issue is that listCalendars also does not return all available calendars. But now im not so sure why is this happening.

@ebarooni hmm that is odd. I have tested it myself with my personal account and it shows all my calendars... 🤔

@scaabel could you make create a sample project with instructions on how reproduce this? I could also not reproduce it, just like @ebarooni .

@AhegaHOE for the repro, you can try using the demo app provided. I'll try to provide a repro once I'm available.
Do you think there are different settings that needs to be set within Google Calendar itself?

Hi @scaabel, I have used the demo app for testing and added my personal Google Account in the emulator's Google Calendar App. All Calendars showed up as expected.
I don't think that it is related to the Calendar App itself because it is barely a wrapper for the underlying calendar structure.
Could it be that those Calendars that seem to be missing are added via a different app? I really have no clue why this happens to you therefore please try to create some kind of fresh project that can reproduce this bug.

Closing this issue as it cant be reproduced.


Composer Support

I believe composer support + autoloading would be awesome for this.

Any news on that?


[BUGFIX] [Hybrid Script] fix in-correct value index in hybrid script

@kevinthesun
My bad, I did not realize that it is possible that upper stream tensors have value_index which is not 0.

Please add a regression testcase

@tqchen Done.

Thanks, @kevinthesun @were , this is merged


Use of internal package ... is not allowed

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go 1.11rc1
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
win 10x64
set GOARCH=amd64
set GOBIN=d:\soft\bin
set GOCACHE=C:\Users\Alexander.go\cache
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\Alexander.go\go
set GOPROXY=
set GORACE=
set GOROOT=d:\soft\go
set GOTMPDIR=
set GOTOOLDIR=d:\soft\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\Dev\go\scratch\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\ALEXAN~1\AppData\Local\Temp\go-build973572782=/tmp/go-build -gno-record-gcc-switches
What did you do?
scratch/go.mod
module scratch

scratch/main.go
package main

import "scratch/internal"

func main() {
	internal.F()
}

scratch/internal/f.go
package internal

func F() {}

go build main.go
What did you expect to see?
Compilation success
What did you see instead?
main.go:3:8 use of internal package scratch/internal not allowed

internal/f.go should be scratch/internal/f.go?

Yes, should be scratch/internal/f.go

May you try go1.11rc2? It works for me.

Yes, go 1.11rc2 fixed this.

What version of Go are you using (go version)?
go 1.11rc1
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/bramkumar/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bramkumar/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/vt/6qhm_2156k10_l3g8g_nzxcm0000gp/T/go-build940353526=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
$ pwd
/Users/bramkumar/go/src/github.com/WeConnect/identity-subjects
$ cat cmd/subjects/subjects.go
package main
import (
"database/sql"
"io"
"net"
"net/http"
"strings"
"github.com/golang/protobuf/ptypes/empty"
server "github.com/weconnect/identity-subjects/internal"
log "github.com/sirupsen/logrus"
)
$ pwd
/Users/bramkumar/go/src/github.com/WeConnect/identity-subjects/internal
$ cat server.go
package internal
import (
"context"
)
What did you expect to see?
Compilation success
What did you see instead?
$go build cmd/subjects/subjects.go
cmd/subjects/subjects.go:10:2: use of internal package github.com/weconnect/identity-subjects/internal not allowed
Its the same for me with go1.11rc2
$ go1.11rc2 build cmd/subjects/subjects.go
cmd/subjects/subjects.go:10:2: use of internal package github.com/weconnect/identity-subjects/internal not allowed

go 1.11rc1

Current Go version is 1.12.6. Why you use a release candidate?
It is also better to update an open issue (https://github.com/golang/go/issues/32622) with a proper description than to continue the discussion on the closed one.

Hi @AlekSi it is mentioned in this thread that go1.1rc2 fixed the internal linking issue. I tried it and it did not seem to fix it in my case.
The right thing to ideally would be to re-open this issue #27200 and not keep re-creating new issues as duplicates just because the previous one is marked closed.

Hi @BhuvanRK , have you resolved this on your machine? I'm also getting use of internal package github.com/pion/webrtc/v2/examples/internal/signal not allowed in both go1.12.6 windows/amd64 and go1.12.6 darwin/amd64. Simple to recreate the issue. I only have a single main.go file in the root of my project (as well as go.mod and go.sum). That single Go file is this pion demo file.

You can't import internal packages of another package: https://golang.org/doc/go1.4#internalpackages

Ah, thank you @AlekSi.

@AlekSi There is no specification that you can't in the concerned versions of go:
https://golang.org/doc/go1.12

There is: https://golang.org/cmd/go/#hdr-Internal_Directories

There is: https://golang.org/cmd/go/#hdr-Internal_Directories

Thanks for finding this. I'm asking because I'm a part of a new organization, and I'm using the VSCode Go extension, which complains when I'm importing a package "github.com/myorg/myapp/internal/pkg/common" into go/src/github.com/myorg/myapp/internal/app/myservice/api.go that the use of internal package ...common not allowed. It still builds fine with a docker-compose - but because the linter views this issue as more severe, it doesn't catch things that actually halt the compile process, like unused vars, etc. I figured the reason the linter was complaining about this seeming non-issue was because the linter was assuming an earlier version of go (from the one you linked above) that didn't allow the import of another internal package. Instead, it turns out the build works regardless, but the linter still complains! What gives?

My guess would be incorrect GOPATH setting.
That being said, closed issues (and GitHub issues in general) is not a good place to ask questions. See https://github.com/golang/go/wiki/Questions for a list of much better places. Please ask there with more details.

@AlekSi Actually it ended up being an issue with my local directory structure. I'm new to an organization, and I was told to clone my repo into $GOPATH/src/github.enterprisename.com instead of manually creating a new folder called /myorg in which to clone my repo into. My linter was complaining about something valid, yet my build process was still succeeding, because it looked to the linter as if I was importing from a separate repo altogether when I was working on the project. Hopefully this helps someone else with this literally rookie mistake...


[CSharp] Properties that can be null should use 'nullable'

Godot version
4.0.1
System information
pass
Issue description
public void Test(){
     var node = new Godot.Control();
     /*
     * public Theme Theme { get; set; }
     * in class Control
     */
     GD.Print(node.Theme); //but get null here
}

Steps to reproduce
pass
Minimal reproduction project
pass

need make Control.Theme's type like this: public Theme? Theme { get; set; }

Duplicate of https://github.com/godotengine/godot-proposals/issues/2241


Provide static assets

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
N/A

License
Apache 2.0

What's in this PR?

This commit changes the build flow to have the helm chart embedded as go module allowing us to reference it
from other projects.
Checklist

[x] Implementation tested
[x] Error handling code meets the guideline
[x] Logging code meets the guideline
[x] User guide and development docs updated (if needed)

I find https://github.com/markbates/pkger to be the state of the art tool for this purpose.

Thank you @sagikazarmark , I have created a ticket to replace all of our generators with that one.


Template  tracing configurations

Purpose

Template tracing configurations

Codecov Report
Patch coverage has no change and project coverage change: -1.98 :warning:

Comparison is base (899a44a) 32.41% compared to head (8a97b12) 30.44%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1208      +/-   ##
==========================================
- Coverage   32.41%   30.44%   -1.98%
==========================================
  Files         376       73     -303
  Lines       43800    11222   -32578
  Branches    14200      982   -13218
==========================================
- Hits        14198     3416   -10782
+ Misses      29352     7681   -21671
+ Partials      250      125     -125

Flag
Coverage Δ

adapter
24.07% <ø> (ø)

admin-domain-service
?

backoffice-domain-service
57.51% <ø> (ø)

devportal-domain-service
?

idp-domain-service
80.10% <ø> (ø)

runtime-domain-service
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 303 files with indirect coverage changes

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


Phar file

I was looking for the  .phar file, but the links seem to be broken (file doesn't exist)

See #212.