Branchless sign extend in std.bitmanip

I noticed the codegen was really bad for signed integer, and no doubt, it is using a branch instead of leveraging the capability of the CPU to the an arithmetic right shift. The double shift is trivially turned into an and for unsigned operands, so it doesn't change anything for these with any half decent optimizer involved.

So, runnign digger as suggested by the bot plain fail.
Building package digger in /home/amaury/.dub/packages/digger-3.0.8/digger/
Performing "debug" build using /home/amaury/dlang/dmd-2.100.1-sym3/linux/bin64/dmd for x86_64.
digger 3.0.8: building configuration "application"...
../../.dub/packages/digger-3.0.8/digger/repo.d(56,18): Deprecation: `repo.DiggerManager.getCallbackCommand` is overriding the deprecated method `ae.sys.d.manager.DManager.getCallbackCommand`
../../.dub/packages/digger-3.0.8/digger/bisect.d(201,14): Deprecation: alias `ae.sys.git.Repository` is deprecated
../../.dub/packages/digger-3.0.8/digger/bisect.d(211,10): Deprecation: alias `ae.sys.git.Repository` is deprecated
std/typecons.d(8622,22): Error: unrecognized trait `classInstanceAlignment`
../../.dub/packages/ae-0.0.3227/ae/sys/datamm.d(34,9): Error: template instance `std.typecons.scoped!(MmFile)` error instantiating
std/typecons.d(8622,22): Error: unrecognized trait `classInstanceAlignment`
../../.dub/packages/ae-0.0.3227/ae/net/nntp/listener.d(31,9): Error: template instance `std.typecons.scoped!(NntpClient)` error instantiating
/home/amaury/dlang/dmd-2.100.1-sym3/linux/bin64/dmd failed with exit code 1.

https://github.com/dlang/phobos/pull/8663/checks?check_run_id=10565893255 and alike do swallow the test output, because OF COURSE THEY DO, and so this is impossible to debug.
https://app.circleci.com/pipelines/github/dlang/phobos/6443/workflows/91bb4b81-a2b9-45f0-bdfb-2b86cb414df5/jobs/15970 doesn't swallow the error.  DOES ANYTHING WORK AT ALL?
How does one even build phobos now that someone had the brilliant idea to break make -f posix.mak ?

Circle CI's compiler is definitively busted.
    ushort ee = 1028;
    ee <<= 5U;
    ee >>= 5U;
    writeln(ee);

Prints 64516 instead of 1028 see ( https://godbolt.org/z/TcbjP76fW ).

2.079 IIRC.

Circle CI's compiler is definitively busted.
    ushort ee = 1028;
    ee <<= 5U;
    ee >>= 5U;
    writeln(ee);

Prints 64516 instead of 1028 see ( https://godbolt.org/z/TcbjP76fW ).

2.079 is the bootstrap IIRC, but that shouldn't have an effect on runtime codegen (possibly CTFE though)

This has been broken for as long as I can test

New dmd backend issue then, gdc prints 1028.

I filed one, I see an issue (referenced in my bug report) from 2009 apparently causing a regression with shifts.
In this case  it seems like dmd movzxs the wrong register entirely

What's the plan to get the compiler updated on CircleCI? If there is no plan, then I suggest we jettison that pipeline. If the CI is broken, it's not helpful.

What's the plan to get the compiler updated on CircleCI? If there is no plan, then I suggest we jettison that pipeline. If the CI is broken, it's not helpful.

It's not a circleci problem.
https://issues.dlang.org/show_bug.cgi?id=23618

@ibuclaw it is a CI problem. The bug you point out has already been fixed, but the CI pipeline uses a busted version of the compiler.

@ibuclaw it is a CI problem. The bug you point out has already been fixed, but the CI pipeline uses a busted version of the compiler.

It might help your case to link to the closed bug report. It does not seem to be fixed in any recent dmd release.

@ibuclaw it is a CI problem. The bug you point out has already been fixed, but the CI pipeline uses a busted version of the compiler.

No it doesn't, and the bug report is not fixed.

@deadalnix The bit shift bug is now fixed in both DMD master and stable. However, Iain tested this on gdc and ldc and they give assert errors on the same line (bitmanip.d:570), so it seems like the PR has a bug.

Check for T.min < 0 and only sign extend if negative value are possible, even if the underlying type is signed.

And obviously, github doesn't reset the change requested status, because of course it doesn't. Why would change requested status change once the requested changes have been made?

And I simplified the code somewhat and fixed the style. This should be good to go.

And obviously, github doesn't reset the change requested status, because of course it doesn't. Why would change requested status change once the requested changes have been made?

It's manual, expand the changes requested dropdown, then the three dots.

This appears to have introduced a regression. https://issues.dlang.org/show_bug.cgi?id=24095


Refactor Footer

The current footer is very busy and very long on mobile and could use some TLC on padding/borders being uneven. The green icons are also raising questions. Gareth suggested a new footer as part of some exploration he'd done a few months back, for a cleaner, streamlined footer.
Start with the one without the newsletter, then create a new ticket for the one that has it.

A few questions:

New designs remove the CC icon, are happy with that?
New designs remove the strapline "The free museum and library from Wellcome", will we miss it?
Currently the address is a link to Google Maps, but there's also a link to https://wellcomecollection.org/pages/WwabUiAAAHQXGNHB (Getting here), do we want both?
Moving forward we were making the links underlined with a hover behaviour that removed the underline. This shows it doesn't work for everything as it doesn't look great/natural on the Address & Phone number. I've kept them on the old behaviour (not underline, green on hover), but am not loving the mix. Maybe something to review later on...

A few questions:

New designs remove the CC icon, are happy with that?

Yes, I'm fine with that. It's important to keep the text but we can drop the icons to remove some of the visual clutter of the current footer, especially on mobile.

New designs remove the strapline "The free museum and library from Wellcome", will we miss it?

I will get back to you on this, I see it a lot less than I used to but I want to check whether we still use it/should be using it somewhere.

Currently the address is a link to Google Maps, but there's also a link to https://wellcomecollection.org/pages/WwabUiAAAHQXGNHB (Getting here), do we want both?

If we want to drop one, we drop the link to Google Maps. We should definitely keep the link to our page about travelling to the building. But I have no problem keeping as is, unless there's a reason why linking the address is problematic.

Moving forward we were making the links underlined with a hover behaviour that removed the underline. This shows it doesn't work for everything as it doesn't look great/natural on the Address & Phone number. I've kept them on the old behaviour (not underline, green on hover), but am not loving the mix. Maybe something to review later on...

This could be that reason! I'd rather we were consistent, so if that means not linking the address then it's ok not to link it.

New designs remove the strapline "The free museum and library from Wellcome", will we miss it?

We can remove this.

This could be that reason! I'd rather we were consistent, so if that means not linking the address then it's ok not to link it.
Yeah that was part of it! I see the purpose but there's something off about having it there AND having a "Getting here" link. I'm also just not super happy about what it would look like underlined, same for the phone number... I'll look into if we have to do it for links of that kind.

Gareth's mockup also removed "UK", so no third line, is that something we can do?

Thanks for the look, I'll work on the above.

Butting in here, to say:
In the current footer, the links to Privacy and Cookies now point to the same page on the wellcome.org site. I think this is a legacy of them having been previously separate pages). The statement on the wellcome.org site covers the wc.org site.
We need to add a link to the modern slavery statement (https://wellcome.org/who-we-are/modern-slavery-statement), which is again on the w.org site, but covers wc.org, and will be updated to cover the new retail offer.
Is it possible to reconfigure the links (combining privacy and cookies, and adding modern slavery) as part of this work?
I don't think this has any impact on Gareth's design; it's more about the content -- but I also think that the new design w the left-ranged list of links is better suited to accommodating this & possible future changes.

In the current footer, the links to Privacy and Cookies now point to the same page on the wellcome.org site.

Shall I rename it Privacy & Cookies? Or something else?

We need to add a link to the modern slavery statement

I'll add it as Modern Slavery Statement
(I like to double check these things as English is not first language and I might not know some simple rules like using "&" in a sentence is grammatically fine, @dannybirchall , so apologies for the silly checks 😅  )
It might make the subnavigation a bit too lengthy on certain screen sizes, but I'll tweak the CSS if needed.

Here, between certain large screen size, socials drop down a bit and realign later. The menu switching to a column list too early looked too big for nothing.

Gareth's mockup also removed "UK", so no third line, is that something we can do?

I think we can, as we don't include it here:
https://wellcomecollection.org/pages/WwabUiAAAHQXGNHB

@jtweed it will remove it from here too as it's the same component

Thank you @rcantin-w !

In the current footer, the links to Privacy and Cookies now point to the same page on the wellcome.org site.

Shall I rename it Privacy & Cookies? Or something else?

I'm a big fan of ampersands in my own writing, but not so much on the site; can we use also sentence case, thusly
Privacy and cookies

We need to add a link to the modern slavery statement

I'll add it as Modern Slavery Statement

Likewise, can we use
Modern slavery statement

(I like to double check these things as English is not first language and I might not know some simple rules like using "&" in a sentence is grammatically fine, @dannybirchall , so apologies for the silly checks 😅 )

We're v much here to support All The Words And The Language on the site, so please always do check if needed!


Add bar indicator to show current activity

The bottom bar icons (search, history, bookmarks, navigator) can have an indicator bar (colored) to signify that it is active.

can we fill color on whatever is currently selected ?

If you can designate which tab is "active" with a className that would be the first step. Then you could do background, border, or whatever else you like.

@Harjot1Singh react-router-dom's NavLink offers in to take activeClassName but we are using hooks to set things and I couldn't find a way to set from hook. Are you familiar with something like that which can be used in our case instead of making a hook (since this is effort 0)?


Update to program-list.csv and program-list.json

I added 12 new companies' details. They are:

Boeing
Citigroup
Kroger
Fannie Mae
Bank of America
Shell
Choice Hotel
Central Bank
Procter & Gamble
Carrier
Partnerize
Comcast

Thanks codingo!

Hi Dasqrd,
Thank-you! If you can comment your twitter handle here I'll send you a free month of pentesterlab (as per https://twitter.com/codingo_/status/1246266810065813510)

Hi Luke,
Thanks for this opportunity my twitter handle is: @Dasqrd
Regards,
On Mon, 6 Apr 2020 at 02:07, Luke Stephens (hakluke) <
<EMAIL_ADDRESS>wrote:

Hi Dasqrd,
Thank-you! If you can comment your twitter handle here I'll send you a
free month of pentesterlab (as per
https://twitter.com/codingo_/status/1246266810065813510)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/disclose/disclose/pull/141#issuecomment-609517972,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE5NCVBPBKORXIMAFQZJMRLRLETMXANCNFSM4L64PNSA
.

--
__
Best Regards,
Oluwatobi Dada

Thank-you Dasqrd! This has now been sent.


Bug: canister upgrade rejected if module hash is unchanged.

Calling dfx canister install --mode upgrade will fail to do the upgrade if the module hash has not changed, and there seems to be no way to force the upgrade without re-compiling the canister with change that affects the hash.
I can see this might be an optimization in some scenarios but its actually a legitimate use-case to want to upgrade a canister even if its hash has not changed, e.g. to test upgrades or to reset wasm memory to initial conditions after a leak.
Can we change this behaviour, or at least allow a --force option to override the current behaviour?

Another use case is to deploy the Wasm with a different init args, which is not possible at the moment.


License missing from repo

This repo is missing a license. Without a license, all code is copyright the author and may not be used by anyone else.
Please use something like http://choosealicense.com/ to decide what license to use. I recommend MIT or GPL.

@karan Thanks for the report!
Added the Apache 2.0 license.


Image generation does not work if stream is true

If the stream option is enabled in the configuration menu, and you want to generate an image by editing the frontmatter (set  url: "https://api.openai.com/v1/images/generations"), then the generation would not work. You have first to disable the stream option in the menu, then image generation will work again.
I think it the source code can be fixed easily, if we set a condition or something, but I am not that familiar with javascript unfortunately.

image generation works in version 0.5.25-beta (tested)
feel free to reopen this issue if its not


Stop lint checking PRs

Description
Stop lint checking PRs during generation testing process
Rationale
It's caused me a lot of pain trying to test PRs for lint errors. In the end, the user after they generate their templates can just run pre-commit run --all-files
It'll cause a CI to break initially for most users if they don't lint immediately, but it's not like that hasn't happened before due to unnoticed errors in PRs here anyway.

Thanks for opening this issue, it's definitely time to take a step back and re-evaluate the value these tools are bringing us vs the pain they cause.

It's caused me a lot of pain trying to test PRs for lint errors

I've been struggling quite a bit with that myself with #3958 and #3827, and I'm quite familiar with the project, so it's fair to say that new contributors are probably put off with it.

It'll cause a CI to break initially for most users if they don't lint immediately, but it's not like that hasn't happened before due to unnoticed errors in PRs here anyway.

Agree. Also, tools like black and isort wrap lines or not depending on the length of the project_slug, so even with our current setup, this might already happen.
I think it's important to make the distinction between auto-formatters, which will fix your offending code automatically, and pure linters which users would have to fix manually (e.g. flake8). IMO we should still run tools like flake8.
It would be nice to have a way to run a few auto-formatters on demand, in case one wants to see how we're doing. But by default don't run these on CI.

Agree with flake8 remaining as it catches so interesting things. And agree to disable black and isott in CI which are usually most of the errors I believe.

Here are some ideas:

Replace pre-commit run from test_bare.sh and test_dcoker.sh (along with the 2 git init + add) by just running flake8:
https://github.com/cookiecutter/cookiecutter-django/blob/cbb0e19de75eed12cfa84ca4e6d6e8a34ebe926e/tests/test_docker.sh#L17-L22
Either remove pre-commit completely, or run just the flake8 hook:
pre-commit run flake8 --show-diff-on-failure -a
Add a pytest conditional skip to test_black_passes, which we don't include by default on CI (e.g. @pytest.mark.skipif(os.getenv("ADVANCED_STYLES") == 1))
Add other similar pytest functions for pyupgrade and isort, with the same conditional skip

What do you think?

Definitely works
2 and 3. I also think this works with disabling these tests when CI=true

Yes, that's true. I suggested a different env variable because I think that for new contributors, it would be nice to have tests run the same locally and CI by default. Otherwise people might spend time fixing tests that don't matter too much.

I see. That makes sense to disable autoformat tests locally as well.


with rails-4 arrow does not appear

arrows for expand/collapse doesn't appear. Then the tree always stay on the initial state (open or close, depend of the state status given from data content attribution.
i try to use it with rails-4, jquery-1.11 or jquery-2 the same, and use of bootstrap.
All the other works (try add style plugin for glyphicons is working...).
How to find why this doesn't works ? what i should provide for try to target the problem and then, fix it ?
thank you.

Please provide a demo, the only reason for the arrows to not be shown is to have some CSS on your page that overrides the jstree icons, so I can not help you debug without a demo.
I am closing this until a demo is provided.
Best regards,
Ivan

@vakata, i find a solution. My jstree.min.css was well on stylesheet directory, but i also needed to include the css file with "@import 'jstree.min' " from aplication.sass file.
Now works fine.
It was not from jstree, but from myself who not use well with rails-4.
Sorry and hope this could help an other one noobs like me... lol


Add / Remove Nodes with layout.yaml

Target
allow users to add / remove nodes with layout.yaml instead of hosts.yml.
Design
add nodes :
Step 1: add nodes info to layout.yaml
pull layout to local
./paictl.py config pull -o /cluster-configuration

add the corresponding nodes in to the machine-list field in layout.yaml
machine-sku:
  xxx-sku:
    mem: ...
    cpu: ...

machine-list:
  - hostname: a
    hostip: x.x.x.x
    machine-type: xxx-sku
    pai-worker: "true"
  - hostname: b
    hostip: x.x.x.x
    machine-type: xxx-sku
    pai-worker: "true"

push layout back to k8s
./paictl.py config push -p /cluster-configuration/ -m service

Step 2: add nodes to k8s
./paictl.py node add -n a b

in this step, we will:

generate hosts.yaml, openpai.yml with layout.yaml, config.yaml
call ansible-playbook to add the nodes to k8s

Step 3: restart related services
Modify HiveD config in services-configuration.yaml manually, restart services: cluster-configuration hivedscheduler rest-server
remove nodes:
Step 1: remove nodes from k8s
./paictl.py node remove --nodes a b

in this step, we will:

generate hosts.yaml, openpai.yml with layout.yaml, config.yaml
call ansible-playbook to remove the nodes from k8s
modify layout.yaml  in the k8s

Step 2:  restart related services
Modify HiveD config in services-configuration.yaml, restart services: cluster-configuration hivedscheduler rest-server
Problems:

config.yaml is local but layout.yaml is saved in k8s

scale to add-nodes ?

scale to add-nodes ? Also remove-nodes is better in my view.

After discussion, we'll use ./paictl.py node add -n a b & ./paictl.py node remove -n a b

Implemented in #5400


GH-550 Add missing tests for Panda Utilities

This PR may increase test coverage a little for Panda Utilities.

org.panda_lang.utilities.commons.iterable.ArrayIterable
org.panda_lang.utilities.commons.iterable.ReversedIterable
org.panda_lang.utilities.commons.iterable.SingletonIterator
org.panda_lang.utilities.commons.iterable.ResourcesIterable
org.panda_lang.utilities.commons.iterable.CharArrayDistributor

related to issue #550.

Coverage increased (+0.5%) to 55.809% when pulling b87701fbba5ce5f6ed59538e8f3da99b39a7044b on takuma-watanabe:feature/add-missing-test-cases into 3876efd77b132ae0ed0975c43f9f83272faa7ac6 on panda-lang:master.

Thanks for another PR! I see some variations of method names in test cases, we should stick to one style. At first, I was naming them by the associated method names, because utilities contains a lot of methods without related context and it was easier to generate, but... after a while, I really like the should convention and I had plans to apply it also in Panda repository. Would you be able to use that convention?

@dzikoysk Thanks for the review.
I will resolve the two reviews and apply the 'should' convention.

Thanks, I'll also probably add Groovy to simplify tests and it will simplify this process :)

I applied the 'should' convention to test methods, but I'm not good at English so please check the content.

That's fine :) I've also linked related article to verbs with -s suffix to help you understand it. I'll merge it tomorrow.

Thanks for the review. I fixed them.
And thanks for the related article on the verbs with "s" suffix!


Add instructions on how to get started

Thanks for providing me with instructions @Skarlso on Discord on how to get started! I thought I'll add them quickly to the Readme 😊

Thanks, this looks fantastic! :)


[BUG] filer.sync cannot sync emptying chunks correctly if file modified by different clusters

Describe the bug
ClusterA and ClusterB, using filer.sync to sync files to each other.
In ClusterA's filer mount directory:
touch hello.txt
echo "hello from A" >> hello.txt
In ClusterB's filer mount directory:
echo "hello from B" >> hello.txt
In ClusterA's filer mount directory:
echo "hello from A again" >> hello.txt
In ClusterB's filer mount directory:
echo "hello from B again" > hello.txt
Result:
In ClusterB hello.txt content is "hello from B again",
but in ClusterA hello.txt content is
"
hello from B again
hello from A again"
"
System Setup

1 Master Server, 1 Volume Server, 1 Filer Server and using mount
Using default leveDB2 filer store

Expected behavior
In the last command, echo "hello from B again" > hello.txt, using echo > will overwrite the file content.
We expect the file hello.txt's content is "hello from B again" in ClusterA and ClusterB.
Additional context
command "echo "xx" > file" would produce two event notifications

oldEntry is current entry and newEntry's chunks are empty (empty the file content)
oldEntry's chunks are empty and newEntry contains new file content chunk

The bug is caused by the first step: empty file content eventNotification.  The ClusterB's emptying all chunks metadata event notify to ClusterA. ClusterA cannot empty all chunks if ClusterA's chunks contain fids uploaded by itself.
ClusterA received empty metadata event from ClusterB:
oldEntry got chunks [fid:1 sid:11, fid2, fid3 sid33], newEntry got nothing chunks
compare old and new chunks to get the deleted chunks
https://github.com/chrislusf/seaweedfs/blob/56ec89625a5d4a66e3b1c810544afd93f449842e/weed/replication/sink/filersink/filer_sink.go#L194
deletedChunks are [fid:1 sid:11, fid2, fid3 sid33]
In ClusterA existingChunks are [fid:11, fid:22 sid:2, fid:33]
existingChunks need to delete deletedChunks by this codes
https://github.com/chrislusf/seaweedfs/blob/56ec89625a5d4a66e3b1c810544afd93f449842e/weed/replication/sink/filersink/filer_sink.go#L202
In this code, matching deleted chunks by source file id, existingChunks are [fid:11, fid:33] after deleting.
We are looking forward emptying all chunks but we got leftover chunks in ClusterA.

I am confused by [fid:1 sid:11, fid2, fid3 sid33]. Please create a unit test case to reproduce this clearly.

Here's the test case, filer_sink compare old and new entry to get the deleted chunk, but in clusterA cannot delete all chunks if clusterB emptied it's chunks.
filechunks_test.go
func TestDoMinusChunks(t *testing.T) {

	// clusterA and clusterB using filer.sync to sync file: hello.txt
	// clusterA append a new line and then clusterB also append a new line
	// clusterA append a new line again
	chunksInA := []*filer_pb.FileChunk{
		{Offset:0, Size:3, FileId:"11", Mtime:100},
		{Offset:3, Size:3, FileId:"22", SourceFileId:"2", Mtime:200},
		{Offset:6, Size:3, FileId:"33", Mtime:300},
	}
	chunksInB := []*filer_pb.FileChunk{
		{Offset:0, Size:3, FileId:"1", SourceFileId:"11", Mtime:100},
		{Offset:3, Size:3, FileId:"2", Mtime:200},
		{Offset:6, Size:3, FileId:"3", SourceFileId:"33", Mtime:300},
	}

	// clusterB using command "echo 'content' > hello.txt" to overwrite file
	// clusterA will receive two evenNotification, need to empty the whole file content first and add new content
	// the first one is oldEntry is chunksInB and newEntry is empty fileChunks
	firstOldEntry := chunksInB
	firstNewEntry := []*filer_pb.FileChunk{}

	// clusterA received the first one event, gonna empty the whole chunk, according the code in filer_sink 194
	// we can get the deleted chunks and newChunks
	firstDeletedChunks := DoMinusChunks(firstOldEntry, firstNewEntry)
	log.Println("first deleted chunks:", firstDeletedChunks)
	//firstNewEntry := DoMinusChunks(firstNewEntry, firstOldEntry)

	// clusterA need to delete all chunks in firstDeletedChunks
	emptiedChunksInA := DoMinusChunksBySourceFileId(chunksInA, firstDeletedChunks)
	// chunksInA supposed to be empty by minus the deletedChunks but it just delete the chunk which sync from clusterB
	log.Println("clusterA synced empty chunks event result:", emptiedChunksInA)
	// clusterB emptied it's chunks and clusterA must sync the change and empty chunks too
	assert.Equalf(t, firstNewEntry, emptiedChunksInA,"empty")
}

Thanks for the nice unit test! I added a fix and also add the test to the repo.


Feature Request: Better Broadcasts

Hi.
currently when a war is declared or declared invalid a broadcast is sent saying New war declared by.
It doesnt give the name of the group declaring the war.

http://i.imgur.com/EH3gHLo.png
?

Strange. Mine always repacked the corp/alliance name with a .
On 07 Sep 2016 12:56 AM, "shibdib"<EMAIL_ADDRESS>wrote:

http://i.imgur.com/EH3gHLo.png
?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/shibdib/Dramiel/issues/28#issuecomment-245121718, or mute
the thread
https://github.com/notifications/unsubscribe-auth/APVF4U-4dbiicgE-lX_plOO4_3UHk0f1ks5qne-kgaJpZM4J2H5J
.

I know it was an issue but it should have been fixed with https://github.com/shibdib/Dramiel/commit/db90b20fdc8778fbbc2889d6397d024b830abf75

ok i will update to the latest Version tonight then. any idea on #14 if its possible @shibdib ?


merge from arlac77/npm-package-template-esm-only

package.json

chore(scripts): cover@#overwrite c8 -x 'tests/**/*' --temp-directory build/tmp ava && c8 report -r lcov -o build/coverage --temp-directory build/tmp
chore(engines<EMAIL_ADDRESS>
.travis.yml

chore(travis): (jobs.include)
chore(travis): add 12.13.1 remove 12.13.0 (jobs.include.node_js)
chore(travis): (script)

Codecov Report

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

@@           Coverage Diff           @@
##           master     #603   +/-   ##
=======================================
  Coverage   89.04%   89.04%
=======================================
  Files           6        6
  Lines        1013     1013
  Branches       82       82
=======================================
  Hits          902      902
  Misses        111      111

Continue to review full report at Codecov.

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

:tada: This PR is included in version 3.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


man-pages.scss: drop listingblock formatting

The content is all inside a <pre> block, which already gets the same formatting via our rule in application.scss. The result with the duplication looks bad, with an extra bit of empty bordered content before and after each block.
Here are before/after shots:

I admit to not fully understanding the cause of the weird extra lines, but this solution does work, and doesn't seem to have any big drawbacks (unless we're planning to style listing blocks totally differently, but we can cross that bridge when we come to it. And I'd suspect that would be part of the larger style refresh anyway, so we'd be starting from scratch).
Noticed by @jnavila in https://github.com/git/git-scm.com/pull/1363#issuecomment-522126334.

v2.23 is about to drop, and I'm planning to publish a blog post that has a bunch of links into the documentation. So I'm going to merge this to make it look less ugly. If we come up with a more elegant solution, I'm happy to switch to that later.

Sorry for not proposing a PR on this.


Add documentation

Add initial documentation discussing parameters semantics and examples.

/assign

/assign

Can you add some examples to the documentation?
I usually like to install these operators and have yaml examples to apply to just see how it works.


MINOR: lower logging severity for offset reset

When resetting the first dirty offset to the log start offset, we currently log an ERROR which makes users think the log cleaner has a problem and maybe has exited.  We should log a WARN instead to avoid alarming the users.

@junrao should be a quick review if you have a moment.  Thanks!

LGTM


Initial running version on Windows

Related: #5
Added compiler macros to isolate platform-specific code, allowing it to compile on Windows.
Working:

Basic function
Open commit window shortcut

Not working:

Window vibrancy (had no luck with mica/acrylic/blur - they just don't work)
Tiny black space on rounded corner
Open settings shortcut (no idea, maybe some broken cache on my system)

@66Leo66 Amazing work! I've added a build target for Windows on CI, so that anyone else following this (and me once I get back to my PC) can try this out.
I've also switched to using CommandOrControl for the keyboard shortcut, which should hopefully simplify the changes needed to the frontend (tho the module that displays the shortcut still needs some changes).

Correct shortcut hint is being displayed in the tray menu now.
Settings shortcut only works when focusing commit's main window. Is this the intended behaviour?

Regarding window vibrancy:
I have found the problem. Making frontend use background: transparetn is required to see the effects.
However, since we are using https://github.com/tauri-apps/window-vibrancy, here's the situation:

Not on Linux: https://github.com/tauri-apps/window-vibrancy#platform-specific

blur is super laggy, don't use

arcylic feels okay on Win11 22H2 build 22621. Haven't tested on Win10 1903+ which is said to have bad performance. It reflect the color under the window.

mica won't encounter performance issue, but it's Win11 only and it reflect the color of the wallpaper, so looks bad in some occurences.


fix/cleanup theme toggle

#901 I think this had to do with the localStorage being undefined when you first land on the page. I was able to consistently reproduce the error behavior by opening the docs in a private tab. Explicitly setting it to 'light' on load and changing how some of the conditionals where written seems to fix it.

Nice, looks good!


Let's make a distinction between "Global Settings" and "Repository Settings".

Dear abapGit Team,
I've noticed that there is currently a lack of distinction between "Global Settings" and "Repository Settings." Both are currently presented under the generic label "Settings", which can lead to confusion. Additionally, upon pressing the F1 key (Command Palette), both settings are listed together, which further adds to the potential confusion.
To address this, I propose to introduce a distinction between "Global Settings" and "Repository Settings" within the user interface (refer to attached images).
These changes aim to enhance the user experience by making it more intuitive for everyone to navigate and understand the purpose of each group of settings.
Please let me know if you have any concerns or suggestions.
Thank you for your attention to this matter.
Best regards,
Francisco Milan.

Good improvement 👍 But why 3 pull requests? I'd suggest to consolidate them to one.

Thanks a lot for the feedback Christian, I have applied the changes and now I have 1 pull request with 3 commits.

Hmm. The top "settings" are for global and personal settings. Calling it "global settings" makes this more confusing.
Maybe it should be "Config" but such changes need input from others

Hi Marc,
Thank you for sharing your thoughts on the current classification of settings in abapGit. I appreciate your input and agree that clarity in terminology is crucial for a better user experience.

I understand your concern about the term "Global settings" possibly causing confusion. Considering the various classifications like Global settings, Remote settings, Local settings, Personal settings, and Repository settings, I agree that a more standardized and precise naming convention could enhance clarity.
I would like to propose the idea of using terms like "abapGit settings", "Git settings" or "GitHub settings" to create clearer distinctions and avoid any potential confusion. This could provide a more straightforward and intuitive understanding of the purpose of each group of settings.
Best regards,
Francisco Milan.

I don't think there's widespread confusion (or we would have more issues related to it). We have settings that apply to the abapGit setup:

And settings that apply to a single repository:

Both are well documented and after using abapGit for a little while, you know where to find certain settings.
I don't think changing from "Global / Personal" to "General / User" will make a significant difference (but it would disrupt existing users). We use "Remote" instead of "git" or "github" since it's more general and applies to other types of repository provides like gitlab or a "zip" file (and there could be more in the future).
I agree with you that identical menu items called "Settings" on the "Repository List" are confusing. That should be changed.
It looks like you have a pretty wide screen. However, on smaller screens, there's limited space for the menu bars. So keeping it short is a preference.
We could add a short description that shows when hovering over an item to help users.
Overall, I would keep the top item as "Settings" but add a hover hint. Change the second item to "Repo Settings" optionally with some hint.

Hi Marc,
After considering your points, I would like to reiterate the proposal to change the top-level item from "Settings" to "Global Settings". This adjustment is particularly aligned with the landing page, where "Global Settings" is prominently displayed at the top. I believe this change will enhance clarity and maintain consistency for users navigating the settings.

In terms of space considerations, I understand the importance of keeping menu descriptions concise. However, upon comparing the two menus, "Top menu" and "Lower menu," it seems that the lower menu already occupies a significant amount of space with items such as "Filter," "Only Favorites," "Detail," and others. Therefore, changing the top-level item to "Global Settings" may not have a substantial impact on the overall space utilization.

We would have:
"abapgit Repository List Flow New Online New Offline Global Settings"
and
"Filter Only Favorites Detail Pull Stage Patch Diff Check Repo Settings More"
I fully support the proposal to change the second item to "Repo Settings" and the addition of hover hints for improved user guidance.
If there are further considerations or if you would like to discuss specific implementation details, please feel free to share your thoughts. I'm committed to collaborating and ensuring that these adjustments contribute positively to the overall user experience.
Thank you once again for your insights on this matter.
Best regards,
Francisco Milan.


issue-14: circle ci starter yaml

Using this PR to experiment with CircleCI. At some point when CircleCI is working correctly, we can merge this yaml config into master.

resolves #14


support non-root package.json #160

@alanshaw Just a friendly ping to take a look at this when you get the chance - it would be so so awesome to have #160 implemented. :smile:

+1

Hey! Thanks so much for the time you've spent implementing this. Sorry I haven't got round to looking at it till now.
I think it might be better to specify the path in the URL rather than the querystring.
Something like this:
https://david-dm.org/[user]/[repo]/[branch]/[path]
What do you think?
Also, manifest.js emits events about what dependencies have changed. I can see a potential problem where there is more than one package.json in a repo - any listeners won't know which one it's referring to.

Specifying the path in the URL could get ugly and block features from being added later on, since any path more that a single level deep will also include a slash. I think the querystring is the best option here.
I haven't looked into events and listeners, but since path is passed to getManifest, might just need to pass it to events that need it also?

+1


Release synthtool 0.8.0

This pull request was generated using releasetool.

Release is at https://github.com/GoogleCloudPlatform/synthtool/releases/tag/synthtool-0.8.0


Let Proto root directory fully support '${}' to refer to user variables

pr features:

Fix helpPage address, (① Old address is invalid, new address points to Github)
add getServiceResolver cache
New JMeterVariableUtils for manipulating user variables in GUI
Proto root directory already supports the user variable '${}' (②③ Clicking the Listing button in the gui will throw an exception of Unable to resolve service by invoking protoc, because the user variables are not loaded at this time.)

Codecov Report

Merging #85 (c58955a) into master (52a2817) will decrease coverage by 11.10%.
The diff coverage is 48.68%.

@@              Coverage Diff              @@
##             master      #85       +/-   ##
=============================================
- Coverage     96.77%   85.67%   -11.11%
- Complexity      180      185        +5
=============================================
  Files            17       18        +1
  Lines           683      789      +106
  Branches         41       51       +10
=============================================
+ Hits            661      676       +15
- Misses           16      102       +86
- Partials          6       11        +5

Impacted Files
Coverage Δ

...vn/zalopay/benchmark/util/JMeterVariableUtils.java
22.72% <22.72%> (ø)

...main/java/vn/zalopay/benchmark/GRPCSamplerGui.java
73.14% <50.44%> (-26.86%)
:arrow_down:

...ain/java/vn/zalopay/benchmark/core/ClientList.java
76.92% <68.75%> (-15.94%)
:arrow_down:

...lopay/benchmark/core/protobuf/ServiceResolver.java
89.09% <100.00%> (-0.20%)
:arrow_down:

...zalopay/benchmark/core/protobuf/ProtocInvoker.java
84.26% <0.00%> (-12.36%)
:arrow_down:

...rc/main/java/vn/zalopay/benchmark/GRPCSampler.java
100.00% <0.00%> (ø)

...n/java/vn/zalopay/benchmark/core/ClientCaller.java
94.87% <0.00%> (+0.42%)
:arrow_up:

Continue to review full report at Codecov.

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

Hello @huynhminhtan , this PR also looks forward to your merger, because I am about to provide a new PR.

Hi @yl-yue, thank you for your pull request. It has been merged into master.


Mudblazor - RichText Box

Feature request type
New component
Component name
MudRichText
Is your feature request related to a problem?
Is that possible to have a Rich-text box based component in "MudBlazor". It is just a rich text editor to enable WYSIWYG a kind of editor.
Describe the solution you'd like
An Rich Text Edit support in MudBlaozor, as various Blazor Component providers have it.
Have you seen this feature anywhere else?
https://quilljs.com/
Describe alternatives you've considered
No response
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

The team has discussed this before and we all agree we don't want to pull in a big JS dependency for this which we believe is the only solution.  quill.js is the defacto solution. A pure Blazor implementation is not possible IMO.  I think this is a good community project for a separate extension component.
That way only people that want it pay the price.

Cast your thumbs up in this issue https://github.com/dotnet/aspnetcore/issues/9974 Having contenteditable event support in Blazor would make it not only possible but relatively easy.

This workaround makes contenteditable possible now: https://github.com/dotnet/aspnetcore/issues/9974#issuecomment-921717446
<div contenteditable="true" @oninput="((ChangeEventArgs t) => text = t.Value.ToString())">
    This is editable text
</div>

@code{
    private string text { get; set; } = string.Empty;
}

And in js:
document.addEventListener("input", onInput);
        function onInput(e) {
            let target = e.target;
            if (target.localName == "div") {
                if (!target.value && !target.__contenteditable) target.__contenteditable = true;
                if (target.__contenteditable) target.value = target.innerText;
            }
        }

However, it may not be desired to add an additional event to all inputs.

Try https://github.com/fgilde/MudExRichTextEditor works great for MudBlazor


removed gflags googletest icu and pcre from third-party

So it looks like the circleCI image is using them ... I will keep them around for now, it just simplify things.


refactor(Order/JordanHolder): use RelSeries to implement CompositionSeries

[ ] depends on: #12915

Sorry I don't have time to review right now but I will say that a few days ago I was going to ask on Zulip whether we should use RelSeries in CompositionSeries 😆

Sorry I don't have time to review right now but I will say that a few days ago I was going to ask on Zulip whether we should use RelSeries in CompositionSeries 😆

No worries, I am not in urgent need of merging this into mathlib4, so take your time.

We're not adding aliases for the renamed results. Should we?

We can certainly add the aliases, but I doubt they will be useful. The renamed results are mostly implementation details of CompositionSeries, so they are not used outside this file anyway.

I aligned the two lemmas again. I think I messed up when dealing with merge conflict

Thanks!
maintainer merge

Thanks!
bors merge


Connector for spark 2.2

close https://github.com/vesoft-inc/nebula-spark-connector/issues/2

cheers!


chore: Added 2023.1 Build Support

Changes

WMP-499 2023.1 build support

Motivation
Closes #499

Issue number 500


chore: update supported Node.js version to <23.0.0

This PR proposes extending support for Node.js version 22, which is now the current release.
The package has been tested and is functioning well on this version.

Hey @yultyyev! I see that the commit is empty for some reason. I will update the canary branch and release Node.js 22 support shortly


Spotify playback- widevine issue?

I am running 97.0.4692.99, windows 10. I installed this build from a prebuilt macchrome  Spotify keeps randomly skipping tracks after playing them for a split second. From my limited research, I am lead to believe that this is a widevine issue, since I installed google chrome and the issue went away.

Just a comment, but you may want to switch to the officially approved builds listed at https://ungoogled-software.github.io/ungoogled-chromium-binaries. Anything else is treated as 3rd party and issues reported with such builds may be dismissed.
Of course, if the exact same problem occurs in the official build, then it's a different story 🙂.

Hmm. I should've added that I was using winget to download them, so I assumed it was from the official build. Bit weird that both 'winget' and 'choco' installs point to different sources. I tried uninstalling and downloading from the link that you have posted above, and the issue persists.

Just a comment, but you may want to switch to the officially approved builds listed at https://ungoogled-software.github.io/ungoogled-chromium-binaries. Anything else is treated as 3rd party and issues reported with such builds may be dismissed.

That is wrong, the readme declares binaries from that page as third party. The term official is not agreed on at the moment (see #1549)

still having this issue... can anyone test on windows 10 to see if it is reproducible?

Widewine is proprietary and as such supporting it is quite hard. I'm unaware of a case in which widewine works with the current set of patches

I'm not sure if it is a widevine issue, which is why I wanted to see if it was reproducible elsewhere. This wasn't an issue until I updated, and the issue persists with the latest version.


extend rw_fragments to let it show more user-facing information

Is your feature request related to a problem? Please describe.
Including:

Name of the materialized view, sink, table that the fragment was created
Parallelism of the fragment.

What rw_fragments shows now:
 fragment_id | table_id | distribution_type | state_table_ids | upstream_fragment_ids | flags
-------------+----------+-------------------+-----------------+-----------------------+-------
(0 rows)

Describe the solution you'd like
Make rw_fragments to be a view (say, rw_fragments_new) based on the old table.
 I will add a new column for the table rw_fragments.


Animated AVIF not playing

File sequence-without-pitm.avif from this bug is animated:
AVIF (AV1 Image File Format): image sequence and animation support
But animation is not played by AVIFQuickLook, only static image. Google Chrome does play it.
$ qlmanage -p sequence-without-pitm.avif
Testing Quick Look preview with files:
	sequence-without-pitm.avif
2023-07-25 10:39:29.280 qlmanage[3543:28404] +[IKImageContentView _clampImageAlphaTo01:colorSpace:] no CIImage passed in
2023-07-25 10:39:29.280 qlmanage[3543:28404] IKImageView2 _updateContentForLayerUsingIOSurface Error: source rect and destination rect of tile being drawn are not the same

Emmm...QuickLook API design (from Apple) does not support Animated Image.
You see, it's received a CGContext (canvas, only draw one image), or CGImage (single frame)
We can only support to display animated AVIF into the static poster frame, is this enough for your use case ? @superbonaci

For Preview (Space):

For Icon Thumbnail (See in Finder):

Emmm...QuickLook API design (from Apple) does not support Animated Image.

I can play perfectly animated gif inside Quick Look (select the gif then Space Bar), for example this file: https://giphy.com/gifs/tag-sample-BfbUe877N4xsUhpcPc

If I click the "Open with Preview" button then it displays a static image, but that's not what I meant.

You don't realize that GIF is Apple's internal QuickLook Plugin, which does not use the open API.
As a non-Apple company employee, I can not do the similiar thing, because the public API does not contains this ability.
qlmanage -m plugins

qlmanage -p example.avif

Check the verbose log, which point into this `/System/Library/QuickLook/Image.qlgenerator`

If possible, I can try to dis-assemble that Apple's Image.qlgenerator and see how they render Animation on CGContext. Maybe using a Timer to refresh the canvas ?

Maybe the old generator based can not support animation. The new QLPreviewView (Which need a App, no longer a qlgenerator plugin) can custom draw anything on NSView
Maybe this is the future way to support animation

You don't realize that GIF is Apple's internal QuickLook Plugin, which does not use the public API.

You mean that GIF is AN internal QuickLook Plugin, not the only one. The video you quoted talks about thumbnails, just hope your app doesn't create Thumbs.db files like Windows does. Viewing or previewing any file should not create any new file or "cache" in the filesystem.
I wonder if you can make this work as a "plugin" and not having to install a full .dmg program.

Maybe it's just a AVIFQuickLook.app, you can place it into anywhere you like (Because Mac has a Spotlight service, will search all .app in your disk), then you can preview the AVIFs animation


Multicast Support

At the moment, node-coap does not support multicast communication, as it it does not expose any API to add/remove the membership to a group.

@mcollina Partial server-side support is here... I'll try to do a pull request as soon as I have more time.
https://github.com/WigWagCo/node-iotivity/tree/master/lib/node-coap

@edhemphill I suggest you to depend on the library via NPM, and not to maintain your custom fork :). If you need to depend to your own version for some time, you can use a git dependency in package.json.
Anyway, this is an OPEN Open Source Project, so if it is ok with you I will add you to the maintainers list as soon as this is merged :).

Go for it -- sorry for the delay. Yes, we would prefer to use it from NPM. Thanks!

Added you to this repo, feel free to contribute to a feature branch/pull request here :).

Will do soon - thanks

Any progress?

As said before, if anybody wants to contribute i will be more than happy!

should be fixed, right?

Yes it is.


Modify entire GUI of StaffSync

Describe your changes
Honestly, I wished I could do more but the amount of nonsense that goes on modifying the GUI takes too much time. Maybe I'll do more in the next few days? see how
Startup UI

Help UI

Dynamic Command Output

Issue ticket number and link
#111
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Codecov Report
Attention: Patch coverage is 0% with 33 lines in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

src/main/java/seedu/address/ui/HelpWindow.java
0.00%
15 Missing :warning:

src/main/java/seedu/address/ui/ResultDisplay.java
0.00%
10 Missing :warning:

src/main/java/seedu/address/ui/UiManager.java
0.00%
7 Missing :warning:

src/main/java/seedu/address/ui/PersonCard.java
0.00%
1 Missing :warning:

Files with missing lines
Coverage Δ
Complexity Δ

src/main/java/seedu/address/ui/PersonCard.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/seedu/address/ui/UiManager.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/seedu/address/ui/ResultDisplay.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/seedu/address/ui/HelpWindow.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

... and 1 file with indirect coverage changes


App wide component plugin.

Version
2.4.4
Reproduction link
https://codesandbox.io/s/7w32yv4q4x
Steps to reproduce
Minimal reproduction link.
What is expected?
Component functionality to be accessible app-wide.
What is actually happening?
Methods get called and executed, but functionality cannot rely on data.

Goal to improve documentation with working examples how to setup plugins and recommended install procedures with common gotchas like it's explained with the other features of Vue and guides how to correctly access component functionality globally.

This belongs to vuejs/vuejs.org but it's something that we'll probably add to the cookbook
A pull request to start the discussion with some initial material is even more appreciated 🙂

You need understand the difference between a Component definition and a component instance. You are trying to call the method directly on the definition, so it won't have any instance to point this to.


Update dependencies

Use package-lock.json
Support React 16
Run build for all supported React versions in CI

Coverage remained the same at 100.0% when pulling 5a42fcafef7e1a8af07ebde65b1c16b447bee5b8 on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling 66574c76b2acf15fbf01b149fdbf6348462cef4a on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling 66574c76b2acf15fbf01b149fdbf6348462cef4a on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling 66574c76b2acf15fbf01b149fdbf6348462cef4a on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling b3593aab0c5d847cb917edf4ff6fc2f1b1b20dd7 on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling b3593aab0c5d847cb917edf4ff6fc2f1b1b20dd7 on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling ddf8a08e42ca22682270216387950d3a58a027be on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.

Coverage remained the same at 100.0% when pulling 080bb13ade5616ef73681686f24e966009fca554 on update-dependencies into 404ed57361df33dd1990f4b2cfa336e4dfbd96fb on master.


Use gulp-postcss for autoprefixing and minifying

There is no postcss plugin for clean css – so using gulp-postcss would be more overhead than just using gulp-autoprefixer


Create image with previous version of contrib

We've been using your docker image for our testing and noticed our code started failing today on automated builds due to the upgrade.
We reverted to contrib-opencv-3.4.1 but that has an older version of cmake.
Can you release a version of contrib which was pushed 3 months ago in August?

I think that was contrib-opencv-3.4.2, it's currently building on docker hub should be available soon

Thanks, using this build fixed our issue!


Emojis take all the screen like an image when I activate this plugin

This is how it looks

It is how it looks when I disable it

And this is how it looks when I restart the app meaning the normal state without this plugin in effect

Can I recommend that you use the plugin with Twitter Emoji setting turned off. I've turned this off by default now in v0.4.0


Add Pipelineruns resource to trigger pipelines with custom params

Signed-off-by: Geetika Kapoor<EMAIL_ADDRESS>Short description:
Adding pipelineruns resource to support custom pipelines (currently windows) . These templates are be further changed and altered using params provided and these params are optional and can change based on pipeline templates.
More details:
What this PR does / why we need it:
We need this PR as to supporter to trigger pipelineruns from a sample pipeline that is defined in pipelineref.
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

@myakove  accidentally removed from this request

!verified

!verified


Fix TextEdit autoscroll with wrapped lines

Index to find the last line wrap index was off by one, which prevented to trigger autoscroll the first time a line was wrapped.
Fixes #41962

@Paulb23 Here's the project I'm using for tests:
textedit-tests-4.0.zip
As an example, here's how to reproduce the issue:
Start the scene, set the cursor after the last 's' in the TextEdit control and press 'a'.
If you set a breakpoint in adjust_viewport_to_cursor, you can see get_last_visible_line_wrap_index returns 2 instead of 1, which prevents the scrolling from happening (you need to scroll when the last line is only partially visible).
From what I understand, this get_visible_rows() + 1 in the last visible line methods allows to return any partially visible line as the last visible line. So an alternative could be to change adjust_viewport_to_cursor with cur_line >= last_vis_line and cur_wrap >= last_vis_wrap.
In this case, _scroll_lines_up would need the same change, as it has the same issue. You can test it in the same test project, by opening the script called new_script.gd, placing the cursor all the way down and scrolling up using ctrl + up. At some point the cursor is almost outside of the screen at the bottom, and this is fixed with the current PR.
If this makes sense for you, let me know which version you prefer  (remove + 1 or check >=), I don't have a strong opinion about it.

Hmm, that makes scene, guess it depends on what's classed as a visible line.
I made it slighting bigger and changed it to the below with only the first line wrapped, get_last_visible_line returns 1 where it looks like it should be 2:

Making then both wrapped makes get_visible_rows_offset return 0 where it looks like should be 1:

Though I would guess that's because the entire line height is not visible, even though the chars are so it's not counting it (or another bug!). Kinda temped to rename it or create a new method get_last_full_visible_line so it clearer that partially visible lines are not included. Not sure what you think?

It looks like it's working fine when not counting partially visible lines. And from what I see it's always consistent with the scrollbar state so it should be ok. You have a point on the method name to make things clear, so I've just renamed both of them.
Things generally look more consistent to me now, but let me know if you spot any case where the behavior looks wrong and I'll investigate.

Thanks!

Cherry-picked for 3.2.4.


fix: delete pluggy type-hack [APE-1332]

What I did

fixes: #1632
Fixes: APE-1332
How I did it

How to verify it

Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

attempting to fix geth install here: https://github.com/ApeWorX/ape/pull/1634


grouping targets in the target list

I came across #2170 and the screenshot inspired me to ask if it makes sense to group the targets by platform tier

AFAIK there's no tier metadata published with the targets, https://github.com/rust-lang/rust/blob/master/src/doc/rustc/src/platform-support.md is the only place I know we could get this info.
It might also be that rustc's tiers don't match the crate's tiers, a lot of the time the only reason crates build for more than a single target is that they don't override the default target list. If we're going to provide grouping it might be best set by the crate itself
[[package.metadata.docs.rs.target-groups]]
label = "Fully tested"
targets = [ ... ]
[[package.metadata.docs.rs.target-groups]]
label = "Build only"
targets = [ ... ]


Update reproducible mac sign process

Part of https://github.com/adoptium/ci-jenkins-pipelines/issues/763
Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

/thaw


zinter/zinterstore/zunion/zunionstore does not support weights argument

Redis supports the passing of optional weights as arguments to the zinter/zinterstore/zunion/zunionstore method since the 1.3 series.  The current implementation of those methods in redis-py does not include the ability to pass weights at all.

I stumbled about the same issue today. You can only find a hint about weights in the actual code, but not in the documentation. Could you give a small code example how this works?

venthur was commenting about that it's not really documented in the Python redis client. You use it (generally) like...
conn.zinterstore('destination_key', **{'keya':1, 'key2':.5})
You use a keyword-args dictionary to pass keys. It's a little ... strange, but it works.


Use a python 3 serverless image for local invoke

https://github.com/lucascosta/serverless-python3.6

https://github.com/rzhilkibaev/docker-serverless-python-builder?files=1

This doesn't belong here


Double deallocation in YAeHMOP driver function

Describe the bug
Within runMol in EHTTools.cpp local pointer parmFilePtr is initialized from buffer pointer of std::string pfName. Unfortunately within fill_atomic_parms it is released via free() leading to double deallocation and crash.
One possible fix would be to allocate buffer into parmFilePtr via malloc and copy the content of pfName into it and pass that to fill_atomic_parms. This fixes the problem. It could submit a PR to this effect if desired.
To Reproduce
Compile RDKit with RDK_BUILD_YAEHMOP_SUPPORT=ON and tests testEHTLib1 and pyEHTTools fail due to segmentation fault.
Expected behavior
Tests testEHTLib1 and pyEHTTools pass.
Configuration (please complete the following information):

RDKit version: 2020.09.3
OS: Windows 10 X64
Python version (if relevant): Not Python related
Are you using conda? No
If you are using conda, which channel did you install the rdkit from? N/A
If you are not using conda: Build from souce

HI @SPKorhonen : I believe this is actually a yaehmop bug caused by a recent cleanup PR and that we should fix it there.
I will take a look at it

HI @SPKorhonen : I believe this is actually a yaehmop bug caused by a recent cleanup PR and that we should fix it there.
I will take a look at it

This was fixed here: https://github.com/greglandrum/yaehmop/pull/34


doc

doc 428

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Update artwork (splash screens) with new logo "denkmal.org"

See https://github.com/denkmal/denkmal.org/pull/306
@tomaszdurka maybe you wanna pair with Christophe on this? :)

@christopheschwyzer you can find the currently used images here:
https://github.com/denkmal/denkmal-android/tree/master/res
Can you check whether they're the most recent ones, or whether we need to update them?


Unable to download twitch VODs

Hello,
I wanted to grab a twitch vod, as for some reason the official player seems to freeze every now and again for me. Youtube-dl failed though and asked me to report it as a bug here (and yes, I made sure I had the latest version).
Command line used: youtube-dl.exe --verbose --ignore-config "http://www.twitch.tv/ksptv/v/3622000"
(I have a few youtube-specific default options set for formats/names, hence the ignore)
Resulting output:
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', '--ignore-config', 'http://www.twitch.tv/ksptv/v/3622000']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.8 - Windows-2008ServerR2-6.1.7601-SP1
[debug] exe versions: ffmpeg N-68141-g4280150
[debug] Proxy map: {}
[generic] 3622000: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 3622000: Downloading webpage
[generic] 3622000: Extracting information
ERROR: Unsupported URL: http://www.twitch.tv/ksptv/v/3622000; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "youtube_dl\extractor\generic.pyo", line 660, in _real_extract
  File "youtube_dl\utils.pyo", line 1444, in parse_xml
  File "xml\etree\ElementTree.pyo", line 1300, in XML
  File "xml\etree\ElementTree.pyo", line 1642, in feed
  File "xml\etree\ElementTree.pyo", line 1506, in _raiseerror
ParseError: not well-formed (invalid token): line 20, column 89
Traceback (most recent call last):
  File "youtube_dl\YoutubeDL.pyo", line 592, in extract_info
  File "youtube_dl\extractor\common.pyo", line 243, in extract
  File "youtube_dl\extractor\generic.pyo", line 1060, in _real_extract
ExtractorError: Unsupported URL: http://www.twitch.tv/ksptv/v/3622000; please report this issue on https://yt-dl.org/bug. Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Was there something changed with twitch recently, as I remember this worked fine very recently...
Thanks
Creat

I believe this issue to be fixed in youtube-dl 2015.01.05 or newer. See our FAQ if you need help updating.


Add a start menu

A start menu where the user is asked to select a session or exit the app is needed.

Done in milestone start_screen. Pull request follows soon.


03/30/2018 23:05 : Create Pull Request for branch master -> prTesting1_2018033023

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


acquireTokenSilent does not return the token field

Library

[x]<EMAIL_ADDRESS>
Framework
React 16.11.3
Description
So far I have used msal.js version 1.3.2 for authorization via b2c. After upgrading to version 1.4.4, I noticed a problem with the response returned by the acquireTokenSilent method - the accessToken field is missing. The token itself appears in the idToken.rawIdToken field.
Regression

[x] Did this behavior work before?
Version: 1.3.2

MSAL Configuration
const msalConfig = {
  auth: {
    clientId: Settings.default.msalClientId,
    authority: Settings.default.msalAuthority,
    redirectUri: `${document.location.origin}/signin/b2c`,
    validateAuthority: false,
  },
  cache: {
    cacheLocation,
    storeAuthStateInCookie: false,
  },
};

const msalAuthenticationParameters = {
  scopes: [Settings.default.msalClientId],
};

const msalInstance= new UserAgentApplication(msalConfig);

const msalAuthenticationParameters = {
  scopes: [Settings.default.msalClientId],
};

Reproduction steps
export function fetchWithMsal(
  url: string,
  request: RequestInit,
): Promise<Response> {
  let resultRequest = request;

  const result = msalInstance
    .acquireTokenSilent(msalAuthenticationParameters)
    .then((response) => {
      if (!response.accessToken) {
        return undefined;
      }
      resultRequest = generateRequestProperties({
        accessToken: response.idToken.rawIdToken,
        request,
      });

      return fetch(url, resultRequest);
    })
    .catch((e) => {
      msalInstance.acquireTokenRedirect(msalAuthenticationParameters);
    });

  return result as Promise<Response>;
}

Expected behavior
Return accessToken field with token.

@jakubgrzywaczewski If you are sending msalClientId as the scope, you are requesting the scopes for openid and profile, which are idToken scopes. Please check the network trace to make sure, but this should only give you an id_token from the STS.
Previously, the library returned this token as an access token as well. We have since changed that behavior to be in-line with what the server is sending back.
If you are seeing an access token in the network trace and it is not being returned, we can investigate this further.

@pkanher617 Got it, thank you for your explanation. I recieve idToken. If I understand correctly, it is impossible to restore access_token field in response, and the only field with token is idToken (for openid and profile scope), right?
I am trying to understand how to restore the accessToken field in response by modifying the scope, but I cannot tell. I looked at the documentation https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/scopes.md and https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/response-types.md and it's still unclear for me.

Hi @jakubgrzywaczewski ,

I wonder if it's possible to restore the accessToken field in response by modifying the scope, but I cannot tell. I looked at the documentation https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/scopes.md and https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/response-types.md and it's still unclear for me.

Yes, you can turn your request into an access token request by manually adding "openid" and or "profile" to your scopes. This would be the very last example case in the scopes doc you refer to. When Client ID is the only scope, MSAL replaces it with openid and profile and turns it into an ID Token request. However, if you add any other scopes (including openid or profile), the Client ID will be treated as an access token scope (which I believe is what you want) and be sent to the server. In the B2C case, you should get an access token back, along with an ID token.

Hi, @hectormmg
Thank you for your response. Unfortunately, after adding a new parameter to this configuration as you proposed, I catch an error:
InteractionRequiredAuthError: AADB2C90077: User does not have an existing session and request prompt parameter has a value of 'None'.
Correlation ID: 695efe57-5850-4523-87e6-6871b77cfb28
Timestamp: 2020-11-19 13:51:03Z

    at InteractionRequiredAuthError.AuthError [as constructor] (https://localhost:8080/static/js/6.chunk.js:69732:24)
    at InteractionRequiredAuthError.ServerError [as constructor] (https://localhost:8080/static/js/6.chunk.js:70306:24)
    at new InteractionRequiredAuthError (https://localhost:8080/static/js/6.chunk.js:70237:24)
    at UserAgentApplication.saveTokenFromHash (https://localhost:8080/static/js/6.chunk.js:67776:17)
    at UserAgentApplication.processCallBack (https://localhost:8080/static/js/6.chunk.js:67148:23)
    at UserAgentApplication.handleAuthenticationResponse (https://localhost:8080/static/js/6.chunk.js:67209:10)
    at UserAgentApplication.<anonymous> (https://localhost:8080/static/js/6.chunk.js:66867:20)
    at step (https://localhost:8080/static/js/6.chunk.js:113544:17)
    at Object.next (https://localhost:8080/static/js/6.chunk.js:113475:14)
    at fulfilled (https://localhost:8080/static/js/6.chunk.js:113428:24)

I'm a little bit confused. Without additional parameter I'm able to recive response (without access token field) and with openid parameter I get an error.

@jakubgrzywaczewski  thanks, I'll look into it!

@jakubgrzywaczewski

I wonder if it's possible to restore the accessToken field in response by modifying the scope, but I cannot tell. I looked at the documentation https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/scopes.md and https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/response-types.md and it's still unclear for me.

Do you mean you want the value that is currently in idToken to also be in accessToken? Or are you trying to acquire an access token as well?
In the past, for client Id as the only scope, MSAL would get an ID token and put it into the "accessToken" and "idToken" fields (both with the same value). Now MSAL gets the same ID Token but puts it under idToken and leaves "accessToken" empty.

@hectormmg

Do you mean you want the value that is currently in idToken to also be in accessToken? Or are you trying to acquire an access token as well?

Well, yes, but I don't know if this approach is correct.

In the past, for client Id as the only scope, MSAL would get an ID token and put it into the "accessToken" and "idToken" fields (both with the same value). Now MSAL gets the same ID Token but puts it under idToken and leaves "accessToken" empty.

So if I understand it correctly this change is permanent and I should switch to idToken. If so, we can close this issue.


Adding support for gzip streams

Hi, stream.twitter.com now supports gzip compression which gives a big reduction in bandwidth.  I've patched tweepy to request and consume a gzip stream if the Stream object is created with a gzip=True parameter:
  auth = tweepy.auth.BasicAuthHandler(username, password)
  api = tweepy.API(auth)
  listen = Listener()
  stream = tweepy.Stream(auth, listen, gzip=True)
  stream.sample()

Hero

Thanks!  I've added this to my fork.  Nothing seems to break.  I'll update if anything comes up.

Cool, thanks for testing :)


HYPRCURSOR_SIZE environment variable seems to affect XCURSOR_SIZE, as well

For example, if I set HYPRCURSOR_SIZE=32, xcursor also gets size 32, although the value of XCURSOR_SIZE is 24. This doesn't happen, however, if I set hyprcursor in hyprland.conf with exec-once = hyprctl setcursor

that's not a hyprcursor issue, rather hyprland.


Enhancement of usability, suggestions:

I've been using it for some time, started to keep a steady wallet in the time of testing. The strategy really works!
So, what would improve the customizability and controll:

configuration templates: let't say that a couple of coins are following similar growth rates, but they don't surge above 8%, that would make a of selection for 7% high risk coins as a group, templates will come handy;
average growth dynamic variable: if you can calculate the average % growth that thing can spot the peak prices and make maximum profit and dispose of a coin position, so you can also have the funds avaiblable for more oportunities. The idea is that you don't stay in a position more than needed (time is money, right?)
include EMA 200 as a trend indicator: that is an all time market trade classic and a proven indicator;
strategy backtesting: needless to say how powerful that is, it will need a worker node, but with redis already present it can be pulled off*.

*  understandably that is a heavy feature and the scope grows quite a lot here
Keep up the good work, mate!

Hi kaziqta sorry for the off-topic, can you please guide me on how can I install it in my ubuntu 20 cloud server?

Well, install docker and the docker-compose cli. And follow the README.md:
cd <folder where you clone the repo to> docker-compose -f docker-compose.server.yml up -d
^ pulls :latest from dockerhub

Hello
Totally satisfyed with your bot, but:

is it possibl to add trading with not full lots , i mean lower than 10. For some reasons i can trade with coins ifter i get 10 of them on my account, as you understand, i cant get 10 BTS)))  i see next message on most of pairs Do not place a buy order as not enough USDT to buy ADA.
why i cant use "Maximum purchase amount" like 0.00001?
how to disable "mixing" of pair information windows? i mean they move between each other 1time in minut, thats frustrating

Cheers, and thankyou

Hi @PlayeTT

I am not sure I understood your first question. Can you explain with detailed examples? If you get a message with Do not place a buy order as not enough USDT to buy ADA, it literally means that you don't have enough USDT.
You cannot place an order which is less than 10 USDT - see trade rules https://www.binance.com/en-AU/trade-rule
Sorting is based on the coin with Difference to buy order Difference to sell which gives you which coins likely to buy/sell. However, I think I can add a feature to disable sorting.

Changing sorting is now available. Close the issue.


[Question] - does it support MFA

I have my Unifi controller behind two factor auth. Will this lib support it?
Thanks,
R.

Unfortunately it does not. I am accepting PRs for this though, if you (or anyone else who passes by this) would like to contribute.

I did a little investigating and this shouldn't be too bad. Looks like on login, if the HTTP code comes back 499, we need to POST to "login/2fa" the JSON document "{'token':'<>'}"
If anyone wants to implement/test that, be my guest. I'll try to get to it soon, but "soon" may still mean weeks.

This was far less effort than expected. I also made a change to account for the new version of the software.
I need community feedback on the branch: https://github.com/anthturner/UniFiSharp/tree/twoFactor
One of the changes is making all requests go through "/proxy/network", which I don't know if that applies globally.

Added a "useModernApi" boolean to constructors to handle this in 1.3.0 release.


Perm row col

Summary
Add _pydigraph_to_pygraph method
Details and comments
Added _pydigraph_to_pygraph method
Changed import order to fit to pip8 style recommendation
https://peps.python.org/pep-0008/#imports

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 84.395%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/transpiler/passes/synthesis/perm_row_col_synthesis.py
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
59281

Relevant Lines:
70242

💛  - Coveralls


Improve Docs

Description
A short summary of what is included in your Pull Request.
Fixes #(issue_no)
Replace issue_no in the above line, with the issue related to this PR.
Type of change
Choosing one or more options from the following as per the nature of your Pull request.

NOTE: These boxes can be checked using [X]

[ ] Bug fix (non-breaking change which fixes an issue)

[ ] New feature (non-breaking change which adds functionality)

[ ] Documentation Update

Checklist:
Please tick all the boxes that are fulfilled by your Pull Request.

[ ] I have named my files and folder, according to this project's guidelines.
[ ] My code follows the style guidelines of this project.
[ ] My Pull Request has a descriptive title. (not a vague title like Update index.md)
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have created a helpful and easy to understand README.md, according to the given README_TEMPLATE.
[ ] I have included a requirements.txt file (if external libraries are required.)
[ ] My changes do not produce any warnings.
[ ] I have added a working sample/screenshot of the script.

Hi @Ananda1113 Thanks for creating this PR, we currently don't plan to change the name of the Repo as it would create URL issues
but we appreciate your efforts so instead of changing the Repo name you can add a line in under the Description heading
like:- "An amazing project for python lovers."
Thanks!

Code with Harry😁 @Ananda1113
He is doing a phenomenal job!!

Please don't create lots of spam PRs for Hacktoberfest, it's against the rules and values, and not fair on maintainers.
https://hacktoberfest.digitalocean.com/details#spam
Maintainers: please label this invalid so it's not counted towards Hacktoberfest.

Please don't create lots of spam PRs for Hacktoberfest, it's against the rules and values, and not fair on maintainers.
https://hacktoberfest.digitalocean.com/details#spam
Maintainers: please label this invalid so it's not counted towards Hacktoberfest.

Thanks @hugovk


Product cors config

Added a new class WebConfig for defining CORS policy to allow requests from frontend UI.

had conflicts


Preflight's RPM db scanner doesn't handle big-endian data (s390x)

Bug Description
Case: https://gss--c.na167.visual.force.com/apex/Case_View?sbstr=03212057 (salesforce)
Project ID:             61df600a25a366740e81379c
PID:                    ospid-61df600a25a366740e81379c
Project Name:           NGINX Ingress Operator
Project Type:           Container Image
Project URL:            https://connect.redhat.com/projects/61df600a25a366740e81379c/overview
Reporter SSO:           ciarams87
Org ID:                 7644757
Originated Source:      Preflight
Partner is attempting to run a Preflight scan on an S390X container, and the two RPM tests fail with "bad magic number":
     - msg="check completed: HasModifiedFiles" ERROR="error detecting modified files: could not get rpm list: unexpected DB magic number:<PHONE_NUMBER>" result="error detecting modified files: could not get rpm list: unexpected DB magic number:<PHONE_NUMBER>"
     - msg="check completed: HasNoProhibitedPackages" ERROR="could not get rpm list: unexpected DB magic number:<PHONE_NUMBER>" result="could not get rpm list: unexpected DB magic number:<PHONE_NUMBER>"

The problem is that the RPM DB scanner makes the (false) assumption that "all the world's little-endian". Binary data at rest in an S390X container will be stored in big-endian format (native for IBM S360/370/390/Z systems).
Example code:
https://github.com/knqyf263/go-rpmdb/blob/master/pkg/bdb/hash_metadata_page.go lines 21-30:
func ParseHashMetadataPage(data []byte) (*HashMetadataPage, error) {
	var metadata HashMetadataPage

	err := binary.Read(bytes.NewReader(data), binary.LittleEndian, &metadata)
	if err != nil {
		return nil, xerrors.Errorf("failed to unpack HashMetadataPage: %w", err)
	}

	return &metadata, metadata.validate()

and in https://github.com/knqyf263/go-rpmdb/blob/master/pkg/bdb/hash_page.go:
lines 23 to 32:
func ParseHashPage(data []byte) (*HashPage, error) {
	var hashPage HashPage

	err := binary.Read(bytes.NewReader(data), binary.LittleEndian, &hashPage)
	if err != nil {
		return nil, xerrors.Errorf("failed to unpack: %w", err)
	}

	return &hashPage, nil
}

lines 102 to 107:
	for idx := range hashIndexData {
		if (idx-HashIndexEntrySize)%keyValuePairSize == 0 {
			value := binary.LittleEndian.Uint16(hashIndexData[idx : idx+2])
			hashIndexValues = append(hashIndexValues, value)
		}
	}

Other files that have LittleEndian calls:
https://github.com/knqyf263/go-rpmdb/blob/master/pkg/bdb/hash_page_entry.go
https://github.com/knqyf263/go-rpmdb/blob/a9e3110d8ee1fd3b0798a7abe8c59230bd265cd3/pkg/inet.go
https://github.com/knqyf263/go-rpmdb/blob/1369b2ee40b762e48586531810d5b2564e2c1063/pkg/ndb/ndb.go
https://github.com/knqyf263/go-rpmdb/blob/9cd0802af42c52825c450812d9122acf28855a4c/pkg/sqlite3/sqlite3.go
https://github.com/knqyf263/go-rpmdb/blob/0de7f922f589a6bc7073364d6057bae9ffbd858d/pkg/bdb/generic_page.go
https://github.com/knqyf263/go-rpmdb/blob/a9e3110d8ee1fd3b0798a7abe8c59230bd265cd3/pkg/entry.go
Version and Command Invocation
not specified but likely all.
Steps to Reproduce:
(How can we reproduce this?)

Run Preflight on an S390X container
Observe "Bad magic number" error.

Expected Result
(What did you expect to happen and why?)
The RPM db will be parsed.
Actual Result
(What actually happened)
The parse fails with "bad magic number"
Additional Context

@jfrancin what preflight version was used?

We are aware of this issue. We're working on a fix.

Working on getting a hotfix delivered now. I just sent a working binary to the customer named in the support case.

@vikasmulaje This got fixed a few weeks ago upstream in go-rpmdb, and those changes were incorporated into the 1.3.1 release.

Fixed by #726

@jsm84 Thanks for information. Yes its working fine with 1.3.1 in pipelineruns.


Need a way to see all the children cachegroups of a cachegroup

I would like to be able to see the all the child cachegroups of a parent cachegroup

This can be accomplished by adding 2 columns to the cache group table (https://tp.domain.net/#!/cache-groups):

parent cachegroup
secondary parent cachegroup


Move to @nestjsx/config?

Issue type:

[x] question
[ ] bug report
[ ] feature request
[ ] documentation issue

nestjs-config version
n/a
@nestjs/common+core or other package versions
n/a
Excepted behavior
I'm curious if it's been considered to re-publish this package using the namespace style? Specifically, instead of nestjs-config, using @nestjsx/config? This would be more inline with the other packages managed by this Github organization.
Actual behavior or outcome (for issue)
n/a
Replication/Example
n/a

it has been considered yes :p I can't really say why we haven't yet but it's a possibility for all repos within this organisation to have the @nestjsx prefix instead of the nestjs- prefix


fix(5457): normalize path on prefetch

Fixes #5457

I have no idea what's happening but this is fun to watch.
As a sidenote, I was thinking about normalizing before matching:
const path = decodeURI(url.pathname.slice(base.length) || '/');
const normalized_path = normalize_path(url.pathname, trailing_slash);

for (const route of routes) {
	  const params = route.exec(normalized_path);

	  if (params) {
		  const id = normalized_path + url.search;
		  /** @type {import('./types').NavigationIntent} */
		  const intent = { id, route, params, url };
		  return intent;
	  }
}

It may solve current and future issues, or may not, I have no idea.

Thanks!

I was thinking about normalizing before matching:

I don't think there's any benefit to doing so — it's the same amount of work in either case


Update of ru-RU.json

Everything (excluding "notes" in menu -> options, these strings just don't exist) is translated in accordance with official Russian translation as far as it's possible. (It's my first time doing anything on github so i hope i didn't did anything wrong)

Thank you, you really helped me!
Previously, I used Google translate after realizing that a lot of users were from Russia, so maybe some of the translations were quite bad

about line 269 i think i did somethin wrong and it should be replaced to this: "obtainTotal": "Итог наград за 30 дней
Кристаллы Сотворения: ×{totalGenesis}
Камни Истока: ×{totalPrimo}",

About this, I will replace it for you before pushing it to production .


FAILED (80004005: Unspecified error )

Could be due to an unsupported format.
Example file can be found here

DDS Dump info:
DDS c:\Users\chuckw\Downloads\jemison_surface_a_mask.dds
(size: 124) Flags 000a1007: CAPS HEIGHT WIDTH PIXELFORMAT MIPMAPCOUNT LINEARSIZE
512 x 1024
Linear Size: 262144
Mipmap count: 11
Surface flags: 00401008: COMPLEX TEXTURE MIPMAP
PIXELFORMAT (size 32): 00000004: FOURCC
FourCC = 808540228 'DX10'
dxgiFormat = 80: DXGI_FORMAT_BC4_UNORM
resourceDim = 3: DDS_DIMENSION_TEXTURE2D
arraySize = 1

This file only contains the header. There is no pixel data so the reader fails.


Templating of namespace name via values inconsistent with Helm -n

What commit ID of Portieris did you experience the problem with?
0.8.1
What went wrong?
The instructions (in the readme) to install say to do helm install portieris --create-namespace --namespace portieris helm/portieris
If you follow these instructions, Helm creates the namespace, and then the pre-install namespace hook complains that it already exists. i.e. --create-namespace must not be specified.
Moreover the --namespace option sets the .Release.Namespace to portieris , but the templates all act on .Values.namespace instead. So it is not clear that --namespace is a meaningful thing to specify on version 0.8.1 of Portieris.
What should have happened differently?
The templating inside Portieris should be consistent with the install instructions. (Currently they seem to be mutually exclusive).
Ideally, it would be good if both the templating and instructions can be made consistent with the Helm --create-namespace and --namespace options.
How can it be reproduced?
helm install portieris --create-namespace --namespace portieris helm/portieris
Any other relevant information
This can be worked around by simply running helm install portieris helm/portieris instead.

It is currently possible to have a different namespace used to record the Helm release information to that in which Portieris runs, due to the use of .Value.namespace rather than .Release.Namespace in the templates. This does not cause a functional problem and not even visible if both values are set to "portieris" as they generally are.
However it plays into a bigger problem as follows:
Prior to 0.8.1:
The install namespace was managed outside of the Helm assets either by pre-existing or using --create-namespace.
Hyperkube based hook jobs were used to define the CRD's and install the webhook, this meant that the webhook in particular was created more slowly and generally the Portieris pods were able to start without being passed by thier own webhook.
In 0.8.1
The install namespace is managed in Helm templates so that a lable can be created on it in support of "AllowAdmissionSkip" value and associated namespace selector on the webhook, however this conflicts with the direction of Helm 3 e.g. https://github.com/helm/helm/issues/4456
Hook jobs are no longer used and CRD's and the MutatingWebhookConfiguration is create in Helm templates, this means that:

Helm 3 is required.
3rd party Hyperkube image is not longer part of the install process and does not need Portieris policy or lead to some of the issues with hook jobs hanging which was previously seen.
The webHook is created rapidly and generally fast enough that the Portieris Pods themselves are blocked by the webhook they are supposed to provide unless "AllowAdmissionSkip" is defined, leading to install deadlock, or making "AllowAdmissionSkip" mandatory.

Proposal:

Use .Release.Namespace in place of .Values.namespace where present in templates.
Remove Namespace template to be consistent with Helm best practice and use --namespace and --create-namespace where necessary.
Replace the AllowAdmissionSkip feature and replace it with a webhook default of "FailurePolicy: Ignore" or v1 equivalent. which will allow Portieris to install reliably.
Place a huge warning that users should edit the webhook policy to "FaliurePolicy: Fail" once Portieris is installed and they are looking to use in production for security (otherwise vulnerable to DOS bypass).
Consider moving away from Helm install to an operator with finer grained management of the webhook configuration, e.g. webhook would be installed after pods become ready.

Re steps 3 and 4: If all the portieris pods are down the service times out, which also happens if the failurepolicy is ignore. That causes pod creations to time out. The namespace selector allows it to quickly skip the critical things so that those pods get created and the webhook can start working to admit everything else.
So changing the default failurepolicy to ignore isn't a drop-in replacement IMO.
We could alternatively not apply the admissionskip label to the portieris namespace in the chart and document doing so as part of the install process. It means that installing Portieris isn't a one-command job anymore but I suspect we've gotten to the point where we need some other way of configuring it.
Re step 5: An operator would solve the namespace labelling issues, but it would also present its own. You'd have an app that would need the RBAC permission to create pods, so that'd need to be secured appropriately. Plus if that goes in the Portieris namespace then we kinda still have the same situation again. Although it's less of a big deal and we could probably go back to saying helm install --namespace portieris --create-namespace for that bit.

Thanks for the write-up, @sjhx , your proposal sounds good to me.


Added a way to accept list as input to get_variable_value in Estimat…

Hi there,
The function get_variable_value in the class Estimator is suppose to accept a list of strings. However, it was left as a todo item. I am submitting a implementation to take this one off the list .

I have signed the agreement

Hi there, I am very sorry to be pushy.  when you asked to make _check_string_or_not local, do you mean local to the function to or class?

I was thinking local to the function. It's not super-important, I just felt it was so specific, and reducing its scope would allow you to be much more specific in the error it produces.

Hi Martin,
I made it local to the function. Have you seen the new error message?
Thanks for your response

I'll start the tests so you can see what's wrong.

Hi Martin,
Would you rerun the tests again, please?

The tests ran since you last change, the error reported is
  File "/home/kbuilder/.cache/bazel/_bazel_kbuilder/f2d52ca1f092ccbe254cc98c3dc90790/execroot/org_tensorflow/bazel-out/k8-py3-opt/bin/tensorflow/python/estimator/estimator_test.runfiles/org_tensorflow/tensorflow/python/estimator/estimator.py", line 271, in <dictcomp>
    for v in name}
NameError: name 'traning' is not defined

I do apologize for the type. I just fixed it

(From API review): The new contract of the function is a bit cumbersome - where the return type depends on the argument.
We'd prefer to not add this feature and instead remove the TODO :)

True, but there is a use case for searching multiple variables. Do you want me to add get_variables_value that accepts a list and returns a dict?

(From API-review)
If we add this function, users could do:
variables = estimator. get_variable_value(list_of_vars)

Without this function, users would have to do:
variables = {n: estimator.get_variable_value(n) for n in list_of_vars}

Is that right?
If so, we'd prefer to not add an API function for that.
However, note that the current implementation will open (and close) the checkpoint file once per variable. If instead we try to be more efficient by opening the checkpoint file once and reading all the variables, then a new API would be reasonable since it would be more performant than what can be achieved with a simple composition of the existing API.

True, I could use training.list_variables instead, but we still haven't solved the original problem where the response changes depending on the input type.

To clarify Asim's message: Let's do the following:

leave get_variable_value as is
add a new method get_variable_values which accepts a list and returns a dict
in this new function, make a CheckpointReader (using load_checkpoint) and then loop over the variable names to be loaded and load them using get_tensor.

This is much more efficient, since you only read the checkpoint once. The current implementation in this PR loads the checkpoint again for each variable to be loaded.

It has been 43 days that this pull-request has stalled. Please create a new pull-request with the requested changes.


Change the order of package.json attributes

Change the order of package.json attributes, to (what I believe is) a more common format.
This follows the order they are documented.

Thanks, but I don't see any value here.


Fix various logging issues. Log package refactoring.

Description
Log refactoring:

Isolate logrus by creating a Logger interface.
Get rid of the global logger.

Features:

Log levels panic, fatal removed, they were not used anywhere, and existed only because they are in logrus.
Add stderr, stdout to control Terraform/OpenTofu output in the Terragrunt log, when --terragrunt-forward-tf-stdout is not used.
Add the --terragrunt-log-show-abs-paths flag to show absolute paths in logs.

Other bug fixes (no issues):

To terminate the Terragrunt during interactive input, required press Ctrl+C twice.

Fixes #3399
Fixes #3390
Fixes #3387
Fixes #3377
Fixes #3376
Fixes #3372
Fixes #3370
Fixes #3366

TODOs
Read the Gruntwork contribution guidelines.

[ ] Update the docs.
[ ] Run the relevant tests successfully, including pre-commit checks.
[ ] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[ ] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Added / Removed / Updated [X].
Migration Guide

Is there a way to get access to binary built by this PR?  I'd like to check and see if it fixes my issue

Is there a way to get access to binary built by this PR? I'd like to check and see if it fixes my issue

I cut a beta release here:
https://github.com/gruntwork-io/terragrunt/releases/tag/v0.67.5-beta2024091201
Let us know what you think!

Is there a way to get access to binary built by this PR? I'd like to check and see if it fixes my issue

I cut a beta release here: https://github.com/gruntwork-io/terragrunt/releases/tag/v0.67.5-beta2024091201
Let us know what you think!

Fixed my problem!  I'm getting the error output that was being lost in 0.67.4

I should probably also mention that the beta build broke the TG version check we had:
% terragrunt apply
18:24:40.515 ERROR  The currently installed version of Terragrunt (0.67.5-beta2024091201) is not compatible with the version constraint requiring (>= 0.55.2).
18:24:40.515 ERROR  Unable to determine underlying exit code, so Terragrunt will exit with error code 1

It was easy to fix by commenting out the version constraint, but if you start to do more beta builds you'll probably want to figure out why the check is failing.

Thanks for reporting that!

Resolved in v0.67.5 release.

@levkohimins --terragrunt-log-disalbe should be --terragrunt-log-disable right?

@levkohimins --terragrunt-log-disalbe should be --terragrunt-log-disable right?

Right, this is a typo.


Creating "synchronizable" entries on OS X fails

Not sure what is amiss here. I'm on OS X 10.11.5, Xcode 8 beta 2, Swift 3.
This works fine:
keychain.set("Value", forKey: "KeyName") // returns true
keychain.get("KeyName") // returns "Value"
But this fails to create new entries in the keychain (assuming key does not yet exist):
keychain.synchronizable = true
if keychain.set("Value", forKey: "KeyName") {
print("success")
} else {
print("failed")
}
The .set function returns false and the key fails to be created.

Hi @orchetect, thank you for reporting. I have never actually tested the synchronization in OS X, only in iOS. If you still have the code nearby, what error code does the set method return?
keychain.lastResultCode

I tested keychain synchronization on macOS and could not make it work. Function SecItemAdd returns -34018 result code on macOS when kSecAttrSynchronizable is true.
Added a macOS demo app to the project as well.

I have the same issue.

Is this a KeyChain bug? Will this problem also occur if I use the KeyChain API from Apple directly without using this library?

Good question. I have no idea. Based on my tests, the iCloud synchronization in this library works on iOS but not on macOS.
Here is another question that I want to know the answer to. Does macOS support iCloud keychain synchronization at all? If it does then we aren't using it correctly in this library.

macOS does support it.
Apple's docs for macOS Sierra state:

Developer ID-signed apps can now take advantage of CloudKit, iCloud Keychain, ...

I'm building apps with the free Apple Dev account. Do you suppose that's why it's not working? Maybe it requires a paid Developer account with proper certificate signing.

Have there been any updates on this?

This did not help for me still generating the same error :(


Provide visitors with a Terms of Use Page

A terms of use page and a footer nav hyperlink to it should be provided. The copy of such should be provided by legal. Legal can also determine if this is a necessary document to provide to users. IF so then a link to the page should be made clearly visible in a location like the footer nav.

Added http://www.originprotocol.com/tos & a link in the footer. Will open a new issue re: internationalization.