Endpoint Slice Error "resourceVersion should not be set on objects to be created" subsys=ces-controller"

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Steps
a) 900 Node AKS Cluster with BYO CNI
b) Cilium CNI version 1.12 installed with on AKS
c) Networking Default mode VXLAN
Error:
PATCH:https://xxxxxx:443/api/v1/nodes/xxxxx/status" subsys=klog
level=info msg="Starting CNP derivative handler" subsys=cilium-operator-generic
level=info msg="Starting CCNP derivative handler" subsys=cilium-operator-generic
level=info msg="Initialization complete" subsys=cilium-operator-generic
level=info msg="Unable to create CiliumEndpointSlice in k8s-apiserver" ciliumEndpointSliceName=ces-zjlsmyyzb-q8766 error="resourceVersion should not be set on objects to be created" subsys=ces-controller
Cilium Version
1.12
Kernel Version
5.4.0-1086-azure #91~18.04.1-Ubuntu
Kubernetes Version
1.23.8
Sysdump
No response
Relevant log output
PATCH:https://xxxxxx:443/api/v1/nodes/xxxxx/status" subsys=klog
level=info msg="Starting CNP derivative handler" subsys=cilium-operator-generic
level=info msg="Starting CCNP derivative handler" subsys=cilium-operator-generic
level=info msg="Initialization complete" subsys=cilium-operator-generic
level=info msg="Unable to create CiliumEndpointSlice in k8s-apiserver" ciliumEndpointSliceName=ces-zjlsmyyzb-q8766 error="resourceVersion should not be set on objects to be created" subsys=ces-controller

Anything else?
No response
Code of Conduct

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

Discussed over slack Please assign to @Weil0ng

Thanks for reporting the issue!
@dlapcevic will work on a fix. Somehow cannot assign this to him...

@Weil0ng Any updates here?

Hi, @christarazi
This can hardly be categorized as a bug, because it has no negative effect beside the occasional error logs.
I don't see an obvious way to get rid of it.
I investigated the issue and it turns out that when a new CES is being created while two CEPs get immediately assigned to it, both try to create the new CES.
This happens because syncCES uses k8s store to check if the CES exists (ciliumEndpointSliceStore.GetByKey(key)), and it is not present quickly enough from the previous processed item (syncCES) that already created the CES.
We get the error resourceVersion should not be set on objects to be created because it is issuing a second CREATE request instead of UPDATE.
When I changed that reconciler makes ResourceVersion field of new CES to be empty before sending a request (as it always should be) reconcileCESCreate(), it again fails to create CES:
already exists","level":"info","msg":"Unable to create CiliumEndpointSlice in k8s-apiserver"
I also verified that there is no negative impact beside the error log.
Creating 2 pod deployments in different namespaces (so they need to be added into a new CES), triggered this issue about once in 10 deployment creations.
Even if the creation failed for the second call, the first call already had 2 CEPs included, so everything works correctly even when there are no subsequent updates for it.

It happens in this order:

CEP watcher receives events for CEP-A and CEP-B one after another, practically at the same time.
It runs in parallel InsertCEPInCache for both CEPs, where it tries to find a slice for them.
For CEP-A it gets a little faster to the point where it figures out that there is no matching CES in cache, so it creates a new CES in cache.
For CEP-B it sees the new CES and assigns it to the new slice created when CEP-A was being added.
One CES update is enqueued for CEP-A, and then one for CEP-B.
Workqueue has one worker only and processes the items sequentially.
First CES update doesn’t see this CES in store, so it creates the CES by calling the API server.
Second CES update also doesn’t see this CES in the store, which appears to be because it happens too quickly after the previous update which created it. So the watcher may take 10ms to get it from the API server, but the CES update happens faster.

Basically the time between the CES creation call to the API server and the next event getting to the point when it checks the store is less than the time it takes for this new CES to appear in the store.
Maybe I’m overlooking a simple way to fix it.

I think having a already exists","level":"info","msg":"Unable to create CiliumEndpointSlice in k8s-apiserver" is much better and clearer than the existing error msg and the code shouldn't specify resourceVersion to begin with as you said, good to fix if you got some bandwidth :)

This will be fixed by https://github.com/cilium/cilium/pull/23615 - "Reduce number of CES updates sent to API server in short time for the same CES".
I verified manually that no Unable to create CES logs appeared when I created 100 deployments (CESs) with this change, while it was common to happen at least once for every 10 CESs, without the change.
Otherwise, to fix the message, we would have to remove ResourceVersion in reconcileCESCreate() before sending it to be created, because copying it is actually required for updates. I verified that if we don't copy over ResourceVersion, the updates would fail then.

Otherwise, to fix the message, we would have to remove ResourceVersion in reconcileCESCreate() before sending it to be created, because copying it is actually required for updates.

Hmm, maybe I'm missing something but I don't think the client should specify what ResourceVersion value to use when updating an obj? I thought ResourceVersion should always be populated by the api-server...

You are right. I was just saying what would be the shortest fix in the current state, which is not the best. Otherwise it would require more refactoring, which we in long term plan to do. This is because before the fix, a race could happen with two very close consecutive updates for a new CES, and CES copy is expected to be used only for already created CESs that are also present in the cache (store), which sometimes didn't happen.


TextFlow: fix length calculation in case text starts with linebreak

original fix by @Danielhu229
catchorg/Catch2#1470

Thanks.


Error: Cannot read properties of undefined (reading 'secure')

Describe the bug

In 0.6.0 the extended scope of cookie handling appears to cause a failure under some circumstances.
To Reproduce

I was not able to reproduce with this code on my own account, but the error was reported using:
const { CloudantV1 } = require('@ibm-cloud/cloudant')

const cloudantInstance = CloudantV1.newInstance({})

cloudantInstance
    .getUpInformation()
    .then((res) => {
      console.log(`Result: ${JSON.stringify(res.result)}`);
    })

<path-to-file>/node_modules/ibm-cloud-sdk-core/lib/request-wrapper.js:319
        var error = new Error();
                    ^

Error: Cannot read properties of undefined (reading 'secure')
    at RequestWrapper.formatError (<path-to-file>/node_modules/ibm-cloud-sdk-core/lib/request-wrapper.js:319:21)
    at <path-to-file>/node_modules/ibm-cloud-sdk-core/lib/request-wrapper.js:305:45
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Expected behavior

Error can be instantiated without causing another error.
Screenshots

Must gather (please complete the following information):

SDK Version [e.g. 1.2.1] 0.6.0
Node.js Version [e.g. Node.js 18]: 18.18.0
Name of service that you're trying to use (if applicable): Cloudant
Name of operation that you're trying to invoke (if applicable): getUpInformation

Additional context

Moving version back to 0.5.5 resolved the problem.
Also the property secure is associated with cookies, so in conjunction with the version change it seems likely that this is related to enabling the cookie jar for all auth types. It should be noted that for the report in question IAM auth was being used.
I was not able to see the failing requests in the server side logs, which probably hints that the failure occurs in the request interceptor before ever reaching the server.

I managed to reproduce this issue.
It occurs when there is an outdated tough-cookie dependency around.
Specifically I was able to reproduce it with<EMAIL_ADDRESS>which was the version required by the long deprecated request library.
Using a version of tough-cookie that matches the required dependency range prevents the problem, so I'm going to close this issue.


RTD build failed

Wiping the cache didn't help. I think switching to pip instead of conda would fix this, but not sure when I'll have time to do it, so feel free to update the RTD requirements, @mwcraig and @eteq .
https://readthedocs.org/projects/astrowidgets/builds/8806519/
Solving environment: ...working... failed

ResolvePackageNotFound:
  - sphinx-astropy
  - sphinx-gallery

Fixed


Add persistence examples.

This PR adds two persistence examples. One is using Hibernate and another is using Magnum.

That's pretty neat! I'll try to rebase and merge from Github itself due to last two commits.

Unfortunately I can't rebase and merge... could you please rebase and push again?
Thanks a lot and let's keep up this repo :)

I've rebased locally and will merge right now! Do you think it's possible to add some test cases to the new code? This would make easy to improve later.
Again, thanks a lot!

Thank you. All my recent projects were using squash+merge strategy so I didn't remember to ask.


Fix running on JVM link

Fix the link to Running on JVM topic.

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


Revert "GitBook: [master] 15 pages and 2 assets modified"

This reverts commit 1660f332a3e2d5f6a801d46375308110b1714877.
Signed-off-by: Krasi Georgiev<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 400429926

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

Totals

Change from base Build 399606161:
0.0%

Covered Lines:
1525

Relevant Lines:
4199

💛  - Coveralls


Exposed mapping.total_fields.limit as table setting

Codecov Report

Merging #5976 into 2.0 will increase coverage by 0.14%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##                2.0    #5976      +/-   ##
============================================
+ Coverage     82.94%   83.08%   +0.14%
- Complexity    11774    11806      +32
============================================
  Files          1391     1391
  Lines         45445    45484      +39
  Branches       5626     5626
============================================
+ Hits          37693    37792      +99
+ Misses         5134     5089      -45
+ Partials       2618     2603      -15

Impacted Files
Coverage Δ
Complexity Δ

...ence/partitioned/PartitionsSettingsExpression.java
100% <100%> (ø)
2 <0> (ø)
:arrow_down:

...io/crate/metadata/settings/CrateTableSettings.java
96.29% <100%> (+0.14%)
1 <0> (ø)
:arrow_down:

...eference/information/TablesSettingsExpression.java
100% <100%> (ø)
2 <0> (ø)
:arrow_down:

...main/java/io/crate/analyze/TableParameterInfo.java
100% <100%> (ø)
6 <0> (ø)
:arrow_down:

...ta/information/InformationPartitionsTableInfo.java
97.7% <100%> (+0.17%)
3 <0> (ø)
:arrow_down:

...o/crate/analyze/PartitionedTableParameterInfo.java
100% <100%> (ø)
4 <0> (ø)
:arrow_down:

...java/io/crate/analyze/TablePropertiesAnalyzer.java
92.26% <100%> (+0.08%)
21 <0> (ø)
:arrow_down:

...ate/metadata/information/InformationTableInfo.java
98.86% <100%> (+0.08%)
4 <0> (ø)
:arrow_down:

...tadata/information/InformationTablesTableInfo.java
99.02% <100%> (+0.06%)
3 <0> (ø)
:arrow_down:

...er/src/main/java/io/crate/sql/tree/AstVisitor.java
31.2% <0%> (-1.6%)
39% <0%> (-2%)

... and 33 more

Continue to review full report at Codecov.

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


fix(ReaderWriterProcessor) : When crossing assemblies problem

#3816
Recursively handle the Network Reader/Writer required by CurrentAssembly.AssemblyReferences.

ohhhhhhhhh nice we are going to try this asap!


LGTM.com - false positive

Description of the false positive

The directive has its uses per https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins
I'm using it as part of the approach detailed at http://sambal.org/2014/02/passing-options-node-shebang-line/ to allow arguments to node.
Thanks!
URL to the alert on the project page on LGTM.com
https://lgtm.com/projects/g/brettz9/git-utilities/snapshot/6eb8d35834b64f48af0695c610b7d066ee03a611/files/src/open-git-url.mjs?sort=name&dir=ASC&mode=heatmap

Thank you for your report. We hadn't been aware of this rather ingenious technique, and will update our query to take it into account.


Simplify Tabs

Removed red background on empty tab screen and replaced with gray
Removed .8s transition on tab hover
Replace red tab hover with gray

I apologize for the delay in replying, I was changing the extension, I need your new styles with this new version > 5.0.0

Okay, I'll open a new one.

https://github.com/DH3ALEJANDRO/custom-work-for-brackets/tree/master/sys


fix: job closing date

Description

This PR fixes the bug #2690
Now the date on jobs which are already expired will Closed on {date} otherwise it will be Closing on {date}

Related issue(s)
#2690

closing


negative food

sometimes I find negative value for the food ressource:

Thanks - I'll look into it


Fix parenthesis bug

Fix bug leading multiple features to use a blank declaration
This is an important fix, and not a superfluous feature
expected limitations:

will bug out on operator()
will bug out if a return type had parenthesis

This addresses issues #52 and #57

https://github.com/microsoft/vscode-cpptools/issues/1162
CPPtools can move functions to the corresponding cpp file by right clicking a function -> refactor now. Can't do batching though.

I have another change ready to go:

Support for creating source file when adding definition and file does not exist
Support for multiple editors when revealing source code, reusing instead of opening new editor

But it seems this repo is not maintained anymore,
I'm considering forking it and maintaining myself. Would you be willing to move your PR there if that would be the case?


typo, better named

ethernet demo
typo, better named

Thanks for this, Rudi. I've squashed these commits into one and added them to our internal review & merge queue.

Cherry-picked in e335f19, thanks again!


Lower maximum memory usage in generateTiledNavMesh and generateTileCache

Right now tile intermediates for nav mesh generation are only released after processing all tiles or on failure. This should be changed so they are released after processing each tile.

https://github.com/isaac-mason/recast-navigation-js/commit/67232872f9743a2de059bbcfcf4357f004dae35d

Released in 0.12.0


[Ingress nginx-third-party] Cannot utilize multiple destination TCP ports pointing to the same <namespace>/<service>

Currently there is no way to select the destination port for a service. The annotation specifies the source port in <namespace>/<service>:<source-port>, but the destination port is defaulted to the first port listed in the service spec.
Per the existing documentation we expose a TCP service via adding the annotation nginx-ingress.kubernetes.io/tcpservices=<namespace>/<service>:<source-port> to the replication controller.
We have a few options on how to identify the destination port, but I think the most logical would be to change the annotation to: nginx-ingress.kubernetes.io/tcpservices/<source-port>=<namespace>/<service>:<destination-port> where <destination-port> can either be the port or name from the ServicePort
/cc @bprashanth @aledbf

After some testing, kubernetes does not allow a subpath for annotations. As such, I would like to put forward nginx-ingress.kubernetes.io/tcp-port<source-port>=<namespace>/<service>:<destination-port>
@aledbf, any objections or alternative suggestions?

nginx-ingress.kubernetes.io/tcp-port

I think in this case ConfigMap is a better abstraction to avoid unnecessary code to verify/extract information about the tcp ports

@thecanadianbaker please check the last version of the image gcr.io/google_containers/nginx-third-party:0.4. Now it's possible to use multiple ports for a particular service


[WIP] Added Docs/DART forms example

WIP

I signed it!

I've seen this complaint from googlebot before. I see that you have signed the CLA, so we needn't worry about it. (It'd be nice, but not crucial, to figure out how to avoid it in the future.)

I'm looking into the CLA issue. Im not sure why it's flagging as a different email that the commit author. They appear to be the same.

@kwalrath , @kevmoo  - Made the recommended updates. It looks like the bootstrap styles are no longer  there since we removed the dependency. I added a reference to the cdn. The TS example is using npm to bring it in. What is best practice for Dart ?

@kevmoo do you have an answer for Tom's bootstrap CDN question?

Hrm...I'm on the fence. For now I'd say link to a public CDN.
Let's keep the number of files down – the angular folks can chime in later if they have a preference either way.
CC @kwalrath

We are using npm instead of cdn in TS for at least two reasons

Ensures can run even the network is poor or unavailable.

We will write tests (unit and e2e) that may run in environment without cdn access.

I personally find it confusing to have mix of local and network file requirements.
Your call; that's the "Why" in TS land

Thanks, @wardbell
I guess we can fall back to the "disk is cheap" argument, too.
Tom: let's copy in the bootstrap bits required.

@kevmoo  Sounds good. Should I go back to adding bootstrap a dependency in pubspec.yaml or just download and manually add the files.

@tomplusplus Dart doesn't have a 1-to-1 mapping with npm packages. Just copy bootstrap.min.css into the web directory and link to it directly.
Also: please rebase on origin/master down to one commit.

Otherwise – LGTM :smile:

@kevmoo OK bootstrap is copied directly in and I rebased and squashed all commits down to one.
Thanks

It looks like this is ready to go. Correct? If so, @tomplusplus please remove the [WIP] and I'll merge it (not using the big green button). The commit message should match the angular commit message guidelines, but  I can take care of that.

@kwalrath I removed [WIP] If you wouldn't mind updating the commit message that would be great. I'll review the angular commit message guidelines for future PR's
Thanks


Documentation for discoverFD function

This is a documentation for discoverFD function
discoverFD.txt

Thank you, for working on this @t201!
This will be reviewed shortly. :)

Addressed by https://github.com/apache/systemml/commit/0c2a2b393ae76da4068288c2be02fb753289b45b


Why am I getting an error stating can't play in mobile browser when running Firefox on Mac?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Why am i getting the message This content can't be played on your mobile browser. Get the YouTube app to start watching. when I am using the latest Firefox and YT-DLP?  I have supplied --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0" and --compat-options youtube-dl --cookies ~/tmp/cookies.txt --age-limit 18.
Is there something I haven't done correctly?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

why are you passing the user-agent? please share complete verbose output

Thanks for  having a look.
I am using user-agent because I thought that was the cause of the error message.
Note I logged into YT, exported the cookie to the file mentioned, and then logged out.  The video is rated MA15+, which is why I logged in.
The verbose output is below:
yt-dlp -f 136+140 -v --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0"  --compat-options youtube-dl --cookies ~/tmp/cookies.txt --age-limit 18 "https://www.youtube.com/watch?v=xxxxxxxxxxx"
[debug] Command-line config: ['-f', '136+140', '-v', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0', '--compat-options', 'youtube-dl', '--cookies', '/Users/nap/tmp/cookies.txt', '--age-limit', '18', 'https://www.youtube.com/watch?v=xxxxxxxxxxx']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [7ea278792] (source)
[debug] Lazy loading extractors is disabled
[debug] Compatibility options: embed-thumbnail-atomicparsley, seperate-video-versions, no-live-chat, no-playlist-metafiles, embed-metadata, prefer-legacy-http-handler, no-keep-subs, abort-on-error, no-clean-infojson, no-youtube-prefer-utc-upload-date, format-spec, no-external-downloader-progress, no-youtube-unavailable-videos, no-direct-merge, no-attach-info-json, list-formats, no-youtube-channel-redirect, filename, no-certifi, playlist-index, format-sort, filename-sanitization
[debug] Git HEAD: f91972953
[debug] Python 3.12.6 (CPython x86_64 64bit) - macOS-14.2.1-x86_64-i386-64bit (OpenSSL 3.3.2 3 Sep 2024)
[debug] exe versions: ffmpeg 7.0.2 (setts), ffprobe 7.0.2, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: sqlite3-3.46.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1837 extractors
[youtube] Extracting URL: https://www.youtube.com/watch?v=xxxxxxxxxxx
[youtube] xxxxxxxxxxx: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[debug] [youtube] Copying __Secure-3PAPISID cookie to SAPISID cookie
[youtube] xxxxxxxxxxx: Downloading ios player API JSON
[youtube] xxxxxxxxxxx: This video is age-restricted and YouTube is requiring account age-verification; some formats may be missing
[youtube] xxxxxxxxxxx: Downloading web creator player API JSON
[youtube] xxxxxxxxxxx: Downloading mweb player API JSON
ERROR: [youtube] xxxxxxxxxxx: Sign in to confirm your age. The video you have requested has been rated MA15+ and may contain content intended for mature audiences. Use --cookies-from-browser or --cookies for the authentication. See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies. Also see  https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies  for tips on effectively exporting YouTube cookies
  File "~/yt-dlp/yt_dlp/extractor/common.py", line 742, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "~/yt-dlp/yt_dlp/extractor/youtube.py", line 4465, in _real_extract
    self.raise_no_formats(reason, expected=True)
  File "~/yt-dlp/yt_dlp/extractor/common.py", line 1276, in raise_no_formats
    raise ExtractorError(msg, expected=expected, video_id=video_id)

Is your account age-verified? Are you in a region where YT requires account age-verification to watch age-restricted content?
Are you following the wiki guide when exporting YT cookies?
If you try again / share another log, please do not pass the --user-agent option

Thanks, you highlighted several things I wasn't aware of.


Fix editr bug so CCA's reminder list is updated

Closes #110
Closes #210

Codecov Report

Merging #225 (9d142d8) into master (d410aeb) will decrease coverage by 0.11%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #225      +/-   ##
============================================
- Coverage     42.90%   42.78%   -0.12%
  Complexity      471      471
============================================
  Files           121      121
  Lines          2517     2524       +7
  Branches        312      312
============================================
  Hits           1080     1080
- Misses         1375     1382       +7
  Partials         62       62

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/AddressBook.java
65.57% <0.00%> (-1.10%)
:arrow_down:

...in/java/seedu/address/model/cca/UniqueCcaList.java
69.81% <0.00%> (-8.92%)
:arrow_down:

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 d410aeb...9d142d8. Read the comment docs.


Show rule type release phase.

Summary
CLI commands minder ruletype list and minder ruletype get show release phase information if available.
Fixes #(related issue)
Change Type

[ ] Bug fix (resolves an issue without affecting existing features)
[X] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Manual tests.
Review Checklist:

[X] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[X] Checked that related changes are merged.

coverage: 53.879%. remained the same
when pulling f2ee6fd102b6a9733ed207e4cd3fe1c1b64f8f67 on enh/cli-ruletype-release-phase
into a277db76b942692c98f89a723e966b5a7ef3df51 on main.


Move item in ItemAdapter implementation

Hi,
I need implement some funcionality in adapter logic.
For example,  I have next items: A, B, C, D, E
By event,  need move item "D" to top position (D A B C E)
list change implementation is:
list.remove("D")
list.add(0, "D")

So,  for current itemAdapter implementation I call
ItemAdapter<Item> remove(int position)
ItemAdapter<Item> add(int position, Item... items)

By I see recycledView crash by notify notifyAdapterItemRemoved.
Does any around implementaion for my task ?
PS: collections swap is not work correct, I need move not swap.

Basically you need to do the following:
        int preItemCount = getFastAdapter().getPreItemCount(fromPosition);
        Item item = mItems.get(fromPosition - preItemCount);
        mItems.remove(fromPosition - preItemCount);
        mItems.set(toPosition - preItemCount, item);
        getFastAdapter().notifyAdapterItemMoved(fromPosition, toPosition);

@mikepenz you commit incorrect code: not mItems.set, but mItems.add
list.set - method for update item in position, not insert.
So, please reopen task again.

@gromiloff omg you are completely right. :O It was just to late. sorry for the inconvenience.

changed this to v1.2.8 (the move works with the global position)


gpcslots2 0.4.5b (new formula)

gpcslots2 is a casino game running on the terminal. It's actually a perl script.

Thank you @tomyun for your contribution to Homebrew; we appreciate it! :tada:


Add prometheus monitoring for maya-service

Currently we don't have any monitoring tool to monitor the maya-service. Add prometheus monitoring tool to scrap the metrics.

Merged #106


Dynamic ads

Beginning in early August 2020 (08c06a6), it appears that the Critical Role podcast feed (Campaign 2, C2E20 and later) has switched hosting and distribution from Podbean to Anchor Podcasts. Anchor allows for dynamic advertisement insertion, where the ad that plays depends on variables such as which advertiser is willing to pay the most at any given time.
For the purposes of this project, this is bad news, since this means that the duration of ad segments could change frequently. This may make it impossible to provide precise timestamp mapping using our current techniques.
One sophisticated solution to this problem would be to use an automated tool (#7) periodically, say once per month, to re-catalog all episodes. Alternatively, if the ad campaigns change uniformly across episodes and only rarely, it may be possible to make corrections manually. However, an automated approach sounds much less labor intensive to me!
Edit: Beginning with C2E105, midroll ads have started appearing in the podcasts at the break. This first one is for Anchor itself! As of 2020-08-13, I am not aware of these being inserted retroactively into old episodes.

As I anticipated, this week all previously released episodes from this feed (C2E20 and later) were changed retroactively by adding new ads (see feed diff).
The good news is that it appears (at first glance) that the same 60-second midroll Anchor ad was added to all of them. This means that timestamps can be corrected by adding a constant.
The re-release of these podcast episodes also included a file type conversion (from MP3 to M4A), which appears (again, at first glance) to have eliminated the playback rate discrepancies described in #5 between Chrome and Firefox (and hopefully all podcast players). This also breaks all timestamps for Chrome/Android, but again this can be corrected by multiplying by a constant.

I've started tracking important changes to the podcast feed here:
https://github.com/critrolesync/critrolesync.github.io/tree/master/extra/feed-archive/critical-role/parsed/diffs


Mirrored EFI boot partitions not handled by migrate2rocky.sh

Starting here:
https://github.com/rocky-linux/rocky-tools/blob/1602af296a56785e12dda394e2f489b8d1e7a9cf/migrate2rocky/migrate2rocky.sh#L355
for a system with software-mirrored (during install) EFI boot partitions, the migration tool fails.
For example, with (trimmed here) lsblk output of:
nvme1n1                         259:0    0   477G  0 disk
├─nvme1n1p2                     259:3    0   601M  0 part
│ └─md125                         9:125  0   601M  0 raid1 /boot/efi
nvme0n1                         259:1    0   477G  0 disk
├─nvme0n1p2                     259:6    0   601M  0 part
│ └─md125                         9:125  0   601M  0 raid1 /boot/efi

and following along in the script's steps:
# findmnt --mountpoint /boot/efi --output SOURCE --noheadings
/dev/md125
# lsblk -no pkname "/dev/md125"
<empty response>

which sets efi_disk empty.
When findmnt returns /dev/mdXXX, something along the lines of
# mdadm -v --detail --scan --export /dev/md125 | awk -F = '/DEVICE.*_DEV/{print $2}'
/dev/nvme0n1p2
/dev/nvme1n1p2
# lsblk -no pkname -l /dev/nvme0n1p2
nvme0n1p2
nvme0n1
# cat /sys/block/nvme0n1/nvme0n1p2/partition
2

(looping over the mdadm outputs) will be needed to collect the list of devices and partitions that need to be added as EFI boot entries. (here efibootmgr -c -d /dev/nvme0n1 -p 2 ..., and again with nvme1n1.)

Do I understand it correctly that you have your EFI system partition stored on a RAID block device managed by md?
How exactly is the EFI firmware (=the BIOS of your mainboard) able to boot from that? To my knowledge, the EFI specification defines that the EFI system partition is FAT, and support for RAID devices below the FAT aren't specified.
Or do you have a special RAID controller that supplies a EFI firmware blob to the EFI firmware on your mainboard to allow booting from the RAID device?
Your firmware must have some kind of knowledge and support of this setup for reliable operation, as the firmware or other OSses are allowed and expected to make their own modifications to the EFI system partition. Without their knowledge of the RAID setup, these modifications would just end up on one disk and screw up the whole RAID.

Agreed there are caveats. The Rocky installer happily lets you create it, and systems (Supermicro I've tried it on, and VirtualBox in EFI mode, too) happily boot off it.
Absolutely if there are other OSes that are touching the partition it is a bad idea. Many (most?) systems will not be in a multi-boot environment.
Here's what efibootmgr -v shows:
Boot0005* Rocky Linux	HD(2,GPT,<uuid>,0x201000,0x12c800)/File(\EFI\ROCKY\GRUBX64.EFI)
Boot0006* Rocky Linux	HD(2,GPT,<uuid>,0x201000,0x12c800)/File(\EFI\ROCKY\GRUBX64.EFI)

and mdadm:
# mdadm --detail /dev/md125
/dev/md125:
           Version : 1.0
     Creation Time : Fri Sep 11 09:41:47 2020
        Raid Level : raid1
        Array Size : 615360 (600.94 MiB 630.13 MB)
     Used Dev Size : 615360 (600.94 MiB 630.13 MB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Tue Jun 29 12:17:16 2021
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : <host>:boot_efi  (local to host <host>)
              UUID : <uuid>
            Events : 143

    Number   Major   Minor   RaidDevice State
       0     259        6        0      active sync   /dev/nvme0n1p2
       1     259        3        1      active sync   /dev/nvme1n1p2

Note with v1 mdadm blocks are at the end of the partition.
I 100% agree that if you're using other OSes on the same drives, this is a bad idea; if it is a single-OS system and you want "one of my boot drives drive failed, please still boot", it works.

From a quick test on VirtualBox with Rocky installer:

Do I understand it correctly that you have your EFI system partition stored on a RAID block device managed by md?

It's not such an unusual setup, though it is largely being replaced in favor of straight up LVM lately.

How exactly is the EFI firmware (=the BIOS of your mainboard) able to boot from that? To my knowledge, the EFI specification defines that the EFI system partition is FAT, and support for RAID devices below the FAT aren't specified.

The EFI subsystem doesn't see the RAID, it's RAID1 so all it sees is the partition on the first RAID disk and boots to that as if it were a single FAT partition without RAID.  After the initial boot sequence the system mounts it as RAID1 so that reads and writes utilize and maintain the partition on both disks.  In theory (and if done properly in practice) this allows the boot disk to be switched
from one to the other in case of disk failure and the system can boot right up and then the RAID can be rebuilt with a new disk on the running system.

for a system with software-mirrored (during install) EFI boot partitions, the migration tool fails.

Thanks for pointing this out.  It is something of an edge case nowadays, but I think we can resolve it.

findmnt --mountpoint /boot/efi --output SOURCE --noheadings
/dev/md125
lsblk -no pkname "/dev/md125"

```

Unfortunately I don't have an mdraid system to test this on, but I do have a system with LVM partitions and trying to resolve the parent of an LVM partition appears to be the same, and I think it will end up using the same logic as a dmraid system, so for now I will use that to research a solution and then get you to test it on your dmraid setup if that's okay.

mdadm -v --detail --scan --export /dev/md125 | awk -F = '/DEVICE.*_DEV/{print $2}'

...

(looping over the mdadm outputs) will be needed to collect the list of devices and partitions that need to be added as EFI boot entries. (here efibootmgr -c -d /dev/nvme0n1 -p 2 ..., and again with nvme1n1.)

Unfortunately we can't rely on mdadm being available on the target system when migrate2rocky is run, but I think I have another solution which will work (testing with LVM because that's what I have available):
[root@CentOS8 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0          11:0    1 1024M  0 rom
vda         252:0    0   20G  0 disk
├─vda1      252:1    0    1G  0 part /boot
└─vda2      252:2    0   19G  0 part
  ├─cl-root 253:0    0   17G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
[root@CentOS8 ~]# lsblk -no pkname,name,kname,type,subsystems /dev/cl/root
       cl-root dm-0  lvm  block
[root@CentOS8 ~]# cd /sys/block/dm-0/slaves/
[root@CentOS8 slaves]# echo *
vda2
[root@CentOS8 slaves]# cat vda2/partition
2
[root@CentOS8 slaves]# lsblk -no pkname /dev/vda2
vda
vda2
vda2

...so, given the above, we can get the kname, which in this case is dm-0, use that to look up the slaves (in this case vda2, but it would likely be multiple slaves in your case) and then look up the disk and partition number for each one via the lsblk command again.  Then we fix EFI on all the slaves.  Can you have a look at your system and see if you think this approach would work?

@pajamian I think this is what you're asking:
# findmnt --mountpoint /boot/efi --output SOURCE --noheadings
/dev/md125

# cd /sys/block/md125/slaves

# echo *
nvme0n1p2 nvme1n1p2

# cat nvme0n1p2/partition
2

# lsblk -dno pkname /dev/nvme0n1p2
nvme0n1

Where the last two results are what is needed — looping over the outputs from echo * above — to build the appropriate efibootmgr -c -d /dev/nvme0n1 -p 2 ... commands.

@eborisch Thanks, yes that's exactly what I wanted to know.  I'll go ahead and implement the change.

@eborisch Can you try PR #68 and see if it works for you?

Almost, and I've included the fix there. (Assigning to efi_disk= sets efi_disk[0], so the += following become [1] and [2].)

Try again with the latest commit.

Commented on #68; works great -- thanks!

Pulled and merged.


Create Blog “2023-01-12-テストタイトル”

Automatically generated by Netlify CMS

👷 Deploy Preview for gilded-babka-faf66f processing.

Name
Link

🔨 Latest commit
7aa675007dab157ffe7471803304b302b7f19627

🔍 Latest deploy log
https://app.netlify.com/sites/gilded-babka-faf66f/deploys/63bfb1ab5e980e00097b0442


Login / Registration Mobile#4

Login and registration: Mobile view
In this pull request, I did the following:

Create the login page and styles for mobile view
Create the register page and styles for mobile view
Create the logic to update the state of the Login and Register pages each time the form change
Create the logic to enable the send button only if the form is valid

Thanks for your review

Hi @Juank628 can you please pass me the links to review the registration view?
Thanks!

Status. Approved!! 🎉🎉
Great job creating this registration mobile view!!
There's nothing else to say than it's time to merge it!


fix: allow quotes in messages

Fix #3523
This change also brings in some tricky behaviour, it exposed a door to access the server runtime:
// nuxt.config.js
module.exports = {
  messages: {
    error_404: 'Current layout is: ${ssrContext.nuxt.layout}'
  }
}

@Atinux @pi0 Do you think it's a vulnerability ?

Since it's defined at application runtime and crontrolled by the user, I don't see any real security issue, what do you think @pi0?
Great work @clarkdo anyway, I think it's good for me, but let's see Pooya feedback to be 100% sure.

I also think this is ok  to merge.

Thanks!


[Feature]: Create new page for DevOps

Is your feature request related to a problem? Please describe.
from the resources page, on clicking on the devops card, the user must be directed to a new page for devops.
Take example from https://www.nsccbpit.tech/webd
the resources home page is at: https://www.nsccbpit.tech/resources
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

@pradeeptosarkar Kindly assign this to me

resolved. thanks for contributing @Ritesh-Dabral :)


Background image gets removed.

@andrie, thanks for that extension. I'd like to add a background image to the agenda slide. I looked at the Lua script as well as the css file but my knowledge is too narrow to implement a background image on my own. Any chance you could add an option for a background image?

Thanks for reporting this.  I'll change this to a bug report.
It seems to me that the filter removes any background images.  I would have expected this example to add a background image, but it doesn't:
---
title: "Reveal auto-agenda"
subtitle: "Using the `reveal-auto-agenda` quarto extension to automatically create rolling agenda slides"
author: "Andrie de Vries"
format: revealjs
filters:
  - reveal-auto-agenda
auto-agenda:
#   bullets: bullet
  heading: "Agenda:"
---

# Motivation {background-color="black" background-image="https://placekitten.com/100/100" background-size="100px" background-repeat="repeat"}

## Why? {background-color="black" background-image="https://placekitten.com/100/100" background-size="100px" background-repeat="repeat"}

To help people follow the logical flow of a presentation, it is useful to show all top level headings in a single agenda slide.

But it can be tedious to construct an agenda slide by hand, by copying all the top level headings.

This extension automatically constructs an agenda slide from the top level headings.

# Mechanics of `reveal-auto-agenda`

## Using the extension

Add this to the yaml header:

``` yaml
filters:
  - reveal-auto-agenda
```

Then sit back and watch your agenda slide build itself.

I think the fix for this is to change the function definition for change_header_class() to this:
local function change_header_class(el)
  el.attr.classes = {"agenda-slide"}
  return el
end

@Steinthal , can you please update your extension and report whether this fix works correctly?

@Steinthal , can you please update your extension and report whether this fix works correctly?

Thanks for the prompt response, @andrie. Yes, the fix works as expected.


Added Functor, Monoid, Foldable and Traversable to Cluster

Sorry for another very small patch, but I think I'm finished by now :)

I think you need to add:
{-# LANGUAGE CPP #-}
-- this at the top of the file

#if !MIN_VERSION_base(4, 8, 0)
import Data.Foldable
import Data.Monoid
import Data.Traversable
#endif
-- this in the import section

To make your changes work on GHC 7.6 a nd 7.8. Do you mind adding that?

You're right, sorry about that.
It should be working now!

Thanks! Released a minute ago as 0.3.2.

Thanks!


Database normalization

https://en.wikipedia.org/wiki/Database_normalization

Normal Forms
1NF - First Normal Form
2NF - Second Normal Form
3NF - Third Normal Form


Make buttons and sections responsive on mobile

https://github.com/matt8707/ha-fusion/assets/20318292/067ddff7-2f72-40ee-9c60-4583bd8ba265
#15
Hi,
here is an optimized version of the sections and buttons on mobile. The horizontal sections will be wrapped on mobile and buttons will use 50% of the screen instead of the fixed width. I tried to calculate the css values as much as possible if there were global values defined.
There is still work to do for medium screen sizes, but I think this will cover most of the use cases rn.

https://github.com/matt8707/ha-fusion/assets/20318292/039130d0-dc24-459a-a78f-38b7e8dd9dea
Just pushed another commit to make the view nav responsive.


[staging-next] pythonPackages.sqlalchemy: fix tests

Motivation for this change
https://github.com/NixOS/nixpkgs/pull/113761#issuecomment-782773690
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Duplicate of #114158


Add Hindi to CI

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Include typescript-svelte-plugin when using create-svelte to generate a new, type-checked project

Describe the problem
TypeScript support is great out-of-the box with VSCode, but requires some extra steps to get working properly with other editors' LSP clients (neovim's built-in LSP + nvim-lspconfig, in my use-case). I had to go looking in sveltejs/language-tools to figure out that I needed to install typescript-svelte-plugin and enable it in my tsconfig.json.
Describe the proposed solution

typescript-svelte-plugin installed as a dev dependency by default in TypeScript and type-checked JS templates
enabled the plugin in the generated .svelte-kit/tsconfig.json

Alternatives considered

Note the steps required to enable full LSP support for SvelteKit projects in the documentation
Create an adder for https://github.com/svelte-add/svelte-add

Importance
would make my life easier
Additional Information
Pull request: #5270

https://github.com/neovim/nvim-lspconfig/pull/1972


Request object received in ErrorHandler is not in context

In the error handler, I expect the ServerRequestInterface to be the most recent request value passed down in the request pipeline before the error happened. Instead, the actual error handler receives the first request version given to App::handle method (for most applications created from globals), which in some cases might not be useful specially since you can't get the route context from it since this request version comes from before the routing middleware determining the current route.
Actually I know it's kinda difficult to capture the request from the middleware stack and pass it to the handler, my solution itself (with Slim 3) was kinda unpleasant, but worked very well; I've introduced a try-catch block in the "dispatcher" that would listen for Errors/Exceptions and in the catch would grab the request and add both the throwable and the request snapshot into a custom app exception and threw it so it could then be captured and handled by the app that would extract the original throwable and the request snapshot and then pass it to the error handler.
Anyway, I'm looking for a cleaner solution for achieving that functionality.

You could do the "same" within a custom middleware.

Yeah I'm doing it, even though it's cumbersome in Slim 4. Ultimately I think this would be a helpful thing to have by default in the framework.

The most up to date request object is stored in the exception.
Use $exception->getRequest()
https://github.com/slimphp/Slim/blob/4.x/Slim/Exception/HttpException.php#L38

Well that's true expect you're talking about a completely different scenario. It is not exceptions thrown by my code that I'm struggling with, it is exceptions (Throwables, TypeErrors, etc.) comming from either PHP or 3rd-party libraries that are the problem. Stuff like TypeError are not catch anywhere so they do not have the request in context, that would be useful for handling the error since during the request pipeline we do store things like request scoped services as attributes in the request.
That said I don't think this should be closed since we don't have a solution nor a conclusion for a good way to handle this.
Continuing, if you believe that this behavior I described should be the way Slim works (has context in HTTP exceptions and nothing with other errors) how would you prepare request-scoped services (such as session handlers or template engines) for using during the error handling/rendering? I don't like the idea of configuring them before the error middleware nor having to instantiate and build everything again inside the error handling, instead I'd much rather prefer to access the ones already present in the request, if I could have access to it.
I also did think of having two separate error boundaries using two error middleware so I could have some context on the request in the second and the first one exists only for emergencies, but doesn't seem much clean since I'd have to throw some errors from the "inner boundary".


Un-comment duplication hotkey for last targeted node

Re-fork and re-add this. This commit is unintentionally reverting everything i pushed earlier today


Apache Superset with Apache Hive Connection

As you can see I a connected to my HIVE through thrift server which is running locally

Error

Any Updates ?

Any Updates ?

Any updates

Hello Any updates

Did you install the database driver as recommended in the doc? https://superset.apache.org/docs/databases/installing-database-drivers
For Hive, I recommend using impyla instead of pyhive because the later is not maintained anymore.

I have it working with hive, connection string looks like:
hive://user@host:port/db

We are leveraging latest pyhive.
Also just FYI: pyhive was donated to apache kyuubi for the further maintanance and development:
https://lists.apache.org/thread/jtqk3m0x201vfbn6992s4cb17qp4mzvo

Please provide a way to reproduce the issue and share what superset version is experiencing it.
Closing the ticket for now.


conflict css with my css.

I have a new issue. I conflict css with my css.

Are you using .bottom in your css?

Issue not clear enough


ftp on iPad/iPhone not work

    curl_version_info_data *v = curl_version_info(CURLVERSION_NOW);
    printf("%s %08X", curl_version(), v->features);

version info:
libcurl/7.47.1 SecureTransport zlib/1.2.5 0008821D

ftp result info:
* Protocol "ftp" not supported or disabled in libcurl
* Closing connection -1

I rebuilt, it works now! thanks a lot!


provisionally working TMS CAF filling, spill building is ad-hoc

Proper spill/trigger building from the TMS side still necessary.
Triggers seem to match between LAr and TMS on the files I've tested.

Apologies for the awful logic; for each trigger passed to the Filler, it should loop over all the entries that correspond to that spill and fill them this way.
In looking at this though I think I spotted a logic error that prevented it from working correctly, have changed this and committed. Turned off the len_cm calculation as I need to rewrite that. Test CAF for this version: /pnfs/dune/scratch/users/losulliv/test_my_cafs_please/(FLAT)CAF_TMS_TEST_v04.root

Have tested this with a small sample of the MicroProd, using the main and development branches of dune-tms and saw no crashes or other undesirable behaviour so am merging.


Incorrect instructions for saving settings

Steps advised to click cancel, this would cause the instructed settings to not be saved. Have updated to click OK so settings are saved

@benhopperau : Thanks for your contribution to the Azure documentation! The author, @MicrosoftGuyJFlo, has been notified to review your proposed change.

@benhopperau the doc is suggesting that you should not need to make any changes. If you do need to make changes then yes you would want to click OK and not Cancel.

#hold-off

@MicrosoftGuyJFlo you are correct, I misunderstood the instructions when working through a POC deployment. No need to merge, will close now.

@benhopperau If you think it should be added as a note to the doc I am fine with that.

@MicrosoftGuyJFlo happy to leave it, not adding any value to the instructions.


Replace misleading numeric values in covid_hosp_facility?

covid_hosp_facility total_adult_patients_hospitalized_confirmed_covid_7_day_avg contains lots of -999999, but also has NAs. The -999999 could easily lead to errors in analyses. Should we change these to NA before adding them to our system? Or do we want to re-report as-is?

theres presumably some significance to the distinction between that value and a null.  perhaps we should contact the dataset curators for clarification to help us decide.

From docs:

Suppression is applied to the file for sums and averages less than four (4). In these cases, the field will be replaced with “-999,999”.

But I have also seen 0s in the data.  So maybe this is just for [1..3], or maybe it's inconsistently for [1..3] or [0..3] depending on facility/time/mood/etc.


AuthContext problem

[Enter feedback here]
Hi, Could you advise what is the correct code to get token when I am using the latest version of Nudget package "Microsoft.IdentityModel.Clients.ActiveDirectory;", it shows the error message AuthenticationContext does not contain a definition for acquiretoken and no accessible extension required

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

ID: 27fb3418-db2e-54a1-9faa-7ba09c5259dc
Version Independent ID: 87329ec8-d7d4-f66a-0562-13a9b6032543
Content: Get an authentication access token - Power BI
Content Source: powerbi-docs/developer/automation/walkthrough-push-data-get-token.md
Service: powerbi
Sub-service: powerbi-developer
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Thanks for your comment, @rajuchapagain . This issue has been assigned to the doc author for review.

Thanks for your comment, @rajuchapagain.
This looks like a support request or product question rather than documentation feedback.
You might find a solution in the Power BI Community. If not, try our support page.


Package a README & Fix warnings about logo in nuget

Fix the warnings about the icon and add a README to the package.

I still want to know what happen to this action https://github.com/meilisearch/meilisearch-dotnet/actions/runs/4917271145/jobs/8782146479 🤔

bors merge


fix: typo in rustls plugin

Explanation

close: #212
Related issue

https://github.com/WasmEdge/WasmEdge/discussions/3182

What type of PR is this

documentation
Proposed Changes

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

Good catch @morristai!
However, the DCO check has failed. Please check to this for signing DCO.

Done, thank you.

Merged. Thank you @morristai and Happy Chinese New Year!


[9.4.x] ISPN-9798 Availability deadlock fixes

Backport of #6510
https://issues.jboss.org/browse/ISPN-9798
https://issues.jboss.org/browse/ISPN-9800

Thanks for creating these @danberindei I was just about to create one when I saw yours :smile:


[Snyk-dev] Security upgrade node from 18.9.0-slim to 18.18.2-slim

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

Dockerfile

We recommend upgrading to node:18.18.2-slim, as this image has only 46 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

614
CVE-2022-42898 SNYK-DEBIAN11-KRB5-3120880
No Known Exploit

614
CVE-2022-42898 SNYK-DEBIAN11-KRB5-3120880
No Known Exploit

614
CVE-2022-42898 SNYK-DEBIAN11-KRB5-3120880
No Known Exploit

514
Off-by-one Error SNYK-DEBIAN11-SYSTEMD-3111119
No Known Exploit

514
Off-by-one Error SNYK-DEBIAN11-SYSTEMD-3111119
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[FEA] Do a hash based re-partition instead of a sort based fallback for hash aggregate

Is your feature request related to a problem? Please describe.
Currently if the intermediate data for a hash aggregate is too large we fall back to sorting the data, splitting it on key boundaries and then merging the intermediate results.
https://github.com/NVIDIA/spark-rapids/blob/9d9d491267c49c91c013f424dc6af1a62327360d/sql-plugin/src/main/scala/com/nvidia/spark/rapids/aggregate.scala#L745-L772
This works, but we know that sort is very expensive, especially compared to doing hash partitioning.
https://github.com/NVIDIA/spark-rapids/issues/8390 was filed to see if we can find a cheaper way to avoid spilling as much memory as we build up batches, and also as a way to avoid doing the sort/key partitioning.
This is here to try and replace the sort/key partitioning entirely, and may even replace some of #8390 assuming that it works out well.
Describe the solution you'd like
I would like a patch that replaces the outOfCoreIter and keyBatchingIter with something closer to what happens in the GpuSubPartitionHashJoin
https://github.com/NVIDIA/spark-rapids/blob/branch-23.06/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuSubPartitionHashJoin.scala
The idea would be to partition each intermediate batch using a hash seed that is different from the one used to partition the data in a hash partitioning. Unlike join I think we could use a different partitioning implementation because we don't need to join keys of possibly different types together, but it might be nice to keep the code common if possible.
I was thinking that as soon as we see intermediate batches are larger than the target batch size, and we are not going to just output the data without a merge because of #7404, then we start to re-partition the intermediate results.
In the first version of this we do it just like join. We do one pass through the data and partition it 16 ways.  After that first pass we can combine small partitions together and process them to produce a result that we can output.  If there are any partitions larger than the target batch size we can split them further with a heuristic that should be fairly accurate based off of the size of the data, but again it should use a different seed that the previous passes. Then we can merge them and output them from the second pass.
If #8390 looks good it might me worth thinking about playing some games with merging intermediate results after we do the partitioning instead of doing a second pass at partitioning, but at that point we likely have 4 GiB of data cached (512 MiB per partition with 16 partitions) and I don't know how likely all of that has spilled, and if it has spilled is the cost to read back in that data is worth the savings in merging it.
For now I would say just stick with something simple and then we can modify it as we see needs.
As for testing I want to see a number of different situations that we test from both a performance and a reliability standpoint.  All of these would be from the standpoint of a lot of data going into a small number of tasks. Like we had way too few shuffle partitions for the size of the data.  A lot of this is going to really be about the cardinality and ordering of the grouping keys.
I want to see what happens when the key's
1. cardinality is high and is highly grouped (the data is almost sorted by the key, should get good combining initially, but not after a first pass)
2. cardinality is high and is randomly distributed (should get almost no combining in the partial)
3. cardinality is low and is highly grouped
4. cardinality is low and is randomly distributed
5. cardinality is medium and is high grouped
6. cardinality is medium and is randomly distributed
By high cardinality I mean we each key shows up 2 to 3 times in the entire dataset, for medium 200 to 300 times, and for low 20,000 to 30,000 times.  But we want enough data that a single task cannot hold all of it in GPU memory. At least a few hundred GiB of data.
With this I would also like to see how it behaves with large numbers of aggregations. That can increase the size of the input data by adding lots of new columns, but also when combined with https://github.com/NVIDIA/spark-rapids/issues/8382 we might get lots of batches with relatively few rows in each.

Per confirmed with @revans2, this issue is closed by  https://github.com/NVIDIA/spark-rapids/pull/11712


fix: Add missing error checks

Signed-off-by: Soumik Majumder<EMAIL_ADDRESS>This PR
Resolves fixes caught by Sonatype Lift

How to test

Thank you for your contribution :) I saw that some tests are failing in the build! Could you please adapt the relevant test (link)? Then we can merge this PR :)

Resolving the merge conflict


Stop changing ownership in docker, stop marking repo as safe dir

Description
There has been a wave of changes (see links below) addressing the error from git fatal: detected dubious ownership in repository. It seemed like those changes resolved issues for most of us and in CI, except of me.
The error was never gone for me and it kept re-appearing during local make image builds. The error happened due to us doing docker ... run ... chown for local directories mounted into docker container plus docker on my system doing user remapping https://docs.docker.com/engine/security/userns-remap/ (this feature was turned on by default).
https://github.com/stackrox/stackrox/blob/a9d67ed0ccfeb1b937dedf5e74924a8e46bdfd9d/Makefile#L385-L389
Docker user remapping made host UID 1003 be seen as container UID 1003 but actually translate back to UID 297610 on the host. Hence it appeared for git on the host that the repo (which is a subdir of ~/go that was mounted in the container) is owned by a different user, hence the error.
Once I started digging, it appeared that only Linux users have their local directories mounted (bound) to docker container. For Mac OS users, docker volumes are created, and so they don't have such problem.
This was introduced in https://github.com/stackrox/rox/pull/6927 / https://github.com/stackrox/stackrox/commit/51969acd55a3feca9becbd5a8b680beb64b85130 and I believe is a performance optimization. On Linux it prevents caching Go dependencies twice: once for local builds (e.g. make cli) in local FS and another time for dockerized builds (e.g. make main-build-dockerized) in the volume.
I did not find a way to make mounted (bound) directories appear in the container as owned by the current user, they always seem to be owned by root. Disabling docker user remapping with docker run ... --userns=host did not seem to change ownership either. I did not find other means to fix the problem.
If it's a performance optimization and it leads to problems, let's get rid of it, especially if it leads to less conditional branches and makes things simpler.
Our builds in GHA CI don't run make *-dockerized targets and so don't care about docker volumes, therefore I believe our GHA Go caching is unaffected by this change.
Also, when checking things in GHA CI, I noticed that git config --global --add safe.directory <repo-root> seemed redundant because the only thing that is not owned by the current user is the repo-root directory itself. All checked out files are owned by the current user (which is root). I don't think that git config --global --add safe.directory hurts a lot, but it definitely "smells", and I used a different way to fix the error - simply change the owner of the repo-root directory (non-recursively).
Context threads:

2023-01-26 https://redhat-internal.slack.com/archives/CELUQKESC/p1674734577171499
2023-01-27 https://redhat-internal.slack.com/archives/CELUQKESC/p1674744334671869
2023-02-03 https://redhat-internal.slack.com/archives/CELUQKESC/p1675425945282999
2023-02-08 https://redhat-internal.slack.com/archives/C033SKHG9CZ/p1675882316074759

Prior art:

https://github.com/stackrox/rox/pull/6927
https://github.com/stackrox/stackrox/pull/4567
https://github.com/stackrox/stackrox/pull/4622
https://github.com/stackrox/stackrox/pull/5047

Places that do git config --global --add safe.directory ... were introduced in:

https://github.com/stackrox/stackrox/pull/4459
https://github.com/stackrox/stackrox/pull/4485
https://github.com/stackrox/stackrox/pull/4778
https://github.com/stackrox/stackrox/pull/4804
https://github.com/stackrox/stackrox/pull/5980

Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added - not for Makefile and CI scripts.

This change isn't user-facing and so these aren't needed:

[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

Testing Performed
linux-gocache still works. With volume (cached) ~1m30s, without volume ~4m30s.
Testing checklist:

[ ] make image works for Mac OS user.
[ ] make image works for Linux+podman user.
[ ] make image works for Linux+docker user.

I guess I'm still too confused about what is actually happening, to consider reviewing any changes.
I mean, I thought I knew what's going on until I read this sentence:

made host UID 1003 be seen as container UID 1003 but actually translate back to UID 297610 on the host

This just does not fit in my brain. How can "host UID x ... translate back to UID y on the host"?
FTR, on my box (RHEL CSB, Docker Engine - Community Version: 24.0.0):
$ (id;stat .) | grep -i uid
uid=4200660 gid=4200660 groups=4200660,3(sys),100(users),972(docker)
Access: (0755/drwxr-xr-x)  Uid: (4200660/ UNKNOWN)   Gid: (  972/  docker)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` busybox sh -c "id;stat ." | grep -i uid
uid=0(root) gid=0(root) groups=0(root),10(wheel)
Access: (0755/drwxr-xr-x)  Uid: (4200660/ UNKNOWN)   Gid: (  972/ UNKNOWN)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` --userns host busybox sh -c "id;stat ." | grep -i uid
uid=0(root) gid=0(root) groups=0(root),10(wheel)
Access: (0755/drwxr-xr-x)  Uid: (4200660/ UNKNOWN)   Gid: (  972/ UNKNOWN)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` --user "$(id -u)" busybox sh -c "id;stat ." | grep -i uid
uid=4200660 gid=0(root) groups=0(root)
Access: (0755/drwxr-xr-x)  Uid: (4200660/ UNKNOWN)   Gid: (  972/ UNKNOWN)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` --user "$(id -u)" --userns host busybox sh -c "id;stat ." | grep -i uid
uid=4200660 gid=0(root) groups=0(root)
Access: (0755/drwxr-xr-x)  Uid: (4200660/ UNKNOWN)   Gid: (  972/ UNKNOWN)
$

@porridge Please check https://docs.docker.com/engine/security/userns-remap/. It explains things much better than I could.
Host has UID 1003. We can tell the container it's UID is 1003 and processes in the container will believe so. However, that container's UID 1003 in fact maps to host UID 297610 which comes back when the container changes ownership on host-mounted path.
$ (id;stat .) | grep -i uid
uid=1003(misha) gid=1003(misha) groups=1003(misha),4(adm),20(dialout),21(fax),24(cdrom),25(floppy),26(tape),27(sudo),30(dip),44(video),46(plugdev),104(input),118(lpadmin),126(sambashare),133(libvirt),999(uinput),1001(mixa)
Access: (0755/drwxr-xr-x)  Uid: ( 1003/   misha)   Gid: ( 1003/   misha)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` busybox sh -c "id;stat ." | grep -i uid
uid=0(root) gid=0(root) groups=0(root),10(wheel)
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` --userns host busybox sh -c "id;stat ." | grep -i uid
uid=0(root) gid=0(root) groups=0(root),10(wheel)
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` --user "$(id -u)" busybox sh -c "id;stat ." | grep -i uid
uid=1003 gid=0(root) groups=0(root)
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
$ docker run -it --rm -v `pwd`:`pwd` -w `pwd` --user "$(id -u)" --userns host busybox sh -c "id;stat ." | grep -i uid
uid=1003 gid=0(root) groups=0(root)
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Clearly, the difference is that in all cases the directory is mounted as UID:GID=0:0 for me, but 4200660:972 for you.
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"

$ docker version
Client: Docker Engine - Community
 Version:           23.0.6
 API version:       1.42
 Go version:        go1.19.9
 Git commit:        ef23cbc
 Built:             Fri May  5 21:18:13 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.4
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.8
  Git commit:       cbce331
  Built:            Fri Apr 14 10:32:03 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.20
  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
 rootlesskit:
  Version:          1.1.0
  ApiVersion:       1.1.1
  NetworkDriver:    slirp4netns
  PortDriver:       builtin
  StateDir:         /tmp/rootlesskit596490962
 slirp4netns:
  Version:          1.1.8
  GitCommit:        unknown

Note that I have set up Docker in rootless mode. https://docs.docker.com/engine/security/rootless/
That may be the cause of UID:GID difference for the mounted directory.

By the way, here's my /etc/subuid
$ cat /etc/subuid
vasiliy:100000:65536
seva:231072:65536
misha:296608:65536

No, users shouldn't remap in the same range.

Right, but as far as I understood the docs, none of these are used by dockerd. It uses the subuids of the user specified in the  userns-remap option, by default dockremap. And since it's a dockerd option an not a docker option, it does this for all containers started by anyone on the host, no?

I'm afraid I'm not the best person to review a change that removes the possibility to reuse the cache. I don't think I've used the dockerized build targets ever since my stater project some 2 years ago. So it wouldn't be fair for me to rubber-stamp such change if I'm not affected by the speed penalty. :sweat_smile:

I'm afraid I'm not the best person to review a change that removes the possibility to reuse the cache.

It's not removed! The cache gets simply moved to a docker volume.
Also, you don't need to review this change. I wanted to ask you try it and let know if everything still works for you or if you see any failures https://redhat-internal.slack.com/archives/CELUQKESC/p1684494351493739?thread_ts=1674734577.171499&cid=CELUQKESC

I'm afraid I'm not the best person to review a change that removes the possibility to reuse the cache.

It's not removed! The cache gets simply moved to a docker volume which persists between runs.

Yes, I understand that. My point was that it's not shared with the non-dockerized workflow. But maybe you're right that it's not such a big deal if one needs to wait longer on this first execution of a dockerized build :thinking:

I don't think I've used the dockerized build targets ever since my stater project some 2 years ago.

Not even make image?

Yes, however unlikely that may seem. :sweat_smile:

Also, you don't need to review this change. I wanted to ask you try it and let know if everything still works for you or if you see any failures https://redhat-internal.slack.com/archives/CELUQKESC/p1684494351493739?thread_ts=1674734577.171499&cid=CELUQKESC

Ah, sorry, yes, I will give it a spin.

I'm targeting you because you seem to use docker without userns remap and you were the person who introduced some of the changes that concern docker commands.
Also, you seem to be correct about dockremap or any other single user's subuids being in effect for all containers. However, I don't see how it's fundamentally different from using docker without user remapping (and without rootless mode). In the default mode, the container's UID will be host's UID and so all containers started with UID 1003 will be running with UID 1003. User remapping actually has an advantage of doing N+1003 which shouldn't correspond to a real user ID on the host at least. I don't agree with the logic "this feature is not secure, let's not support it". First, I believe it's not less secure than the default.

I completely agree with that. Using a different UID is already an advantage.

Secondly, unfortunately, the development direction docker takes is not in our control. It may well be that user remapping becomes the default.

It may also get stuck forever in this half-baked state without proper support for sharing files with the host system :wink:

I finally had some time today to give this a go.
I am using podman, and I noticed that the detection of Podman in the stackrox main Makefile is not (or no longer) working.
When podman binary is called via a symlink, it will actually return that symlink, e.g.
$ ls -l /usr/local/bin/docker
lrwxr-xr-x  1 root  wheel  24 16 Dez  2022 /usr/local/bin/docker -> /opt/homebrew/bin/podman

$ /usr/local/bin/docker --version
docker version 4.6.0

Effectively this will cause the --user UID to be injected into the docker commandlines, even when running PodMan. And in my case, this causes the aforementioned git problems. Without the --user UID the dockerized builds run fine.

@GrimmiMeloni I ran into that same issue today, and I worked around it by installing the "official" podman-docker package: sudo dnf install -y podman-docker.
Cracking open the /bin/docker file, it's essentially just a one-liner:
exec /usr/bin/podman "$@"

I'm using Fedora CSB FWIW.

As a linux+podman user, I was able to run make main-build-dockerized on this branch with no errors.  First run took over 8 minutes, but after deleting my bin/ dir and running it again, it only took 16 seconds.

I have to take back my successful test.  My workstation was in a weird state after I had done some other experiments (before I discovered this PR).  I tried again with a fresh copy of the stackrox repo, and it failed:
$ make main-build-dockerized
+ main-builder-image
# If the next line fails, you need to update the go version in rox-ci-image/images/stackrox-build.Dockerfile
grep -q "go1.20.3" <(docker run --rm "quay.io/stackrox-io/apollo-ci:stackrox-build-0.3.58" go version)
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
+ main-build-dockerized
docker run -i -e RACE -e CI -e BUILD_TAG -e GOTAGS -e DEBUG_BUILD --rm -w /src -e GOPATH=/go -e GOCACHE=/linux-gocache -v/home/klape/src/stackrox:/src:delegated -v stackrox-rox-gocache:/linux-gocache:delegated -v stackrox-rox-gopath:/go:delegated quay.io/stackrox-io/apollo-ci:stackrox-build-0.3.58 make main-build-nodeps
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
make: stat: Makefile: Permission denied
make: *** No rule to make target 'main-build-nodeps'.  Stop.
make: *** [Makefile:392: main-build-dockerized] Error 2

The problem is that there is still a host dir mount (/src), and the user permissions are all mapped weird with host mounts.  I was able to work around it adding the --security-opt label=disable argument to the docker run command (see the podman run man page for details).  This would likely need to be added with the old conditional that checked the version output for podman.

Not to interrupt your problem solving here, I was able to workaround the problem for myself with the original code by defining
export BIND_GOCACHE=0
export BIND_GOPATH=0

in my rc-file.
Alternatively, run make image this way:
BIND_GOCACHE=0 BIND_GOPATH=0 make image

Since (a) this PR needs a rebase, (b) what I originally proposed did not work for Marcin, (c) I found a workaround, I'm not going to pursue this thing further and will close the PR. If needed, anyone can revive the PR or the branch and take ownership of it.


[AR] How to place a 3D animation in a specific longitude and latitude?

Hi guys, I want to implement AR feature. How can I place a 3D animation in specific longitude and latitude? So that when my camera is close to the specific location, the 3D animation can be seen.
Thanks in advance.

See the comments on this issue regarding lat long (location based) imlpementation -> https://github.com/viromedia/viro/issues/131

Thanks for the comment.
Instead of using viro react, can I use viro core (java) to place 3D animations in a specifc longitutde and latitude?
If yes, may I know how can I achieve that?

HI @HLneoh,
The react sample code for this would translate fairly well to java: https://github.com/viromedia/viro/files/1865035/HelloWorldSceneAR.js.zip
Here's some code on how it might work in Java using ViroCore:
// Convert lat/long coords to 2d mercator projection.
private float latLongToMerc(float at_deg, float lon_deg) {
   float lon_rad = (lon_deg / 180.0 * Math.PI);
   float lat_rad = (lat_deg / 180.0 * Math.PI);
   float sm_a = 6378137.0f;
   float xmeters  = sm_a * lon_rad;
   float ymeters = sm_a * Math.log((Math.sin(lat_rad) + 1) / Math.cos(lat_rad));
   float returnArr[] = new float[] {xmeters, ymeters};
   return returnArr;
}

// Take lat/long point and transform point to AR space. TODO: Add code to rotate AR coords by angle from true north.
private float[] transformPointToAR(float lat, float long) {
  float objPoint[] = this.latLongToMerc(lat, long);
   // change this to be the lat/long of the device...
  float devicePoint[] = this.latLongToMerc(47.618534, -122.338478);

  // latitude(north,south) maps to the z axis in AR
  // longitude(east, west) maps to the x axis in AR
  float objFinalPosZ = objPoint[1] - devicePoint[1]
  float objFinalPosX = objPoint[0]- devicePoint[0];
  //flip the z, as negative z(is in front of us which is north, pos z is behind(south).
   float returnArr[] = new float[] {objFinalPosX, -objFinalPosZ};
   return returnArr;
}

Then in your scene.. when you position your nodes:

//position point at following lat/long.
float northPoint[] = this.transformPointToAR(47.618574, -122.338475);
Node node = new Node();
//this assumes device is facing true north. If not, rotate coords by angle from north
node.setPosition(northPoint[0], 0, northPoint[2]);

In addition to the above you'll have to rotate the AR coords by the angle from from true north using the device compass or by asking the user what true north is and rotating by that since the device compass may not be reliable due to interference.
Try that and see if it works :)

Hi, @VikAdvani. Thanks for the response.
I have two questions regarding your comment.

In function transformPointToAR, as it stated
latitude(north,south) maps to the z axis in AR
longitude(east, west) maps to the x axis in AR

Why the codes in your comment are:
float objFinalPosZ = objPoint[1] - devicePoint[1]
float objFinalPosX = objPoint[0]- devicePoint[0];
Instead of
float objFinalPosZ = objPoint[0] - devicePoint[0]
float objFinalPosX = objPoint[1]- devicePoint[1];
As from my interpretation, I think objPoint[0] and devicePoint[0] refer to latitude whereas objPoint[1] and devicePoint[1] refer to longitude. Then, objFinalPosZ (z-axis in AR) will get the latitude value whereas objFinalPosX (x-axis in AR) will get the longitude value.

For the last code in your comment [ node.setPosition(northPoint[0], 0, northPoint[2]); ],
why there is northPoint[2] in z-coordinate? I think it should be node.setPosition(northPoint[1], 0, northPoint[0]); if my interpretation in first question is corrent.

Can I seek for your advice?

Hi @HLneoh,
Your questions addressed below

The method latLongToMerc returns the longitude at index 0 and latitude at index 1, hence the values the way they are.

You are correct on this point! I'll fix the sample code I posted. My mistake.

Let me know if have any more questions. Thanks!

Hi, @VikAdvani. Thanks for your clarification.
In my scene, when I position my nodes:
Here are your codes in the comment:
float northPoint[] = this.transformPointToAR(47.618574, -122.338475);
Node node = new Node();
node.setPosition(northPoint[0], 0, northPoint[1]);
After your codes, I have added the following codes:
node.setOpacity(1);
myARScene.getRootNode().addChildNode(node);  // add node to ARScene
view.setScene(myARScene);
However, by using the codes aboce, when my device enters the ARScene, the object appears for a second, then it disappears (like a flash).
I have read the viro core documentation and found a statement -  "While it's possible to add a Node to the ARScene at an arbitrary point in world coordinate space, this is not recommended" under Tracking and Anchors.
Therefore, I decided to add the object to arbitrary positions by anchoring that object using ARScene.createAnchoredNode(Vector).
Below are my codes:
private ARNode arNode; //global variable
float northPoint[] = this.transformPointToAR(47.618574, -122.338475);
Node node = new Node();
node.setPosition(northPoint[0], 0, northPoint[1]);
node.setOpacity(1);
arNode= mScene.createAnchoredNode(northPoint[0], 0, northPoint[1]);
arNode.addChildNode(node);
view.setScene(myARScene);
However, my app keeps stopping and unable to enter the AR scene at all.
May I seek for your advices?

Hi, can someone lend me a hand pls? :( @VikAdvani

Hi @HLneoh, I suspect createAnchoredNode is returning NULL. This will happen if the AR scene isn't initialized. If you wait for tracking to initialize then this should work.

Hi @HLneoh,
Curious how far is the lat/long point from you? Perhaps the point or node is getting 'culled' so it's not rendering because it's too far from your current location.

Hi, I just set createAnchoredNode(0,0,-2) [just two meters from my camera view based on documentation of viro core under tracking and anchor].

Hi @HLneoh, can I see the full code you have around createAnchoredNode? Do the other ViroCore samples work you? What device do you have? (ie, Android OS vs and device model)

Hi @VikAdvani , I am using Samsung A5 and Android Studio 3.1.2
The first picture is used to call initAR function after the tracking is initialized as below:

The second picture encompasses the codes of initAR function as below:

@VikAdvani

Hi @HLneoh and @VikAdvani Have you found the solution for the above conversation.? if so could you please mention here..

Hi @SamplesCZ,
Since the thread on this issue is long, what specific issue are you running into or do you need help with? This thread details how to specify a longitude and latitude in AR in detail so let me know if there are some gaps you need help with.


Missing Minecraft Fandom Wiki

You guys are missing a minecraft fandom wiki called mcpc.fandom.com from your list of fandom wikis. It is now archived because apparently it merged with the main minecraft.fandom.com a while ago, but it still shows up in search results instead of the new minecraft.wiki.
EDIT: minecraft-archive.fandom.com is also missing from the list.

Thanks for the submission! Will get this added in the next release.
Note, minecraft-archive is already in Indie Wiki Buddy. Wikis that redirect to a single destination are grouped together under one option in the extension's settings (in this case, "Minecraft Fandom Wikis").

Fandom controls minecraftwiki.net is there a way to redirect links from this website?

Fandom controls minecraftwiki.net is there a way to redirect links from this website?

Since minecraftwiki.net just redirects to minecraft.fandom.wiki, Indie Wiki Buddy should be able to still catch and redirect it.


chore: Make Scanner's CGO_ENABLED overriding as desired

Description
While going through Scanner Makefile I noticed an inconsistency.
CGO_ENABLED is declared with := assignment.
https://github.com/stackrox/stackrox/blob/375158c88a64acffd237ff1dd78b395f12b5dbed/scanner/Makefile#L27
and in the downstream Dockerfile it is defined twice.
First, as the environment variable
ENV CGO_ENABLED=1

Second, as the Makefile variable override
RUN make ... CGO_ENABLED=${CGO_ENABLED} ...

We copied the same pattern to konflux.Dockerfile.
https://github.com/stackrox/stackrox/blob/375158c88a64acffd237ff1dd78b395f12b5dbed/scanner/image/scanner/konflux.Dockerfile#L10
https://github.com/stackrox/stackrox/blob/375158c88a64acffd237ff1dd78b395f12b5dbed/scanner/image/scanner/konflux.Dockerfile#L22
The problem is that
ENV CGO_ENABLED=1

alone is not enough to set the value of a Makefile variable CGO_ENABLED. That is because of := assignment (just = would give equivalent results).
In order to use environment variable's value for CGO_ENABLED, one either must not be assigned at all in the Makefile, or ?= assignment must be used.
It can be simply illustrated by this:
$ cat Makefile
CGO_ENABLED := 0
FOO_ENABLED ?= 0

.PHONY: blah
blah:
	@echo "Cgo state is: $(CGO_ENABLED)"
	@echo "compare it to foo which is: $(FOO_ENABLED)"

$ make
Cgo state is: 0
compare it to foo which is: 0

$ CGO_ENABLED=500 FOO_ENABLED=500 make
Cgo state is: 0
compare it to foo which is: 500

$ make CGO_ENABLED=500 FOO_ENABLED=500
Cgo state is: 500
compare it to foo which is: 500

In this change I switch from := to ?= in the Makefile and remove a redundant override from konflux.Dockerfile. Downstream Dockerfile needs to be adjusted subsequently.
Alternatively, we can retain CGO_ENABLED := 0 and use makefile override make VAR=value (and not environment variable approach VAR=value make) in which case we must change ENV CGO_ENABLED=1 to ARG CGO_ENABLED=1 in the Dockerfile to stop misleading. Leaving this decision to you as a reviewer.
Checklist

[ ] Investigated and inspected CI test results

These won't be done:

[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

Testing Performed
Here I tell how I validated my change
Will pull Konflux-built image and check CGO_ENABLED is 1 in the binary there with go version -m <scanner-binary>.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/retest

@jvdm I went a full circle on this restoring CGO_ENABLED := 0 in Scanner's Makefile. The improvements are: it is documented why CGO_ENABLED is set to 0, there's no misleading ENV CGO_ENABLED=1 in Scanner's Konflux Dockerfile.


Tech-Debt: removed Dupe page

removed duplicate scaffolded 'have phone' for first contact

Thank you for picking up on this and raising the PR :)
I've had a look and this change would leave us with the following pages:

ContactName
FirstContactEmail
ContactHavePhone
FirstContactPhone

Bit cheeky of me, but would you mind including some renaming in this PR too to get rid of the confusing mix of "Contact" and "FirstContact" terminology?
Approving this anyway in case you think it'd be easier to get this done first then rename as a separate PR - happy either way

Thank you for picking up on this and raising the PR :)
I've had a look and this change would leave us with the following pages:

ContactName
FirstContactEmail
ContactHavePhone
FirstContactPhone

Bit cheeky of me, but would you mind including some renaming in this PR too to get rid of the confusing mix of "Contact" and "FirstContact" terminology?
Approving this anyway in case you think it'd be easier to get this done first then rename as a separate PR - happy either way

Yeah i agree that's best 👍 will make a separate pr because i'm certain the diff will be confusing


bug fix in Pending Users fixed

Description
This was a bug fix I worked on with Alex Tran.
A post request, should have been a put request to a different endpoint
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have removed unnecessary comments/console logs from my code
[x] I have made corresponding changes to the documentation if necessary (optional)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any misspellings
[x] No duplicate code left within changed files
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

Looks good! Thanks for that change!

Good catch!


Broken area portals? Funny lump size

Many .bsp maps stop working after being loaded and saved with LibrariaLite (without changing the version).
Examples for broken visual data:

http://de.ws.q3df.org/map/r7-trilogy-rev/

http://de.ws.q3df.org/map/r7-xyligan/

On some other maps you get the error "CMOD_LOADSHADERS: FUNNY LUMP SIZE"
Example:
3) http://de.ws.q3df.org/map/kool_boma3/

Thanks for reporting, i will try to fix the map converter this weekend.

Thanks a lot, I really appreciate your work!

If you load and save this map http://de.ws.q3df.org/map/hunterun-20/ with LibrariaLight, the game crashes when loading the map -> Access violation

You are testing this with the standard Quake 3, and not Quake Live, right?

Opened up the issue on the bspconv project, i will be moving quake related sources away from this library
https://github.com/sbarisic/bspconv/issues/2


Apply a filter to a subsection of a AudioBuffer

Hello,
I was wondering if there's a way to apply a filter e.g. low-pass filter only on a specific interval of an audio buffer. For instance, an example would be having a low-pass filter from 0s to 5s then a high-pass filter from 5 to 10s and lastly shifting the pitch for the last 5s.
Is this possible/a supported functionality?
One of the ways I was considering doing this was splitting the audiobuffer myself using the slice method and using multiple Player objects to play them one after the other using the onstop callback however this results in a noticeable gap in the audio.
Thanks.

To my knowledge this is out of scope for ToneJS.
If I were to tackle this problem, I would try to access the WebAudio
buffers 'under the hood' directly and slice them there. This could be a
starting point, but I didn't try this myself yet:
https://miguelmota.com/bytes/slice-audiobuffer/
On Thu, Nov 16, 2023 at 12:53 PM KevinXZX @.***> wrote:

Hello,
I was wondering if there's a way to apply a filter e.g. low-pass filter
only on a specific interval of an audio buffer. For instance, an example
would be having a low-pass filter from 0s to 5s then a high-pass filter
from 5 to 10s and lastly shifting the pitch for the last 5s.
Is this possible/a supported functionality?
One of the ways I was considering doing this was manually splitting the
audiobuffer myself and using multiple Player objects to play them one after
the other using the onstop callback however this results in a noticeable
gap in the audio.
Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/Tonejs/Tone.js/issues/1217, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYV4UAAYUDJB6HJRYVHHLYEX5CLAVCNFSM6AAAAAA7OAW5Q6VHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4TMNRYHA4TONI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Another way to do it would be to render the audio file with Offline. Create two audio sources, one connected to a lowpass filter and another connected to a highpass filter. Then schedule both audio files to play with a matching offset/start time so that they play one after the other. the resulting audio will have the affect as if the first 5 seconds are lowpassed and the second 5 seconds are highpassed.


Speed up tests with pytest-xdist

I think I can get this working for almost every test, then use the pattern in https://github.com/pytest-dev/pytest-xdist/issues/385#issuecomment-444545641 to opt specific tests out of being run in parallel.

On my Mac pytest-xdist ran the test suite (minus two tests) in 59s, as opposed to 2m23s without xdist.

Looks like -n auto only detected two cores on GitHub Actions:
============================= test session starts ==============================
platform linux -- Python 3.7.10, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
SQLite: 3.31.1
rootdir: /home/runner/work/datasette/datasette, configfile: pytest.ini
plugins: xdist-2.2.1, timeout-1.4.2, forked-1.3.0, asyncio-0.14.0
gw0 I / gw1 I
gw0 [878] / gw1 [878]

https://github.com/simonw/datasette/actions/runs/713207828 ran with pytest-xdist in 4m22s:

Here's the test suite running on regular pytest in 5m13s:

Not a huge speed-up because there are only 2 available cores in the GitHub Actions environment, but still worthwhile - especially since this lets people run in parallel on their own laptops.


feat(Java): make maven-spotless-plugin version as a parameter

Reason for this PR

feat(Java): make maven-spotless-plugin version as a parameter
What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

The change LGTM. hi, @Thespica, could you help to review the pull request?


Regenerate test file by record mode

Description
No idea why json files from record mode in my original branch does not work with latest commit,
regenerate test files against latest commit.
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please add REST spec PR link to the SDK PR
[x] I have read the contribution guidelines.
[x] The pull request does not introduce breaking changes.

General Guidelines

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[x] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[x] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

Please assign to Abhijeet


Readme patch

Updated readme

Do we need to squash the commits?

Just squashed the commits. Its left in two still because chandlers changes should be in the history instead of merging mine with his


I will update README.md

I will update README.md with my name please put label in progress. #334

Completed works


umask 0027 prevents healthcheck in ddev-router

Is there an existing issue for this?

[X] I have searched the existing issues

Output of ddev debug test
No response
Expected Behavior
DDev should run with umaks 0027 set in user's ~/.bashrc
Actual Behavior
In ddev-router the file /healthcheck.sh is not readable for others and the health check fails.
Steps To Reproduce

On Ubuntu 22.04 set umask 0027 in user's ~/.bashrc
Install docker
Install ddev
Create dummy ddev project
Start project => error: ddev-router failed to become ready: health check timed out
Connect to the ddev-router instance e.g. 'docker exec -it --user root ddev-router bash' to check the file permissions of /healthcheck.sh

Anything else?
Looks like Failed to start ddev router #1237 but has different cause.
May be a similar issue as web_extra_daemons start fails with error "ERROR (no such group)" #4872

Super interesting!

https://github.com/ddev/ddev/issues/1237 isn't related I don't think; that didn't have to do with build and was related to the legacy router.
But obviously https://github.com/ddev/ddev/issues/4872 is the same general class of problem.

I guess DDEV can change file perms before build. In this exact case I'm thinking we should have a DDEV-built traefik image instead of using the upstream traefik image directly; that would also solve this particular case.
Thanks for the careful work sorting this out, and also for doing the research in the issue queue.

Fix for this is in now, it will be in v1.22.2 in a couple of weeks.
I'd love it if you'd test, see https://ddev.readthedocs.io/en/latest/developers/building-contributing/#testing-latest-commits-on-head
But I'm pretty sure it should be completely resolved. thanks for reporting!


IS 6.1.0 docs - clean-up tasks

Update master branch with changes to 6.1.0
Update UMA details in deployment docs

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


One-Click deployment via docker-compose

Heyho,
first, great work on this project!
I wanted to start the discussion about introducing deployment via docker-compose and especially compiling the variantstore in a docker container instead of compiling it locally and then uploading it into a container (as it is currently done by the Dockerfile).
Thus, I added a first draft for:

One-click deployment via docker-compose
A modified dockerfile for container-inside compiling
Small extension to the documentation

The docker-compose script is based on the in-house docker-compose file, you sent me last year.
Your opinion on the following points would be quite interesting:

Overall docker deployment option for fast deployment
Docker deployment based on source build vs based on release jar import
docker-compose.yml: VARIANTSTORE_SECURITY_ENABLED: 'false' -> This was for personal fast testing, but should be excluded (excluded = set to 'true' as default)
A separate health check script which includes pinging both sql databases

Point to the associated issue (linked in the next comment) about docker deployment:
Maybe, it is suitable to introduce docker as an alternative way for testing beside the manual & recommended way of variantstore setup.
Thanks in advance for your time.
Cheers,
Dominik

Based on the following issue: https://github.com/qbicsoftware/variantstore-service/issues/22

Hi @muellerdo,
thanks a lot for this PR, it was still on my list to update/improve the docker file. 👍 I added some comments to the code.

Hello @christopher-mohr,
glad, if I can help/contribute! :)
Maybe, you can create a new branch apart from the dev branch in which this can be merged?
For easier enhancement/corrections of the code on your side?

Hello @christopher-mohr,
glad, if I can help/contribute! :)
Maybe, you can create a new branch apart from the dev branch in which this can be merged?
For easier enhancement/corrections of the code on your side?

Good idea! Added the branch and changed the base in this PR accordingly.

How should we continue with this, @muellerdo? Could you change some of the things as discussed in this PR before merging and then we can use this a base for further development/tweaking?