Problems with Kirby 2.5.6

At least as of Kirby 2.5.6 ( Kirby 2.5.0 is OK), it would appear that staticbuilder no longer sets the
'staticbuilder.baseurl'    => 'https://www.domain.net/'
correctly?
With php like:
<?=css('file.css')?>
<?=js('scripts.js') ?>
there are others e.g. it is the same with images using things like $page->images()->first()->url().
They all have the local domain URL rather than the 'staticbuilder.baseurl'
so 'http:/local.dev/' rather than the desired 'https://www.domain.net/'
Other base URL's seem to be OK.
Any ideas?

Does the asset() function still work (with e.g. asset('css/file.css'))?
Not sure what might have gone wrong, except if the implementation for these functions changed.
@lukasbestle I see that you worked on the URL class in the latest toolkit, could this be related?
For the record, the way StaticBuilder applies the staticbuilder.baseurl option is a bit hackish:
https://github.com/fvsch/kirby-staticbuilder/blob/master/src/Builder.php#L130-L145
A workaround might be to change your overall Kirby config to use c::set('url', 'https://www.domain.net/'); and then run a static build. Not sure it'll let you load the /staticbuilder/ page on a local domain if you do that though, unless you change your /etc/hosts to pretend that www.domain.net is your local machine and change your VirtualHost accordingly. :P

Also I don't want to dissuade anyone from using StaticBuilder because I think it's decent code and serves a purpose, but it does require some fiddling around to bypass some of Kirby's limits. I think you've seen that before. ;)
Frankly I'm tempted to stop this project altogether for Kirby 3, and perhaps work on something a bit different that doesn't rely on Kirby's PHP stack but "just" parses the content folder. Like metalsmith or Jekyll but for Kirby content, partly inspired by Kirby's API.
Note that there already is a project like this: https://enoki.site/
Though I tend to disagree with the scope (I don't see a need to reinvent Kirby's Panel and, respectfully, I am not a fan of that approach from a moral standpoint either).

Hmmm do your mean like <?php echo asset('css/styles.css')?>, which throws an error, 'Call to undefined function asset()' ?
It seems to work OK in 2.5.2 as well, so I will revert, shame though, I really liked this plugin - pretty much Kirby front end, bit of processing to static and straight to Netlify, all from the Kirby panel ;-)
I did have have a look at enoki, obviously not as developed as Kirby, but I guess following very similar ideas, but with Javascript rather than PHP. I'll have to wait to the weekend to try and have a proper look.
Why is it they always choose the .txt extension when all Markdown editors now uses ,md as default?
Let me know if you get anywhere with Lukas.

My bad, no asset() function in Kirby, I mixed it up with Symfony and a few others.
So the right test would be with the url() function. What does this output when building with StaticBuilder (please check you have the latest version) and Kirby 2.5.6?
<pre>
css: <?= css('file.css') ?>
js: <?= js('scripts.js') ?>
url: <?= url('assets/css/file.css') ?>
</pre>

I though you might have been confusing asset() ;-)
Toolkit version: 2.5.6
Kirby version: 2.5.6
Panel version: 2.5.6
As for
<pre> css: <?= css('file.css') ?> js: <?= js('scripts.js') ?> url: <?= url('assets/css/file.css') ?> </pre>
sadly they all point to the local domain rather than the specified one.

For the record, the way StaticBuilder applies the staticbuilder.baseurl option is a bit hackish:
https://github.com/fvsch/kirby-staticbuilder/blob/master/src/Builder.php#L130-L145

Have you tried setting the URL with $kirby->url($url)?

Frankly I'm tempted to stop this project altogether for Kirby 3, and perhaps work on something a bit different that doesn't rely on Kirby's PHP stack but "just" parses the content folder. Like metalsmith or Jekyll but for Kirby content, partly inspired by Kirby's API.

Kirby 3 will be a lot more flexible and extensible. The different parts aren't as intertwined as they are at the moment. So it will probably be a lot easier. :)

I'll have to try.
For the record, https://github.com/kaliop/frontend-style-guide uses Kirby 2.5.6 and StaticBuilder 2.1.0 and I'm not sure I'm seeing the same issue.
Config: https://github.com/kaliop/frontend-style-guide
Template: https://github.com/kaliop/frontend-style-guide/blob/master/site/snippets/layout.twig
I'm using href="<?= $site->url() ?>/assets/foo.css" to link to static assets though.

Florens/Lukas, thanks for your efforts.
Florens Try <?=css('assets/file.css') ?>.
Obviously something has changed between Kirby 2.5.2->2.5.6, when reverting to the earlier version of Kirby, it all works as it should.
Lukas, not sure what you mean by
Have you tried setting the URL with $kirby->url($url)?
Our Kirby StaticBuilder Plugin is 2.1.0.

Okay, I can reproduce the problem.
@lukasbestle The breaking change was probably this commit:
https://github.com/getkirby/kirby/commit/9cc028c89abfb8a115c7e55db2921cdb3068c20b#diff-c421f7e7f129fbd578909e641f1c9546
In StaticBuilder I'm calling kirby()->configure() after changing c::set('url', ...) to override Kirby's config while building the HTML for pages. This commit disallows it.
Instead I could use new Kirby() to override the current instance, but I'm not sure I want to open this can of worms. 👅
Since I'm "only" overriding URLs, I'm probably going to manually override every single occurrence of the base URL in the toolkit objects and Kirby instance. Dirty stuff, but hey.

Have you tried what I proposed above? Because that would be the proper way to do it.

Yes, not doing much in my tests -- $kirby-urls()->foo() gets fixed but that does not impact page urls and it does not impact the js and css helper functions in my tests.

Oh, I see. It looks like you need to do this:
$kirby->url($url);
url::$home = $kirby->urls()->index();

Also a bit of a hack, but at least not quite that invasive.

@lukasbestle I made the following changes: https://github.com/fvsch/kirby-staticbuilder/pull/36
@shoesforindustry Can you get the url-override-fix branch and confirm if it works for you with Kirby 2.5.6?

Awesome work Florens/Lukas, I just copied the new src/Builder.php over my local one and it all seems to work as expected, all domains are the ones specified, thank you both!

The fix is now in release 2.1.1, which can be installed with Composer or Kirby’s CLI.


chore: release docker-jans-config-api 1.0.0-beta.13

:robot: I have created a release *beep* *boop*
1.0.0-beta.13 (2021-12-03)
Features

add support for plugins (#67) (7f2204c)

Miscellaneous Chores

release 1.0.0-beta.13 (789a9ed)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/JanssenProject/jans-cloud-native/releases/tag/docker-jans-config-api-v1.0.0-beta.13 :sunflower:


slide atlas viewer plugin is working.

@brianhelba PTAL

@brianhelba Fixed

@law12019 Great, thanks.
LGTM. Please merge.


lerna publish --tag

We should be able to publish tagged releases like prerelease or next easily.
$ lerna publish --tag prerelease
$ lerna publish --tag next

Move to #115


Add Measure IndexRule and IndexRuleBinding to Measure Page

[ ] If this is non-trivial feature, paste the links/URLs to the design doc.
[ ] Update the documentation to include this new feature.
[ ] Tests(including UT, IT, E2E) are added to verify the new feature.
[x] If it's UI related, attach the screenshots below.
[ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Fixes apache/skywalking #11979.
[ ] Update the CHANGES log.

Feature demo

Read  IndexRule and IndexRuleBinding

https://github.com/apache/skywalking-banyandb/assets/129717259/46603870-cfa1-4048-903e-63ae848852ce

Create IndexRule and IndexRuleBinding

https://github.com/apache/skywalking-banyandb/assets/129717259/718d20b6-de9a-417a-aba1-eab9fbcb58a5

Edit IndexRule and IndexRuleBinding

https://github.com/apache/skywalking-banyandb/assets/129717259/e27ddcbd-b1da-4647-869a-8a47cc815a57

Delete IndexRule and IndexRuleBinding

https://github.com/apache/skywalking-banyandb/assets/129717259/eb6932e6-a2aa-49bf-83c9-ed8a99a378c6

Please link to the original issue, thanks.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 47.69%. Comparing base (618d872) to head (cc90526).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #418      +/-   ##
==========================================
- Coverage   48.14%   47.69%   -0.45%
==========================================
  Files         173      173
  Lines       21586    21586
==========================================
- Hits        10392    10296      -96
- Misses      10303    10413     +110
+ Partials      891      877      -14

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat: Consume kubewarden-controller values for 1.8.0

Description

Relates to https://github.com/kubewarden/helm-charts/issues/310.

Test

Additional Information
This shouldn't go live until 1.8.0 is GA.
Tradeoff

Potential improvement

jager and cert-manager are somehow linked, bumping the versions in docs (and E2E) should be done with care.

Moving to blocked, waiting for the 1.8 release


move_and_collide will change KinematicBody2D's property scale

Godot version
3.4.4.stable.official [419e713a2]
System information
Windows 10, GLES3, Intel HD Graphics 620 (<IP_ADDRESS>16)
Issue description
Calling move_and_collide in physics_process will switch value x and y of its property scale, e.g. Vector2(-1, 1) -> Vector2(1, -1). No matter the parameter rel_vec for move_and_collide and the return value (KinematicCollision2D) is null or not.
Please pay attention that the behavior of KinematicBody2D is NOT changed anymore -- correct look like, correct movement and so on even readback property scale is changed.
I found the above issue while developing my fighter game. The Player 2 is turn around by setting its scale.x = -1. Everything works well until I read back its property scale for some calculation.
Steps to reproduce

Add node KinematicBody2D in tree
Set property scale of this node as scale.x = -1 in function _ready. Now scale is Vector2(-1, 1) and Sprite on this node is flipped on horizontal direction.
Call move_and_collide in function _physics_process, no matter value of the input parameter rel_vec
Check again the property scale by printing its out then can find its value is changed to Vector2(1, -1). Sprite keeps correct looks like.

Minimal reproduction project
No response

That's how scale works in 2D, see #17405

@KoBeWi Many thanks for your so prompt support!
I read https://github.com/godotengine/godot/issues/17405 and try the code to modify property transform by calling set_transform, yes its x and y work well to flip Sprite and more important is its value is read back correctly. Thus my calculation get correct result for player 2.
But could you please help to point out why is "how scale works in 2D" -- I'm still confused why scale swap its x and y.

You can find more info here #37376 and in the linked issues.
It's about transform representation in 2D.

@KoBeWi OK many thanks to link more discussions. Now I know something about this point. Hope there will be clear solution since there are so many guys are confused about such weird behavior.


Support list of wordlists as a string

Allow the spelling_word_list_filename to be passed as a string, but still be a list filenames and treated as such
Fix for issue #169

So the syntax for the list is semi-Python, using the names without quotes separated by commas and wrapped in square brackets?
-D spelling_word_list_filename=[filename.txt,another-filename.txt]

How common do you think commas are in filenames? Could we use commas to separate the values and forego the brackets?
-D spelling_word_list_filename=filename.txt,another-filename.txt

That sort of syntax is pretty common in other tools I'm familiar with.
Other options would be to pass a directory name or glob pattern. Would either of those work for your use case?

I was trying to do as little as possible to not break things I haven't tested, so having square bracket around a list seemed kinda Pythony.
I'm not sure how common commas in file names are - and happy that foregoing the bracket and splitting on commas would work.  If someone does have a comma in their filename, is fairly non-standard, and can be worked around by renaming the file.
A directory name or glob pattern wouldn't work in my case, as the "common" and "per-project" word lists end up in different locations.

I was trying to do as little as possible to not break things I haven't tested, so having square bracket around a list seemed kinda Pythony.
I'm not sure how common commas in file names are - and happy that foregoing the bracket and splitting on commas would work. If someone does have a comma in their filename, is fairly non-standard, and can be worked around by renaming the file.

Let's go ahead with that, then. Updating the docs in docs/source/customize.rst and adding an entry to docs/source/history.rst would be good additions to the parsing change. A unit test for get_wordlist_filename() would be good, since the logic is growing more complex.
Do you want to make the updates to this PR?

A directory name or glob pattern wouldn't work in my case, as the "common" and "per-project" word lists end up in different locations.

That makes sense. Someone can always rely on the shell to do the globbing for them, anyway.

Let's go ahead with that, then. Updating the docs in docs/source/customize.rst and adding an entry to docs/source/history.rst would be good additions to the parsing change. A unit test for get_wordlist_filename() would be good, since the logic is growing more complex.
Do you want to make the updates to this PR?

I've made changes to the rst files as requested - but have not added unit tests.
I've not sure how your unit tests work - happy for you to add them as you see fit.

Let's go ahead with that, then. Updating the docs in docs/source/customize.rst and adding an entry to docs/source/history.rst would be good additions to the parsing change. A unit test for get_wordlist_filename() would be good, since the logic is growing more complex.
Do you want to make the updates to this PR?

I've made changes to the rst files as requested - but have not added unit tests. I've not sure how your unit tests work - happy for you to add them as you see fit.

No problem, I'll add some tests.

I rebased this in #178


chore: remove unneeded dependency resolutions

Details
Remove dependency resolutions that are no longer needed
Motivation
Clean up package.json
Pull request checklist

[ ] Addresses an existing issue: Fixes #0000
[ ] Added relevant unit test for your changes. (yarn test)
[ ] Verified code coverage for the changes made. Check coverage report at: <rootDir>/test-results/unit/coverage
[ ] Ran precheckin (yarn precheckin)
[ ] Described how this PR impacts both the ADO extension and the GitHub action

Codecov Report

Merging #1229 (ee1cc22) into main (ed6ed49) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head ee1cc22 differs from pull request most recent head f50e089. Consider uploading reports for the commit f50e089 to get more accurate results

@@           Coverage Diff           @@
##             main    #1229   +/-   ##
=======================================
  Coverage   89.84%   89.84%
=======================================
  Files          64       64
  Lines        1586     1586
  Branches      199      199
=======================================
  Hits         1425     1425
  Misses        161      161

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 ed6ed49...f50e089. Read the comment docs.


Show Data in Format form in read-only View

Issue Fixed #145

@ozdemirburak Its done

Thanks, @JunaidJaved248.


asset-feature preview should use not use Repository directly to generate link URL

Currently, the asset-feature document calls config.repository.fileURL to generate the link URL for preview image, where present. However, if the repository could not be resolved, for whatever reason, this will fail to work. Instead, we should use config.docURL, which would allow the user to leverage the docs.url option to control this behaviour, leaving the repository usage as the default within config.docURL.

This has been implemented and will be included in the 0.1.4 release.


Chat bubble text cannot be selected

@agazso I thought we decided that they should be selectable. Can you confirm or deny @david-gauquelin @vojtechsimetka?

Exactly, and the problem is that I cannot select the text.

That's weird, I can 🤔
Where are you testing? I can select both on desktop and my android

Indeed it works in Chrome. It does not work in Firefox. Updated the title.

Sorry, false alarm, it only does that when I view it on mobile view in the dev tools :smile:


⚠ ClamAV has degraded performance

In 5e81e9f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in daf5b1c.


Save AS error

Had made major edits and wanted to Save AS a
and got...
MeerK40t crash log. Version: 0.6.18
Please report to: https://github.com/meerk40t/meerk40t/issues
Traceback (most recent call last):
File "wxMeerK40t.py", line 1379, in on_click_save_as
File "Kernel.py", line 2259, in save
File "Kernel.py", line 1374, in save
File "DefaultModules.py", line 80, in save
AttributeError: 'NoneType' object has no attribute 'items'
I had been making lots of moves and edits.
There were some stray "fragments" that got deleted... thinking it was one of those...
Just tried SAVE, it does the same thing.... so much for 10min of edits... again...

Hm. The text in question doesn't have a values how odd. But, if you created it with console: text this is some text then maybe scale 50 so you can see it. Then it might not have that. Yeah, seems like a solid bug.

https://github.com/meerk40t/meerk40t/releases/tag/0.6.19-beta1


Add tf.regex_match for regex match support

This fix tries to address the issue raised in #18264.
Currently tf.regex_replace has already been supported though there was no regex match support.
This fix adds the tf.regex_match support in a similiar pattern as tf.regex_replace.
This fix fixes #18264.
Note: this PR is a preliminary implementation which support full match of the regex. Additional variations could be added or in follow up PRs if needed.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Thanks @asimshankar @rmlarsen for the review. The PR has been updated with op exposed as tf.strings.regex_full_match. Please take a look and let me know if there are any issues.

@asimshankar handing to you for API approval.

Good for API addition. Thanks!

Thanks!


Not working  at all on Hindi language Newspaper

Thanks for such an amazing working Python software on the newspaper domain. However, I tried it on the Hindi newspaper, but it did not respond as well as it did on the sample URL codes .

url= 'https://www.patrika.com/opinion/hfh-18989797'
a = Article(url)
a.download
<bound method Article.download of <newspaper.article.Article object at 0x00000000057BCAC8>>
a.parse
<bound method Article.parse of <newspaper.article.Article object at 0x00000000057BCAC8>>
a.publish_date
''
a.authors
[]
a.text
''

It working for me with the same url, here the output for the following


Updates for CTM to Bring in-line with GCM

This is a set of commits trying to get GEOSctm in line (mepo-wise) with the GEOSgcm

Tagging @tclune , @mmanyin and @JulesKouatchou so they know about this draft


Error I Need The Help

Hi Prisma Team! The following command just crashed.
Command
db pull --force
Versions

Name
Version

Platform
windows

Node
v18.15.0

Prisma CLI
4.12.0

Engine
659ef412370fa3b41cd7bf6e94587c1dfb7f67e7

Error
Error: Error in migration engine.
Reason:

Please create an issue with your `schema.prisma` at
https://github.com/prisma/prisma/issues/new

Hey @ElsayedRapaa,
Could you provide more information so that we could reproduce your issue? The Prisma Schema you're using would be a good start.

Hi!
Without further info we'll have to close this issue. If you have the same issue, please leave a comment or open a new issue. Thank you!


Suggestion: use nds mode ntrboot_flasher version with flashrom backup/restore to SD

Since using ak2i_ntrcardhax_flasher is the easiest way to install ntrboot for many people, some of them are complaining that you can't save your flashrom backup on the flashcard SD card, when using it on Dsi/3ds.
I know that there is a flashrom backups archive, but it will be impossible to cover them all when more cards will be added, and more clones will be supported.
But this is not an unsolvable problem; knowing that with dldi you can interface with most flashcards SD card, you can save here your flashrom dump for further restoring. And someone have already implemented that:
https://github.com/saibotu/nds_ntrboot_flasher
This fork does exactly that, alongside with rewritten graphics, more user friendly. The only thing is that it uses an older flashcard_core commit, but it shouldn't be hard to fix that (also knowing that @Plailect has rewritten fwtool for dsiwarehax). Maybe it needs some testing, but it will be a very good improvement to the actual method of installing ntrboot with only one device.
Sorry if this issue is seen as a duplicate, but I really hope to see this method improved.
PS: I won't be able to reply tomorrow, since I'm travelling.

@saibotu should pull request his changes to the main repo if he feels they are ready for widespread use.

I've seen the update... Well, good luck finding the 50+ flashrom dumps for the ones that will flash a dstt from an NDS.


what is the mean skipListArenaChunkSize,skipListArenaMaxAllocSize,skipListSizeLimit

what is the mean skipListArenaChunkSize,skipListArenaMaxAllocSize,skipListSizeLimit in bookkeeper.conf

In my understanding:
skipListSizeLimit: It means how many entries can be added in a EntryMemTable
skipListArenaChunkSize: It means the memory size of a Chunk(a heap memory pool, to avoid frequently memory allocation and a lot of memory fragments). When bookie received an entry, the entry exists in direct memory, so that it needs to copy into heap memory(Chunk).
skipListArenaMaxAllocSize: It means the threshold of an entry can be copy into Chunk. If an entry's size is greater than skipListArenaMaxAllocSize,  bookie will be allocated heap memory by invoke new byte[size] directly.

In my understanding:
skipListSizeLimit: It means how many entries can be added in a EntryMemTable. Entries will be cached in heap memory first, then async flush into disk.
skipListArenaChunkSize: It means the memory size of a Chunk(a heap memory pool, to avoid frequently memory allocation and a lot of memory fragments). When bookie received an entry, the entry exists in direct memory, so that it needs to copy into heap memory(Chunk).
skipListArenaMaxAllocSize: It means the threshold of an entry can be copied into Chunk. If an entry's size is greater than skipListArenaMaxAllocSize, bookie will be allocated heap memory by invoke new byte[size] directly.

Hi @armandxu, the explanation for skipListArenaChunkSize and skipListArenaMaxAllocSize can also be found in https://pulsar.apache.org/docs/en/reference-configuration/.
Hi @tjiuming, thanks for providing more information.
The skipListSizeLimit parameter is missing in the reference-metric.md file. Can you pls help add it next time when you submit a PR for #15439 ?

There was an attempt and discussion about addingskipListSizeLimit to the docs. The conclusion is that this config is not recommended to be used and we'd better not introduce any unused configurations in the docs. Refer to the comment and close the issue.


upgrade latest version to go 1.20

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
Run tests on go 1.16, 1.18, 1.19
What is the new behavior?
Run tests on go 1.16, 1.19, 1.20

Codecov Report
Base: 52.27% // Head: 52.43% // Increases project coverage by +0.15% :tada:

Coverage data is based on head (2825cde) compared to base (b69b5d9).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #546      +/-   ##
==========================================
+ Coverage   52.27%   52.43%   +0.15%
==========================================
  Files         220      220
  Lines       21430    21430
==========================================
+ Hits        11203    11237      +34
+ Misses       9520     9494      -26
+ Partials      707      699       -8

Flag
Coverage Δ

1.16.x
51.84% <ø> (+0.11%)
:arrow_up:

1.18.x
?

1.19.x
52.17% <ø> (+0.15%)
:arrow_up:

integration
52.43% <ø> (+0.15%)
:arrow_up:

ubuntu-latest
52.43% <ø> (+0.15%)
:arrow_up:

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

Impacted Files
Coverage Δ

retry/errors.go
80.00% <0.00%> (-20.00%)
:arrow_down:

internal/xsql/badconn/badconn_go1.18.go
46.15% <0.00%> (-19.24%)
:arrow_down:

retry/sql.go
62.96% <0.00%> (-7.41%)
:arrow_down:

internal/balancer/connections_state.go
75.00% <0.00%> (-2.89%)
:arrow_down:

internal/topic/topicreaderinternal/committer.go
70.46% <0.00%> (-2.02%)
:arrow_down:

internal/xsql/conn.go
28.77% <0.00%> (-0.55%)
:arrow_down:

internal/table/session.go
77.27% <0.00%> (+0.47%)
:arrow_up:

internal/table/client.go
69.21% <0.00%> (+0.51%)
:arrow_up:

...al/topic/topicreaderinternal/stream_reader_impl.go
65.29% <0.00%> (+0.53%)
:arrow_up:

internal/balancer/balancer.go
84.72% <0.00%> (+1.38%)
:arrow_up:

... and 7 more

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

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


(Team 1) Refactor SampleSource to ScanBasedSourceOperator

#team1: Thanks for doing a great job doing the presentation today about Lucene.  Please move the SampleSource operator to textdb/dataflow/source/IScanBasedSourceOperator.java .  Think about how to model the parameters about the operator, such as the directory and schema of the data source.
Create a new branch with a new pull request into the master.  Add me and @JavierJia as the reviewers.
Also please figure out a way to add two team members to this issue: @inkudo and @rajesh9625 .  I don't know how.

Made the required changes and created the pull request

Closing the issue. The changes are merged into master. PR-41


fix: circular dependency

Summary
Created an index.js file inside the /lib directory to re-export existing modules in order to fix a circular dependency.
For internal tracking, 8333
Checklist

[X] Added a changelog entry

Authors

List GitHub usernames for everyone who contributed to this pull request.

@oscarleonnogales
@SancSalix

Looks like we might need to update GHActions to be able to fun the functional tests:
session not created: This version of ChromeDriver only supports Chrome version 110

LGTM! Question for discussion: is this a breaking change?

No, you can still import directly from the file as it was before so older integrations won't be affected.


feat(ingest): unity-catalog - Unity catalog source

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

9772/198692982-8b4edfb3-3544-46be-ad4a-3deb0c10324b.png">


[Viewer App] Handle and update quality options for main stream only

When the Publisher is streaming with Camera source only and simulcast ON, on the viewer app viewer can see only Auto option under Quality dropdown. However on the Publisher App, it shows that for the given stream there are multiple qualities available.
On the viewer app, multiple quality options are shown with multiple sources but not with the single source (camera/local file/screen).
The solution to this issue is to:

[x] Handle quality options for the main stream only. Quality options for the other streams are redundant as they are unused.
[x] Update dependencies so that the memoised values are updated correctly when quality options change.

@jackshen
Verification Status: FAILED
Branch: int-issue-145-multisources
Environment: MAC/WIndows, Chrome
Date: Feb 22, 2023
Following Bugs are Observed:

[ ] On the viewer app different quality options [High/Medium/Low] are shown under settings for a camera source when streaming is started with Simulcast from the Publisher
STEPS:

Open the Publisher App
Start streaming with build-in camera source and default settings
Stop the streaming
Turn Off the simulcast from the build-in camera source setting option
Start the streaming again
On the viewer app, different quality options are shown for the camera source

https://user-images.githubusercontent.com/110803586/220529493-fa9e3cce-3cf7-4a4f-9cdd-b4f9ac004e74.mov

[ ] Quality options are not shown correctly for multiple sources when streaming is started with camera, screen share and local file
STEPS:

Open the Publisher App
Add Screen Share Youtube tab and Local File as a source
Configure the settings as below
Build-in camera source: Turn Off Simulcast
Screen Share: Keep the default Source
Local File: Turn Off Simulcast
Start the streaming
Open the viewer app
Ensure that quality options should be only shown for the Screen Share
Switch to multiple sources multiple times
Verify that quality options should be only shown for the Screen Share

https://user-images.githubusercontent.com/110803586/220530460-0ff59671-a1c4-457f-b83f-502fd2363e12.mov

@jackshen  pls have a look at this one, is simul cast setting taking effect? We must fix this functional issue before release.


Possible empty password file

I looked through your code and as a current student learning python I was asked to pick any code and see if I can correct any errors.
Well I would think adding an "else" statement to the main function would help in preventing  the processing of empty password files by the users.

Thanks.. I debugged it long ago, but forgot to update the code. Anyways..
Thank you
On 12 Jan 2016 02:57, "george udosen"<EMAIL_ADDRESS>wrote:

I am looking through your code and as a current student learning python I
was asked to pick ant code and see if I can correct any errors
Well I would think adding an "else" statement to the main function
would help in preventing the processing of empty password files by the
users
—
Reply to this email directly or view it on GitHub
https://github.com/geekcomputers/Python/issues/28.

Thanks for your response. I will close the issue now.


Try to fix ImportResultsControl exception

Kaipo, how have you tested this? In email, you said you could not reproduce it. I hope you have at least created a way to reproduce this case and tested to ensure that your new code works as expected. Never a good idea to simply code a solution you expect to work but cannot test.

Kaipo, how have you tested this? In email, you said you could not reproduce it. I hope you have at least created a way to reproduce this case and tested to ensure that your new code works as expected. Never a good idea to simply code a solution you expect to work but cannot test.

Kaipo, how have you tested this? In email, you said you could not reproduce it. I hope you have at least created a way to reproduce this case and tested to ensure that your new code works as expected. Never a good idea to simply code a solution you expect to work but cannot test.

Yeah, I only tested the "normal" code paths to make sure they hadn't changed and then the unexpected case by controlling execution with the debugger. But I guess in the unexpected state, other things might've changed as well besides the control that causes the exception.
I'll look into the code some more to see how to reproduce the bug so I can add a proper test for it. I noticed something weird which may have allowed the wizard to get into this state, related to DDA search like you mentioned.

Kaipo, how have you tested this? In email, you said you could not reproduce it. I hope you have at least created a way to reproduce this case and tested to ensure that your new code works as expected. Never a good idea to simply code a solution you expect to work but cannot test.

Yeah, I only tested the "normal" code paths to make sure they hadn't changed and then the unexpected case by controlling execution with the debugger. But I guess in the unexpected state, other things might've changed as well besides the control that causes the exception.
I'll look into the code some more to see how to reproduce the bug so I can add a proper test for it. I noticed something weird which may have allowed the wizard to get into this state, related to DDA search like you mentioned.

It looks like you can go back to the first page with DDA search. The changes fixed the exception in this case but I noticed some other weird UI bugs if the user goes back to the first page and changes the workflow which I am looking into.

It looks like you can go back to the first page with DDA search. The changes fixed the exception in this case but I noticed some other weird UI bugs if the user goes back to the first page and changes the workflow which I am looking into.


Fix source node schema inference

Summary
Upon source node creation, we infer the schema of the node based on the table schema, but this breaks with the new Spark-backed DJQS, as it doesn't specify which engine to use. This change passes in the right engine.
A similar change is also needed in DJRS. Companion to https://github.com/DataJunction/djqs/pull/13
Test Plan
Ran it end-to-end. We can actually modify the DJ Roads notebook to not include the column schemas upon source node creation, but I've left that in there for reference purposes.

[X] PR has an associated issue: #
[X] make check passes
[x] make test shows 100% unit test coverage

Deployment Plan

@samredai Sure! Let me do that in a separate PR


icons do not appear on the webpage

I did an install of cloudMapper, when displaying a web page does not appear the icons. ex: ec2, rds

Closing as duplicate of #19 . This is normally resolved simply by refreshing the page.  It's unknown still why this happens.

I used nginx and it worked perfectly, thanks.
Good project congratulations.


Complex where query in a custom Validator using Presence Verifier

I'm writing a validator that verifies that an IP is unique. The complexity is that these are IP ranges, so no IP range can overlap with another. For this I've extended the Illuminate\Validation\Validator class and added my validateUniqueIp function which is very similar to the validateUnique function built into Validator.
I'm thinking the key lies in the $extra variable, but it seems to only allow = relations, not >, <, etc. After skimming the code I noticed I could use a closure for a subquery here but I don't think I need a subquery, just a simple way of adding my own ->where(...) to the $query object. Obviously I could extend the PresenceVerifier but that doesn't sound like the right solution. Ideally, I'd be able to pass a closure to the getCount function which receives $query and can add extra logic to it.
What would be the recommended solution to this? Thanks in advance.

Please ask on the forums. We cannot process support requests here.


page.pause()

is there any way to pause like page.pause() functionality to handle manual steps?

I think You can use nodejs functionalities for this. Something like
https://stackoverflow.com/questions/19687407/press-any-key-to-continue-in-nodejs#49959557
Or if the "manual step" result a spesific UI to be appeared, you can just wait for that element


Adding menu items to right side of the header.

Hello. I am not a web developer and this is my first time getting exposed to CSS and HTML but I tried to change some things on the theme. I semi successfully removed the aspect ratio limit (it still appears when I zoom in but looks fine when zoomed out):

However, one thing that really bothered me was the inability to add menus to the right side of the header instead of the default left side, here is what I tried so far:
header.html

            <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"></button>
            Home

                    {{ $currentPage := . }}
                    {{ range .Site.Menus.main }}
                        {{ if .HasChildren }}

                                    {{ .Pre }}
                                    {{ .Name }}

                                {{ range .Children }}

                                        {{ .Name }}

                                {{ end }}

                        {{ else }}

                                    {{ .Pre }}
                                    {{ .Name }}

                        {{ end }}
                    {{ end }}

                        FR

                    {{ $currentPage := . }}
                    {{ range .Site.Menus.rmain }}
                        {{ if .HasChildren }}

                                    {{ .Pre }}
                                    {{ .Name }}

                                {{ range .Children }}

                                        {{ .Name }}

                                {{ end }}

                        {{ else }}

                                    {{ .Pre }}
                                    {{ .Name }}

                        {{ end }}
                    {{ end }}

`

And here is related part of the config.toml:

`[menu]
  # This displays buttons in the navbar to access your contents
  [[menu.main]]
    identifier = "about" # An unique identifier for the button
    name = "About"       # A display name for the button
    url = "/about/"      # The path to the content. It can lead to a single page (like here)
    weight = 10          # A number to order the buttons in the navbar

  [[menu.main]]
    identifier = "posts"
    name = "All posts"
    url = "/post/"       # The path can lead to a content folder too.
    weight = 20

    [[menu.rmain]]
    identifier = "en"
    name = "EN"
    url = "/en/"       # The path can lead to a content folder too.
    weight = 30

    [[menu.rmain]]
    identifier = "fr"
    name = "FR"
    url = "/fr/"       # The path can lead to a content folder too.
    weight = 30```

I also copied everything in bootstrap.css that starts with ".navbar" and renamed the duplicate ones to ".rightnavbar" here is some example:

```.rightnavbar .rnav {
  position: relative;
  left: 0;
  display: block;
  float: right;
  margin: 0 20px 0 0;
}

.rightnavbar .rnav.pull-right {
  float: right;
  margin-right: 0;
}

.rightnavbar .rnav > li {
  float: right
  padding-left: 0;
}

.rightnavbar .rnav > li > a {
  float: none;
  padding: 0 10px;
  color: #000000;
  text-decoration: none;
  text-shadow: 0;
}```

But doesn't matter what I do nothing works :/ any ideas?

Also as an extra question lets say I want to have the fella.com site and just have english articles and english info pages but when I type fella.com/fr I want the site to turn french and only show french articles and info pages. Is this possible with hugo or should I get two separate domains?

config.toml
[languages.en]
weight = 1
languageCode = 'en-US'
languageName = 'English'

[languages.de]
weight = 2
languageCode = 'de-DE'
languageName = 'Deutsch'

Override the header template
mkdir -p layouts/partials
cp themes/hugo.386/layouts/partials/header.html layouts/partials/

Then modify layouts/partials/header.html
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 7fe2281..e3f2bf3 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -33,7 +33,12 @@
                         {{ end }}
                     {{ end }}

+

+                  {{ range .AllTranslations }}
+
{{ .Language.LanguageName }}

+                  {{ end }}
+

The language switcher is available in both the collapsed and expanded menu. Perhaps @maxlefou can suggest a better way to do this.

this version isn't really supported anymore since another revamp is in the way. but feel free to make pull requests

It works! Thank you. However, I couldn't manage to do the margin equal to "My New Hugo Site" here is what I tried:

When I inspect the element it says the margin value was read from Bootstrap.css How do I overwrite that?


Dark mode added and responsive

Related Issue
"None"
Fixes:  #1543
Description
Enabled dark mode and made the layout responsive for better accessibility and user experience.
Type of PR

[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
dark mode
https://github.com/user-attachments/assets/c7066669-75f6-4ada-8afc-af28fae7f770
responsive
https://github.com/user-attachments/assets/26e3b30d-3e6e-4ea9-aef8-987a78f3acd4
Checklist:

[X] I have made this change from my own.
[X] I have taken help from some online resources.
[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] My changes generate no new warnings.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers and screenshots after making the changes.

kindly review my code
Requesting to add a Level 3 label to my PR focused on enhancing responsiveness and implementing dark mode
@PriyaGhosal

@Subham1  Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile! Also Take a moment to ⭐ Star the repository if you haven't already.
Great contribution ! 🎉


get on PyPi

We want to be consumable!
To do that, lets get on pypi

Partially completed by #15 15

https://pypi.org/project/pylertalertmanager/
I think this one is done 🙂


⚠ captana.io | API has degraded performance

In 84b1d5e, captana.io | API ($CAPTANAIO_API_BACKEND_CHECK) experienced degraded performance:

HTTP code: 200
Response time: 4332 ms

Resolved: captana.io | API performance has improved in 476dfe5.


problem with fill color for Icon in ol@dev

Hi,
I'm having a problem with the fill color for an icon.
I found a different issue that discusses my problem:
https://github.com/openlayers/openlayers/issues/12410
so I tried to use the version ol@dev in my project.
but I had a bit of a problem with it.
When my browser is on zoom 100% the icon is colored 100%:

but when my browser is on zoom of 75% the icon doesn't get colored all the way:

I have tried all this versions of openlayers  6.4.3, 6.4.1,  6.4.0,  6.3.1, 6.3.0, 6.2.1, 6.2.0,  6.1.1, 6.1.0,6.0.0.
but there is still a problem with the fill:(on the right I'm using version 6.5.1 and on the left side I'm using version openlayers/examples)

I did notice that version 5.3.3 fill color of the icon works with all browser's zooms:(in this picture the zoom is 50%)

Is there a solution to the problem? is there a newer ol@dev?
I'm using this version of ol@dev:

Thank you!
hope to hear from you soon.

If you can share your code, someone could debug it and isolate the issue. The version you are using is from 3 days ago, so I would say it is recent enough.

The same problem can be seen in the examples (latest and main) if browser zoom is less than 100%

Thank you very much for the fix!
On Mon, Jun 21, 2021 at 7:16 PM MoonE @.***> wrote:

Closed #12415 https://github.com/openlayers/openlayers/issues/12415 via
#12418 https://github.com/openlayers/openlayers/pull/12418.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openlayers/openlayers/issues/12415#event-4917862858,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK6HBFM562R2ZNUYEOAYR7DTT5QVVANCNFSM47AFXDXA
.


rxbus in long running sticky service

I'm super new to rx thinking, it took me like 4-5 mos to get this far in
implementing the future in my code so bare w/ me...
is it ok to use rxbus in a service?
I have network data incoming from a background service constantly, I want to send it on its way via rxbus to fragments, quite possibly even store the data based on certain conditions, along its route.
are there any issues thats a apparent with that use case?
i'm attempting all this now.

You can use it in a service, as long as you make sure that your service and the activity use the same instance of RxBus. Notice that you have to use a SerializedSubject in the RxBus if you're moving across different threads
P.s: I appreciate your questions but it would be better if you post your question on stack overflow, and point me to a url via twitter (unless it's an actual or issue with the code in the repo). opening up issues in github is probably not the best mechanism for queries.


[Feature] Support to generate PersistentVolumeClaim for Pod

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
We need mount PersistentVolume into Pod in some cases. For now, we can add volumes which refer to PersistentVolumeClaim in PodSpec, but we need to create PersistentVolumeClaim manually.
I am looking up some way to create PersistentVolumeClaim automaticly.
Use case
Some ray job need to save file on persistent storage, we need to mount some disk (e.g. aws EBS, aliyun EBS) into Pod.
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Currently we create head/worker pods directly, bu not using workloads like statefulset/deployment。Statefulset/deployment may be more suitable for this case and other functions like rolling upgrade.

@feilengcui008 For normal case, it's true. The major blocker issue for us to adopt sts or deployment is we plan to enable autoscaler soon and we need to fine grain control the pods to be deleted. In this case, both sts and deployment won't work


SUBTASK: Implement a priority queue for rendering the remoteParticipants

Create a priority queue to store the remoteParticipants information.
We are probably gonna need some way to show all the participants ordered by priority to render them.

We were investigatin with @JonaQuaLabs  and we discovered an external library called priorityQueue that might work. https://www.npmjs.com/package/js-priority-queue
@marcovidonis  Any thoughts about this?
Of course this ticket needs further investigation before doing anything.

priorityQueue looks good! Then we should be able to easily implement (and update, if necessary) the comparator function to our needs, comparing priority fields inside participant objects, for example.

okay so I tried to implement a priority queue and I come up with the following problem:
If I store all the participants in a priorityQueue and one participants changes his status-let's say he starts speaking- the priority queue order is going to still be the same so I will need a way to modify the priority of that particular remoteParticipant.
So turns out for fixing this I have 2 choices:

Rebuild the priorityQueue O(n)
Search for the element in the priority queue, remove it and insert it back again. There's no point on doing this since in the priority queue we are supposed to only have access to the top priority item. In other words, a nasty solution.

As a result of this I decided to use an AVL tree, so when this happens, let's say a participant starts speaking I will remove him from the AVL tree and insert him back again in O(log(n)).
I'll be using avl npm library.
@marcovidonis what do you think about this solution?

hey Marco, yes that's the library I was planning to use.
Regarding the issues and PRs that's my bad, I was doing that and then I totally forgot about it. From now on I'll link all the issues to their corresponding PRs.

@marcovidonis I tried to implement the remoteParticipantsAVL and turns out it adds a lot of complexity.
I found 2 ways of implementing this:
Number 1: Instead of using the Map structure use an AVL structure, the problem with this every time we want to search for a remoteParticipant(and this happens all the time since every time we listen to an event we look for the guy who triggered that) we need to do this in a slower way(O(log(n)) compared to the Map that searchs on O(1). On the other hand the operations we do like 'increasing priority' require other operations(remove from the AVL an insert it back again) that add complexity to the code.
Number 2: Maintain the Map and the AVL, which adds way more complexity since we need to maintain both structures.
After analizying this I came up to the conclusion that is better to keep things the way they are: a list of remoteParticipants.
With this list I can implement a comparator function and sort the list using that when it gets rendered, in this way is very easy to add or remove conditions and it doesn't have a massive impact on the rest of the code.
`  // To add a new criteria to the comparator you need to
// Decide if it's higher or lower pririoty compared to the already established
// if it's higher you must add the 'if' before otherwise add it after.
const comparator = (participant1, participant2) => {
if (participant1.speaking > participant2.speaking) {
return -1;
}
return 1;

};`

Yeah as I said, I'm not very familiar with AVL trees and other structures, that's why I went for a simple map :) There might be more efficient solutions we could look into later, but I have a feeling that all the rendering operations React does, where we create new arrays at every state change etc, are probably more than we can save by changing the way we handle remoteParticipants!


Lint is broken

When I run
make lint

I'm getting this error.

Added back the package.json file 0f9c528308692fa4dc6953bc83d23fab6fbaa11a


Binding shape editable events on polygon

I am having issue on binding events such as insert_at, remove_at, and set_at on my shape. Please have a look at https://developers.google.com/maps/documentation/javascript/shapes#editable_events
What I am basically trying to achieve is that I want to update my polygon paths when its been edited.

Please create a plunker example to re-produce your issue in public. Without it, it's hard to help.

Here's the plunker http://plnkr.co/edit/Yo5RuK?p=preview
If you notice, the insert_at event is never fired.

Check out hint in docs:

The listener must be set on the polygon's path. If the polygon has multiple paths, a listener must be set on each path.

How we can set listener on path?

you can try this. This function will return an array of path cordinates as googlemap LatLngLiterals
app.controller( 'MyController',  function(NgMap) {
    NgMap.getMap().then(function(map) {
        map.shapes[0].getPath().getArray();
    });
});

@noushad-pp I don't quite get it.. I am trying to get a use of insert_at event here. While your solutions is about to get a shape's paths

@chozzz  you are anyway trying to update the polygon's path right? Sorry i couldnt find an exact solution that you require.

@chozzz  true that. How i managed my requirement which is similar to you is that i get the array coordinates, by using the above code, after the user had done editing the polygon and triggering the update action.

@chozzz
`NgMap.getMap().then(function(map) {
map.shapes[0].getPaths().forEach(function(path, index){
				google.maps.event.addListener(path, 'insert_at', function(){
					var bounds = map.shapes[0].getPath().getArray();
					NewPolygons = bounds;
				});

				google.maps.event.addListener(path, 'remove_at', function(){

				});

				google.maps.event.addListener(path, 'set_at', function(){
					var bounds = map.shapes[0].getPath().getArray();
					NewPolygons = bounds;
				});

			});
		});`

Closing this since there is no plan to add this listeners into path level. If so, it's too much wrapping, I think.


Why is onAbort returning a promise?

Perhaps I'm uninformed, but my understanding is that the onAbort is unnecessarily marked as async which can confuse consumers of the StreamingApi
https://github.com/honojs/hono/blob/81264a9cf5837462c9af6b5653ea1675759fa8db/src/utils/stream.ts#L68

@sor4chi Can't you handle this?

This was a complete mistake but I didn't notice it.If there is no problem, I will remove async, but what do you think?

Hi @sor4chi
Please create the PR to remove it.

@gunhaxxor Thank you for this mention!


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix quoting when using inheritance as well

Related to #6402 and #6404

develop is way ahead of the game and honestly any change around quoting is ok since it'll all changed already.

@guilhermeblanco just a note: rebasing on this will likely be annoying. Still, the fix is valid IMO, and it shall be merged in master


Change output file names based on telemetry type

Output should be named appropriately, and follow same naming convention trail maker video file output, however should end with either -camm or -gpmd depending on the setting used.

@himynamesdave generated video has namemetadata-video.mp4 please see that, you want to change it?

changed to allow user to select the name of their video as they wish.

@karamvirup I like your implementation idea but currently get an error
python3 telemetry-injector.py -c -i UKBC003-in/ -o UKBC003-out-camm/
Output file already exists.

@himynamesdave
https://github.com/trek-view/telemetry-injector/issues/1#issuecomment-1315697858
https://github.com/trek-view/telemetry-injector/blob/dep/README.md


_hv View Not hidden when ktlRoles and !Developer

Hi Norm
Some of our views have started to show when _hv is applied with ktlRoles for this keyword to all users
_hv=[ktlRoles, !Developer]
This keyword works it hides the view from developers but as soon as I put !Developer it show it to everyone.:
_hv=[ktlRoles, Developer]
These are the iterations I have tried:
_hv=[ktlRoles, Admission] - This works
_hv=[ktlRoles, !Admission] - Doesn't work Developer can see this so can Admission
_hv=ktlRoles, !Admission - Doesn't work Both users can see the view
_hv=ktlRoles, Admission - Works
_hv=[], [ktlRoles, Admission] - Works
_hv=[], [ktlRoles, !Admission] - Doesn't work Both users can see the view
We are on version 0.28.0
Craig

Please wait on this it may be specific to our app

Closing for now will reopen if I finally figure out what's going on


Ensures that the message follows our commit convention, including breaking change indicator. This script does not have dependencies aside from basic POSIX tools.
If commitlint is installed, it will be used instead of the script. The configured commitlint rules will apply.

Added the breaking change check and a preference for using commitlint and its config, if commitlint is installed and a config exists.


Invalid input: not within alphabet

I am trying to decode a JWT so I can verify it, but I keep getting a verification exception with the message "Invalid input: not within alphabet". Here is how to reproduce:
std::string token = "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjYXV0aDAiLCJleHAiOjE3MTMzODgxNjgsInN1YiI6InRlc3RfdXNlciJ9.dlAk0mSWk1Clzfi1PMq7Omxun3EyEqh-AAu-fTkpabA67ZKenawAQhZO8glY93flukpJCqHLVtukaes6ZSOjGw";
jwt::decoded_jwt<jwt::traits::nlohmann_json> decoded(token);

I verified the token's integrity here.

I was able to build the code example you provided. You'll need to provide more information 🤔 you might want to double check how you are receiving and extract the token
https://github.com/prince-chrismc/jwt-cpp/actions/runs/8731222077/job/23956285054?pr=40#step:9:135

Invalid input: not within alphabet

This is a error thrown by the base64 decoding. Make sure you are passing a valid token.

I was not able to reproduce the problem with the code example you provided. You'll need to provide more information 🤔 you might want to double check how you are receiving and extract the token
https://github.com/prince-chrismc/jwt-cpp/actions/runs/8731222077/job/23956285054?pr=40#step:9:135

Interesting. It works with a string literal, but the same token fails when it's provided via IP packet. It looks like there's nothing wrong with your code, so I will investigate my own code further.

but the same token fails when it's provided via IP packet.

Make sure you don't have extra bytes at the front or back of the string. The base64 decoding doesn't run strlen, it relies on the string you give it. If you have a nullbyte at the end it will give that error but the byte won't show in e.g. a terminal.

but the same token fails when it's provided via IP packet.

Make sure you don't have extra bytes at the front or back of the string. The base64 decoding doesn't run strlen, it relies on the string you give it. If you have a nullbyte at the end it will give that error but the byte won't show in e.g. a terminal.

I think it's an issue with the C++ 11 standard library. Take a look at my GDB output:
Thread 45 "connection" hit Breakpoint 1, jwt::base::details::pad (base="73zr0EUBnjN3C8omv7jZ-Exn3EzUHMG6ZuGuCNmpjEbZPvRjzItEXcZflyx4PiPbE1pVSxWriQyAT0B1urbn-Q", fill="%3d") at /usr/local/include/jwt-cpp/base.h:243
243                                     return base + padding;
(gdb) s
std::operator+<char, std::char_traits<char>, std::allocator<char> > (__lhs="73zr0EUBnjN3C8omv7jZ-Exn3EzUHMG6ZuGuCNmpjEbZPvRjzItEXcZflyx4PiPbE1pVSxWriQyAT0B1urbn-Q", __rhs="%3d") at /usr/include/c++/11/bits/basic_string.h:6098
6098          basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
(gdb) fin
Run till exit from #0  std::operator+<char, std::char_traits<char>, std::allocator<char> > (__lhs="73zr0EUBnjN3C8omv7jZ-Exn3EzUHMG6ZuGuCNmpjEbZPvRjzItEXcZflyx4PiPbE1pVSxWriQyAT0B1urbn-Q", __rhs="%3d")
    at /usr/include/c++/11/bits/basic_string.h:6098
0x00007fffe8901b06 in jwt::base::details::pad (base="73zr0EUBnjN3C8omv7jZ-Exn3EzUHMG6ZuGuCNmpjEbZPvRjzItEXcZflyx4PiPbE1pVSxWriQyAT0B1urbn-Q", fill="%3d") at /usr/local/include/jwt-cpp/base.h:243
243                                     return base + padding;
Value returned is $2 = "73zr0EUBnjN3C8omv7jZ-Exn3EzUHMG6ZuGuCNmpjEbZPvRjzItEXcZflyx4PiPbE1pVSxWriQyAT0B1urbn-Q\000%3d"
(gdb)

There is clearly a null-terminator being added by the standard library (when it was not present before).

Glad we could help!


Can't copy&paste advanced permissions to page type.

Steps to reproduce:

Activate advanced permissions
Go to Dashboard "Page types" and change "Permissions".
In "Permissions for all pages" click "Copy" -> nothing happens
If you already have Permissions in your clipboard, click "Paste" -> progress starts, but never comes to an end.

Can anyone else reproduce this?

This looks like some kind of HTML/Javascript thing. The permission list was never designed for two distinct lists on one page. All of the Permission Clipboard Javascript is based on IDs and therefore no more than one list is allowed on the page.
It is sufficient to change the elements/permission/clipboard.php. I did the fix, maybe I should create a pull request?

If you've got a fix for this we'd love a pull request.

See #5118


Added insert sizes to multiqc report

What problem is the PR solving / What's new?
A simple check for overdigestion is to take a look at insert sizes of paired-end reads. This is now implemented and outputed in the multiqc
What did change
If alignment happens, and the reads are paired-end, picard CollectInsertSizeMetrics is called on the bam file:

I had some troubles with R inside of picard, changing the channel priority seemed to fix it :smile:

@siebrenf as we discussed today, this also implements that samtools-coordinate is ALWAYS(!) performed. This then also solves issue #193


DOC: write docstrings

Once things have settled a bit, I should try to write the Rust equivalent of docstrings. The examples in these can also get executed by cargo test.

Decent start on this now, closing in favor of more specific doc issues as they arise.


Re-enable logger test

And change MockLogger, so it doesn't matter if another test running in parallel uses a MockLogger instance; this is required as the logger is global.

I don't see how the changes to MockLogger help tests running in parallel - surely if two tests both try to register the logger, it will fail as per the test?

No other test classes set the logger; and the two tests in this class won't be executed in parallel.
The only danger is if this test is half-run, with a MockLogger registered; and other test that's running in parallel gets the MockLogger. Before this change any call into logging will throw an exception. Now no exception will be thrown, as IsDebugEnabled returns false, and the two methods to get a type-specific logger no longer throw.

Oh, I see what you mean. LGTM :)

Thanks :)


ci: tpcds benchmarking

Overview
This PR introduces a new script called tpcds.py which runs the build-commit workflow (only if a pre-built wheel does not exist), and then runs the run-cluster workflow on the built wheel.
Note
The build-commit.yaml workflow has been changed to not perform any checking if python wheel exists; that logic has been moved into the tpcds.py script.
Usage
uv run tools/tpcds.py --ref $MY_BRANCH --force

Closing in favour of https://github.com/Eventual-Inc/Daft/pull/3619.


Add reset value definition for Meter CC

Please describe how this will be used in the PR description.


Cleaning DB

To clean the db, can I just run the reset.sh at any point? or is there a better way to do it?
And is it also possible to prevent such extensive logging to empire.db in the first place?

@poopaapoopaa please use reset.sh. There isn't any other way to reduce logging verbosity other than modifying the source.


Fix updating of checkbox when user accepts permissions request (#29)

When the user requests the extension to be given access to the site and confirms this in the consequent browser dialog, the context menu item wasn't being immediately changed to checked.
We can fix this by ensuring that the updateItem() function which is responsible for updating the checkmark is called with the correct URL for the tab in question, so that it can detect whether the permission is now granted to the site and update the context menu item accordingly.
Note that the browser will automatically enable the checkmark simply by virtue of the context menu item having been clicked.  So if the user denies access in the dialog (despite previously requesting it to be given via a user-initiated "gesture", which is the only way the chrome.permissions API allows access to be given), then chrome.contextMenus.update() needs to be called to reverse that enabling of the checkmark.  However by calling updateItem() within the finally block with the correct tab URL, we can ensure the checkmark is always correctly set regardless of what happened.
Fixes #29.

Oops, fixing CI now.

By the way no need to force push, I'll squash the commits anyway

By the way no need to force push, I'll squash the commits anyway

It's no extra effort for me; in fact this is the way I normally work.  But it's your project, so if the force-pushes cause problems for you, I'll happily stop doing that :-)

if the force-pushes cause problems for you

It's mostly because it becomes more difficult to see what changed. I know squashing is common in other repos so I generally say it to save contributors from unnecessary work

if the force-pushes cause problems for you

It's mostly because it becomes more difficult to see what changed.

Yes, GitHub is bad in this regard.  In fact I documented this in detail a long time ago:

https://github.com/isaacs/github/issues/997
https://github.com/isaacs/github/issues/998
https://github.com/isaacs/github/issues/999

However, it got a bit better over the years.  For example, you can click on either of these links to see the difference:

(Although in this PR, you will see a force-push which didn't change the code at all.  That doesn't mean this feature is broken; it's just because I realised I had created the commit with the wrong author and committer emails, so I fixed the commit metadata and force-pushed to prevent invalid email addresses from polluting main forever.)

I know squashing is common in other repos so I generally say it to save contributors from unnecessary work

True, I have noticed that a lot of developers really struggle with cleaning git history.  I used to contribute to git, so this kind of stuff has been second nature to me for a long time.
BTW in case you haven't seen it, Gerrit does code review WAY better.    And for Open Source repositories, it's possible to have the best of both worlds for free via https://gerrithub.io/.  But I digress :laughing:

you can click on either of these links to see the difference

I know, but the difference is that with regular commits you don'y have to click. In fact GitHub even has a nice commit dropdown in both the Files tab and the Commits tab. 😃

Closing this for now, I'm improving the overall logic in a new PR.

the benefit of separation of concerns

I agree with you here. Fixing it in a new PR

All we need to do is ensure that updateItem() is called at the appropriate points.

Yes. I also opened this:

https://github.com/fregante/webext-domain-permission-toggle/issues/36

I know, but the difference is that with regular commits you don't have to click. In fact GitHub even has a nice commit dropdown in both the Files tab and the Commits tab. 😃

Sure.  The problem with that is that it's mixing "private" / unclean history (which isn't intended for inclusion in main) with "public" / clean history (which is).  This is a key failing of GitHub's code review system, and again something which Gerrit gets perfectly right by cleanly separating the two and making it easy to review whichever diffs you need to see, both history and "meta-history".
So GitHub forces us to pick one of two suboptimal approaches.  You prefer one, I prefer the other, it's all good :-)

Also re-pushing the same commit with an issue reference causes noise in the referenced issue

Yes that's an annoying downside.  It could be worked around by only referencing the issue in the PR and not in the commits.  Also technically speaking, fixups commits if written correctly should also reference the issue they are relating to, so that the reviewer knows which issue they are fixing up.  For small PRs and small repos like here, this is less relevant because typically the PR only targets a single issue.  I normally work in much larger repos with larger teams, where writing comprehensive messages for every single commit and polishing history prior to merge are much more important, so that's where my preference comes from.
Anyway, back to the main topic ;-)


promisify and lipstickify

Just touched the bare minimum in cli.js to let the tests pass. Not sure about all the doc changes in the readme as well. If you want it back like it was, let me know and I'll revert!
Feedback welcome.

Yeah, just drop the CLI. There are better CLI's for this.

Dropped the cli and fixed all the rest

Looks good 👌

Sweet!


Fix more warnings, enable /warnaserror

Fixed the 40+ remaining warnings when building for .NET Core.  Most were related to #if's in the wrong place.
This also enables /warnaserror in cibuild but I had to add 3 warnings to the /nowarn list:
warning AL1053: The version '<IP_ADDRESS>-foo' specified for the 'product version' is not in the normal 'major.minor.build.revision' format.
warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved.
warning MSB3026: Could not copy "XXX" to "XXX". Beginning retry 1 in 1000ms.

For MSB3270, set
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>

@dotnet-bot test Windows_NT Build for Desktop please

@dotnet-bot test this please

Can I get an approval on this?


[3.1] [Process] Implement terminationReason

This is needed before #963 can be backported to the 3.1 branch. It is a cherry-pick of #844.

@pushkarnk I'd appreciate it if you could run the CI against this.

@swift-ci test and merge


NOEOL is shown in top of cmdwin.

Little annoying. buftype=nofile, ft=vim. But right after the WinBufEnter for cmdwin is null string set for both.

I found a function getcmdwintype() that is empty if not cmdwin.


feat: fixed typos in home screen

fix: typos in home screen

closes #1216
👷🏻 Changes made

typos fixed in the app. consistency is maintained with the rest of the typography.

Hey @KrishVrm , donot please make pull requests for the issues that have someone else working on them already. I will be closing this for now.

I had no idea that anyone else was working on it, my bad.


Fix handling Deutsch.

Deutsch use . as grouping seperator and , as decimal seperator, so this commit basically fixing some bug around grouping seperator handling.
You tested French, but they use   (white space) as grouping seperator, and because of
- (NSCharacterSet *)illegalCharacters {
    return [[NSCharacterSet<EMAIL_ADDRESS>invertedSet];
}

you silently converted   to empty but this won't cover all case.

This is great, thank you! :octocat: :green_apple:

@AquarHEAD Did a new release! https://github.com/venmo/VENCalculatorInputView/releases/tag/v1.5.0

@ayanonagon We love your keyboard! But dealing with locales is really tricky :cat:
And I learnt from your test (Never wrote them before....)


Don't invoke async state machine unnecessarily

Return task rather than awaiting when no extra work needs to be done
after await
Fixes #3057

Hi @benaadams, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

No fair :( Went French?
Microsoft.AspNet.Mvc.FunctionalTests.ViewEngineTests.RazorViewEngine_UsesExpandersForLayouts(value: "!-invalid-!", expected: "<language-layout>\nView With Layout\n</language-layo"...) [FAIL]
      Assert.Equal() Failure
                 ↓ (pos 1)
      Expected: <language-layout>\nView With Layout\n</langu···
      Actual:   <fr-language-layout>\nView With Layout\n</fr···
                 ↑ (pos 1)

No fair :( Went French?

@kirthik ?

Is same error with main build rather than this PR; so feel better :)

/cc @rynowak

@benaadams
What is the measured performance improvement of this change?

@rynowak quick slightly unscientific test using AsyncAction_TaskOfValueReturnType
Parallelism | Awaiting (ms) | Task Passthough (ms) | Slow down from awaiting
------------ | ------------ | ------------ | ------------- | -------------
1 | 1476.1121  | 1318.694 | 12%
16 | 8819.8558 | 8020.9328 | 10%
64 | 35184.4027 | 32142.7115 | 9%
So making the methods as async and having the compiler construct a state machine to await a Task which can just be returned adds 10% to the time for this path. Obviously the time will vary greatly depending on how much other work is being done in the methods - but it does show that it makes a difference.

@rynowak I'll run some tests on the invoker in the morning; will need to chase down the code paths. Unless you have an existing test that would be good to look at?

Any particular invoker? For ControllerActionInvoker could change InvokeActionAsync to use a continuation and return the task to see what effect that has?

@benadams
It would be beneficial to look at the effect on throughput (requests/sec) for a "Hello, World" type of app like https://github.com/rynowak/mvc-sandbox/tree/master/src/HelloWorldMvc

@rynowak bit of a rabbit hole... post change:

Looking at ExecuteResultAsync it spends 47% doing WriteAsync; and 32% of the time deciding what formatter to use based on the Accept header.

Which between them are 69% of InvokeAllResultFiltersAsync

InvokeAllResultFiltersAsync (43%) and InvokeAllExecptionFiltersAsync (36%) make up 80% of FilterActionInvoker

Probably could do with some caching of return types; though I don't know how this would work with reloading based of file changes (changing views?)

Looking at the 35% is lost between RouterMiddleware.Invoke and FilterActionInvoker

If you are looking at method type caching after a quick review of ViewComponentMethodSelector I see there is some work with expressions; I've had quite good success with wrapping a Expression.Call in a strongly typed Expression.Lambda and compiling, and then caching the Func in a dictionary which may or may not help (ignoring the technical debt in the inheritance):
public class Controller<T> where T : Controller<T>, new()
{
    ...
    static Controller()
    {
        Routes = new Dictionary<string, Func<T, ApiRequest, Task<byte[]>>>();
        var methods = typeof(T).GetMethods(BindingFlags.Public | BindingFlags.Instance);

        foreach (var method in methods)
        {
            if (!method.ReturnType.Equals(typeof(Task<byte[]>)))
            {
                continue;
            }
            var obj = Expression.Parameter(typeof(T), "obj");
            var data = Expression.Parameter(typeof(ApiRequest), "data");

            var function =
                Expression.Lambda<Func<T, ApiRequest, Task<byte[]>>>(
                    Expression.Call(obj, method, data), obj, data
                ).Compile();

            Routes.Add(method.Name.ToLowerInvariant(), function);
            ...
    }

    public Lazy<CustomerIdentity> Customer { get; private set; }

Then invoke with a straight dictionary lookup:
public static Task<byte[]> Route(Lazy<CustomerIdentity> customer, string action, ApiRequest data)
{
    var obj = new T() { Customer = customer };
    // check if exists etc.
    return Routes[action](obj, data);
}

With this approach I can resolve and invoke 5.3M completed task controller action routes per second on a single thread and 322k controllers creating and converting POCO types->Json->211 byte[] via Jil on a single thread; all awaited on each invocation.
You'd probably need to bucket by argument count; +key with argument types etc; and the Mvc's route matching is a lot more complicated (specific vs general use cases) so it might not work at all...
Comparing with before:

The mscorlib await points are cut down from 11 to 7 for a shorter call stack; probably not a huge perf improvement, but is a start.

Over 1,000,000 requests (via ab -c 64 -k on localhost) its 7828.62 rps vs 7789.52 rps so only a 0.5% improvement :(
Though ab isn't a very good load tester; especially running on same machine.

I think my computer may be unhappy; likely too much network diagnostics entry points hanging around; will reboot and try again

Over 1,000,000 requests (via ab -c 64 -k on localhost) its 7828.62 rps vs 7789.52 rps so only a 0.5% improvement :( I think you have bigger issues going on...

That's the measurement I was looking for. I suspect that the impact of this isn't really going to noticeable in any real scenario other than benchmarking. I'm fine with taking the changes as the perf can't be worse, and the changes don't make the code worse :laughing:
Just be aware that micro-optimizations like this aren't something the team is likely to spend more time on unless our other measurements show us that it's significant. For instance, I'm working a change now to implement the cached Task.FromResult pattern from model binding where I did find that it's a significant source of allocations. If anything it's a worthwhile exercise for us to see what kind of impact these changes have - knowledge is power!
Regarding this discussion:

If you are looking at method type caching after a quick review of ViewComponentMethodSelector I see there is some work with expressions; I've had quite good success with wrapping a Expression.Call in a strongly typed Expression.Lambda and compiling, and then caching the Func in a dictionary which may or may not help (ignoring the technical debt in the inheritance):

Do you mean the code for invoking the action-method itself? If there's a pattern that's better than what we're doing it's likely worth looking into. Let's take that discussion to another thread/issue.

:shipit: - will merge this.

Also regarding this:

I think you have bigger issues going on...

We're definitely aware of that. I'm working through some of the issues right now with allocations in routing + model binding. I wanted to give your changes the best chance to show an improvement, but once you get out of "Hello, World!" type scenarios the views or model binding start to really dominate the measurements.
We're only really scratched the surface at this point with measuring MVC.

It's probably too late to comment this PR (since it has already been merged), but replacing async state machines by simple Task-returning methods is not always harmless, specially on paths susceptible to throw an exception:
public void Throw() {
    throw new Exception();
}

public async Task<int> Method1() {
    Throw();
    return 10;
}

public Task<int> Method2() {
    Throw();
    return Task.FromResult(10);
}

These 2 Task-returning methods share the same signature and - in a way - could be considered as equivalent.
There's a subtle difference though: Method1 will actually throw the exception differently from Method2:

In the first method, the exception will be thrown "asynchronously": Method1 will immediately return a Task that will latter fail with Task.Status = TaskStatus.Faulted (that would be the equivalent of using return Task.FromException(new Exception())).

In the second one, it will be thrown in a synchronous way: Method2 will immediately crash and won't - obviously - return any task.

This may have practical consequences. For instance, this method will behave differently depending on the method invoked:
public void Method3() {
    // This method returns a task that will latter fail but throws no exception at this point.
    var call1 = Method1();

    // This method will immediately throw an exception and you'll have no chance to get the task. The thread will crash here.
    var call2 = Method2();
}

In practice, awaiting and wrapping these 2 Task-returning methods in a try/catch block should produce the same result, but I think it's worth double-checking there's no regression in this PR.

replacing async state machines by simple Task-returning methods is not always harmless

Agreed; though I didn't come across any generate Task now resolve later parallelism or out-of-order execution which would be effected by this.
The execution seems to follow a serial path rather than gather+collate/map+reduce; which make sense both for caller expectation (pipeline executing steps in order) and optimising parallel requests; rather than parallelism within a single request as all the async resources are server local.
Alas return Task.FromException(new Exception()) doesn't exist in 4.5.1 (though is in 4.6 and core)

Perf testing is a bit hard; added #3070

@PinpointTownes
Put a bit more simply than what Ben said, we're awaiting all of these tasks already. If we had any code that was doing something fancy, I'd be concerned.


Changing the diplay of the /me command

This has been inactive discussions for 21 days now, so I'm moving it here.
Twitch has changed how the /me command is displayed in the Web Chat. To be consistent with Twitch I would recommand to implement this in Chatterino 2 aswell, but with the option of user choice. I think a good example of this is how FFZ has implemented it.
Originally posted by @oldLucke in https://github.com/Chatterino/chatterino2/discussions/2717
A valid input from @leon-richardt was that not everbody has a font installed that supports italic style.

deleted the original discussion since it is here now


Add null model rationale

Suggested by Per.

Yep - not yet addressed here, as the wikipedia page for Null Models is not very helpful here. Other suggestions welcome.

Having a bit of a tidy-up - is this still something you'd like to get in @hyanwong?

Peter's suggestion SGTM. Shall I implement?

Change made, should be OK to merge.

LGTM. But, what the heck, CI?


Error when trying to login in with Google

Issue and Steps to Reproduce
Create a Google OIDC client and try to use it with this library:
import {Provider} from "react-redux";
import {OidcProvider} from "@axa-fr/react-oidc-context";

const oidcConfig = {
	client_id: 'your_google_client_id',
	redirect_uri: `${location.protocol}//${location.host}/`,
	scope: 'openid',
	authority: 'https://accounts.google.com',
	service_worker_only: false
};

const root = createRoot(document.getElementById('root'));
root.render(
	<Provider store={store}>
		<OidcProvider configuration={oidcConfig}>
			<App/>
		</OidcProvider>
	</Provider>
);

Versions
Tried in version 5.3.1
Expected
Redirect to Google SSO
Actual
Before the actual redirect, the following error occurs because sessionStorage is empty:
SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.loadItemsAsync (initSession.ts:9:1)
    at Oidc.<anonymous> (oidc.ts:419:1)
    at step (noHashQueryStringUtils.ts:3:1)
    at Object.next (noHashQueryStringUtils.ts:3:1)
    at fulfilled (noHashQueryStringUtils.ts:3:1

Additional Details
I use React-Saga within my React application

Hi @jensaja ,
Thank you very much for your PullRequest!
I cannot reproduce the error with other providers.
I may need more details.
Can you try to add "openid profile email" instead of just "openid"?
You callback route seems to redirect to base path route.
Do you have a full callback route like :
redirect_uri: ${window.location.origin}/callback
?
Regards,
Guillaume

Hi @guillaume-chervet,
The issue was indeed that my redirect_uri was missing a /callback route in the path. So this had nothing to do with Google OAuth.
Another issue that was Google-specific (leaving this for future implementers), is that Google only allows an implicit flow if you don't pass a client secret. If you want to perform a code grant flow with PKCE, you need to pass a client secret in your token request. In this library, this can be done by passing it as token_request_extras in the config:
const oidcConfig = {
	client_id: 'your_google_client_id',
	redirect_uri: `${location.protocol}//${location.host}/callback/`,
	scope: 'openid',
	authority: 'https://accounts.google.com',
	service_worker_only: false,
	token_request_extras: {'client_secret': 'your_google_client_secret'}
};

Regards

Thank you for your feedback @jensaja .
Here a full config google example. https://github.com/AxaGuilDEv/react-oidc/blob/master/packages/context/src/configurations.ts
You may consider to use serviceworker in order to increase a lot the security. Have fun !

Thank you so much @guillaume-chervet . I wish I found the example earlier :)
One more issue though: the token request succeeds. But when trying to parse the response, the extractAccessTokenPayload method fails when trying to perform an atob operation on the returned token. The following exception occurs:
Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.

Is this a known issue? The access token returned by Google looks like this: ya29.A0ARrd...

Hi @jensaja, thank you again for the feedback.
The behavior is the one expected.
I may replace the console.error by console.warn and i may add a better check before trying to parse the token in order to avoid using an ugly exception.

It was quick to do. It work with my google auth. Doe it work for you with the last version?

Thank you so much! It works with Google with just a warning. One comment though: https://github.com/AxaGuilDEv/react-oidc/commit/cb946a94975cf11076b0b8b428bdee61c2d6ff78#r72099437

I close the issue  @jensaja , thank you and feel free to reopen it if you need it !

Hey guys
So Google returns the JTW in the id_token not in access_token, are we able to modify this library so we can detect that and return the JWT from id_token when it's Google?

Hi @timwsuqld , the library return already the id_token. What is exacty you need?

@guillaume-chervet thanks, I've worked out that we just need to use useOidcIdToken instead of useOidcAccessToken when using Google for OIDC. Hopefully this comment helps someone else stumbling across this issue.

Thank you @timwsuqld  :)


 Flannel over wireguard (but works fine on IPv4).

Describe the bug:
Aug 17 23:51:10 REDACTED-server k3s[1060103]: I0817 23:51:10.876617 1060103 kube.go:636] List of node(REDACTED-server) annotations: map[string]string{"alpha.kubernetes.io/provided-node-ip":"<IP_ADDRESS>,fdfe:a65f:20d::1", "csi.volume.kubernetes.io/nodeid":"{\"driver.longhorn.io\":\"REDACTED-server\"}", "etcd.k3s.cattle.io/local-snapshots-timestamp":"2024-08-17T23:16:35Z", "etcd.k3s.cattle.io/node-address":"<IP_ADDRESS>", "etcd.k3s.cattle.io/node-name":"REDACTED-server-89decbb8", "flannel.alpha.coreos.com/backend-data":"{\"VNI\":1,\"VtepMAC\":\"f2:4b:ca:0b:ef:e2\"}", "flannel.alpha.coreos.com/backend-type":"vxlan", "flannel.alpha.coreos.com/backend-v6-data":"{\"VNI\":1,\"VtepMAC\":\"2a:24:27:a4:a2:1b\"}", "flannel.alpha.coreos.com/kube-subnet-manager":"true", "flannel.alpha.coreos.com/public-ip":"<IP_ADDRESS>", "flannel.alpha.coreos.com/public-ipv6":"fdfe:a65f:20d::1", "k3s.io/external-ip":"REDACTED-public-IPv4,REDACTED-public-IPv6", "k3s.io/hostname":"REDACTED-server", "k3s.io/internal-ip":"<IP_ADDRESS>,fdfe:a65f:20d::1", "k3s.io/node-args":"[\"server\",\"--write-kubeconfig-mode\",\"644\",\"--tls-san\",\"REDACTED-public-IPv4,REDACTED-public-IPv6\",\"--flannel-iface\",\"wg0\",\"--node-ip\",\"<IP_ADDRESS>,fdfe:a65f:20d::1\",\"--node-external-ip\",\"REDACTED-public-IPv4,REDACTED-public-IPv6\",\"--advertise-address\",\"<IP_ADDRESS>\",\"--cluster-cidr\",\"<IP_ADDRESS>/16,2001:cafe:42::/56\",\"--service-cidr\",\"<IP_ADDRESS>/16,2001:cafe:43::/112\",\"--flannel-ipv6-masq\",\"--cluster-init\"]", "k3s.io/node-config-hash":"REDACTED", "k3s.io/node-env":"{}", "node.alpha.kubernetes.io/ttl":"0", "volumes.kubernetes.io/controller-managed-attach-detach":"true"}
Aug 17 23:51:10 REDACTED-server k3s[1060103]: I0817 23:51:10.876871 1060103 vxlan.go:155] Interface flannel.1 mac address set to: f2:4b:ca:0b:ef:e2
Aug 17 23:51:10 REDACTED-server k3s[1060103]: I0817 23:51:10.878692 1060103 vxlan.go:183] Interface flannel-v6.1 mac address set to: 2a:24:27:a4:a2:1b
Aug 17 23:51:10 REDACTED-server k3s[1060103]: panic: runtime error: invalid memory address or nil pointer dereference
Aug 17 23:51:10 REDACTED-server k3s[1060103]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x598197]
Aug 17 23:51:10 REDACTED-server k3s[1060103]: goroutine 27215 [running]:
Aug 17 23:51:10 REDACTED-server k3s[1060103]: math/big.(*Int).Bytes(0x0)
Aug 17 23:51:10 REDACTED-server k3s[1060103]:         /usr/local/go/src/math/big/int.go:527 +0x17
Aug 17 23:51:10 REDACTED-server k3s[1060103]: github.com/flannel-io/flannel/pkg/ip.(*IP6).ToIP(0x0)
Aug 17 23:51:10 REDACTED-server k3s[1060103]:         /go/pkg/mod/github.com/flannel-io/flannel@v0.25.4/pkg/ip/ip6net.go:82 +0x1c
Aug 17 23:51:10 REDACTED-server k3s[1060103]: github.com/flannel-io/flannel/pkg/ip.IP6Net.ToIPNet({0x0?, 0x0?})
Aug 17 23:51:10 REDACTED-server k3s[1060103]:         /go/pkg/mod/github.com/flannel-io/flannel@v0.25.4/pkg/ip/ip6net.go:175 +0x25
Aug 17 23:51:10 REDACTED-server k3s[1060103]: github.com/flannel-io/flannel/pkg/ip.EnsureV6AddressOnLink({0x0?, 0xc0168920d8?}, {0xc01d400700?, 0x30?}, {0x71c2e30, 0xc015f86c40})
Aug 17 23:51:10 REDACTED-server k3s[1060103]:         /go/pkg/mod/github.com/flannel-io/flannel@v0.25.4/pkg/ip/iface.go:298 +0x52
Aug 17 23:51:10 REDACTED-server k3s[1060103]: github.com/flannel-io/flannel/pkg/backend/vxlan.(*vxlanDevice).ConfigureIPv6(0xc0073391f0, {0x0?, 0xc001358550?}, {0xc01d400700?, 0x10?})

Wireguard configuration:
interface: wg0
  public key: REDACTED
  private key: (hidden)
  listening port: 51821

peer: REDACTED
  preshared key: (hidden)
  endpoint: REDACTED:20318
  allowed ips: <IP_ADDRESS>/32, fdfe:a65f:20d::2/128
  latest handshake: 23 seconds ago
  transfer: 673.30 MiB received, 1.56 GiB sent

peer: REDACTED
  preshared key: (hidden)
  endpoint: REDACTED:37999
  allowed ips: <IP_ADDRESS>/32, fdfe:a65f:20d::3/128
  latest handshake: 1 minute, 48 seconds ago
  transfer: 1.63 GiB received, 1.14 GiB sent

Just to be clear, this happened when trying to add IPv6 and etcd to a cluster that was started with sqlite and only IPv4?

My cluster was started from SQLite and IPv4. I switched from SQLite to etcd like 2 months ago.
Now, I try to add IPv6, to enable traefik on IPv4/6. However, I just read on the documentation that I can't do dualstack because I started my cluster with IPv4 only.
So, do I really need to destroy my cluster?

same issue here - tried switching from ipv4 to dualstack. Running single node

You can try deleting the node via kubectl delete node before restarting it as dual-stack.
The issue is that Kubernetes only assigns pod CIDRs to nodes when the node resource is created. If you try to switch from single-stack to dual-stack after the nodes have already joined the cluster, it won't add an IPv6 pod CIDR.

We don't technically support changing CIDRs or other core bits of CNI config after the cluster is up, and we don't want to be in the business of deleting nodes for people... but yes Flannel could probably be fixed to not crash.

Hi @brandond

You can try deleting the node via kubectl delete node before restarting it as dual-stack.

Even agents nodes or just the server?

Even agents nodes or just the server?

All the nodes that you want to be dual-stack. As I said, they need to be deleted and recreated to get new CIDRs assigned.

Hello,
I tried your solution, but I had an issue with Longhorn. None of my nodes were re-poping independently, and the K3s server crashed due to too high events. So I rolled back, but thank you.
As longhorn is not in this perimeter I close the issue.


GROOVY-7902: collate() infinite loop with zeroed step

Fixing infinite loop in Iterable.collate method when step parameter is equals to zero.
Example:
[ 1, 2, 3 ].collate( 2, 0 )

The result is a infinite loop because the step parameter is used directly in the for increment: pos += step
In the fixing  I assumed that the step parameter should be equals to size parameter, looks like in the collate(self, size, size, keepRemainder) overloaded method, with absence of step and I considered backward compatibility with negative steps.
Thks.
Felipe Mamud

I like your idea of avoiding the infinite loop but I am not sure of your proposed fix. I think we should either provide an iterator-backed implementation and "leave" the infinite loop which would allow:
assert [ 1, 2, 3 ].collate( 2, 0 ).take(2) == [[1, 2], [1, 2]]
or alternatively throw an IllegalArgumentException (or an extra flag to toggle the behaviors).

@paulk-asert I totally agree with you. I think we could create a collateStream new method that provides an iterator-backed implementation and I think we shouldn't mistake with collate method (for many reasons, p.e. backward compatibility). I created the implementation that uses IllegalStateExeception when occurs zeroed step. What do you think? 3ed1c5c

Looks good. I am unsure what we'd call an iterator-backed implementation, but it would be a method returning an iterator, not the current methods which do an eager calculation of the result, so what you have makes sense for the current ones.

PR merged, thanks!

@paulk-asert PR merged? I think this PR was closed. It's normal and this PR will merge afterwards
? 😃
thks.


Fix broken link to Patternfly

Changed

Fixes broken link to Patternfly on faceted search design

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


Cleanup logging messages

[ ] Change interpreter discovery error logs to warning logging level
[ ] Determine useless instances of @traceDecorators.verbose/info in PR reviews from DS and extension team and remove them.

stale


epoch count in config file, default value if not

close #76

@celinejacques great, thanks! See small suggested change above, so that after it we can merge this PR.
Also, for future contributions, please check this great article from Chris Beams about structure/format of Git commit messages.

@bowni @RomainGoussault
Changes done !

Great, thanks @celinejacques . But you just introduced epoch_number in the config file, is this a typo or is there something I don't get? :-)

@bowni A typo obviously! I first removed it and then thought it could be interesting to have an example and write the wrong word. I change it right now

Great! Now waiting for @RomainGoussault to resolve his change request.


Ghost-locks when moving the map and flickering "Add data collection site" card

Relating partially to issue https://github.com/google/ground-android/issues/2727:
On my personal Android Device (Xiaomi Poco X3 NFC, Android 12 SKQ1.211019.001, GROUND build 0.1.9-openforis) in this survey, the map is randomly locked to the most recent place. Only when moving away and holding my finger on the touchscreen a little longer does the map move along and not jump back to the previous place. However, then the new place is sort of "ghost-locked". This makes sliding the map around for geolocation almost impossible. All the while, the "Add data collection site" card does randomly appear and disappear. See the video for better understanding.
The same did not happen on any other of my surveys, however, some of the 'smoothness' of gliding over the map is gone and there are frequent small 'jumpbacks' (for lack of a better word). They are only annoying and do not inhibit the work, but diminish the user experience.
https://github.com/user-attachments/assets/c6231977-8d52-4e56-8f1c-d0a1d18d895f

So I just figured this happens the further I am away from the "center of action", i.e. where most mapping takes place. I was on the survey that takes place in Ghana but was testing it in Germany where the app just wouldn't work.
Faking my GPS to be close to Kumasi, the survey worked just fine, but coming closer to the Côte d'Ivoire border the misbehavior started again.

I verified that this is happening when new sites (LOI) are received from the server. Two primary issues to investigate:

The viewport shouldn't be automatically updated when updates are received after the initial survey, jobs, and sites are loaded.
The viewport was reset multiple times before allowing me to pan again. This is likely due to the remote change triggering multiple updates. We should make sure only one update is triggered and applied.
WWe should also verify that multiple remote updates are applied serially rather than concurrently, and that there's some debounce behavior to ensure we don't thrash the network or device when they occur.

@shobhitagarwal1612 you were looking into the viewport, do you have any observations to add here?

I'm not sure why that is happening. Will try repro'ing it locally to understand what's happening under the hood

I'm not sure why that is happening. Will try repro'ing it locally to understand what's happening under the hood

Sounds good. Be sure to try with dev Firebase and not local emu, since Cloud Messaging isn't supported there.

Initial debugging reveals that GoogleMapsFragment.setFeatures() is called 5 times when an LOI is modified in the remote datastore:
2024-11-11 16:17:54.337  3951-3951  GoogleMapsFragment      com.google.android.ground            V  setFeatures() called with 5 features
2024-11-11 16:17:54.712  3951-3951  GoogleMapsFragment      com.google.android.ground            V  setFeatures() called with 5 features
2024-11-11 16:17:54.720  3951-3951  GoogleMapsFragment      com.google.android.ground            V  setFeatures() called with 5 features
2024-11-11 16:17:54.726  3951-3951  GoogleMapsFragment      com.google.android.ground            V  setFeatures() called with 6 features
2024-11-11 16:17:54.732  3951-3951  GoogleMapsFragment      com.google.android.ground            V  setFeatures() called with 6 features

While SurveyRepository.loadAndSyncSurveyWithRemote is called only once as expected. We may need to debounce or otherwise isolate changes to the local db to prevent the UI from getting thrashed.

Just verified that this isn't occurring in the latest codebase. @jo-spek can you please re-open if this occurs again?

I just observed this again at HEAD right after new LOIs were synced. It appears that as the UI catches up with newly synced remote changes the map gets forced back to the previous viewport. Probably related to #2831.

I believe #2835 may have fixed this. @jo-spek @jabramowitz5 Can you keep in eye out in case this recurs?


Netflix analyzer

Netflix time spent -
Brief - This shows how much time a user has spent on Netflix and the distribution of time spend based on days, movie names, etc.
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions
add requirements.txt if needed

Programming Language

[x] Python

Happy Coding
May I solve this as an issue and work on it to add this new feature?

can i be assigned to this issue

I want to work on this issue. I will be adding a few more you can take up those.

ok no issues

@singh-priyank that's so cool idea, go ahead :)


Sqlcmd profile documentation

Describe your changes
Added %sqlcmd profile documentation in magic-profile.md file. Walkthrough uses duckDB for both csv and parquet files for profiling and saving generated reports. Also included is profiling using schemas with duckDB and SQLite.
Added api/magic-profile in toc file.
Issue number
Closes #286
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--524.org.readthedocs.build/en/524/

You can request reviewers when this is ready

On the right side there will be request button you can click