[FIX] ReDOS using RE2 module

Bounty URL: https://www.huntr.dev/bounties/1-npm-useragent
⚙ Description *
The useragent project was vulnerable against ReDOS because of the usage of some regexes which weren't safe and lead to ReDOS.
💻 Technical Description *
Since the maintainer asked not to update regexes themselves because they're taken from a DB, I opted to leave them as they're actually, and instead sanitize them using RE2 module, which avoids ReDOS and it's the perfect clone of the new RegExp constructor :smile:
🐛 Proof of Concept (PoC) *
const useragent = require('useragent');
longUserAgent = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
ua = useragent.parse(longUserAgent);
console.log(ua);

🔥 Proof of Fix (PoF) *
Same of above, but even if regexesaren't modified, the ReDOS attack is made impossible
👍 User Acceptance Testing (UAT)
RE2 is the clone of RegExp (used in the project to parse regexes), so all should work well :smile:

@Mik317 - after further investigation, it looks like this vulnerability has already been fixed on the master branch.
Thank you for your attempt! 🍰

Sorry Mik317, we enjoyed reviewing your fix but it has not been selected this time. If this bounty has not been closed, please feel free to try again with a new pull request!
We appreciate your effort and look forward to reviewing more of your fixes in the future! 🔨😎


Add List diff

Hi @TR4Android
I have thoughts on update this lib.
What do you think about add a RecyclerView support? And custom adapter, so lines will be clickable?
I will add a helper methods to split lines, etc...
What do you think?

@alorma Although I see your point in adding a adapter for RecyclerView, I'm not really sure whether this should be part of this library. I think most developers want different styles for their lists depending on what exactly should be displayed, here's an example:

Gitskarios: your app displays the first five lines of every diff in a CardView and shows the full diff in a WebView when clicking on it
LabCoat for GitLab: the app I'm currently involved with shows the full diff in a CardView which will soon be adopted to the style shown in the screenshot you have and probably also add a header that displays commit title, message, author and time.

It will be difficult to support all those things without the library getting out of hand, as such I would leave the RecylerView support to the developer using the library.
That being said, support for clickable lines should probably be implemented in this library to easily support things as line comments (which I'm guessing is the motivation behind this change). I would advocate for a new OnLineClickListener that can be set on the DiffTextView which is basically a OnClickListener that also extracts the line clicked for easy usage in the callback. However uniquely identifying the line clicked (as in line number) is another thing that needs some thought.

I will keep the textview, of course!
But this library can be upgraded to GitDiffAndroid, instead of GitDiffTextView

mmmm, can the textview be clicked? one line of the diff? how you will know which line is?

@alorma That exactly the issue I hinted at with my last sentence. There's no way we could clearly differentiate the lines.

Back to the RecylerView support: it only really makes sense to add this if it's something everyone can use. If the adapter it just a crude wrapper around DiffTextViews there's not really much sense in adding this as most developers will probably want to customize the look in some way or another (e.g. have a different file name text color, add an additional button, etc.). If however we add support for all the customization options the library quickly grows out of proportion.
Feel free to implement it though, those are just my thoughts on how I see it.

And back to the OnLineClickListener: the only possible indicator would be the line number inside the DiffTextView (although we could possibly extract the line number within the file from the git diff info provided @@ ... @@, that would prove helpful) and then for the OnClickListener (just a skeleton):
OnClickListener mLineClickListener = new OnClickListener() {
    @Override
    public void onClick(View view) {
        // Retrieve the character that was clicked
        int offset = getOffsetForPosition(x, y);
        // Retrieve span at the specified character (DiffLineSpan)
        DiffLineSpan[] span = getText().getSpans(offset, offset, DiffLineSpan.class);
    }
};

I will do some tests tonighte an will decide on that then


allow using Heap.js in a webWorker

replaces #12, but only tested in the browser (worker and non-worker cases)

mm for some reason the patch has failed checks:
child_process: customFds option is deprecated, use stdio instead.
/home/travis/build/qiao/heap.js/node_modules/mocha/bin/_mocha:116
  var abs = path.existsSync(mod)
                 ^
TypeError: undefined is not a function

It's OK, node.js v11 has finally removed the long-deprecated path.existsSync and switched to fs.existsSync and I'm using an outdated mocha for the tests. I'll update it to a newer version later.


Parse stream metadata

Currentlyr:streamContent isn't parsed in the metadata. This means tune-in won't show the artist and title. This field should be parsed if the Title and Artists fields are empty.
Sample content Artist - Title
Found in https://github.com/svrooij/sonos2mqtt/issues/43

:tada: This issue has been resolved in version 1.1.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Mattock breaks bedrock

The 3x3 mattock can break bedrock as long as bedrock is not the block the break is targeting (if it's in the 3x3 aoe area the bedrock is destroyed).
Also works in the nether to make a hole in the ceiling as big as you'd like.

Yes I saw this recently, what version of the mod do you have?  It should be fixed in the latest updates
https://minecraft.curseforge.com/projects/cyclic/files/2423197 for 1.10 and
https://minecraft.curseforge.com/projects/cyclic/files/2423204 or newer for 1.11
Now, if it still happens in the latest version of course i will check again.

Our modpack just updated (ATM1) and now has Cyclic 1.10.2-1.10.24
And yes, looks like this had already just been fixed, Thank you!


SpringDataConfig issue in data plugin

vendorAdapter.setGenerateDdl(true);
seems cause application to hang
should that be:
vendorAdapter.setGenerateDdl(false);

Is is this in one of the tests ? (Which one :)

No, it is not a test. I actually deployed ingester jar to the server and SpringDataConfig seems try to create db sachems. The application hangs after this log:
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean - Building JPA container EntityManagerFactory for persistence unit 'default'

You are right, this is a bug for sure.

Fixed by Ke on master


Extracting Pubmed ID (PMID) for a list of refseq accession number

Hi
I have a list ~500 refseq accession numbers (all bacterial genomes), ~100 of them are completed genomes (CP009681 etc.) while others are assemblies (LALG00000000.1 etc). Most of them are not published and therefore do not have PMID number associate with it. My goal is identify the accession numbers which are published and extract the PMID associated with them. In other words, I want to extract PMID for each accession number if available.
accessions.txt. Accession numbers are in a file, one accession per line. Here is what I have done so far-
cat accessions.txt | epost -db nuccore -format acc | elink -target pubmed | efetch -format xml | xtract -pattern PubmedArticleSet -element PMID
27152133	26048971	25767217	25250641	24970829	24962815	24723721	24051324	23770143
The above output is not in correct format. I need the output in this format-
CP009681    27152133
CP010295    25767217
CP010296    25767217
CP007176    25250641
LALG01000000    26048971
LALH01000000    26048971
LALI01000000    26048971
Any help will be highly appreciated
Tauqeer

This is how I would do it:
for acc in `cat accessions.txt` ; do
    pmid=$(esearch -db nuccore -query $acc | elink -db nuccore -target pubmed | esummary -format uid);
    echo -e "$acc\t$pmid" ;
done
CP009681        27152133
CP009828
CP010295        25767217
CP010296        25767217
CP006630
CP007176        25250641
LALG00000000.1  26048971
LALH00000000.1  26048971

Thank you so much. It works perfectly alright, and saves lot of time.


feat: Update COMo-UI to V22

Ready for PROD deployment. Stack is already running on STAGING

@uliSchuster PROD deployment done!


#20 log write file config

Close #20

Codecov Report

Merging #21 (4e8ec84) into master (021af2b) will decrease coverage by 0.08%.
The diff coverage is 0.00%.

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

@@            Coverage Diff             @@
##           master      #21      +/-   ##
==========================================
- Coverage   49.73%   49.64%   -0.09%
==========================================
  Files          17       17
  Lines         559      560       +1
==========================================
  Hits          278      278
- Misses        255      256       +1
  Partials       26       26

Flag
Coverage Δ

unittests
49.64% <0.00%> (-0.09%)
:arrow_down:

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

Impacted Files
Coverage Δ

log/config.go
0.00% <0.00%> (ø)

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 021af2b...f65d5fe. Read the comment docs.


Autoconnect flag

It'd be nice to be able to disable the auto-connection feature for cases where it'd be handy to control that at the application level.

You can do that today using the info object. I think the method is info.reconnect(false)

How do I get the info object from a swarm instance?

Oh, I think I get it. When I get the peer event, that's where I'd invoke info.reconnect(false) which would prevent the initial connection?

Except that you don't have info in peer event :joy:

@indutny ah you wanna configure peer stuff before a connection happens?

I probably don't. Was just browsing through the issues to see if there is anything useful for my case.

you use the companion object next to the connection in the 'connection' event to manage all this


OPCUA example issue in running mosquitto service

Although maybe not unique to the OPCUA exampe ...
Launched the docker image under Rancher, and getting ...
Checking if OpenRC is available.
Checking if configuration for requested bridge already exists.
Validating the bridge certificates.
Creating the device in Cumulocity cloud.
Saving configuration for requested bridge.
Restarting mosquitto service.
**Error: failed to connect Cumulocity cloud.
Caused by:
Service command <"/sbin/rc-service mosquitto restart"> failed with code: 1.**

@janhumble
It might be useful if you can provide a few more details about how you ran this. The example is showing the docker compose usage, so I'm not 100% sure how it maps to rancher (having never used rancher personally).
In general the normal troubleshooting questions always apply and assist with the debugging process (so we can assist you to get a solution to you faster)

What commands did you run exactly (this allows people to try and reproduce the error)
Provide logs for the failed component. Here it is mosquitto (as hinted by the mosquitto restart failed with code: 1, so having the mosquitto logs would be useful /var/log/mosquitto/mosquitto.log

I followed the exact guide on:
https://github.com/thin-edge/thin-edge.io_examples/tree/main/opcua-solution
The error I get when launching:
sudo tedge connect c8y
Everything before that point completed successfully with Rancher (everything should be analogous to Docker).
So everything according to the docs should be self-contained in the docker build up to that point.  There is no /var/log/mosquitto folder as I suspect this wasn't installed properly.
Is the documentation incomplete or something failing with the docker compose?


Abnormally high "released" memory despite low heap

The heap allocs aren't making any sense

Maybe the spikes aren't recorded by metrics?

possibly related https://github.com/dsoprea/go-exif/issues/83

There's quite a few allocations going into jpeg decoding from blurhashing

This is looking like something the project can't fix, as it's reliant on the OS to actually release the memory. It's supposed to do so under pressure, so will see if that happens.
Closing in the meantime as "unfixable".


Grant expansion support

Adds the ability to annotate a grant denoting that it is expandable. The annotation takes a list of entitlements that need to be expanded for the principal.
Example:
{
	Id:   "2IC0WmAPkihbFdZhEPsch5N5WNO",
	Name: "Engineers",
	Admins: []string{
		"2IC0Wo34fcTerFEgWmyffXmfrW8", // Carol
	},
	Members: []string{
		"2IC0Wn5oRQqVVn3COFl1O1zSzV6",       // Alice
		"group:2VJleiE6zMPoTHbKDjLC1zJkUir", // Expanded Engineers Group
	},
},
{
	Id:   "2VJleiE6zMPoTHbKDjLC1zJkUir",
	Name: "Expanded Engineers",
	Admins: []string{
		"2IC0Wn7DaxV1xqDpdg7jJRiPtCp", // Dan
	},
	Members: []string{
		"2IC0WoNfqUPT7mgO4FOaViIxBrR",       // Bob
	},
},

In the connector we would need to set the GrantExpandable annotation on the member ship entitlement grant between Engineers and Expanded Engineers. On the entitlement grant we would need to specify the entitlementIds we wish to expand from the Expanded Engineers group into the Engineers entitlement. This would look something like below.
annos.Append(&v2.GrantExpandable{
   EntitlementIds: []string{member.Id, admin.Id},
})

We then do the work to expand those entitlements from the principal group into the destination group's entitlement.
TODO:

[ ] Fold cycles into a single node, and don't hard fail the sync.

Noting that we'll need to update baton to have the new proto for json output to function. We should also probably deal with that more gracefully while we fix that. I get this error when trying to output grants in json with baton:
proto: google.protobuf.Any: unable to resolve "type.googleapis.com/c1.connector.v2.GrantExpandable": not found


⚠ Bofrost.de has degraded performance

In ab0766d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1051 ms

Resolved: Bofrost.de performance has improved in 57be4ca after 56 minutes.


Improved CTF (Cobra-TF) Interface

Issue Description
What did you expect to see happen?
Three different input files should have been modified with for each new sample.
All the output data was supposed to be converted into csv files.
What did you see instead?
There is no surface number definition in the parser, also some geometry types are missing. Only the main input can be modified with new samples. Auxiliary  input files (vuq_param.txt and vuq_mult.txt) cannot be changed by RAVEN.
Do you have a suggested fix for the development team?
Yes, pull request corresponding to solve this issue is submitted. (#750 )
Please attach the input file(s) that generate this error.  The simpler the input, the faster we can find the issue.
N/A

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or improvement?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

Reviewed by Congjian Wang @wangc on 8/10/2018.

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)?
[x] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

Issue closure checklist is satisfied.


Lighthouse & Core Web Vitals

:clipboard: Description
What about the Lighthouse Metric Numbers and the Core Web Vitals?
Anyone working on these Badges?

To aid anyone who wants to work on this

What sort of information should this badge show?
Where could this data from?

Is there a public API?
Does the API requires an API key?
Link to the API documentation.

Interesting would be the four numbers for:

Performance
Acessiblity
Best Practices
SEO

And the three Core Web Vitals:

Largest Contentful Paint (LCP)
First Input Delay (FID)
Cumulative Layout Shift (CLS)

There are some Services which provide these values

https://web.dev/measure/
https://developers.google.com/speed/pagespeed/insights/

or Browser Extensions

Lighthouse

or the npm package which all these tools use:

https://github.com/GoogleChrome/lighthouse

In order to generate a badge on-the-fly, we would need to be able to query a service that returns machine readable data quickly (a few seconds absolute max). Both of those services return a human-readable response and take too long to do it (I think fundamentally the reason is the checks they are doing just take a long time to do).
I think the NPM package you're referring to is this one https://github.com/emazzotta/lighthouse-badges which runs the tests then spits out some static images using our library and the reason they've chosen to do it that way is because it just takes too long to do the checks for it to be an ad=hoc service. I think using that lib to generate static images is probably your best option.

Shall we close this given the limitations/challenges discussed above?


Create the project base

Add all the necessary components for the Drools project to even work with the IDE.

Done


Fix Swift SDK RFC 0037 Numbering

The Swift SDK RFC is 0037, not 0000.
Signed-off-by: danintel<EMAIL_ADDRESS>

This is a duplicate of #46

Looks like PR #46 https://github.com/hyperledger/sawtooth-rfcs/pull/46 incorporated the file renaming/correction change, so this is no longer needed.


TextInput onContentSizeChange event on Android does not respond to content size changes

TextInput onContentSizeChange event on Android never fires on content entry for single line text inputs. It fires only on layout for multiline text inputs, and then only return the actual layout width and height of the text input, not the width and height of the text. It seems that it just proxies onLayout on Android, instead of responding to actual text updates.
#19696 was closed as stale, but the exact issue still exists
It seems like it used to "work" correctly when it was under the onChange event, but that got deprecated. See https://github.com/facebook/react-native/commit/bac84ce207a0466cec95626131063751eb48b964
React Native version:
React Native Environment Info:
System:
OS: macOS 10.14.5
CPU: (8) x64 Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
Memory: 191.62 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.9.1 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 23, 25, 26, 27, 28
Build Tools: 23.0.1, 23.0.2, 23.0.3, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 27.0.0, 27.0.2, 27.0.3, 28.0.0, 28.0.2, 28.0.3
System Images: android-25 | Google APIs Intel x86 Atom_64
IDEs:
Android Studio: 3.0 AI-171.4443003
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.9 => 0.59.9
npmGlobalPackages:
react-native-ci-tools: 1.1.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
Steps To Reproduce
See code
import React from 'react';

import { View, TextInput } from 'react-native';

export default class App extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, marginTop: 40 }}>
        <TextInput
          defaultValue="test"
          onLayout={ e=> {
            console.warn("single line layout", e.nativeEvent.layout)
          }}
          style={{ width: 200, lineHeight: 30, backgroundColor: '#CCC' }}
          onContentSizeChange={ e=> {
            console.warn(e.nativeEvent.contentSize)
          }}
        />
        <TextInput
          defaultValue="test"
          onLayout={ e=> {
            console.warn(e.nativeEvent.layout)
          }}
          multiline
          style={{ width: 200, lineHeight: 30, backgroundColor: '#CCC' }}
          onContentSizeChange={ e=> {
            console.warn(e.nativeEvent.contentSize)
          }}
        />
      </View>
    )
  }
}

Describe what you expected to happen:
On iOS as you edit text on single or multiline TextInput you get the actual width of the characters entered. Effectively this functionality is not actually implemented on Android at the moment.
Snack, code example, or link to a repository:
See above

@react-native-bot I have verified that the issue still exists on 0.60


add new compiler options

Fixes #1800
Fixes #3242
Fixes #4625
The new options are:
-pathmap
-publicsign
-keyfile now works on CoreCLR (-keycontainer does not)
Update lists of alphabetic commands, pages by category, and TOC.
Also, fixed a variety of markdown lint warnings. These are mostly whitespace.
Reviews will be easier using the rich diff view.
/cc @jcouv

Tagging @tmat @agocke for review.

Excellent, @BillWagner!


Form dialogs, schema creation: empty and default states could be clearer about what to do next

Describe the bug
When creating a new form schema, it might be helpful to skip empty states and avoid showing validation errors to start, and change default settings to make it a little clearer what the user should do next.

feature/form-dialogs branch, built 11/16

Browser

[ ] Electron distribution
[x] Chrome
[ ] Safari
[ ] Firefox
[x] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Enable form dialogs by going to Settings (gear icon at the bottom of the side nav), then App Settings, then "Preview features", and select "Form dialogs" checkbox. This should add the "Forms" section to the end of the side nav shown by an icon that looks like a table.

Navigate to the Forms section by click on the Form icon (table icon).

Create a new form schema by pressing the + icon under "Schemas" and giving the schema a name in the modal that appears. Close modal. The schema name appears in the list of schemas:

Start defining properties by selecting the schema name:

Click the "Add property" button:

This shows a validation error to start.

After the user enters a name, they select the "property type" down, which is pre-selected to "any string":

Expected behavior
Can we combine steps 3 and 4, so when the user enters the form name in the modal, they land on this view (schema selected, an empty card already open with the name field in focus), but without the validation error:

Can the "property type" not have any default selection? So it would look more like this:

With "any string" selected, I think the options that appear above "any string" in the expanded dropdown get overlooked.
Screenshots

Additional context

@hatpick Can we do #6 -- change the property type default selection from "any string" to nothing, with the helper text saying "Select an option"? In addition to the reason above (that when "any string" is pre-selected it's easy to overlook the items above it in the dropdown menu), the bigger issue is that it encourages users to choose "any string", which is more unstable than "list".

Adding labels "Type: Bug" and "R12", since not being able to find "list" came up in a user study?
(@xiyangdesign fyi)

Adding labels "Type: Bug" and "R12", since not being able to find "list" came up in a user study?
(@xiyangdesign fyi)


"Input string was not in correct format"

RussNelson[CodePlex] I'm using mysql 5.5 and WaterOneFlow Web Services (whatever the current version is). I have a database populated with my Sites, Sources, and Variables (and SeriesCatalog's), but no DataValues yet. When I try to access it using HydroDesktop <IP_ADDRESS>, as
soon as I click on Get Metadata, I see 12 POSTs in my Apache logs, and an error from HydroDesktop saying quotDownload complete. 0 series saved to metadata cache database.
Some errors occurred during the operation:
Could not get site info for 12 sites in service with URL:http://w.ra-tes.org/cuahsi_1_1.php
Input string was not in a correct format.quot
Besides, of course, whatever problem I'm having, there's also the problem of the unhelpful error message.
What was HydroDesktop trying to do? What input string did it see?
What format is correct? Given that it's probably my error, this violates the Prime Directive of bug reporting to answer the three questions: quotWhat did you do, what did you see, what did you expect to see?quot
I don't know if this is a HydroDesktop problem or a WaterOneFlow problem, but could somebody help me diagnose this problem, AND also fix the error message?

sbolster[CodePlex] Added to HydroServer Lite Issue Traker.


LFX proposal: Store Kubescape configuration scan results as CRs

This issue relates to a proposal for a LFX mentorship project for Term 2, 2023.  It has not yet been accepted. Please feel free to comment on this issue about how we might improve the proposal, but commenting here is not the same as applying to LFX.

Description: Kubescape is a utility that can scan a Kubernetes cluster and report on its security posture. There is an "operator" which can be installed in the cluster to perform scheduled scans scan, but this is largely used to send the data to an external service. In this project, you will implement a mechanism in the Kubescape operator to save scan results locally in a custom resource (CR), as well as a watch so that scans can be performed on cluster state changes.
Expected Outcome: Having the ability to scan a cluster when it changes, and have the results saved inside the cluster. This will allow users and automations to judge the security posture of changes that are made to the cluster (for example, deployments or rollouts.)
Recommended Skills: Go
Mentors:

Ben Hirschberg (@slashben, ben AT armosec.io)
Craig Box (@craigbox, craigb AT armosec.io)
David Wertenteil (@dwertent, dwertent AT armosec.io)

Hello @craigbox! I am new to Kubescape. I would like to develop this new functionality as a part of the LFX Mentorship. Could you please give little hint on where should I get started, apart from local dev setup and familiarising myself with the codebase and community.

Those are good steps.  If the proposal is accepted, we will look for applications that show an understanding of both the platform and the codebase, as well as excellent communication skills.

Hey @craigbox  are the applications open for LFX mentorship ?

I believe they open today.  You'll use the LFX platform; I'm not sure when the projects will be loaded.
https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/README.md#program-guidelines is your go-to.

Hey @craigbox,
I'd love to work on this project as a part of LFX mentorship . As a Go developer, I believe this project will be a great opportunity for me to apply my skills and gain hands-on experience in Kubernetes security. Looking forward to working with the Kubescape team and contributing to the project's success.
In the meantime I'll explore the kubescape project and go through the documentation and good first issues!

Hey @craigbox @slashben @dwertent,
I am new to open source and is currently have experience with Docker, Kubernetes, Gitlab CI/CD and AWS. I am also currently learning GoLang. I would love to contribute under LFX mentorship. Can you please help me on how to contribute to this project?? For example, what should I do after cloning the project? How should I test the changes that I make??

Thank you to everyone who is interested in this issue.  Applications must be made to the LFX page (not this issue!) by Tue May 23, 5:00 PM PDT.
Unfortunately, we can't give everyone specifics on how to contribute to the project, provide resources, or answer general questions on "how to code", before the mentees are selected. Getting over that first hurdle of looking at the documentation and finding out how to ask good questions is considered a prerequisite for the project.  A good application will demonstrate an understanding of the space gained from your own research.  A great application will have done that research and updated the "how to contribute to Kubescape" guide with your learnings!

Hey , @craigbox  as the issue is not closed yet , I have the following idea to work on this issue .
Step 1 : To store Kubescape configuration scan results as Custom Resources (CRs), we can create a Kubernetes CRD (Custom Resource defination) that defines the structure of the CRs. Once the CRD is created, we can create individual CRs based on the scan results and store them in the Kubernetes cluster.
Define the CRD: We Should Create a YAML file that defines the structure of the CRD. This file should specify the metadata, schema, and validation rules for the CRs. Let's Say
# kubescape-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata:   name: kubescapes.myname.com spec:   group: myname.com   version: v   names:     kind: Kubescape     plural: kubescapes     singular: kubescape     shortNames:     - ks   scope: Namespaced   validation:     openAPIV3Schema:       type: object       properties:         scanResult:           type: string         severity:           type: string         resource:           type: string
Step 2 :
We should Apply the CRD :
kubectl apply -f kubescape-crd.yaml
Step 3 - Creating CRs: Based on the scan results, creating individual CRs using the defined CRD structure. We can generate CRs programmatically based on the scan results or manually create them using YAML files.
# kubescape-cr.yaml apiVersion: mycompany.com/v1 kind: Kubescape metadata:   name: kubescape-result-1 spec:   scanResult: "Failed"   severity: "High"   resource: "deployment/my-app"
Step - 4 : Creating the CR by applying the YAML file:
kubectl apply -f kubescape-cr.yaml
Once the CRs are created, We can query and manage them using kubectl commands:
**kubectl get kubescapes **
**kubectl get kubescape kubescape-result-1 -o yaml  **

@Abinash-bit Thanks; we're actually working on this internally at ARMO as part of the Kubescape 3.0 project.


Double quotes on source stored procedures view

Description
When I look at the code of a procedure (or generate DDL), the objects appear with double quotes since DBeaver version 24.0.1,
but were not declared with quotes at creation

DBeaver Version
24.0.1
Operating System
Windows 11
Database and driver
SAP Sybase IQ jconnect
Steps to reproduce
1st Create procedure

2nd View procedure created

3rd We can see double quotes on code

Additional context
No response

Hello @Obyzzz
We changed the source of procedures definition. Previously, we used sysobjects system table. And now, we are reading from SYS.SYSPROCEDURE, because it returns procedures DDL more correctly.
So, I do not see any errors here. Many databases use quotes for all objects in the definition.
So, please explain why it is inconvenient for you.

Hello LonwoLonwo,
Sometimes it happens that we have to get the code from the server instead of a repository. If we obtain the code full of double quotes, when we go to recreate it in a "case sensitive" database like Snowflake, it will fail. So if it can be (pleeease), can you include an option to obtain DDL from "source FROM sys.sysprocedure" and another for "proc_defn FROM sys.sysprocedure" please?
I'll have to pin to version 24.0.0 in the meantime.
Thank you very much for your work

We hope it will be fixed in https://github.com/dbeaver/dbeaver/issues/23259
So I close this ticket as a duplicate.


Rename presentation options

In my eyes the presentation option .always is not named very well because it suggests that the view is presented always. However it is only presented on every version update. This is why I suggest renaming. This does make the library more intuitive for new developers.

Oh my bad. I mixed this with the other PR. Will fix and create a new PR.

Looks good, thank you very much @funkenstrahlen!


Confused about the implementation of equation 3 in the paper

equation 3  in paper

the code in this repo

Compared  the implementation of the description of equation 3 to the repo code, I am confused about the code surface_dists_theta = surface_dists - (surface_output - surface_sdf_values) / surface_points_dot, here surface_output is f (c + t 0 v; θ) and is equal to surface_sdf_values which has a detach operation in surface_sdf_values = output[:N, 0:1].detach(),  it seems that f (c + t 0 v; θ) - f (c + t 0 v; θ).detach(),  should the code consistent with the formula be surface_dists_theta = surface_dists - surface_output  / surface_points_dot?

Disclaimer: Sorry for making wrong assumptions. This is my idea on the topic only.
Making a comment on this I think the procedure is used, because you try to train a Neural Level Set which represents a differentiable manifold using a sample network linear layer(to control it) so by detaching the previous values from the computation graph you now focus on the points that were "sampled" and didn't converge(and the difference btween these two). Detach function is mainly used to stop calculating gradients as it detaches the tensor from the neural network(pytorch wont calculate gradients). I think the surface_sdf_values are detached because they are not going to be used any more and the return differentiable surface points are the ones which geometry parameters should be trained. So in this way you train the difference of the sampled points to the previous points inside the sample network.  Also this is done only during training and if there are intersection points N>1. In inference the sdf_ouput(trained) represents the isometric surface - manifold (neural mask is used to take it from points)  implicitly as a neural level set and  when the training finishes it should have trained geometry. I hope this is clear using the surface_output only wont result in any training of the distance of the sample points and the points that already belong to sdf implicit surface. I think of it as a discreet differntial equation and that $t_0$ on the equation is meaningful.
I tend to ramble(wrote that fast too) and may make errors in my logic, but this is my perspective. Corrections are welcome

Disclaimer: Sorry for making wrong assumptions. This is my idea on the topic only.
Making a comment on this I think the procedure is used, because you try to train a Neural Level Set which represents a differentiable manifold using a sample network linear layer(to control it) so by detaching the previous values from the computation graph you now focus on the points that were "sampled" and didn't converge(and the difference btween these two). Detach function is mainly used to stop calculating gradients as it detaches the tensor from the neural network(pytorch wont calculate gradients). I think the surface_sdf_values are detached because they are not going to be used any more and the return differentiable surface points are the ones which geometry parameters should be trained. So in this way you train the difference of the sampled points to the previous points inside the sample network. Also this is done only during training and if there are intersection points N>1. In inference the sdf_ouput(trained) represents the isometric surface - manifold (neural mask is used to take it from points) implicitly as a neural level set and when the training finishes it should have trained geometry. I hope this is clear using the surface_output only wont result in any training of the distance of the sample points and the points that already belong to sdf implicit surface. I think of it as a discreet differntial equation and that t0 on the equation is meaningful.
I tend to ramble(wrote that fast too) and may make errors in my logic, but this is my perspective. Corrections are welcome

surface_dists_theta = surface_dists - surface_output  / surface_points_dot also represents the differentiable manifold,  (surface_output - surface_sdf_values) gives zero value,   surface_output stands close to zero, why did not the authors use  surface_dists_theta = surface_dists - surface_output  / surface_points_dot?

Since I don't think the point I wanted to make above was conveyed, I refer you to read the previous paper οn Controlling neural level sets  and specifically the paragraph 2.1 that talks about Level Set Sampling and the Sample Network

Since I don't think the point I wanted to make above was conveyed, I refer you to read the previous paper οn Controlling neural level sets and specifically the paragraph 2.1 that talks about Level Set Sampling and the Sample Network

Thanks


Data source anomaly: IECEE TRF 60335-2-4;7F:2012 should use ampersand & instead of semicolon

"IECEE TRF 60335-2-4;7F:2012"
https://webstore.iec.ch/publication/7925

We will report to the IECEE Secretariat.

Reported.


Fix sharedApplication selector in sharedIfAvailable (#365)

Fixes #365
The sharedIfAvailable property introduced in #352 should reference the Objective-C property name sharedApplication.
https://developer.apple.com/documentation/uikit/uiapplication/1622975-sharedapplication?language=objc

Nice fix! Running into the same issue in my project. Any plans on a new release to add in this change?

Any plans on a new release to add in this change?

Just released 1.8.2 👍


Repeated Error in Console

This same error seems to be consistently repeating in my console, I presume nothing to really worry about.
Running on versions:

1.0.5 of QuickSell
3.9.8 a0c79a of SPT and
0.9.9015.15435 of Fika

[Exception] : NullReferenceException: Object reference not set to an instance of an object
QuickSell.Patches.ConfigController.Update () (at <e94d819a560e482385e8a547c87ff66b>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
Class362:UnityEngine.ILogHandler.LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

Yeah, this was a hotfix i put out in a rush and was too busy to fix it. Working on it now.


ProgressReporter fix backwards fraction in format

This was "total/completed" instead of "completed/total"

See #350 for some additional history/justification for this change

Thank you @notEthan and @ktreis !


Fix shifted Y-Axis bug #102

how do you generate your files in the dist folder?

npm run prepublish should do it :) thanks!

Also, I'll have to do it before publishing, so I wouldn't worry about it. Unless people are going straight off the git repo.


Change order of arguments in mock http.request.

Noticed this while documenting the httplib2.Http.request() interface and our use of it

LGTM


feature/6: HealthCheck Endpoint

Implemented Actuator/Health Endpoint which checks: Server Storage and Ldap connectivity (Currently disabled in Config until pointing to a proper URL)
Health Endpoint is part of exceptions in Security config, so no need to login for it.
Added Test for Endpoint (Not in Flatspec, may need help to transform it into Flatspec?)
Added JWX monitoring
Added Jconsole instructions to ReadMe for JWX
Organized Config a bit (Will probably need to be redone but just for improved readability)

Hi @dk1844
Implemented suggestions. Should be good to go now :)


A11y_Azure Data Studio_Toolbar_FindNode_Label: Visual label is not provided for combo boxes in the Find node pop up.

“Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags:
#A11yMAS; #A11yTCS; #A11ySev2; #SQL Azure Data Studio; #SH-SQL Azure Data Studio-Win32-OCT2022; #DesktopApp; #HeadingsandLabels; #WCAG3.3.2; #FTP;
Environment Details:
Application Name: Azure Data Studio
Windows Version: Windows 11
Repro Steps:

Launch the "Azure data studio" application.
Connect with the provided "sqltools2019-3" SQL server.
TAB to "New Query" button and hit ENTER key.
Enter the SQL query and TAB to "Estimated Plan" button and hit ENTER key.
"Query Plan (Preview) screen appear.
TAB to the toolbar present at right side of the screen.
TAB to "Find Node" button and hit ENTER key.

Actual:
Visual label is not provided for combo boxes in the Find node pop up.
Expected Result:
Visual label should provided for combo boxes in the Find node pop up.
Attachment:

Based on the discussion in the accessibility design office hours, I need to add a single label "Find Nodes" in front the first field and shift the focus to the first dropdown.

@Truptik12, we have fixed this issue in the product. can you please retest and close this bug?

@Truptik12 can you please retest and close this bug?

Regressed the bug in the below environment:
Version: 1.46.0 (user setup)
Issue is fixed. So closing the bug.

#Closed; #Regressed:10-13-23;


Fixed incorrect licensing information

Full-blown iWF or BIG-IQ is no longer needed for license management. The standalone BIG-IQ license manager can assign and revoke licenses from unmanaged BIG-IP instances, and can also manage individual licenses rather than just license multi-packs.

Repository Archived


Enhance SEO and Meta Tags for BuddyTrail

Pull Request: Enhance SEO and Meta Tags for BuddyTrail
Summary:
This PR improves the SEO optimization of the BuddyTrail project by refining the HTML <head> section. Key changes include:

Consolidated Meta Description: Removed duplicate meta description tags to ensure clarity and effectiveness in search engine indexing.
Updated Structured Data: Corrected JSON structured data by eliminating a trailing comma for valid syntax.
Added Open Graph and Twitter Card Images: Included og:image and twitter:image tags for enhanced social media sharing and representation.
Title Tag Positioning: Moved the <title> tag to the top of the <head> section for better SEO practices.

These enhancements aim to improve the visibility and sharing capabilities of the BuddyTrail website across search engines and social media platforms.
Changes Made:

Consolidated duplicate meta description tags.
Fixed structured data formatting.
Added image tags for Open Graph and Twitter Card.
Adjusted the order of the title tag in the head section.

Testing:

Verified that all changes render correctly in the browser.
Checked for any console errors and ensured all meta tags are recognized.

Kindly merge the PR and assign me with LEVEL 2 for this task @PriyaGhosal
Thank you!!
fixes: #1660

@neeru24 Great contribution ! 🎉 Your pull request has been successfully merged! Also Take a moment to ⭐ Star the repository if you haven't already.


Long delay (10s) loading app when offline

Should either change default behaviour to use local cache first (need to investigate implications of this), or investigate reducing the timeout before failing over to local cache.

Could not reproduce this


 I just have one gripe. I can't seem to power lights through blocks. Connecting a cable straight on a powered light is incredibly ugly and completely unnecessary. I hope it's possible to be able to input electricity on one side of the block (that the light is placed on) and then the light will suck power from that, kind of how redstone works.
If this becomes too difficult or just outright impossible, I was looking at the wireless lights, however these wireless chargers hold way too much charge and making a "real" system is impossible because it would take way too long to waste the charge in the wireless chargers.
If there is a different solution, please, I'm all ears.

Use conduit facades to cover the energy conduit - and place the powered light on the under side.

Oh yes, thank you, very much. That was hard to figure out (what with the wiki broken and whatnot). I do want to keep this suggestion open for the second part of the issue. Having a config for a wireless charger capacity would be wonderful.

On Mar 29, 2015 6:23 AM, "aschmois"<EMAIL_ADDRESS>wrote:

Oh yes, thank you, very much. That was hard to figure out (what with the
wiki broken and whatnot). I do want to keep this suggestion open for the
second part of the issue. Having a config for a wireless charger capacity
would be wonderful.
—
Reply to this email directly or view it on GitHub
https://github.com/SleepyTrousers/EnderIO/issues/2178#issuecomment-87387931
.

While, that's a solution, that's not the solution. I want to make a faux-real solution, where a power outage actually causes things to turn off. While I do think it's kind of childish of me to ask for it, I'm just putting it out there in case you decide it's really not that hard to implement. Either way, it's your choice. I've already gone the non-wireless route either way so this issue no longer affects me. You're welcome to close it or leave it open as you wish.
Off topic: Thank you for the great mod by the way, my experience would be totally different without it.

Also @ your other issue, there is an inverted version of every light in case you don't want to run redstone. The wireless charger buffer size is a non-issue, so closing


The Workflow for apache license headers

          > Nit: add the apache license header

Would you like to create an issue for this? I can add a workflow to help address this.
Originally posted by @Xuanwo in https://github.com/datafusion-contrib/datafusion-orc/pull/122#discussion_r1723596118

I will help with this.


At Rest Mail Encryption

What would be the easiest way to do this? I tried changing the mail volume to the host file system and encrypting the directory with encfs, however, was faced with permissions errors from Dovecot. Is there a better way to do this?
** Note ** I am aware of the limitations of at rest encryption

I'd have gone for encfs as well. You'll most-likely need to run it as root and allow non-root users as well using -o allow_other.

Hi Capi, thanks for the response. Did you encrypt the entire container or just he email directory? Are you storing the mail outside of the container on the host file system?

@pfmsny I have not yet tried it yet, it was just a general remark on using encfs. I'll try it out soon to verify if it will actually work. I use bind-mounts instead of volumes, so it should work. I'll report back once I actually tried.

Great thanks. I tried a bind mount, but ended up getting permissions errors from Dovecot for user group 5000:5000 from what I recall. Postfix didn't seem to have any issues with it. I may reattempt, it would be a great feature to add to the default container.

This issue was closed due to one or more of the following reasons:

Age
Contributor inactivity
The issue seems to be resolved

If you think this happened by accident, or feel like this issue was not actually resolved, please feel free to re-open it. If there is an issue you could resolve in the meantime, please open a PR based on the current master branch so we can review it.


pull request for e2e test at 11/12/2016 17:56:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

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


cedar: init at 4.2.2

https://github.com/cedar-policy/cedar
Implementation of the Cedar Policy Language (Includes the rust cli to run, validate, format etc)
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] 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/)
25.05 Release Notes (or backporting 24.11 and 25.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

[x] Fits CONTRIBUTING.md.

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

@getchoo really appreciate the review. I was not aware of the testing pattern.

You will also want to format this with nixfmt: https://github.com/NixOS/nixpkgs/actions/runs/12102372743/job/33743368686?pr=360328

Yup :(
Lets try it again

@ofborg eval

I did a rebase and force push to rerun the CI. The eval command to ofborg did not seem to do anything somehow.

Feel free to ping me in a couple days if no one else merges :)

Feel free to ping me in a couple days if no one else merges :)

@getchoo ✋🏼


added new geoblacklight field to sample config

Additional work for (issue #283)[https://github.com/CDL-Dryad/dryad-product-roadmap/issues/283]
Adding new dryad_related_publication_name geoblacklight field to the sample config.
Added test for correct facet display

oops. wait for the tests before merging!

updates required corresponding changes to some of the files in stash repo. Will restart Travis tests once they are in place.


Create image for Meteor 1.8 release candidate

Create image for Meteor 1.8 rc
Instructions to create from project's Readme:

Create a directory for the new version (following the existing name convention)
Update the new Dockerfile as needed.
Set the TAGS ENV in the options file to your release TAG
Set the Meteor version ENV in the options file
If this new version is the highest tag, search for and remove latest from the current options file it's located, and add it to the new options file
Add any extra test step(s) needed in the test-script.sh
Update History.md with the new release
Open a PR to master with the changes.

Meteor update not installing a rc
I'm seeing that running meteor update --release 1.8-rc.14, does not install the release candidate. It installs the major release closest to the specified release candidate (in this case <IP_ADDRESS>). So we may have to wait for a final 1.8 release.


Error creating container

I pulled the image - for AMD64

However when i run the test plan - Getting below error.
Error creating container WARNING: the requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested
@QAInsights Can you please help?

@vinda-parab Did you try running it from the Docker Desktop UI?

@vinda-parab Did you try running it from the Docker Desktop UI?

Hi @QAInsights  Thanks for checking.
Yes, this is on Docker Desktop. I got the issue. The issue was with the jmeter image. It supports only ARM64.
To resolve this i had to use a different JMeter image. With this its executing the tests now. But getting a below issue to generate the results. Can you pls check and help?

And here are the logs:

Yes, the image is compatible with ARM64. Let me see to add support for multiple architectures.

Yes, the image is compatible with ARM64. Let me see to add support for multiple architectures.

How to resolve the issue - mentioned in above comment?

@vinda-parab You can't use others' images. You must use qainsights\jmeter to get your reports. Let me rebuild the image and publish it.

@QAInsights Thank you for taking this up. Will keep checking here for your update. We are excited to use this extension in our project.

@QAInsights If possible can you please let me know by when will you be able to publish the required image?


Support building shared libs with CMake.

This PR adds support for building a shared library with CMake, in addition to a static library. The output library type can be toggled with -DBUILD_SHARED_LIBS=ON or -DBUILD_SHARED_LIBS=OFF.
I've also updated it to rely more on the built in CMake installation behaviour and to use target specific configurations over globals.
CMake now recommended to use lower case for commands etc. so I have updated where needed.
Also closes #40
Happy to discuss any changes needed to get this merged, thanks!

Hello @simoncent, sorry for the late reply. I'm in the process of modernizing the CMake build myself and I'm interested in using some of this. There's only one thing, you mentioned that it allows building a shared library in addition to a static library, but I'm having a look at the code and it only toggles between generating one and the other, unless I'm missing something?

No, you're not missing anything, you're absolutely correct. The change I made simply allows you to toggle between building a shared or static library, exactly as you described.
What I meant by  "in addition to a static library", is that previously there wasn't a way to easily toggle the build to create a shared library, it was a static build only; additionally, exposing the CMake BUILD_SHARED_LIBS flag as an option is quite common and makes it easier to compose the project with other CMake based projects, i.e. I can set the flag on my top level CMake project of which I pull this library in as a dependency, and pass my CMake environment down and this will then automatically build a shared / static library to match the parent project.

@simoncent thanks a lot for your reply. I'd make sure to add that option to the final CMake config.


refactor(service/header): extract store initialization from Syncer

Previously, Syncer managed Store initialization, which means putting initial/genesis head to the Store, so the Node can sync on top. It's definitely not Syncer's responsibility to manage this and this was causing me troubles while I worked on other stuff, so I decided to extract that. As result, we have a more coherent and transparent initialization code.
 I am going to resolve the conflict here and in other PRs altogether with any other rebase conflicts that might appear after applying review feedback.

Added closing issue

Right


⚠ Bofrost.be has degraded performance

In 2745c44, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 951 ms

Resolved: Bofrost.be performance has improved in d027c86.


Scrolling down with mouse does not work

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[ ] zsh
[ ] fish

Scrolling down with mouse wheel/touchoad does not work. Regardless of terminal emulator and use of tmux

Works for me. Please mark the check boxes.

I did already,  but they don't seem to be sticking.

I have no experience with Manjaro linux so I don't think I can be of help here. Let's hope someone with Manjaro experience chimes in.

I'm afraid that is me, since I was one to include in the repos from aur...
This is the PKGBUILD of the package :
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fzf-git
Could this be an issue with ncurses?

Does mouse work in other terminal programs that support it, like tmux and vim?

It does.

This has been solved with one of the updates, don't know which one.


feat(persistent cache): add make occasion

Summary
https://github.com/web-infra-dev/rspack/discussions/8636

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

!bench


Nuxt 3.0.0-rc.11 with Nitro 0.5.12> /Server/api functions fail on POST requests, GET methods are OK when publishing to Cloudflare pages functions)

Environment
Nuxt 3.0.0-rc.10-27718444.40d0907 with Nitro 0.5.2-27718085.c24dbcf
Cloudflare pages with functions
Reproduction
https://stackblitz.com/edit/github-dxg5qg?file=server/api/customer.get.js
Describe the bug
Deployment of my Nuxt 3 app that contains following folder server folder structure
/server/api/customer.post.js <- POST fail with 405 method not allowed on cloudflare pages
/server/api/customer.get.js <-- GET works.
/server/api/test.js  <-- should response to all routes
Nitro preset :
nitro: {
preset: 'cloudflare_pages',
},
Upon pushing to github, cloudflare initiates a page build with the following successful log entries on cf pages:

Nuxt 3.0.0-rc.11-27719556.94377b1 with Nitro 0.5.3-27719444.ff99330
--
18:54:51.303 | ℹ Client built in 2421ms
18:54:51.304 | ℹ Building server...
18:54:52.513 | ✔ Server built in 1209ms
18:54:52.572 | ✔ Generated public .output/public
18:54:52.588 | ℹ Building Nitro Server (preset: cloudflare_pages)
18:54:59.396 | ✔ Nitro server built
18:54:59.419 | └─ functions/path.js (414 kB) (132 kB gzip)
...
18:55:16.586 | Success: Assets published!
18:55:18.083 | Success: Your site was deployed!

When visiting the domain all looks good and page is published!
Now time to test the /functions folder
GET  https://www.domain.com/api/customer HTTP/1.1
RESULT : 200 OK
POST https://www.domain.com/api/customer HTTP/1.1
RESULT : 405 NOT ALLOWED
POST https://www.domain/api/incorrectpath HTTP/1.1
RESULT : 405 NOT ALLOWED (should return 404 NOT FOUND)
Talking to Cloudflare discord support they say
Let them know that if they want to discuss it then feel free to pop on here.
Cloudflare Pages never returns 405s, so this is Nitro

No POST handlers work, either in the .post.js file or the .js file
It works in dev (so in Vite), not prod
The command (make sure they know the command is build not generate)

Strangely when I POST to a route that does not exist like POST https://www.domain.com/api/blah,
the result is also 405 NOT ALLOWED, hence it seems all POST requests are being block before the function is actually triggered, but for some reason all GET routes are OK.
to recreate the issue

use the stackblitz template above : https://stackblitz.com/edit/github-dxg5qg?file=server/api/customer.get.js
run npm run build , not generate, as generate will not create /functions folders
npx wrangler pages dev .output/public OR npx wrangler pages publish .output/public
visit xxx.com/api/customer  -- this will be a GET and it will work
make a postman POST request to xx.com/api/customer - it will fail with 405 (if not pls let me know)

According to the nitro docs :  it should just work.
Additional context
Cf discord channel has been informed of this issue and says they would be happy to connect with nuxt core team, please contact the discord community member @isaac-mcfadyen#4321  on cloudflare-pages discord channel.

Workarounds to get the cf /functions folder working correctly are:
-change preset to 'node-server'
-change cloudflare pages build command to 'npm run generate' instead of 'npm run build' <-- this itself does not port nuxt3 /server/api functions to cf pages functions..
-recreate /functions folder in ide and write functions as per cf api : https://developers.cloudflare.com/pages/platform/functions/

push to github and then everything just works GET, POST etc..

Above workaround bypasses NUXT3 /server folder and replies on cloudfloare / functions.. the downside of this is portability, we are tried down to cloudflare infra and loose all nuxt /server features.

sorry hoping to get some eyes on this issue

@bump - still not working with the latest version :|

Also having this issue! "nuxt": "3.0.0-rc.13"

I did a bit of digging on this, the error is somewhere here
The GET method will return 404 every other method will return 405

Any updates on this?

3.0.0 same problem
@ricky11 solution can be deployed smoothly, but I don't know how to test it locally.
in nuxt.confg nitro: {}

preset node-server, the build directory cannot be executed by npx wrangler pages dev (404)
preset cloudflare-pages, the page can be displayed, but the /functions directory and routing js will be automatically generated during the build process, and all the files I have placed in it will be deleted.

Also having the same issue? Any updates on this?

I did a bit of digging on this, the error might be somewhere here
export async function onRequest (ctx: CFRequestContext) {
  try {
    // const asset = await env.ASSETS.fetch(request, { cacheControl: assetsCacheControl })
    const asset = await ctx.next()
    if (asset.status !== 404) { // GET returns 404; Other methods return 405
      return asset
    }
  } catch (_err) {
    // Ignore
  }

The GET method will return 404 every other method will return 405 Ultimately the execution will end up in wrangler > miniflare-dist > index.mjs > generateHandler > generateResponse and it calls this code:
    if (!request.method.match(/^(get|head)$/i)) {
      return new MethodNotAllowedResponse();
    }

That is the cause of this behavior.
Not sure what the recommended fix would be... @DaniFoldi ?

This fix seems to work to return a 200 however the /server/api code never actually gets called

Also having this issue!

I appreciate the debug efforts by folks, and there is even a PR up (#796), and I don't know how at the time of adding the preset, I didn't notice this - I think I was testing with a simple h3 return "test" handler.
Instead of relying on error codes to check if an asset is available as static, we should take advantage of Pages' _routes.json now that support has been added. Ref: https://developers.cloudflare.com/pages/platform/functions/routing/#creating-a-_routesjson-file
Question to @danielroe (I couldn't find anything related in the repo): is there perhaps a function to get all declared static routes? In a nuxt app, I'd use something like
{
   "version": 1,
   "include": ["/*"],
   "exclude": ["/_nuxt/*"]
}

as _routes.json, which gets me close to the goal already (Cloudflare doesn't charge anything for static assets) - adding it manually should in fact be a better workaround than messing with HTTP request methods and response codes.

What you're talking about is static assets.
That's how you reduce the requests you specify in exclude.
Of course, that part helped me.
But this issue doesn't seem to have anything to do with what you're talking about.
This issue is 405 Method not allowed when I create an API using post method on server and distribute it to cloudflare pages functions, which is a very important issue that I am experiencing the same phenomenon and may have to give up nuxt from my project because of this issue.
The bottom line is not to obscure the subject and nature of the issue. You make me more confused.

Well, indeed I am talking about the static assets. If you understand how the preset is set up, bypassing the function for static assets means we can remove the env.ASSETS.fetch() call from the preset handler, which is causing your 405s.
It does have lot's to do with the issue you're facing.

So, according to you, you're facing 405 Error because you set /_nuxt/* to exclude?

No, please read my message carefully. The 405 is returned from the env.ASSETS.fetch(), which we could remove once we generate a valid _routes.json - which takes care of serving static assets internally, instead of nitro having to "try" every fetch as a static asset.

No, please read my message carefully. The 405 is returned from the env.ASSETS.fetch(), which we could remove once we generate a valid _routes.json - which takes care of serving static assets internally, instead of nitro having to "try" every fetch as a static asset.

Yeah, I understand what you're saying.
But it's not an exact solution. There's not enough examples.
Using the same _routes.json you suggested, I still face 405 errors.
So how do you want me to deal with it?

I'm the author of #796. I disagree to close my PR. Because:

Nitro is helping you to build a js server. It's hard for Nitro to tell which route is static. Maybe you can write a get handler that returns the current time. And for static assets, I think it's out of the scope of Nitro.
__routes.json has a limit of 100 rules. It's hard to reach the limit, but it means there will still be an edge case that you need to use Nitro to serve static assets.

So the main issue with using __routes.json I see here is that in Nuxt, paths don't actually coorospond to the path in the filesystem.
Consider all static assets which are under the path /_nuxt/*. In the filesystem itself, they're under .nuxt/dist/client, so if you used __routes.json to try and serve them without getting billed (a good idea!) then they would all 404...
However the solution isn't to stop relying on __routes.json. All Functions requests are now being billed on Cloudflare Pages, with the exception of static assets from __routes.json, so not relying on that behavior is actually making sites more expensive for users, especially compared to basically every other competitor framework (SvelteKit, SolidStart, Astro, and Remix).

Consider all static assets under the path /_nuxt/*. In the filesystem itself, they're under .nuxt/dist/client, so if you used __routes.json to try and serve them without getting billed (a good idea!) then they would all 404...

I just tested it. If you run NITRO_PRESET=cloudflare-pages npx nuxi build you can see Nuxt puts js files under .output/public/_nuxt and ask you to deploy .output/public. So yes, paths correspond to the filesystem and it should work if you put /_nuxt/* in __routes.json

So yes, paths correspond to the filesystem and it should work if you put /_nuxt/* in __routes.json

Ah, my mistake.
In that case, IMO the __routes.json is the best option for serving static assets while allowing users not to be billed. It should be able to be generated automatically.

In that case, IMO the __routes.json is the best option for serving static assets while allowing users not to be billed. It should be able to be generated automatically.

I agree. But I think this is out of scope for Nitro, because putting assets under /_nuxt is Nuxt's behavior, not Nitro's. Nuxt should maybe add a Nitro plugin to do this.

@pi0 thoughts?

I Just encountered this bug, which only happens with the Cloudflare pages.
Works well in development.
For now, we had to move to vercel.
But I would really love to have a solution.

Would love to see progress on this issue. There's an open PR that, while imperfect, is better than the status quo.

This is blocking the adoption of Cloudflare pages for me too. Any news?


#how-to-achieve-this doesn't exist in /docs/concepts/cluster-administration/networking/

This is a Bug Report

Problem:
In this page, there is a "how we achieve this" link.
https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#exposing-pods-to-the-cluster
However, #how-to-achieve-this doesn't exist in /docs/concepts/cluster-administration/networking/.
Proposed Solution:
The link would be /docs/concepts/cluster-administration/networking/.
Page to Update:
https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/

/language en

/assign

I would remove

You can read more about how we achieve this if you're curious.

as the easy fix.
(I think the more involved fix is to tackle https://github.com/kubernetes/website/issues/25832)

/remove-lifecycle stale

Fixes in #30440.

Fixed in https://github.com/kubernetes/website/pull/31331 I think.
/close


fix: Update RDS cert bundle

Relates

RDS SSL tests started failing due to cert CA rotation. Cert bundle must be updated.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: cd407a74620be54cb21a4e6d3deaf3f68a0618a3
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: cd407a74620be54cb21a4e6d3deaf3f68a0618a3
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 90b6cdb363009d97babba6a0de29ec9677ffd2ad
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 4c05f86adcb5c7c57861e80045deda262df28bdb
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 90b6cdb363009d97babba6a0de29ec9677ffd2ad
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 4c05f86adcb5c7c57861e80045deda262df28bdb
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 2f7e5523cdc75d3afb8f2e7f58f1ca89b783d980
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 2f7e5523cdc75d3afb8f2e7f58f1ca89b783d980
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 2badcae6367ca6183104058de50fd757e2290330
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 5179808f657253b17c8ec55a452337b17afea52b
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: 5179808f657253b17c8ec55a452337b17afea52b
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: c764f07f4d8d1f79e004d2383d1772d4e05b3cf9
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: c764f07f4d8d1f79e004d2383d1772d4e05b3cf9
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 45f81edfea932193aa73ec6556d5f1146163d0e2
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: e036852764665af6a847f0d6111de78d6b42ba6a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: e036852764665af6a847f0d6111de78d6b42ba6a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: eb5ab356bd2c84a74b45284e60905f27a9f0961c
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubDistributedCodeBuild6-jWcl5DLmvupS
Commit ID: eb5ab356bd2c84a74b45284e60905f27a9f0961c
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


readme updated with qutip.devmajor and cupy instructions

This updates the readme with an step by step explanation of how to install the unreleased version and required libraries,  Just for adventurers.
See https://github.com/qutip/qutip-cupy/issues/14. About usage, maybe we should point to the data_layer documentation. In any case there is not much usage we can reap from it now, but I have a basic notebook with examples already is there a correct place to hang it?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
59

Relevant Lines:
70

💛  - Coveralls

For what its worth, this worked without much fuss in windows 👍


[#1088] Fix linkt to StreamPipes logo in Mkdocs

@parthsali welcome to Apache StreamPipes and thank you for providing your first PR 🎉
Could you please use the raw link to this image (https://raw.githubusercontent.com/apache/streampipes/dev/ui/deployment/dev/img/logo-navigation.png)?
That would be great 🙏🏼

@parthsali welcome to Apache StreamPipes and thank you for providing your first PR 🎉 Could you please use the raw link to this image (https://raw.githubusercontent.com/apache/streampipes/dev/ui/deployment/dev/img/logo-navigation.png)? That would be great 🙏🏼

Sure👍

I have updated the link for the logo in the docs. Could you please check it?

@parthsali welcome to StreamPipes.
Thanks a lot for your PR!


Split the CI pipelines

Split the CI pipelines.
Steps:

Merge the new configuration into master (Not enforced on CI)
Enable contiguous build on master branch, update the build badge in README
After a while (all PR synced with master and has the new CI configuration (targeting end of the week)) switch to enforce the new separated pipelines and remove the existing pipeline configuration.

LGTM. Will this require 5 badges on the README?

@jywu-msft fyi

yes. I already wrote a CI status table in readme. Will send a PR after this one is in


Add a timezone plugin

The plugin should allow me to quickly check the time for team members in other time zones. For example https://www.npmjs.com/package/hubot-timezone or https://www.npmjs.com/package/hubot-timezone-converter

Added hubot-timezone


preinst script in ipk file - error handler enhancement

First:
root@OpenWrt:/tmp# opkg install ./luci-app-openclash_0.41.13-beta_all.ipk
Upgrading luci-app-openclash on root from 0.41.12-beta to 0.41.13-beta...
OpenClash Already Stop
Collected errors:
 * wfopen: ./luci-app-openclash_0.41.13-beta_all.ipk: No such file or directory.
 * pkg_get_installed_files: Error extracting file list from ./luci-app-openclash_0.41.13-beta_all.ipk.
 * opkg_install_pkg: Failed to determine obsolete files from previously installed luci-app-openclash
 * wfopen: ./luci-app-openclash_0.41.13-beta_all.ipk: No such file or directory.
 * opkg_install_pkg: Failed to extract maintainer scripts for luci-app-openclash. Package debris may remain!
 * opkg_install_cmd: Cannot install package luci-app-openclash.

Delete IPK, then reupload, and retry:
root@OpenWrt:/tmp# opkg install /tmp/luci-app-openclash_0.41.13-beta_all.ipk
Upgrading luci-app-openclash on root from 0.41.12-beta to 0.41.13-beta...
Collected errors:
 * pkg_run_script: package "luci-app-openclash" preinst script returned status 1.
 * preinst_configure: Aborting installation of luci-app-openclash.
 * opkg_install_cmd: Cannot install package luci-app-openclash.
root@OpenWrt:/tmp# opkg remove luci-app-openclash
Removing package luci-app-openclash from root...
root@OpenWrt:/tmp# opkg install /tmp/luci-app-openclash_0.41.13-beta_all.ipk
Installing luci-app-openclash (0.41.13-beta) to root...
Collected errors:
 * pkg_run_script: package "luci-app-openclash" preinst script returned status 1.
 * preinst_configure: Aborting installation of luci-app-openclash.
 * opkg_install_cmd: Cannot install package luci-app-openclash.

After extract ipk by myself,  I found the problem in preinst script:
#!/bin/sh
if [ -f "/etc/config/openclash" ]; then
	cp "/etc/config/openclash" "/tmp/openclash.bak" >/dev/null 2>&1
	cp -r "/etc/openclash" "/tmp/openclash" >/dev/null 2>&1
fi

Then mkdir /etc/openclash, Install again:
root@OpenWrt:/tmp/tmp# opkg install ./luci-app-openclash_0.41.12-beta_all.ipk
Multiple packages (luci-app-openclash and luci-app-openclash) providing same name marked HOLD or PREFER. Using latest.
Installing luci-app-openclash (0.41.12-beta) to root...
Configuring luci-app-openclash.
root@OpenWrt:/tmp/tmp# opkg install ./luci-app-openclash_0.41.13-beta_all.ipk
Upgrading luci-app-openclash on root from 0.41.12-beta to 0.41.13-beta...
OpenClash Already Stop
Configuring luci-app-openclash.

All done.

Closed due to inacitivity for a long period of time.

Closed due to inacitivity for a long period of time.

mkdir /etc/openclash also works for me, thanks!

mkdir /etc/openclash also works for me.