Task: 221254 Broken link fixes

For the first change, I noticed that the url is absolute. I'd recommend replacing all https://docs.microsoft.com/ in links with /. That's to support the Microsoft Help Viewer.
After that, I found conducting the rest of the review impractical as it stands. Unfortunately, because the very first change in many files is the automatic conversion of a newline char, the remainder of the diff in those cases makes it appear that the entire file has changed. That makes it impossible to see the actual change(s). So that issue compounded with the fact that 113 files have been changed in this PR (which is a lot) makes this PR really difficult to verify.
I can approve it if necessary, but unfortunately the way it is I can't verify the links.
Alternatively, if you prefer, you could take a first pass through all the files making just any old change (for example adding a newline to the end of the file), and then I'd be happy to approve that if you describe what you've done. After that take another pass through, say, 10 files at a time making the actual link fixes. That would solve these two issues: a) it'll make the actual, real changes to the files show up in the diff, and b) it'll be more manageable for approvers signing off on the changes.
Thanks!
Steve

Hi @stevewhims Stevewhims

All "https://docs.microsoft.com/" links have been replaced with " / " in updated 71 files .
In previous changes in meta tags "description" and "helpviewer_keywords" was in one line and in latest updated files "description" and "helpviewer_keywords" is coming in separate lines. Hence in PR files changes section it's showing all contents in files updated.

Please let me know, If you want to make any changes in all 71 pages regarding 2nd point..


Add support for new Gandi Beta Platform: LiveDNS

API documentation is available here: http://doc.livedns.gandi.net/

could someone review this pr?

+1, this PR worked for me. (I did have to update go as some dependency got unhappy with ubuntu's default 1.6 version of go.)

Another point that I've just noticed, the Gandi API url used here is the "beta" one (https://dns.beta.gandi.net/api/v5). Based on what I saw in the API docs (http://doc.livedns.gandi.net/) I think that now we should use this one : https://dns.api.gandi.net/api/v5

Sure, gona review this. Should I call the provider Gandi V5 (gandiv5) or Gandi LiveDNS ?

gandiv5 looks good to me :)

Could someone review ?

FWIW, this is working for me - I'm using it successfully for some internal domains. It would be good to get this merged!
(Thanks @aslafy-z!)

+1 to getting this merged.  What's the holdup?

If you modify your DNS records using the new gandi site (which has now been the default for many months) it shows up on the old API as an "external DNS server" and means you can no longer use the old API to update DNS. This means DNS challenges fail, and this PR is neccesary for me to review my DNS.

Hi from Gandi,
I rebased this to master and tested against our API - this works A OK for me.
As far as I can tell, you're using the API in an optimal way. You might want to review a few leftover comments in the provider class that refer to the older API behavior (one mention of XML-RPC, and the description of Present creating a new zone)
About the naming question, for clarity and ease of use, anything with "gandi" in the name is really fine. We like LiveDNS in the description as this describes the specific API endpoint pretty well - v5 is more or less the website version.
Thanks for working on this!
Let us know how we can help get this merged

Thanks Pascal for the review, can't wait to use dnsChallenge again with gandi provider.

Thanks everyone for working on this / reviewing it!
I'm sorry it took me so long to get to it 😟

Thank you all! all this work is highly appreciated


Switch to fixed by getting the UUID

And more tests

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Release all Spanner packages as version 3.6.0

Changes in Google.Cloud.Spanner.Data version 3.6.0:

Commit 69c83e4:

fix: retry errors in stream until timeout (issue 6013)
Also fixes issue 5977

Commit fa5641d: fix: retry consecutive retryable errors in sql stream. Fixes issue 5977
Commit a86b6ea: feat: add optimizer_statistics_package field in QueryOptions
Commit ef02e74: feat: add CMEK fields to backup and database

Packages in this release:

Release Google.Cloud.Spanner.Admin.Database.V1 version 3.6.0
Release Google.Cloud.Spanner.Admin.Instance.V1 version 3.6.0
Release Google.Cloud.Spanner.Common.V1 version 3.6.0
Release Google.Cloud.Spanner.Data version 3.6.0
Release Google.Cloud.Spanner.V1 version 3.6.0

Closing due to line break issues. Will recreate.


make timeout override to be partial and enable enable check exclusion.

fix #78

@saikrishna321 review and release.

@Dileep17 please update package-lock


Investigate FreshRSS support

By far the most requested sync service. Copy down endpoints and card up work.
Reference

FreshRSS docs https://freshrss.github.io/FreshRSS/en/developers/06_GoogleReader_API.html
About Google Reader API https://feedhq.readthedocs.io/en/latest/api/index.html

Will this be support for FreshRSS exclusively, or the Fever API more broadly?

hey @laforcem - this will support FreshRSS by way of their Google Reader API. Once that's out I'd also like to implement Fever API as well. That will be a separate set of tickets though.


New version checklist

Do this before every release

[ ] Update MANIFEST
[ ] Update version number in __init__.py, setup.py, and docs/source/conf.py
[ ] Update release notes and link to commits where applicable
[ ] Update Sphinx documentation for any new / changed syntax
[x] Rebuild Sphinx examples

Sphinx Documentation to be written

[ ] dealing with infeasibility [0.3]
[ ] allow nonoptimal results from solver (+unit test) [0.3]
[ ] interactive widgets [0.4]

Sphinx Documentation to be written

[ ] dealing with infeasibility [0.3]
[ ] allow nonoptimal results from solver (+unit test) [0.3]
[ ] interactive widgets [0.4]

who checked off "Update version number"? I still see 0.1.1 in docs/source/conf.py.

doh, it's in #328. my mistake.

No worries! Gonna delete all these comments when I move the issue.

MANIFEST updated in 7a9a930a7a3cc61b5b47909963d5dc8440c92e10, should we check it off?

Nope, I was waiting for changes from #394


Develop Rspec Test cases for RSVP feature

As a developer, I aim to create concise RSpec test cases for the RSVP feature. These tests will cover scenarios such as successful RSVP submissions, handling invalid input, verifying database updates, and ensuring appropriate error messages. The goal is to thoroughly test the functionality of the RSVP feature.


docs: append licence, release, workflow icons

Signed-off-by: Bruce Ma<EMAIL_ADDRESS>
Pull Request Description
Describe what this PR does / why we need it
Pretty the documentation.
Does this pull request fix one issue?

NONE
Describe how you did it
Use some beautiful icons.
Describe how to verify it
NONE
Special notes for reviews
NONE

Codecov Report

Merging #41 (37ef2f5) into main (fc0350c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #41   +/-   ##
=======================================
  Coverage   18.64%   18.64%
=======================================
  Files          28       28
  Lines        2242     2242
=======================================
  Hits          418      418
  Misses       1767     1767
  Partials       57       57

Flag
Coverage Δ

unittests
18.64% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 fc0350c...37ef2f5. Read the comment docs.


Simple execution of a JS function with intercooler

Hi!
I'm looking for a way to run a simple JS function with Intercooler to use the ic-trigger-on = "load".
For various reasons I can't use document.ready standart function.
There is a way to do that with an IC attribute?
Thanks in advance!

Sorry it took me so long to respond to this: I guess you could combine the ic-action="yourFunction()" and ic-trigger-on="load" attributes to accomplish this...

Thanks! It worked


Error: Failed to install 'unknown package' from GitHub

Hi,
I am getting the following error when trying to install PseudotimeDE:

install_github("SONGDONGYUAN1994/PseudotimeDE")
Error: Failed to install 'unknown package' from GitHub:
Send failure: Connection was reset
I have used RStudio (Version 1.3.1073) and R-4.0.3. Please see this and give your suggestions.

The following code solve my problem.
install.packages("remotes")
remotes::install_github("SONGDONGYUAN1994/PseudotimeDE")

I have changed the vignette. Thanks!


Unexpected build failed.

Details
I'm getting a build failed on my project, but according to the logs I don't see any build failures, and only one warning:
WARNING: html_static_path entry '/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx/_static' does not exist
...
build succeeded, 1 warnings.

The HTML pages are in _build/html.

Locally I am able to build the html without issue.

Read the Docs project URL: https://readthedocs.org/projects/flask-jwt-extended
Build URL (if applicable): https://readthedocs.org/projects/flask-jwt-extended/builds/7714303/
Read the Docs username (if applicable): Vimalloc

Expected Result
The build should either be successful, or there should be an indication in the logs of why it was unsuccessful.
Actual Result
The build failed. My guess is it is because of that warning mentioned above, but it isn't clear to me

Looks like it's failing in the pdf generation step

I'm glad I'm not crazy at least :) If there's any information I can provide or anything I can do to help test this I would be more then happy to do so. FWIW the commit that triggered this was purely a documentation commit. If needed I could try reverting it and seeing if it still is having an issue, to help narrow down the target area.

Can you try building your project again? Maybe it was a temporal issue on the servers

It was triggered via a webhook, doing a quick search I don't see a way to manually retrigger that. Do you know if there is any way to retry that without dirtying the git history, or would my best bet be to push up a dummy commit to trigger it again?
Thanks for you help with this :+1:

You need to do it from your project builds page https://readthedocs.org/projects/flask-jwt-extended/builds/

I’m embarrassed to say that I didn’t realize the button on that page was used for retriggering, I though it was a filter. Retriggered and everything is peachy. Thanks for the help! 👍

@vimalloc No worries. Thanks for circling back and letting us know.
Is there anything we could do to make that button clearer?

I'm not a web designer so take this with a huge grain of salt, but I think for me at least it might be more clear if it was the select option first then the build button second. It just feels a bit more intuitive to me that way. Something like:
<html>
    <header><title>Title</title></header>
    <body>
        <select label="Version">
            <option value="latest">Latest</option>
            <option value="stable">Stable</option>
        </select>
        <button label="Build">
            Build
        </button>
    </body>
</html>

Maybe updating the size  on the components to be the same to visually indicate that they were grouped together as well? Not sure if that would actually look good or not 🤷♂.


jsonwebtoken doesn't supported in webpack 5

when building react with webpack5, I receive the error:

That's because jsonwebtoken is not built to be transpiled for the web browser runtime, under its hood it uses node's crypto module. We actually support browser environment as a runtime for this module.
We are not providing jsonwebtoken for the browser platform and would recommend use of JWT modules that utilize the browser built-in Web Cryptography API instead, e.g. jose.

@Sahar3dsig
You can for example add this to your webpack config:
    resolve: {
      fallback: {
        "buffer": require.resolve('buffer/'),
      }
    },
    plugins: [
      new webpack.ProvidePlugin({
        Buffer: ['buffer', 'Buffer'],
      }),
    ]


Refactored CLI modularization

Have abstracted the modularization code to NPM package modularize and refactored the CLI accordingly.
Cleaner flow ...
As per #626

One more thing, please... Can you update this PR so we can automatically merge?

Thanks!

Will do

On 27 Apr 2015, at 9:22 AM, Tero Piirainen<EMAIL_ADDRESS>wrote:
One more thing, please... Can you update this PR so we can automatically merge?
—
Reply to this email directly or view it on GitHub.

@tipiirai there is a bug in the refactored modularization, wraps every riot tag. I will repair and update the PR when ready.

Cool. Thank you for the update

thanks


[SWARM-804] Enhance Zipkin fraction to accept a service name

[x] Have you followed the guidelines in our Contributing document?
[x] Have you created a JIRA and used it in the commit message?
[x] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[x] Have you built the project locally prior to submission with mvn clean install?

https://issues.jboss.org/browse/SWARM-804

Of course, that should not prevent this PR from being merged.

Is this ok be merged? Unlikely I'll get time this week (or next) to make the additional enhancement suggested above.

Yes, sorry it took so long. Thanks


Services - Expose provision_priority to automate.

Service Bundles contain Service Items. The provision index(provision_priority) is set on the service resource to specify the provisioning order(configuration settings are also required)
Currently, automate methods require additional code to get the index. Exposing provision_priority will reduce the amount of automate code and helps make Services easier to use and customize.
https://trello.com/c/VFv0vSGb

👍
@gmcculloug please review

@tinaafitz @gmcculloug is there a BZ for this?


feat(#135): Add tests for ProjectJavaParser - exclusions

Closes: #135

PR-Codex overview
This PR adds a new test class and a new test method to an existing test class. It also adds a new test case to an existing test method. Additionally, it adds a new method to a class and a new test method to a test class. Finally, it adds a new test case to an existing test method.
Detailed summary

Added TestWrongName.java to JavaTestClasses enum.
Added ignoresAllRulesThatWasAddedToExclusions method to ProjectJavaParserTest class.
Added a new test case to ProductionClassTest class.
Added inputStream method to JavaTestClasses enum.
Added javaParserClass method to JavaTestClasses enum.
Added newMethod method to ProductionClass class.
Added testNewMethod method to ProductionClassTest class.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 2min)


Update integrations-and-incident-health-check.md

Status
Ready
Related Issues
to prevent errors where running the playbook without the right incident type.
Like the comments in this issue:
https://github.com/demisto/etc/issues/32684
Description
Added another mention that running the playbook should be with right incident type

@altmannyarden is this OK to merge?

Created s new PR.


Un able to Add new hero if we delete all the heros at first

starting by deleting the heroes from the list of hero we cant add new heros:
as the _nextId will fail to get any value.
to resolve this without changing your logic:
i just changed the initialization of the InMemoryDataService by adding
_nextId = _heroesDb.map((hero) => hero.id).reduce(max) + 1;
InMemoryDataService() : super(_handler) {
_nextId = _heroesDb.map((hero) => hero.id).reduce(max) + 1;
}

Thanks for having reported this issue.
Some context: in the ToH examples, the initial db has always been populated with some heroes. Deleting all heroes causes no problems (one can add more heroes after that). The reported issue is for the situation where the initial heroes db is empty.
This has been addressed in https://github.com/angular/angular.io/pull/2895


pylyzer: declare single file support

You could just rebase on master to fix the Selene issues (fixed by #2895) and then fixup the commit message to address the commitlint problem.
git fetch origin
git rebase origin/master
git commit --amend
git push -f


Cassandra Channel || Able to receive message at engine side for update/delete operation when record is not present

Version Information

Software
Version(s)

BusinessEvents
6.3.0

OS Type?

OS Version?

If a record is not present in Cassandra DB and update/delete operation is being performed then also event triggers at engine side. As we have CDC enabled and data is not present inside DB, shouldn't we receive any kind of message from the topic (in case of data not present)
authProvider_none_V6.log

In Cassandra - Unlike in SQL, UPDATE does not check the prior existence of the row by default. The row is created if none existed before, and updated otherwise. Furthermore, there is no means of knowing which action occurred.
Reference : https://cassandra.apache.org/doc/latest/cassandra/cql/dml.html#update-statement

Closed as per comment


added postcss

This adds postcss with autoprefixer, and switches to nodemon to watch for style changes instead of the built-in node-sass watcher.
This PR connects to #26

@artlowel do you want to resolve the merge conflicts or would you like I handle them? Otherwise this looks straight forward.


Crashes with 16 bit images.

1.1.0 crashes when invoked on 16 bit images and takes Photoshop down with it. CC on Win 10. Poster on DPR is having similar issues with CS6. 1.1.1 shows the same behavior on CC.

I am not able to reproduce that crash with CC 2020 on Win 10.
Do you have a sample image that causes it, or does the crash occur with any 16-bit image?

This image will crash, but only in certain circumstances:

Open in PS through Camera Raw.
Make a duplicate layer.
Run G'MIC on the duplicate.
Crash
Doesn't crash if opened with ACR or if G'MIC is run without duplicating the layer.
Some images seem to never crash. This one seems to always crash if the above steps are followed.

Open in PS through Camera Raw.

The image was uploaded as a JPEG, if it was a RAW file you will need to zip it.

Thanks!

Just tested 1.1.2 and the above image still crashes. Jpg upload was not an error - if Preferences is set to have Camera Raw open jpgs, this crash occurs consistently when the above procedures are followed. Glad for the 1.1.2 fix, but I think there's still something borken in there...


feat: update copy lable when user copies the result

✨ feat: update copy lable when user copies the result;
when the user clicks on the copy button on the result page once the result gets copied we'll see the label change from copy to copied! this improves the UI by giving user some feedback after copying is done
Fixes #42

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

[ ] Refactor
[ ] Feature
[ ] Bug Fix
[x] Enhancement
[ ] Documentation Update

What I did
added code to change label of copy button from copy to copied! when the user copies the result

Closes #42


All cache accesses should be done through the Registry

The registry should be the single source of truth. However, in CLI::Update the cache is accessed directly:
https://github.com/Raku/Documentable/blob/master/lib/Documentable/CLI.pm6#L262
This is jumping layer, and is probably NotAGoodIdea(TM)

Done in v2.0.0.

Great job, Antonio.


Error resolving ImageStreamTag jboss-webserver31-tomcatX-openshift

An error occurred while starting the build. Reason: Error resolving ImageStreamTag jboss-webserver31-tomcat7-openshift:1.1 in namespace openshift: imagestreams.image.openshift.io "jboss-webserver31-tomcat7-openshift" not found
I tried to change 1.1 to 1.2 and 1.3 without any success.
Does anybody know how to fix this?

Sounds like the image stream is not installed: https://github.com/jboss-openshift/application-templates/blob/ose-v1.4.5/jboss-image-streams.json#L117-L144


Use HTTPS as etcd-apiserver protocol when mTLS is enabled

refer to kubernetes PR https://github.com/kubernetes/kubernetes/pull/77561 and https://github.com/kubernetes/kubernetes/pull/77657

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind bug

What this PR does / why we need it:
when run arktos perf-test with these two env var: PROMETHEUS_SCRAPE_ETCD=true ENABLE_PROMETHEUS_SERVER=true to enable apiresponsiveness. But Prometheus failed to start with the error below when run clusterloader2
0/1 targets are ready, example not ready target: {map[endpoint:etcd-2382 instance:<IP_ADDRESS>:2382 job:master namespace:monitoring service:master] down}

arktos are missing the insecure http port number:2382 to access ETCD. This port 2382 is used by perf-test to access etcd matrix.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Tested on GCE 100 nodes for both density and load, both got finished with success.
Does this PR introduce a user-facing change?:

/approve

/lgtm


The copy button moves if the text box contains a horizontal slider

What happened?

@lobkovilya Can I take this up?

Definitely, go for it :-)


automate extension update process

currently I'm just doing it manually. it would be great to add a script that does it for us though.
For Chrome, I think it's possible to do that at the moment.
For FF, I don't entirely know if the whole process can be automated at the moment or not. See this thread and comment: https://github.com/mozilla/web-ext/issues/804#issuecomment-426670076

I'm playing with a node script for this.

Nevermind, I'll probably use this instead https://github.com/LinusU/wext-shipit

now that I'm older and wiser (and have played around with this more), it's actually not going to be as hard as I thought.
FF updates are already built-in using the script outlined in the readme, so you'd only have to put in a little bit of work to add Chrome :D


Extract Base ElementPageViewModel

Similar to RelationShipViewModel, I suspect I could abstract most of the functionality of element viewmodels.

This ticket is about details and table pages, not the element wrapper view models themselves.


add "unavailable" and "unknown" state for bigip_vs_status_availability

For unknown and unavailable states, the exporter only exported an "offline" state.
metric = 2 --> unavailable
metric = 4 --> unknown
The numbers were chosen because the ?Filter= flag from the LTM control panel, which also makes the metrics backwards compatible for existing prometheus queries.

This project seems dead. This fork https://github.com/jenningsloy318/bigip_exporter looks like a good alternative

When can I expect a merge for this feature?

This project seems dead. This fork https://github.com/jenningsloy318/bigip_exporter looks like a good alternative


Fixes #43 Symfony 3.0 compatibility

We're using this bundle in a Symfony 3 application right now.

Thanks for your work on this.


feat: adds tags and annotations.

Questions to be addressed:

name of the file (maybe tags-and-annotations.md?)

Thanks for owning this! These are seeded from zipkin-api thrift?
You can also compare against the following:
https://github.com/openzipkin/brave/blob/master/brave/src/main/java/brave/Tags.java
https://github.com/openzipkin/brave/blob/master/instrumentation/rpc/src/main/java/brave/rpc/RpcTags.java
https://github.com/openzipkin/brave/blob/master/instrumentation/http/src/main/java/brave/http/HttpTags.java
https://github.com/openzipkin/brave/blob/94fe807e03160d779a0e98590b5f96fd824aa81a/brave/RATIONALE.md#why-we-dont-tag-errorfalse
https://github.com/openzipkin/brave/tree/master/instrumentation/http#span-data-policy
https://github.com/openzipkin/brave/tree/master/instrumentation/rpc#span-data-policy
possibly import rationale from here:
https://github.com/openzipkin/brave/blob/master/instrumentation/rpc/RATIONALE.md#why-use-rpcmethod-and-rpcservice
https://github.com/openzipkin/brave/blob/master/instrumentation/rpc/RATIONALE.md#the-rpcerror_code-tag
possibly in a different PR the pending messaging tags..
https://github.com/openzipkin/openzipkin.github.io/wiki/Messaging-instrumentation-abstraction
https://github.com/openzipkin/brave/blob/master/instrumentation/messaging/src/main/java/brave/messaging/MessagingRequest.java#L27-L69
https://github.com/openzipkin/brave/blob/master/instrumentation/messaging/RATIONALE.md#message-id
as later we can delete these references for a link to here
cc @jeqo @mrajah-twttr


Fix AURA-TES cmorizer

Closes #1176.
Tested successfully with recipe_check_obs.yml.

Any suggestion on the failing tests? @bouweandela

The failing tests are because of this: https://github.com/pytest-dev/pytest/issues/7559

Now the conda_build complains

Let's try also avoiding that pytest version in the conda build.

Now the conda build is failing because it ran out of memory on the CircleCI machine, it completed successfully when I run it locally.

Great, thanks!


No training？help

Hello, why hasn't my loss changed from the beginning to the end of training? Do you know what the reason is? Thank you very much!

me too,my result not changed!!


Remove version: bornova.numara version 3.7.2

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/bornova/numara-calculator/releases/download/v3.7.2/Numara-3.7.2.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 910)


[FLINK-2209] Document linking with jars not in the binary dist

Thanks for the comments, I have addressed them. If no other objections I would like to merge this in the evening.

I am a bit confused here. With the quickstart maven projects, fat jar building works without configuring, as it defines proper assembly and share configurations for fat jars.
This description reads as if one needs to always use the maven unpack plugin when using any dependency not in lib.

I do not think that we can expect that every user starts from the quickstart poms, but it is true that a reference to that would have been nicer.
I have to admit that I had the old version of quickstart poms in mind when writing this commit. That  excluded anything in the org.apache.flink namespace and was obviously not a good solution. Thanks for pointing this out, we should modify this guide then.

Can you take care of this @mbalassi ?


Allow non-string values for JSON strings fed to Query()

This change allows non-string values (number, bool, null) to be used by the Query() method when it is fed a JSON-format string.
For example, this is now possible:
Query(`{ "query": "bicycle", "size": "50x50", "weight": "20kg", "count":2, "working": false }`)
count and working are using non-string values, which was not possible previously as queryString() was trying to json.Unmarshal() to a map[string]string instead of a map[string]interface{}.

The second commit corrects the Query() examples to use proper JSON notation for the keys and values (use of double quotes for keys and double quotes for values when strings). It also shows examples using number and Boolean values as this is now possible with the previous commit. Lastly, examples are added to show usage with a map and a struct.


readFile get wrong formula (columns offset)

Hi,
I have a strange behavior when reading an excel file.
When I open the file and save it with my version of Excel, the file is properly read with xlsx.
However, when I do not touch it and read it with xlsx, some formulas are offseted.
Here is an example: I read my excel file and focus on cell O124.
Before opening it and saving it (without doing any modification), here is what I get in cell O124:
{ t: 'n',   v: 18202.970297029704,   f: 'O124*(1+P144)*(1+P$146)',   w: '18,203',
Of course, there is here a circular reference (on O124). The P144 and P146 are also shifted.
However, when I open it and save it with Excel (I am using Excel 2019), I can see the formula is N124 and not O124 (so no circular reference).
Here is he result:
{ t: 'n',   v: 18202.970297029704,   f: 'N124*(1+O144)*(1+O$146)',   w: '18,203',
I have correctly the N124, O144 and O146.
I really do not understand why there is a shift when I do not "resave" my file first.
Would you have any ideas?
Thanks a lot for your help!

Can you share the original file?  If you don't want to share publicly, feel free to send by email to<EMAIL_ADDRESS>

Hi, Unfortunately that is for my work so I cannot share the file event privately. How could I work on it to give you the maximum information?

XLSX files are ultimately ZIP files, so rename the file with a .zip extension, extract it, and share the xl/worksheets/sheet##.xml files.  If you take a look at the files directly, the numbers and formulae will be there but the text should not (those are generally stored in a sharedStrings.xml file and the worksheets merely reference the shared string table).  If you're concerned about leaking numbers as well, just do a string replace str.replace(/<(?:\w*:)?v[^>]*>([\s\S]*?)<\/(?:\w+:)?v>/g, "")

Hi, I have sent you the xml via email.

Thanks a lot for your help. It works correctly with version 0.14.4 indeed.
For other people who read this, it is linked to shared formulae. It is solved using version 0.14.4 of the package.


Please add WebODF

http://webodf.org/
http://webodf.org/demo/
http://www.vandenoever.info/blog/2015/05/30/typing-together-alone.html
Collaborative editing, rich interface, collaborative editing.

thanks


RKE2 cluster provisioning fails with vSphere cloud provider

Rancher Server Setup

Rancher version: 2.6.4
Custom Cluster (3 control plane/etcd nodes, 1 worker node)

Describe the bug
Cluster provisioning never succeeds and all nodes stuck indefinitely in status "Waiting for ProviderID to be set".
To Reproduce

Create an RKE2 custom cluster consisting of 3 nodes with role of etcd + control-plane and 1 node with role of worker.

Cluster Configuration:

Kubernetes version v1.21.10+rke2r2
vSphere selected in the cloud provider dropdown box
vSphere CPI and CSI configuration provided in the Add-On Config section

Execute the cluster registration command on all 4 cluster nodes.

Result
Cluster provisioning never succeeds and all nodes stuck indefinitely in status "Waiting for ProviderID to be set".
Screenshots

Root Cause
The RKE2 vSphere CPI/CSI helm chart configures incorrect tolerations on the CPI controller manager pod causing the pod to never be scheduled and as a result, nodes are never fully initialized (remain tainted with node.cloudprovider.kubernetes.io/uninitialized:true).

Below steps and solution worked for us.
For rke2 clusters.
1. Run the `kubectl drain <Node Name> --ignore-daemonsets`
2. Run the `kubectl delete node <Node Name>`
3. SSH to node which deleted above and switch to root by using `sudo -i`
4. Run `rke2-killall.sh` command
5. Login to each master and update `/etc/rancher/rke2/config.yaml` file with below details

  # vSphere Integration
  disable-cloud-controller: true
  cloud-provider-name: rancher-vsphere
  kubelet-arg:
  - "provider-id=vsphere://XXX" # /usr/sbin/dmidecode -s system-serial-number | tr -d "-" | tr -d " " | awk '{print substr($0,7,8)"-"substr($0,15,4)"-"substr($0,19,4)"-"substr($0,23,4)"-"substr($0,27,12);}'

6. Remove ETCD DB Directory: `rm -rf /var/lib/rancher/rke2/server/db`
7. reboot machine (Optional)
8. Ensure it come back online and joined cluster automatically.

As you see the provider ID setting manually, as RKE2 and K3S are actually setting the provider ID as RKE2://. But this is not CPI handles. By following sig documentation https://cloud-provider-vsphere.sigs.k8s.io/tutorials/deploying-cpi-with-k3s.html we have set the provider ID.
For worker nodes. You can follow same steps execept set the only kublet arg  in step 5 and skip step 6.
Also ensure, you have disk UUID enabled for VMs where RKE2 is running for vsphere CSI. If CSI also need to be enabled later on.

Thanks @sureshgoli25 Your workaround seems to address a different issue. The issue at hand is about incorrect taints being set on the CPM pod, preventing it from being scheduled on a node. The workaround for this issue is SSHing to one of the master nodes and fixing the taints on the rancher-vsphere-cloud-controller pod using kubectl.

This issue has some more information that is related.

https://github.com/rancher/rancher/issues/35474

RKE2 v1.21.10+rke2r2 is using the same version as v1.21.11:

https://github.com/rancher/rke2/blob/379f39e048145c3c1b087493d223870c78002ec4/Dockerfile#L114-L115

This version is missing this commit which is producing this issue. This has been fixed in v1.21.12 and doesn't impact v1.22.8 and newer.

Backport PR that brings it up the newest version of the charts: https://github.com/rancher/rke2/pull/2760

This has been fixed in RKE2, QA'd, and backported; see https://github.com/rancher/rancher/issues/37452 and https://github.com/rancher/rke2/pull/2760.
Closing this for now.


Uncaught ReferenceError: Vue is not defined when running npm run integrated

When running npm run integrated, Vue is not defined. Default project created from the Visual Studio template, after running npm install. It works fine using npm run dev, but obviously that integrate with Neutronium.
Uncaught ReferenceError: Vue is not defined
    at Object.defineProperty.value (external "Vue":1)
    at __webpack_require__ (bootstrap 4465e93fdcf939d84d18:1336)
    at fn (bootstrap 4465e93fdcf939d84d18:743)
    at Object.defineProperty.value (integrated.js:1)
    at __webpack_require__ (bootstrap 4465e93fdcf939d84d18:1336)
    at fn (bootstrap 4465e93fdcf939d84d18:743)
    at Object.<anonymous> (index.js:228)
    at __webpack_require__ (bootstrap 4465e93fdcf939d84d18:1336)
    at bootstrap 4465e93fdcf939d84d18:1385
    at bootstrap 4465e93fdcf939d84d18:1385

When using npm run integrated you can not open the files in the browser (I assume this is what you: you will get this error). Instead you should used the locally served files in Neutroniu C# application. This is automatically done when running the WPF application in -dev mode,


Stage mitxonline courses_* tables

User Story
Stage data from mtixonline courses_* tables, so the data is clean and we can combine them into a denormalized place
omit user-related tables for now

[x] #381
[x] #386
[x] #382
[x] #383
[x] #384
[x] #385
[ ] Stage mitxonline courses_programrun

Acceptance Criteria

[ ]  list all courses_* tables we need to staging
[ ]  what are the raw fields
[ ]  write up a plan for each field, including modifications to the field name, data types, data to omit, etc.
[ ]  open a PR that implements the plan

This is all the courses_* tables on mitxonline
Omitting any user-related tables, there are 7 tables we need to stage
I will work on these one by one

Ah, I realized that we have already staged courses_course, courses_courserun, and courserunenrollment

You should review and make updates to those tables where necessary. I did that a while back before we had staging guidelines.
Can you write out the list of tables? I count 5.

Now that we have some certificates generated, courses_courseruncertificate would be useful. I assume this is an easy way to get certificate information, which will be useful on a number of fronts.

courses_courseruncertificate is tied to user enrollment and grade, if we want to bring in the user's course certificates, we might need to bring in enrollment and grade as well, I just worked on migrating the user's DEDP course certificate from MicroMaster, the certificate information is mostly in wagtail CMS

Ah - good point! You could definitely wait until we are working on enrollments.

@rachellougee Is this done? We can close it if so.


Cargo can't compile v0.0.7

First time trying to use the library and got the following:
After adding screenshot = "0.0.7" to the Cargo.toml file,
I tried running cargo build and this error shows up:
Compiling screenshot v0.0.7
error[E0554]: `#![feature]` may not be used on the stable release channel
  --> [...]\github.com-1ecc6299db9ec823\screenshot-0.0.7\src\lib.rs:15:1
   |
15 | #![feature(core_intrinsics, convert)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0554`.
error: could not compile `screenshot` due to previous error

This is the rustc explanation for the error:
Feature attributes are only allowed on the nightly release channel. Stable or
beta compilers will not comply.

Erroneous code example:
#![feature(lang_items)] // error: `#![feature]` may not be used on the
                        //        stable release channel

If you need the feature, make sure to use a nightly release of the compiler
(but be warned that the feature may be removed or altered in the future).

I have same trouble.

same!

it says it in the error, use a nightly compiler:
rustup default nightly

also remove the convert feature from the crate attributes


Htsget BAM to implementation for file interface

I created a file interface for htsget incase you're using a file system instead of google cloud
I didn't change the previous code and I didn't add documentation for it (pretty self explanatory)
If this pull request gets accepted, I'll add modifications to the README
I'm looking into the cram implementation in the coming future

CLA signed

i'm the only one who wrote code

@gkelly @deflaux @google-admin
Hello guys. Can you help me with this? I signed the CLA and im the only one who made the commits

@aaliomer
Thanks for reaching out.  I took a look and, after discussing it with our product manager (@sheffi), this doesn't look like it really aligns with our product roadmap.
This server is intended as an implementation of HTSGET on top of Google's Cloud technologies.  A local file-based implementation isn't something that we are looking to add to this product at this time.
If you need this functionality for a project of your own and would like to use our server as a foundation, I suggest keeping your changes in a fork that can be used by other people with similar problems.
Thanks,
Aaron

thank you @kemp-google
I'm looking forward to contribute more to your projects
do you have issues for all your planned features?


Clarifying use of flag

Closes #15790
Signed-off-by: Mary Anthony<EMAIL_ADDRESS>

Couple of nits, LGTM otherwise.
(Reading this; If --disable-content-trust=false becomes a frequently used feature, I think we should add a dedicated --enable-content-trust flag)

Done.  @cpswan @endophage

I'd make the one small simplification, otherwise LGTM.

ping @thaJeztah for the merge

LGTM, thanks!


nixos/systemd-repart: respect NIX_BUILD_CORES for image compression

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@GrahamcOfBorg test repart

@GrahamcOfBorg test appliance-repart-image repart-image

Not quite, NIX_BUILD_CORES is set to the value of cores from nix.conf, which by default would have the same behavior as passing --threads=0 to the compression tools. However failing to use NIX_BUILD_CORES when the nix settings specifies some other value means that the machine will dedicate all cores to perform the compression, even though the user requested otherwise.


fix(api/zones): Support single option

Add single option and option type checks to zones api
This PR addresses the issue where the zones api would not have the same single option support nor do the same options type checks as the functions that use addTarget
Changes Made

Moved typeError function to the top of the file
Moved the addTarget options type checks into its own checkOptions function at the top of the file
Use checkOptions in addPolyZone, addBoxZone, addSphereZone, addTarget

Testing

Tested addBoxZone and addModel with:

Wrong type, empty table, single option, array of options

Not a fix though.
I only added options support because I got sick of people renaming qtarget/qbtarget exports and keeping the format the same. Zones never had that.

I wasnt sure if it was a fix or a new feature. went with fix because I thought maybe it got overlooked. For consistency I think it should be supported, but if not then maybe something in the docs mentioning different functionality between zones and entities

I don't even think docs mention the hashmap being valid for options arg. Considering the number of numbskulls constantly complaining about such a dumb and well documented thing I don't mind merging but it's really more of a feature.


Update to eslint 2

We'll need to update to eslint 2.
I don't think there's any rush as we need to make sure most plugins will be compatible first. But the changes seems fairly easy, so I'd say it'll be ready in a week or two.

https://github.com/sindresorhus/eslint-config-xo-space is ready ;)

:+1:


Anti-cheat

What type of anti-cheat does Genshin have and does moderators exist there?
Why I'm asking, 'cause I'm more and more sure, that there is only anti-cheat, which gives bans..

kys


Mail leak through cached ajax requests

Rainloop leaks private email content through the browser cache. When you open a message in Rainloop, the message and its meta data is queried through an Ajax command (/?/Ajax/&q[]=/...). The result is cached by the browser, even with "Browser-level cache" disabled in the config. Disabling Browser-level cache only prevents Rainloop from setting cache-control: private, but it doesn't explicitely set a cache-control: no-cache and/or no-store header.
To reproduce:
Read a few email messages in Rainloop. Logout. End the browser and start it again. Open chrome://cache/. Do you see those /?/Ajax/&q[]=/ cache entries? Each entry contains a message along with its meta-data and full body text.
Not only that - you can actually now see and open any of those cached URLs, and reload them from Rainloop, without having to login. Only requirement is that you have the rltocken connection token cookie, which has a lifetime of 30 days and which is not removed upon logout or even when the browser/session is closed.
Tested with Chrome 58 and Rainloop <IP_ADDRESS>.

Related to #729 - I agree this is serious and needs to be taken care of.


Python PIP package shouldn't install junk into /etc/ryu/faucet/

At the moment when you pip install ryu-faucet you get a lot of files in the config directory /etc/ryu/faucet/:

ubuntu@faucet:~/faucet$ ls /etc/ryu/faucet/
faucet_demo_step1.yaml  faucet_demo_step2.yaml  faucet_demo_step3.yaml  faucet_Lagopus.yaml  faucet_ovs.yaml  faucet.yaml  faucet_ZodiacFX.yaml  gauge.yaml

And unfortunately faucet.yaml and gauge.yaml are installed as data files (which means when you pip uninstall ryu-faucet these files will be deleted as well even if they have user changes).
I propose we install a /etc/ryu/faucet/faucet.yaml-dist and /etc/ryu/faucet/gauge.yaml-dist which are fully featured configuration examples which users can copy into the appropriate file names and make their changes so that PIP doesn't step on your toes and delete them.
Another solution may also be to flag them as configuration files that PIP will assume that user changes will be made to these files and it won't delete them. I know you can do that with DEB files but I'm not familiar enough with PIP to know if the same concept exists?

I have the /etc/ryu/faucet/*.yaml files as they also correspond to the
tutorial and demos that we have featured.  It is very useful for folks
getting started with Faucet.
Alternatively, we could build the *-dist.yaml file with all the comments
that one could use.
In regards to your question on flagging them as config files, I will check
on the same.
On Tue, Jan 3, 2017 at 5:20 PM, Brad Cowie<EMAIL_ADDRESS>wrote:

At the moment when you pip install ryu-faucet you get a lot of files in
the config directory /etc/ryu/faucet/:
ubuntu@faucet:~/faucet$ ls /etc/ryu/faucet/
faucet_demo_step1.yaml faucet_demo_step2.yaml faucet_demo_step3.yaml
faucet_Lagopus.yaml faucet_ovs.yaml faucet.yaml faucet_ZodiacFX.yaml
gauge.yaml
And unfortunately faucet.yaml and gauge.yaml are installed as data files
(which means when you pip uninstall ryu-faucet these files will be deleted
as well even if they have user changes).
I propose we install a /etc/ryu/faucet/faucet.yaml-dist and
/etc/ryu/faucet/gauge.yaml-dist which are fully featured configuration
examples which users can copy into the appropriate file names and make
their changes so that PIP doesn't step on your toes and delete them.
Another solution may also be to flag them as configuration files that PIP
will assume that user changes will be made to these files and it won't
delete them. I know you can do that with DEB files but I'm not familiar
enough with PIP to know if the same concept exists?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/issues/337, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABmf86s7p-vxccc5hT8bIQwo-36lEKcHks5rOvPegaJpZM4LaM9S
.

I understand why the separate files exist, I don't fully understand why they need to all be installed.
Currently there is no way to delete those files (they will be reinstalled when you PIP install --upgrade ryu_faucet).
Some people like their configuration directories to be clean and tidy :)

So how other projects handle this typically:

We could have an /etc/ryu/faucet/examples/ directory where these files are housed
We could install a /usr/share/doc/ryu/faucet/examples/ (or similar) directory where these files are housed

I like the examples directory idea.  If you are going to git move the
files, I will sync the repo and update the pip packaging for the same
accordingly.
On Tue, Jan 3, 2017 at 5:47 PM, Brad Cowie<EMAIL_ADDRESS>wrote:

So how other projects handle this typically:

We could have an /etc/ryu/faucet/examples/ directory where these
files are housed
We could install a /usr/share/doc/ryu/faucet/examples/ (or similar)
directory where these files are housed

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/issues/337#issuecomment-270275741, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABmf88yY3Lzb93A3nFNjmvMvkdwMMNhHks5rOvoWgaJpZM4LaM9S
.

Can we do a YAML scheme for faucet.yaml and this will enable us/users to
generate the yaml files lot more easily?  Maybe this can eliminate the
example files so that we can just change the schema and generate files.
On Tue, Jan 3, 2017 at 5:50 PM, Shivaram Mysore<EMAIL_ADDRESS>wrote:

I like the examples directory idea.  If you are going to git move the
files, I will sync the repo and update the pip packaging for the same
accordingly.
On Tue, Jan 3, 2017 at 5:47 PM, Brad Cowie<EMAIL_ADDRESS>wrote:

So how other projects handle this typically:

We could have an /etc/ryu/faucet/examples/ directory where these
files are housed
We could install a /usr/share/doc/ryu/faucet/examples/ (or similar)
directory where these files are housed

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/issues/337#issuecomment-270275741, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABmf88yY3Lzb93A3nFNjmvMvkdwMMNhHks5rOvoWgaJpZM4LaM9S
.

@shivarammysore check out PR#338 for review


IUserAction does not support PATCH and incremental validation.

Incremental validation
IUserAction can return new versions of data models so that the backend can modify data when executing the action. To make that work with incremental validation, we need to know both the previous and the new state of the data model. It is inefficient to fetch the data both in the action and then again in the controller to be able to see the previous data for validation. Consider adding a new interface IDataUserAction that first fetches the model, just as we use for ProcessDataWrite
Multiple instances of the same data type
As the return dictionary of IUserAction is indexed on dataTypeId, instead of dataElementId, it only supports 1 instance of each data type.
In scope
No response
Out of scope
No response
Additional Information
No response
Analysis
No response
Conclusion
No response

As the changes made to the datamodel in IUserAction is entirely handled by the developer also writing the validation logic could the incremental validation be something that is opt-in? We could either extend the response with a list of elementIds that should be validated where we force the developer to provide the original version of the data?

I'm not sure. Actions are likely a to be executed way less than PATCH, so I would not expect the double fetch to make a difference in app performance.
My first thought was that the interface needs adjusting, but now that I have written the compatibility code, I suspect the simple interface is kind of enough compensation.
A new/changed interface would in my opinion need a way to register the models it needs, and get them as parameters, not fetch them manually.

fixed by https://github.com/Altinn/app-lib-dotnet/pull/441


Add DigitalOcean account owner & project details across all tables

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Go SDK reference - https://github.com/digitalocean/godo/issues/455

https://github.com/digitalocean/godo/issues/471


crashy doesn't build - gives version solving error re: dart SDK

Crashy's readme.md links to file the bug here.
Gives error
The current Dart SDK version is 2.1.0-dev.9.4.flutter-f9ebf21297.

Because crashy depends on test >=0.12.0-beta.3 <1.3.0 which requires SDK version >=1.8.0 <2.0.0-∞, version solving failed.

Hi @neiljaywarner
Given the mentioned issue is closed
if you're still experiencing this problem, please create a new issue and provide the information required in the template.
Thank you


climatemate: Pangeo image using JupyterLab 3

See https://2i2c.freshdesk.com/a/tickets/833
Hold off merging until confirmation with community as currently running courses

@yuvipanda can you shepherd this through based upon the support convo with the community

@pnasrat yep, i will!


need to hide elements after every scroll

Issue : #13
Fix:
hiding element after scroll so any updated element which are in elements list will be hide before taking screenshot

Good work


Ingress: rules are ignored if defaultBackend is specified

Is there an existing issue for this?

[X] I have searched the existing issues

Version
equal or higher than v1.15.7 and lower than v1.16.0
What happened?
We have an ingress with the following .spec:
spec:
  defaultBackend:
    service:
      name: dashboard
      port:
        number: 80
  ingressClassName: cilium
  rules:
  - host: website.url
    http:
      paths:
      - backend:
          service:
            name: api
            port:
              number: 80
        path: /api
        pathType: Prefix
      - backend:
          service:
            name: dashboard
            port:
              number: 80
        path: /
        pathType: Prefix

This doesn't work as expected, calls to website.url/api are sent to the dashboard service.
However, if we remove the defaultBackend, it starts working as expected.
We've previously used ingress-nginx as our ingress controller and this worked fine.
How can we reproduce the issue?
Install Cilium, enable the built-in ingress controller, create an ingress resource that has both a defaultBackend and rules. Try accessing a backend that is covered by a rule that is not identical to the defaultBackend.
Cilium Version
cilium-cli: v0.16.15 compiled with go1.22.6 on darwin/arm64
cilium image (default): v1.16.0
cilium image (stable): v1.16.1
cilium image (running): 1.15.8

Kernel Version
Linux sck-staging-scc-zhw-pool-ubuntu-jammy-0-5b88498ff6-8dx2b 5.15.0-119-generic #129-Ubuntu SMP Fri Aug 2 19:25:20 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Kubernetes Version
Client Version: v1.31.0
Kustomize Version: v5.4.2
Server Version: v1.30.4

Regression
No response
Sysdump
https://drive.switch.ch/index.php/s/84X8FAJ4nFrBS3t/download
Relevant log output
No response
Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

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

Thanks for your issue, this could be a bug in Cilium implementation.

Hi @sayboras, thanks for having a look at this issue quickly. I'm new to how issues are handled in Cilium, does this mean someone is going to work on a fix shortly or could it take a while? Just wondering whether we should wait for like the next Cilium patch release, or rather go back to ingress-nginx for now and just be patient.

:wave:
Normally, it depends on how severe the issue is, and how much bandwidth/cycles we have, a lot of times, contributors are helping with the patches as well. :1st_place_medal: :+1: (Shout out to all the contributors).
I did a initial triage for this issue, but didn't have time to dig further to find out the related code paths. Will share my update here later (unless someone else is getting to it first).

Just curious if you have tried with the latest release v1.16.1.
I am trying with main branch, but it seems working as expected
// Backend from http rules
$ curl --resolve "bookinfo.com:80:$lb" http://bookinfo.com/
<!DOCTYPE html>
<html>
  <head>
    <title>Simple Bookstore App</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="static/bootstrap/css/bootstrap.min.css">
...
$ curl --resolve "bookinfo.com:80:$lb" http://bookinfo.com/details/1
{"id":1,"author":"William Shakespeare","year":1595,"type":"paperback","pages":200,"publisher":"PublisherA","language":"English","ISBN-10":"1234567890","ISBN-13":"123-1234567890"}%
...

// Default backend
$ curl http://$lb/
<!DOCTYPE html>
<html>
  <head>
    <title>Simple Bookstore App</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="static/bootst
...

Ingress manifest
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-ingress
  namespace: default
spec:
  ingressClassName: cilium
  defaultBackend:
    service:
      name: productpage
      port:
        number: 9080
  rules:
    - host: bookinfo.com
      http:
        paths:
          - backend:
              service:
                name: details
                port:
                  number: 9080
            path: /details
            pathType: Prefix
          - backend:
              service:
                name: productpage
                port:
                  number: 9080
            path: /
            pathType: Prefix

No, I haven't. v1.15.8 is the latest we have anywhere at the moment. But I think I also haven't seen anything in the v1.16.0 or v1.16.1 changelogs that could have addressed this, but I didn't study the changelog in detail.
So if you can't reproduce it, I wonder - well, first of all of course whether I missed something in the changelog, but also - if some settings in Cilium could influence this.
Is this ingress turned into an envoy config somewhere that we could look at or some other way to debug why traffic is routed somewhere and not somewhere else?

Is this ingress turned into an envoy config somewhere that we could look at or some other way to debug why traffic is routed somewhere and not somewhere else?

There is a file called cilium-envoy.json in the sysdump, in which we can confirm the routing logic. I did take a look into attached sysdump, the only potential issue I got is two backends (dashboard and oauth), but it might be something else as you might probably simplify the configurations and names in issue description.

I simplified the naming slightly for this bug report, yea. Instead of api it should be kubermatic-api and instead of dashboard it should be kubermatic-dashboard. This is the kubermatic ingress in the kubermatic namespace.
oauth is the namespace of another ingress resource. There are 6 ingresses (all with ingressClass=cilium) in this cluster. 4 have no defaultBackend defined at all, one has a defaultBackend but just a single rule that points at the same backend as the default backend, and finally the one discusses in my report here: it has a defaultBackend, one rule that points at the same backend plus one rule that points at another backend.

the only potential issue I got is two backends (dashboard and oauth)

So if you meant "default backends", that's true. But all backends combined would total to 7.
I couldn't find cilium-envoy.json in the sysdump, but I found ciliumenvoyconfigs-20240823-174451.yaml. I'm not familiar with Envoy, but I do see 7 backends. And ... oh no ... I just noticed I took the sysdump after finishing my testing, but apparently before reverting my temporary changes, so I think they defaultBackend this report is about is missing, and there's some strange domain/hostname used in the ingress 🤦♂ Sorry about that, I'll upload a new sysdump momentarily.

New sysdump: https://drive.switch.ch/index.php/s/veVExBHdHLRgINE

Maybe more of a side note as I don't think this explains my problem but it's a first major difference I found between how ingress-nginx and Cilium handle the defaultBackend defined in an ingress resource.

Cilium will treat every defaultBackend of every ingress it controls as 1) equal, 2) global (i.e. the host is *)
ingress-nginx will treat the defaultBackend of an ingress as the default of the / path for every host that is defined in any rule in the same ingress (i.e. specific domains, not *). If a defaultBackend is specified but no rules are defined in the same ingress, it will behave the same as Cilium, I think.

That's a major difference. I would intuitively expect ingress-nginx' approach, but I can't say Cilium is wrong. Furthermore, I don't think Kubernetes defined the correct behavior, so implementation specific behavior is acceptable.
However, I don't think this explain the issue I'm seeing. If I understand Envoy correctly, the * listener will not be used if another listener with a more specific domain matches, so it shouldn't cause the issue I'm seeing. Plus, we have two ingresses with a defaultBackend, so removing one would not have resolved my issue.
But maybe it's a puzzle piece in the solution, so I wanted to bring it up.

Oh thanks a lot for your clarification.

That's a major difference. I would intuitively expect ingress-nginx' approach, but I can't say Cilium is wrong. Furthermore, I don't think Kubernetes defined the correct behavior, so implementation specific behavior is acceptable.

We have the Ingress conformance tests running in CI, as the tests are passing, I assume that Cilium implementation is following the below. It's not clear for the case of multiple default backends in multiple Ingress though :thinking:
https://github.com/kubernetes-sigs/ingress-controller-conformance/blob/d920ed36a0076e169a9a329a850844ab3a695ae8/features/default_backend.feature#L6-L7

Yea, that's kind of what I meant - I think Kubernetes defined it vague enough such that ingress-nginx and Cilium are probably both conformant. But it should be fairly easy to come up with an example where the routing to a request will look very differently.
I don't think this is supposed to be implementation specific, but the definition isn't specific enough to avoid it.
Anyway, as I said, I don't think this can explain the behavior I'm seeing.

Alright, so back to my issue and bug report. In the new sysdump, we can find the kubermatic ingress in the file ciliumingresses-20240829-135539.yaml, here's its spec:
  spec:
    defaultBackend:
      service:
        name: kubermatic-dashboard
        port:
          number: 80
    ingressClassName: cilium
    rules:
    - host: sck-staging.cloud.switch.ch
      http:
        paths:
        - backend:
            service:
              name: kubermatic-api
              port:
                number: 80
          path: /api
          pathType: Prefix
        - backend:
            service:
              name: kubermatic-dashboard
              port:
                number: 80
          path: /
          pathType: Prefix
    tls:
    - hosts:
      - sck-staging.cloud.switch.ch
      secretName: kubermatic-tls

So for the host sck-staging.cloud.switch.ch, there's a rule each for the paths / and /api.
Now looking at the file ciliumenvoyconfigs-20240829-135539.yaml, we can find the backends for these rules:
    - name: kubermatic-api
      namespace: kubermatic
      number:
      - "80"
    - name: kubermatic-dashboard
      namespace: kubermatic
      number:
      - "80"

We can also find cluster definitions - honestly:
    - '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster
      connectTimeout: 5s
      edsClusterConfig:
        serviceName: kubermatic/kubermatic-api:80
      name: kubermatic:kubermatic-api:80
      outlierDetection:
        splitExternalLocalOriginErrors: true
      type: EDS
      typedExtensionProtocolOptions:
        envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
          '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
          commonHttpProtocolOptions:
            idleTimeout: 60s
          useDownstreamProtocolConfig:
            http2ProtocolOptions: {}
    - '@type': type.googleapis.com/envoy.config.cluster.v3.Cluster
      connectTimeout: 5s
      edsClusterConfig:
        serviceName: kubermatic/kubermatic-dashboard:80
      name: kubermatic:kubermatic-dashboard:80
      outlierDetection:
        splitExternalLocalOriginErrors: true
      type: EDS
      typedExtensionProtocolOptions:
        envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
          '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
          commonHttpProtocolOptions:
            idleTimeout: 60s
          useDownstreamProtocolConfig:
            http2ProtocolOptions: {}

But looking at the RouteConfigurations, we have this one:
      - domains:
        - sck-staging.cloud.switch.ch
        - sck-staging.cloud.switch.ch:*
        name: sck-staging.cloud.switch.ch
        routes:
        - match:
            prefix: /
          route:
            cluster: kubermatic:kubermatic-dashboard:80
            maxStreamDuration:
              maxStreamDuration: 0s

... but there is none for the /api path? This sounds like our bug!
And indeed, when I removed the defaultBackend from the kubermatic ingress, this RouteConfiguration changes to the following:
    - domains:
      - sck-staging.cloud.switch.ch
      - sck-staging.cloud.switch.ch:*
      name: sck-staging.cloud.switch.ch
      routes:
      - match:
          pathSeparatedPrefix: /api
        route:
          cluster: kubermatic:kubermatic-api:80
          maxStreamDuration:
            maxStreamDuration: 0s
      - match:
          prefix: /
        route:
          cluster: kubermatic:kubermatic-dashboard:80
          maxStreamDuration:
            maxStreamDuration: 0s

... no wonder it works as expected now :)

@sayboras any thoughts on my latest findings?

Sorry for late reply.
Yes, it's sadly the bug from Cilium implementation. Thanks a lot for your investigation and repo step. I am traveling soon this week, so will fix this once I am back.

It's been a while 😬


Support for m3u URLs

Please add support for m3u URLs

and xspf and pls to be complete ;-)
Nice project.

Hmm, I will look into that.

mp3: http://www.rockantenne.de/webradio/rockantenne.m3u
aac: http://www.rockantenne.de/webradio/rockantenne.aac.pls

m3u playlists are now supported.


Value of type 'NSObject' has no member 'data' -- custom objects

https://github.com/firebase/snippets-ios/blob/6057cc7a6007759d9cff92803b3ab1ec5ed34caf/firestore/swift/firestore-smoketest/ViewController.swift#L755-L773
System information (OS, Device, etc): macOS 10.15.3, Xcode 11.3.1
What steps will reproduce the problem:

Use the snippet in a Firestore project

What is the expected result?
The snippet will cast the Firestore document to the given type
What happens instead of that?
Error: "Value of type 'NSObject' has no member 'data'
Code, logs, or screenshot that illustrate the problem:

Apologies, this is not actually an issue. Found the solution here: https://stackoverflow.com/questions/59548819/firebase-cloud-firestore-how-to-convert-document-to-a-custom-object-in-swift


xADOrganizationalUnit: Test-TargetResource threw one or more non-terminating errors when creating OU

Details of the scenario you tried and the problem that is occurring
When trying to create a new AD Organizational Unit (Ensure = Present), the test which should detect that the desired OU doesn't exist, throws an error.
Verbose logs showing the problem
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' =
SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' =
root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer SRV001 with user sid
S-1-5-21-1956757076-549936234-913568690-4580.
VERBOSE: [SRV001]: LCM:  [ Start  Set      ]
VERBOSE: [SRV001]: LCM:  [ Start  Resource ]  [[xADOrganizationalUnit]tim]
VERBOSE: [SRV001]: LCM:  [ Start  Test     ]  [[xADOrganizationalUnit]tim]
VERBOSE: [SRV001]:                            [[xADOrganizationalUnit]tim] Retrieving OU 'tim'.
Directory object not found
    + CategoryInfo          : ObjectNotFound: (:) [], CimException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
   icrosoft.ActiveDirectory.Management.Commands.GetADOrganizationalUnit
    + PSComputerName        : localhost

VERBOSE: [SRV001]:                            [[xADOrganizationalUnit]tim] OU 'tim' does not exist when it should
exist.
VERBOSE: [SRV001]: LCM:  [ End    Test     ]  [[xADOrganizationalUnit]tim]  in 0.0470 seconds.
The PowerShell DSC resource '[xADOrganizationalUnit]tim' with SourceInfo
'C:\Users\tim\Documents\test2.ps1::7::9::xADOrganizationalUnit' threw one or more non-terminating errors while
running the Test-TargetResource functionality. These errors are logged to the ETW channel called
Microsoft-Windows-DSC/Operational. Refer to this channel for more details.
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : NonTerminatingErrorFromProvider
    + PSComputerName        : localhost

VERBOSE: [SRV001]: LCM:  [ End    Set      ]
The SendConfigurationApply function did not succeed.
    + CategoryInfo          : NotSpecified: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : MI RESULT 1
    + PSComputerName        : localhost

VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 0.204 seconds

Suggested solution to the issue
Catch this error as this is expected (as the replication doesn't exist yet)
The DSC configuration that is used to reproduce the issue (as detailed as possible)
configuration Example_xADOrganizationalUnit
{
    Import-DscResource -Module xActiveDirectory

    Node localhost
    {
        xADOrganizationalUnit 'tim'
        {
           Ensure = 'Present'
           Name   = 'tim'
           Path = "OU=tim,OU=Sites,DC=contoso,DC=test,DC=priv"
           Description = "tim - Specific Containers for AD objects"
        }
    }
}

Example_xADOrganizationalUnit

Start-DscConfiguration -Path .\Example_xADOrganizationalUnit -Wait -Verbose -Force

The operating system the target node is running
OsName               : Microsoft Windows Server 2016 Datacenter
OsOperatingSystemSKU : DatacenterServerEdition
OsArchitecture       : 64-bit
WindowsBuildLabEx    : 14393.2068.amd64fre.rs1_release.180209-1727
OsLanguage           : en-US
OsMuiLanguages       : {en-US}
Version and build of PowerShell the target node is running
PSVersion                      5.1.14393.2068
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.2068
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
Version of the DSC module that was used ('dev' if using current dev branch)
<IP_ADDRESS> from PSGallery

Hi @powertim I think it's failing because you are trying to create an OU called \Sites\tim\tim and the parent path \Sites\tim does not exist (the target name is not part of the path). I think you need to update your config to:
configuration Example_xADOrganizationalUnit
{
    Import-DscResource -Module xActiveDirectory

    Node localhost
    {
        xADOrganizationalUnit 'tim'
        {
           Ensure = 'Present'
           Name   = 'tim'
           Path = "OU=Sites,DC=gvt,DC=icrctest,DC=priv"
           Description = "tim - Specific Containers for AD objects"
        }
    }
}

This of course assuming that the root Sites OU exists too 😉.

Oh my bad...
I used a wrong example.
So yes, with the correct path it's ok for this step, but now I have a strange System.UnauthorizedAccessException like I have in #297...
New-ADOrganizationalUnit cmdlet working as expected with the same account.

See https://github.com/PowerShell/xActiveDirectory/issues/297#issuecomment-497228043.
Since the initial question was resolved I closing this issue.


Minor typo - add missing word

Fixes #

Add a missing word in Functions.md

No other changes were made.

Thank you!


Closing files after pyarrow.parquet read

When I read in a parquet file using pyarrow.parquet.read_table, the files opened for read don't seem to close.
Is there a way to specifically close these opened files?
I looked at pyarrow.parquet.ParquetDataset as well and there doesn't seem to be a way to force the closure of the files opened for read.
Here's my use case:
I have a custom fsspec filesystem that I've created to interface with an S3 like API.  When calling open the filesystem downloads the remote file locally and returns a custom file handle like  this one.
It looks for exit or close to clean up the local file which doesn't ever happen after reading in with pyarrow.parquet.

The ParquetDataset uses ParquetDatasetPiece to read the file(s), and that in turn uses pq.ParquetFile to open and read the actual Parquet file. And indeed, it seems we open but never close the file there. ParquetDatasetPiece also has an open_file_func which uses the open method from the filesystem, but also here this is used as a plain function (and not in a with context that would also close the file again) and we never explicitly close the file.
For pq.read_table, which version of pyarrow are you using? (or can you try with use_legacy_dataset=False to ensure to check with the newer implementation that doesn't use pq.ParquetFile)
I see the issue when directly using pq.ParquetFile (checking that the file is still opened with lsof), but I don't directly see it with pq.read_table or pq.ParquetDataset using a simple example.
To further discuss this, would you like to open a JIRA? (https://issues.apache.org/jira/projects/ARROW/issues/, which we use for tracking bug reports / feature requests)


Updated WritingAutomatedTests.md Integration Test

Fixed Integration test to support the new method names:
FromGameObject => FromNewComponentOnNewGameObject
FromPrefab => FromComponentInNewPrefab

Thanks!


[BUG] catalyst.ctrl is not working

Issue description
catalyst.ctrl is not working.

Expected behavior: I expect things to just work

Actual behavior: A very lengthy tracer error!

Reproduces how often: 100%

System information:

Name: PennyLane
Version: 0.39.0
Summary: PennyLane is a cross-platform Python library for quantum computing, quantum machine learning, and quantum chemistry. Train a quantum computer the same way as a neural network.
Home-page: https://github.com/PennyLaneAI/pennylane
Author:
Author-email:
License: Apache License 2.0
Location: [/Users/isaac/.virtualenvs/pennylane-catalyst/lib/python3.11/site-packages](https://file+.vscode-resource.vscode-cdn.net/Users/isaac/.virtualenvs/pennylane-catalyst/lib/python3.11/site-packages)
Requires: appdirs, autograd, autoray, cachetools, networkx, numpy, packaging, pennylane-lightning, requests, rustworkx, scipy, toml, typing-extensions
Required-by: PennyLane-Catalyst, PennyLane_Lightning

Platform info:           macOS-15.1-arm64-arm-64bit
Python version:          3.11.9
Numpy version:           1.26.4
Scipy version:           1.12.0
Installed devices:
- default.clifford (PennyLane-0.40.0.dev9)
- default.gaussian (PennyLane-0.40.0.dev9)
- default.mixed (PennyLane-0.40.0.dev9)
- default.qubit (PennyLane-0.40.0.dev9)
- default.qutrit (PennyLane-0.40.0.dev9)
- default.qutrit.mixed (PennyLane-0.40.0.dev9)
- default.tensor (PennyLane-0.40.0.dev9)
- null.qubit (PennyLane-0.40.0.dev9)
- reference.qubit (PennyLane-0.40.0.dev9)
- nvidia.custatevec (PennyLane-Catalyst-0.9.0)
- nvidia.cutensornet (PennyLane-Catalyst-0.9.0)
- oqc.cloud (PennyLane-Catalyst-0.9.0)
- softwareq.qpp (PennyLane-Catalyst-0.9.0)
- lightning.qubit (PennyLane_Lightning-0.39.0)

Source code and tracebacks
import catalyst
import pennylane as qml

@catalyst.qjit
@qml.qnode(qml.device("lightning.qubit", wires=2))
def workflow():
    catalyst.ctrl(qml.H, control=0)(1)
    return qml.state()

workflow()

ValueError: The object Traced<AbstractOperator()>with<DynamicJaxprTrace(level=2/1)> of type <class 'jax._src.interpreters.partial_eval.DynamicJaxprTracer'> is not an Operator or callable. This error might occur if you apply ctrl to a list of operations instead of a function or Operator.

There's more than that but it's like 6000 lines.
Additional information
Any additional information, configuration or data that might be necessary
to reproduce the issue.

This seems to be resolved with a fresh virtual environment. @erick-xanadu is also unable to replicate this 🤔

This seems to not work when I’ve enabled capture (qml.capture.enable) at some point in my notebook session, but I don’t explicitly turn it back off (just uncommented the line) 🤔

@isaacdevlugt Can I close this then?

@dime10 yep!


Module Colors

Hi,
Thanks for your fix for the last bug!
I think I found another one in version 1.0.0
When I run findModules, I get the error that "Gray" isn't in colorSeq.
I think you can fix this by just removing line 1822 in wgcna.py that says:
colorSeq.remove("Gray")
Thanks,
Nate

Hi, it should be fixed by now.
I removed that specific color to avoid confusion between the "grey" module in the original WGCNA and "gray".


[Crash on playing] - Crash on opening Network node GUI. Minecraft 1.20.1

Hello! Catching this error when somebody trying open dialog in Network Node. Singleplayer works fine.
https://gist.github.com/LittleLigr/22a17e3a60942cb82d6fc138865ff70e

Crashing on server here also.


Better support for multiple environments

It needs to be easier to build apps that work on multiple environments.
One idea is a pattern where you can create multiple config objects, and choose one at runtime using an environment variable:
import { createConfig } from "@ponder/core";
import { http } from "viem";
import { erc20ABI } from "./abis/erc20ABI";

const dev = createConfig({
  networks: {
    sepolia: {
      chainId: 11155111,
      transport: http(process.env.PONDER_RPC_URL_1),
    },
  },
  contracts: {
    ERC20: {
      network: "sepolia",
      abi: erc20ABI,
      address: "0x32353A6C91143bfd6C7d363B546e62a9A2489A20",
      startBlock: 13142655,
      endBlock: 13150000,
    },
    ERC20V2: {
      network: "sepolia",
      abi: erc20ABI,
      address: "0x32353A6C91143bfd6C7d363B546e62a9A2489A20",
      startBlock: 13150001,
    },
  },
});

const prod = createConfig({
  networks: {
    mainnet: {
      chainId: 1,
      transport: http(process.env.PONDER_RPC_URL_1),
    },
  },
  contracts: {
    ERC20: {
      network: "mainnet",
      abi: erc20ABI,
      address: "0x32353A6C91143bfd6C7d363B546e62a9A2489A20",
      // ...
    },
  },
});

export default process.env.NODE_ENV === "production" ? prod : dev;

Updates needed to make this happen:

Confirm that the type system still works when the entire config type is a union
Move some validations from and error to a warning, notably the error for registering indexing functions that are not present in any of the contract's ABIs. In the example above, you should be able to have indexing functions written for ERC20V2, but still run on the prod environment.

I think it works. I guess what's important to me in the above is that prod.contracts.ERC20 indexing functions are "the same" in some way as dev.contracts.ERC20. In other words that a single indexing function would automatically address both.
In my particular case, dev, staging and prod are all on different networks. So offering a half baked idea in addition to the above:
const config = createConfig({
  networks: {
    'prod': { ... base mainnet },
    'staging: { ... base sepolia },
    'dev': { ...arb sepolia},
    },
    contracts: {
       ERC20: {... all deployments},
       ERC20v2: { dev: {...}, }, // nothing yet for prod!
    },
   activeNetwork: process.env.NODE_ENV,
 })

activeNetwork: typeof networks | typeof networks[] could make it so that instead of networks specifying multichain indexing it specifies which subsets of networks to use.

I think it works. I guess what's important to me in the above is that prod.contracts.ERC20 indexing functions are "the same" in some way as dev.contracts.ERC20. In other words that a single indexing function would automatically address both.
In my particular case, dev, staging and prod are all on different networks. So offering a half baked idea in addition to the above:
const config = createConfig({
  networks: {
    'prod': { ... base mainnet },
    'staging: { ... base sepolia },
    'dev': { ...arb sepolia},
    },
    contracts: {
       ERC20: {... all deployments},
       ERC20v2: { dev: {...}, }, // nothing yet for prod!
    },
   activeNetwork: process.env.NODE_ENV,
 })

activeNetwork: typeof networks | typeof networks[] could make it so that instead of networks specifying multichain indexing it specifies which subsets of networks to use.

yeap, but this is not the case for all contracts. there could be contracts where address differ from testnet and mainnet or per environment, in such cases we need to have the contracts property per config object

sure makes sense


[FEAT] Adding feature cards with effects

Feature Cards Layout: Each feature card will display a title, description, icon/image, and a CTA (Call to Action) button.
Hover Effects: Implement hover effects like shadow lifting, color changes, or subtle animations to make cards interactive.
Responsive Design: Ensure the feature cards are responsive for desktop and mobile views.
Transitions: Smooth transitions between hover and non-hover states for a seamless experience.

Hey @aditiverma-21, This seems like a duplicate of #2
I have already assigned you issue #2 with level-3 label.

Okay no worries


Problem in upgrading the project

I tried to upgrade the project to use the latest version of the libraries.
However I experiences some issues with spring-boot-starter-parent version 1.5 or above!
Please check here for the full explanation of the issue.
https://stackoverflow.com/questions/62122778/set-databes-dialect-in-spring-boot-starter-web-version-2-3-0-for-hibernate
Any help is appreciated.

I made an odata service with olingo2, jpa and spring-boot based on this GitHub repository.
I've set up the project to use MariaDB database and it works quiet good.
However, the project is a little bit old and I tried to upgrade it!
If you check its pom.xml in GitHub you will see the following details:
...
	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.2.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.7</java.version>
        <cxf.version>3.1.5</cxf.version>
		<olingo.version>2.0.6</olingo.version>
    </properties>
...

In the first step I tried to update the libraries versions like this:
    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.0.RELEASE</version>
	</parent>

	<properties>
		<java.version>1.8</java.version>
		<cxf.version>3.3.6</cxf.version>
		<olingo.version>2.0.11</olingo.version>
	</properties>

As soon as I do this upgrade, I needed to update two imports in the CxfServletRegister.java and Application.java files as following:
/* In file: odata-boilerplate/src/main/java/com/penninkhof/odata/utils/CxfServletRegister.java
*/
// import org.springframework.boot.context.embedded.ServletRegistrationBean; <- old class replace with
import org.springframework.boot.web.servlet.ServletRegistrationBean; // <- new address

and
/* In file: odata-boilerplate/src/main/java/com/penninkhof/odata/Application.java
*/
//import org.springframework.boot.context.web.SpringBootServletInitializer; <-- old class replace with
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; // <- new address

By these simple changes I could run the app again with command mvn spring-boot:run -P jar.
However I understood in the latest version of spring boot which is version 2.3.0.RELEASE it will run a new instance of the server each time a request is arrived.
Until here also everything seems fine. However there is a small issue!
While I have set the dialect value in the odata-boilerplate/src/main/resources/application.properties file like this:
# WEB SERVER
server.port=9090

# MARIADB DATA SOURCE
spring.datasource.url = jdbc:mariadb://localhost:3306/cimply_ask?useUnicode=yes&characterEncoding=UTF-8
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.username = root
spring.datasource.password =
spring.datasource.testWhileIdle = false
spring.datasource.validationQuery = SELECT 1

# JPA / HIBERNATE
spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MariaDBDialect
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.hibernate.auto_quote_keyword=true

it is only set in a thread (or task) that is responsible for initiating the database initial values! Here is part of the console output. As it can be seen the logs are belonged to thread task-1 and in the line 6 it has set the correct dialect for the thread.
1- 22:22:29.075 [task-1] INFO  org.hibernate.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
2- 22:22:29.177 [task-1] INFO  org.hibernate.Version - HHH000412: Hibernate ORM core version 5.4.15.Final
3- 22:22:29.459 [task-1] INFO  org.hibernate.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
4- 22:22:29.715 [task-1] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
5- 22:22:29.817 [task-1] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
6- 22:22:29.840 [task-1] INFO  org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MariaDBDialect
7- 22:22:31.067 [task-1] INFO  o.h.e.t.jta.platform.internal.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
8- 22:22:31.317 [task-1] INFO  o.s.orm.jpa.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'

But what would happen when a request is arrived?
For example when I try the following request that I use a filtering on a column of type string:
http://localhost:9090/odata.svc/Members?$format=json&$filter=FirstName eq 'Jack'

I receive an error message in response to my request in postman or browser, like this:
{
    "error": {
        "code": null,
        "message": {
            "lang": "en",
            "value": "org.hibernate.exception.SQLGrammarException: could not extract ResultSet"
        }
    }
}

It actually generates a wrong query on database as it does not set the correct dialect. Here is the console output in my application:
22:56:52.593 [http-nio-9090-exec-1] INFO  org.apache.cxf.endpoint.ServerImpl - Setting the server's publish address to be /
22:57:22.605 [http-nio-9090-exec-1] WARN  org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 1064, SQLState: 42000
22:57:22.606 [http-nio-9090-exec-1] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - You have an error in your SQL syntax; check the manual that corresponds
to your MariaDB server version for the right syntax to use near ''\'' at line 1

What is the problem here? It uses escape '\' instead of escape '\\' in the query as it does not set the correct dialect based on the database type!
What I need to do? I need to know how can I set the correct dialect for the instance that is responsible for responding a request in this app?
Please take these points also in to account:

By upgrading this app to use the latest version of spring-boot-starter it will make a new thread each time a new request is arrived. You can send the same request and you will see the thread name will change as follow: [http-nio-9090-exec-2], [http-nio-9090-exec-3], [http-nio-9090-exec-1], ... sometimes even the old threads are used!

Each time a new request will be arrived the following part of the code is the entry point for processing the request. Maybe this is the place that I must set the dialect for the thread!

/* File: odata-boilerplate/src/main/java/com/penninkhof/odata/utils/JPAServiceFactory.java
*/

import javax.persistence.EntityManagerFactory;

import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
import org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory;
import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;

public class JPAServiceFactory extends ODataJPAServiceFactory {
	public static final String DEFAULT_ENTITY_UNIT_NAME = "Model";
	public static final String ENTITY_MANAGER_FACTORY_ID = "entityManagerFactory";

	@Override
	public ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException {
		ODataJPAContext oDataJPAContext = getODataJPAContext();

		EntityManagerFactory factory = (EntityManagerFactory) SpringContextsUtil.getBean(ENTITY_MANAGER_FACTORY_ID);

		oDataJPAContext.setEntityManagerFactory(factory);
		oDataJPAContext.setPersistenceUnitName(DEFAULT_ENTITY_UNIT_NAME);
		oDataJPAContext.setJPAEdmExtension(new JPAEdmExtension());
		ODataContextUtil.setODataContext(oDataJPAContext.getODataContext());

		return oDataJPAContext;
	}
}

This question is a little bit long but I tried to explained all my investigations and work around. I need to know how can I set a default dialect that all threads in the application use that! As I mentioned earlier I tried to do it in the application.properties file but it seems it will be ignored in the time of request processing!

The latest versions of the libraries that can be used without any changes on the code are:
       <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.13.RELEASE</version>
	</parent>

	<properties>
		<java.version>1.8</java.version>
		<cxf.version>3.3.6</cxf.version>
		<olingo.version>2.0.10</olingo.version>
	</properties>

I found a solution for this issue, However it is not the best solution.
Add the following class to com.penninkhof.odata.utils package:
// File: SqlStatementInspector.java
package com.penninkhof.odata.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.hibernate.resource.jdbc.spi.StatementInspector;

public class SqlStatementInspector implements StatementInspector {

    private static final long serialVersionUID = 1L;
    private static final Logger LOG = LoggerFactory.getLogger(SqlStatementInspector.class);

    @Override
    public String inspect(String sql) {
        if (!sql.contains("escape \'\\'")) {
            return sql;
        }
        // OData JPA query correction -> current version (2.0.11) contains
        // the invalid 'escape "\"' statement that delivers no results
        LOG.info("Replacing invalid statement: escape \"\\\"");
        return sql.replace("escape \'\\'", "escape \'\\\\'");
    }
}

And then inside the application.properties file add this line at the end of the file:
spring.jpa.properties.hibernate.session_factory.statement_inspector = com.penninkhof.odata.utils.SqlStatementInspector

It seems this is a bug in olingo version 2.0.11.
The reasons are as following.
First I could test the dialect of the thread by changing the code in JPAServiceFactory.java file:
import javax.persistence.EntityManagerFactory;

import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
import org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory;
import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
import org.hibernate.SessionFactory;
import org.hibernate.dialect.Dialect;
import org.hibernate.internal.SessionFactoryImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class JPAServiceFactory extends ODataJPAServiceFactory {
	private static final Logger log = LoggerFactory.getLogger(JPAServiceFactory.class);
	public static final String DEFAULT_ENTITY_UNIT_NAME = "Model";
	public static final String ENTITY_MANAGER_FACTORY_ID = "entityManagerFactory";

	@Override
	public ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException {
		ODataJPAContext oDataJPAContext = getODataJPAContext();

		EntityManagerFactory factory = (EntityManagerFactory) SpringContextsUtil.getBean(ENTITY_MANAGER_FACTORY_ID);
		SessionFactoryImpl sessionFactory = (SessionFactoryImpl) factory.unwrap(SessionFactory.class);
		Dialect dialect = sessionFactory.getJdbcServices().getDialect();
		log.info(dialect.toString()); //<-- Here it will print the dialect name
		oDataJPAContext.setEntityManagerFactory(factory);
		oDataJPAContext.setPersistenceUnitName(DEFAULT_ENTITY_UNIT_NAME);
		oDataJPAContext.setJPAEdmExtension(new JPAEdmExtension());

		ODataContextUtil.setODataContext(oDataJPAContext.getODataContext());

		return oDataJPAContext;
	}
}

And as I saw the dialect is set correctly, something like this:
11:13:30.256 [http-nio-9090-exec-1] INFO  me.cimply.ask.odata.utils.JPAServiceFactory - org.hibernate.dialect.MariaDB103Dialect

The second reason is if I send a request that have the both $filter and $expand at the same time, then it will not inject escape '\' in the query anymore.

Therefore at the moment the only solution for solving this issue is to modify the query.

I will close this ticket. If you are looking for the solution check here.


Dev 1

Hello @Tamminhdiep97! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file backbone/model_irse.py:

Line 3:80: E501 line too long (106 > 79 characters)
Line 29:80: E501 line too long (82 > 79 characters)
Line 35:80: E501 line too long (82 > 79 characters)
Line 57:80: E501 line too long (90 > 79 characters)
Line 60:80: E501 line too long (83 > 79 characters)
Line 61:80: E501 line too long (84 > 79 characters)
Line 101:80: E501 line too long (112 > 79 characters)
Line 133:80: E501 line too long (91 > 79 characters)
Line 134:80: E501 line too long (82 > 79 characters)

In the file util.py:

Line 12:80: E501 line too long (85 > 79 characters)
Line 67:80: E501 line too long (85 > 79 characters)