Performance improvements for tsm1 aggregate functions with high cardinality

Feature Request
Proposal: Improve TSM1 aggregate/selector functions, especially relevant to those with high cardinality.
Current behavior: Data within the storage engine is organized with each series having its own cursor. To complete a query, we need to create a cursor for every series key (measurement + tag + field combination) and then we have to iterate through that series. When performing a query, we return data in the order of series groups followed by time. In the case of a descending order, it is all reversed.
In the current engine, we aggressively avoid buffering the output because of a fear that buffering too many intervals will cause an OOM error. If someone did a group by from the 1860s to the modern day and grouped by 1 second, buffering the entire group of intervals in memory would be very large and we wanted to avoid that. To avoid this, we calculate the first interval and emit the output before outputting the next interval. This also allows us to stream the points out rather than buffer them in memory. In the case where you have very few series and a large number of intervals, this method ends up being better and uses less memory because it does not need to allocate a buffer.
There are a few problems with this that have shown up when attempting to have higher cardinality databases. The problem is that high cardinality databases just don't work or result in an OOM problem.
Each cursor takes up approximately 232 bytes. I counted the byte values of the KeyCursor and its associated elements inside and I got around 232 bytes. I'm going to need to redo that work since I didn't save it anywhere when I did the analysis, but I was incredibly conservative while counting the bytes to give the minimum possible values that would be necessary for a single KeyCursor under ideal conditions. A single buffer for 60 int64 values would take 480 bytes. As you can see, creating a single KeyCursor and reading from it iteratively is more performant for this specific scenario than buffering each of the intervals.
But, that's not how the database is typically used. The buffering example has an advantage. It uses a constant set of memory that is easily calculated before the query is even executed and can be customized depending on the memory conditions of the box. For example, if we have a lot of memory, we could use 8 buffers on an 8 core machine to maximize parallelization and also reduce the amount of context switching and take advantage of memory locality to ensure more cache hits. It's unclear if calculating the count for a thousand series all in separate goroutines has any benefit over just calculating one per core. Reading all series at the same time would have a lot of context switching for even small cardinality databases and use up a lot of memory. I created a graph with what I thought was a good way to compare these through an online graph tool.
The first graph in red is what I approximate the current memory usage to be. The real is probably worse, but this is a rough analysis. A more thorough analysis is what resolving this issue is meant to yield. The red graph increases in memory usage with the number of cursors since its memory usage is entirely based on how many cursors. It takes nothing else into account. The second graph in green is constant and can be customized depending on two parameters: the number of goroutines and the number of intervals. To speed up processing, we can allocate a buffer per series and reuse that buffer after we have merged it into a special merged buffer. To do this, set p = # of goroutines + 1 since for 8 goroutines, you would need 9 buffers. One buffer for the merged results and one for each goroutine.
For a majority of common interval numbers, like 60, the number of cursors quickly outpaces the extra memory allocated for the buffer. For the lower number of cursors indicating lower cardinality, the extra memory is negligible and we can experiment using this formula to decide how to execute the query since we know the number of series before query execution. Even at 6,000 intervals, the intersection is at 1,663 cursors at 385kB of memory used. While this may seem significant compared to a database with a small number of series, this really isn't a big deal in the overall scheme of things. We can easily restrict the number of intervals on smaller machines or switch to a more memory efficient method of processing when there are a small number of series and, in the overall scheme of things, 385kB is really not that much compared to the 2.3MB of memory used if there were 10,000 series for this same query. Having the amount of memory both capped and reusable to reduce pressure on the garbage collector has a lot of nice advantages.
Desired behavior: We should investigate these conclusions more and consider modifying the tsm1 aggregate queries to use this method of executing aggregates and selectors. This would help speed up these queries for ones that have a high cardinality. We would still have query issues for raw queries since we wouldn't be able to use this method for those, which requires us to still open up cursors to every series, it would allow aggregate and selector queries to run on this same high cardinality data with more predictable and lower memory usage. It's at least worth a try and would be a huge benefit to the query engine for both influxql and IFQL.
Use case: Primarily high cardinality data and lowering the memory usage of these common queries, but the case is made above that it helps with a majority of queries. When doing performance comparisons, it would be good to test lower cardinality queries since it is also common to perform an aggregate on a single or only a few series at a time.

An older issue that wrote about a similar (and at times the same) problem is #8304.


Release 0.5.0

It has been 5 months since the last stable release for cute kit, the old 0.4 version still uses the old name.

@sleepy-monax do we still want to do a 0.5.0 release ?
If there are any issues, we are always able to do a 0.5.1 release.


Releases/v0.10.1

Fixes

Fix ad metadata not being reported

Co-authored-by: Emily Dixon<EMAIL_ADDRESS>

Tests are being extremely flaky today, but this does pass on my machine and intermittently on Actions (but I re-ran a successful run by accident). I may merge without the tests if I can't get a success on gha soon


Supply arm64 binary

At the moment there is only 32 bit binaries provided in the releases. Given the license of this library, shouldn't there be an arm64 binary (for android)? Is there a known workaround for this?

Actually, openh264 support android arm64 building, just not provided the corresponding package currently.  openh264 will provide arm64 package for android in the future. please follow the future release.
Thank you for your attention!

Yes, I understand. Just that this library is currently unusable for arm64 without paying MPEG LA license fees if I understand correctly.

if there is no update, this issue will be closed.


[UI] Enhance indication of enabled vs disabled in user preferences interface

Current Behavior
The current version of the user preferences UI looks like this:

It's difficult to tell which way is on and which way is off.
The toaster notification is of no help in this regard either:

Desired Behavior

Whether a given setting is enabled or disabled should be obvious to the user just looking at the page.
When the user changes the setting, the notification message should indicate enabled or disabled.

Implementation

Update UI to make it intuitive to distinguish on vs off for a given setting.
Update the text in the notification to indicate enabled vs disabled.
Add the label "Analytics and Improvement Program" as a group label around both of these options, ideally, in a format like this:

Acceptance Tests

Sending of usage statistics should be enabled by default.
Users should be able to understand whether a preference is enabled or disabled without having to take any action.
"enabled" and "disabled" should show in the notification text.
These two settings are grouped under a label (of some kind).

I will like to work on this

Hi @alabobriggs how is this coming up?😊

Hello @PluckyPrecious still working on it. Had some challenges earlier

Hi everyone, I want to take this issue. Please assign it to me.

@shubhamgupta2956 checking on progress... how are you coming along here?

@shubhamgupta2956  if you are not working on this, can I take it up?

Sorry for the late reply. I was a bit busy with my college assignment (I hope I can complete it till this weekend) so could not complete it. @leecalcote, I have experimented the mentioned things with this page but some of them does not look much elegant due to:-

Group label - Embedding these settings in the format provided feels different from the app themes. I
Also I could not find anything better to make it intuitive to distinguish on vs off for a given setting. If I change any color then it does not goes with the whole app theme. Apart from this, I am not much in favor of removing the current on/off component as this looks minimalistic and works great for this use case.

@Nikhil-Ladha sure you can take this issue. Feel free to ask for any help if required. :slightly_smiling_face:

If you are done with your exams and hoping to work on it this weekend, then please feel free to do it.
I just wanted to make some PRs for hacktoberfest 😆

If you got any good ideas for the above-mentioned problems, it would be better if you implement it. We can also discuss the ways to implement this after this weekend on slack also.

Okay, then. I ahve some thoughts and will make a PR soon🙂.
Will rag you there too, to have a look.


how to deal with gaussian normalisation

minor changes :

now we can read response file with gaussian spectrum
if there is only one bin the normalization is treat as same as the Mono one
Check if there is one bin and if the gaussian spectrum is fully contained in that bin
Raise a NotImplementedError if there are more than one bin with gaussian spectrum

Thanks, @GallegoSav . I haven't had time to run it yet, but I checked the code and the logic looks good to me.

@GallegoSav sorry I kept forgetting to check this! Do you think we need to merge this before DC2? I don't think so, and I'd rather merge as little code as possible right before the release, but please let me know if you think we do need it. Otherwise, I'll come back to this after the release.

I changed the target branch to "develop". I want to avoid adding new features to the version we're releasing today. I'll explain this further tomorrow during the cosipy meeting.

I changed the target branch to "develop". I want to avoid adding new features to the version we're releasing today. I'll explain this further tomorrow during the cosipy meeting.

Yeah no problem, indeed I don't think it is necessary for DC2 as there no source with gaussian spectrum so far I suppose

@GallegoSav I opened a PR into your branch for this PR with some changes:

I synced to the current develop branch and fixed some conflicts
When you check it this is a single-bin response, I added a check that the normalization is Gaussian (other types or normalizations can also be single bin).

Please review it and when you incorporate those changes this PR can be merged. I think the coverage test will not pass, but I'll bypass it since this is a "heritage" PR, since before the unit tests were implemented.
Thanks for working on this and sorry it took so long to review!

@israelmcmc I merged your pull request ( I think I could also just synchronized my fork to be up-to-date) . You can now merge this pull request

Thanks, @GallegoSav. I'm merging this.


Cancelling a transition and redoing it triggers an exception

I've been playing around with the examples provided with the Hero framework. I have found a bug in the "apple product" example. Not sure if it's a bug in the example itself or the framework. Steps to reproduce:

Go to the "apple product" example.

Again, slide right to left.
An exception is triggered.

Tested with
Xcode 8.2.1
iPhone 6
iOS 10.2.1

Not seeing this on the latest master. Can you check again?

Yep. It's gone.


WIP: Implement Test Infrastructure

WIP

I'm going to close and open a clean PR to merge. Test infrastructure is ready to go.

Closing. Opening a new PR (clean)


Update world-heatmap

Enabled automatic uploading of anonymous user heatmap data to osrsworldheatmap.com
Changed image output filenames for better sorting
Changed PLACES_SPOKEN_AT to include messages by players other than the local player

Your warning is a good start but should include something along the lines of This plugin submits your IP address to a 3rd party website not controlled or verified by the RuneLite Developers. as well.

Your warning is a good start but should include something along the lines of This plugin submits your IP address to a 3rd party website not controlled or verified by the RuneLite Developers. as well.

Tanks for the feedback. I added it.

We cannot show warnings to users after they have already installed the plugin. Since you have active users, you'll need to make this off by default and instead add a warning to the now opt-in config option.

@LlemonDuck
I've changed the data upload to be turned off by default with the warning on the checkbox:

don't do your network i/o in onGameTick, and switch it to use the injectable OkHttp client.

don't do your network i/o in onGameTick, and switch it to use the injectable OkHttp client.

Oopsies. I fixed it now


2977 bug in stackup3d

Added an example using 3d_stackup (just a patch).

Updated 3d stackup to handle parameterized materials.
This should address issue #3386.

Changes will be merged into the branch bug-3386-set_solve_inside-freq...


Improve description visuals

put comments in jumbotron for improved visuals

I'm going to wait until the other pages are merged with master before reviewing; it's hard to pin down what exactly is different from the other PRs just from looking at the diffs


Information mismatch on steps to configure Power Pages + Azure B2C Provider

There are no production urls/guids in this issue item
Getting/setting the iss claim URL
Step 7a iv states:
Ensure that you copy only the URL, without the quotation marks ("").
For example, https://contosoorg.b2clogin.com/tfp/799f7b50-f7b9-49ec-ba78-67eb67210998/b2c_1_contoso/v2.0/

The tip box below calls out to use the issuer with tfp in the claims URL; screenshot below:

Creating the iss claim URL
Step 6d earlier in the page outlines how to Create user flows and custom policies in Azure Active Directory B2C. There are no explicit steps to update token compatibility settings to use the iss claims url (with tfp) as outlined above:

To contrast, the manual configuration calls out this step for tfp: Configure token compatibility by using an Issuer (iss) claim URL that includes tfp. More information: Token compatibility
Configure token compatibility by using an Issuer (iss) claim URL that includes tfp. More information: Token compatibility

Additional
Completing steps 7b - Valid Issuers also then refers to the non-tfp iss claims URL as above.
Also within step 7b - Valid issuers: A discrepancy in the following: To get the issuer URLs for the sign-up and sign-in user flow, and the password reset user flow, open each flow and then follow the steps under Authority, in step 5a earlier in this article.
Step 5a says: Select Next for the next set of steps.

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

ID: 2fd6db56-99a5-88f1-e480-334855818e83
Version Independent ID: 2fd6db56-99a5-88f1-e480-334855818e83
Content: Configure the Azure Active Directory B2C provider
Content Source: power-pages-docs/security/authentication/azure-ad-b2c-provider.md
Service: power-pages
GitHub Login: @sandhangitmsft
Microsoft Alias: sandhan

Thank you for working with us to resolve this issue.  Closing the issue.


fix(tfchill-command): when stop button press sent time's out message …

Description
The time's up message should shown immediately after user press the stop button on tfchill command.
closes #108
Type of change

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

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code

Result:
https://user-images.githubusercontent.com/38198958/139543088-d61c7e09-08de-4730-b5b0-f0e15c506ec1.mov

@zuhairnaqi Are you still working on this?

Closing this PR due to inactivity


Side Bar Navigation for Repo

Hello - Customers currently can't find information easily with the current workflow. For example, it's not clear that Networking is under Brownfield.
Also, Brownfield is one level higher than Greenfield. Some of the scenarios also fall under both.
Rather than restructuring the page, have a sidebar with all the links. For an example, please see:
https://github.com/Azure/Enterprise-Scale/wiki
Please let me know if you have any questions.
Thanks!

In Progress

Resolved: https://github.com/Azure/Enterprise-Scale-for-AVS/wiki


Confusing UI: What do the "2" and "1" buttons mean?

One particular part of the UI is confusing.

I have entered the URI-M https://wayback.archive-it.org/2950/20120110014403/http://OccupyHouston.org/es and clicked "Calculate # of Thumbnails"
I then clicked "Calculate Unique"
I am confronted with instructions that state "The options shown below are based on the amount of difference between the mementos." and am presented with 3 buttons as shown in the screenshot: "2", "1", and "Generate Thumbnails".

The instructions in step number 3 imply that "2" and "1" provide options. After some consideration, I assume that they are paginating something, but I've clicked on both and see no change. Clicking "1" changes the message beneath the buttons to "(estimated 1 minutes to generate)". Clicking "2" changes the message beneath to "(estimated 2 minutes to generate)". What do clicking them change? Do these buttons alter the amount of time dedicated to generating thumbnails?
My suggestion is to be more explicit in the instructions about what is expected of the user.

@shawnmjones It looks like @a-mabe addressed this in 3b48ca8 but the issue remains open. For reference, here is the current UI:

I think it is closer to meeting your requirement with the additional instructions but wanted your feedback. I personally feel that the numerical radio need an associated label for context outside of the paragraph description, e.g.,
THUMBNAILS TO GENERATE
[ 14 ] [ 8 ] [ 7 ] [ 5 ] [ 4 ] [ Generate ]
@ibnesayeed Also has an eye for UI/UX, so further feedback welcomed from him as well.

I agree with @shawnmjones that the UI element used can be confusing, especially if numbers come out to be sequential, one might think these are paginations of some sort. I would go with @machawk1's suggestion of adding a label there. However, I would change the UI element as well. The right UI element for this purpose is radio buttons (one may use select dropdown, but that would be less accessible than radio buttons for smaller list of items). I would go with the inline radio buttons arrangement (not check boxes!).
How about something like the following:
Number of Thumbnails:    ○ 14    ⏺ 8    ○ 7    ○ 5    ○ 4
                         [Generate Thumbnails]

Good points with regard with accessibility, @ibnesayeed. I like your solution but have not dug into the code recently to the point where I can determine if it could result in a large number of radios (TODO).

With the recent improvements to the UI, I now understand what the numbers mean. My original issue has been addressed. With respect to the point raised by @ibnesayeed on radio buttons, I'd like to echo @machawk1's concerns about the large number of radios.
Would a drop-down be better? The drop-down may grow to a very large size, but it will take up less space initially.
What about a free-form text input that allows the user to insert any number and some JavaScript that makes sure the number supplied is acceptable (e.g., in range)?

Would a drop-down be better? The drop-down may grow to a very large size, but it will take up less space initially.

If the number of proposed items are something we can count on our fingers then radio buttons save an extra click and have all the options visible without any efforts, but when items grow more than a handful then dropdown is the way to go.

What about a free-form text input that allows the user to insert any number and some JavaScript that makes sure the number supplied is acceptable (e.g., in range)?

I think those numbers are proposed by the algorithm as potential good breakpoints, so a free-form entry will not be a good idea.

The upper bound of number of options is not apparent without more insights into the code. Perhaps @dhruv282 or @a-mabe can provide some info on the upper bound of options here.
Radios or a dropdown are good for a few options but dropdowns, too, have their limits. In Mink, above 100-ish mementos, I move from dropdown to Miller columns, albeit, it's with temporal data, which lends itself to sorting this day, unlike a list of numbers (here).
Given they are a predefined set that are not simply enumeration, freeform entry might not work as expected.

Radios or a dropdown are good for a few options but dropdowns, too, have their limits. In Mink, above 100-ish mementos, I move from dropdown to Miller columns, albeit, it's with temporal data, which lends itself to sorting this day, unlike a list of numbers (here).

Miller columns are applicable to hierarchical data. Another common UI that was being used for large lists was called combo-box. It was not a native element, but various JS UI libraries introduced it. It is a combination of free-form text input with the appearance of a dropdown list. One can either select an item from the list, or simply type something to filter the list smaller (something like search suggestions). The use case was so common that HTML5 introduced something called a datalist, which is a native way of suggesting potential options to an input field. This does not prevent people from entering data in the input field that is not in the datalist though.
That said, in this particular case if the upper bound is small enough then radio buttons will be a good option otherwise dropdowns.

The upper bound for the number of options is 10 but there could be only one option in some cases. I believe this is why Maheedhar implemented these radio buttons initially.
I think @machawk1's suggestion below of adding a label would be beneficial.

THUMBNAILS TO GENERATE
[ 14 ] [ 8 ] [ 7 ] [ 5 ] [ 4 ] [ Generate ]

If max options are ten, but most of the time it is below five or six then I would go with the radio button UI. However, I think a dropdown list will be much more consistent when it comes to screen real estate. Situations when there will be only one option given, I would perhaps hide the UI of selection, but if for the consistency sake we want to keep the element in the UI then I think a dropdown would be the least confusing option.


merge fails in workflow tutorial step 5 after split of roles and resp. parties

Describe the bug
merge is failing to merge roles.* or responsible-parties.* after split
To Reproduce
In the workflow tutorial step 5 the following steps are taken:

cd metadata
trestle split -f ./roles.json -e 'roles.*'
trestle split -f ./responsible-parties.json -e 'responsible-parties.*'

This all works as intended, but the reversal step fails:

trestle merge -e 'roles.*,responsible-parties.*'

The error is: WARNING:root:'roles.json' is not in the subpath of 'C:\\tmp\\test2' OR one path is relative and the other is absolute.
This warning also happens if you do either roles.* or responsible-parties.* individually.
Expected behavior
It should have reversed the split
Environment

OS: Windows, but I don't think it is a windows issue

I cannot reproduce this on a mac at this stage. I can try in a windows VM as required.
The following command chain (that should work across platforms worked for me. If you can test with this on windows please let me know if you have issues.
rm -rf test_trestle
mkdir test_trestle
cd test_trestle
trestle init
trestle import -f REPLACE_ME/NIST_SP-800-53_rev5_catalog.json -o mycatalog
cd catalogs/mycatalog
trestle split -f ./catalog.json -e 'catalog.metadata,catalog.groups,catalog.back-matter'

trestle merge -e 'catalog.metadata,catalog.groups,catalog.back-matter'
trestle merge -e 'catalog.*'
trestle split -f ./catalog.json -e 'catalog.metadata,catalog.groups,catalog.back-matter'
trestle merge -e 'catalog.*'
trestle split -f ./catalog.json -e 'catalog.metadata,catalog.groups,catalog.back-matter'
cd catalog
trestle split -f ./metadata.json -e 'metadata.roles,metadata.parties,metadata.responsible-parties'
cd metadata
trestle split -f ./roles.json -e 'roles.*'
trestle split -f ./responsible-parties.json -e 'responsible-parties.*'
trestle merge -e 'roles.*,responsible-parties.*'


节点安装支持自定义hostpath

Codecov Report
Base: 62.06% // Head: 62.07% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (221df0c) compared to base (6e89d40).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #508   +/-   ##
=======================================
  Coverage   62.06%   62.07%
=======================================
  Files          92       92
  Lines        7781     7783    +2
=======================================
+ Hits         4829     4831    +2
  Misses       2170     2170
  Partials      782      782

Impacted Files
Coverage Δ

api/init.go
40.84% <100.00%> (+1.71%)
:arrow_up:

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

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


fix(forge): Fix cheatcodes not cooperating with vm.transact

Motivation
Closes #3797
Solution

Add optional inspector to commit_transaction
Add implementation for RollFork3/vm.rollFork(uint256 forkId, bytes32 transaction) (which was not implemented until now for some particular reason?)
Add tests for transact and rollFork cooperating with cheatcodes

It is evident that the Cheatcodes inspector doesn't inspect the transaction that is executed in transact since not only does vm.recordLogs not work as expected but even other cheatcodes like vm.expectCall doesn't work as expected.
I added an optional inspector to inspect the new EVM instance that the transact is run on. However, since the Cheatcodes inspector needs the Database to also implement the DatabaseExt trait, I create a new Backend database with the fork's database and pass it to the EVM.
Note that, this means that the DatabaseExt trait now depends on Backend which implements DatabaseExt itself. It is a circular dependency. Would this design be prefered or shall I move the responsibility of passing a DatabaseExt all the way up to the caller of transact?
Also, I've noticed that vm.transact doesn't revert when the transaction is supposed to revert, shall I create a separate issue for this?

thanks for looking into this

Note that, this means that the DatabaseExt trait now depends on Backend which implements DatabaseExt itself. It is a circular dependency.

While this seems to be working, I'm hesitant to move forward with this because this will eventually cause all sorts of problems.
it looks like we only need the Cheatcodes inspector though?
and since the cheatcodes triggers the transact cheatcode call, it'd be perfectly fine to pass this as inspector instead?

Yep, that makes sense! I thought that down the road other inspectors might be needed but didn't realise that it is only being called inside the Cheatcodes inspector. Changed it.
Should this inspector inspect the roll_fork_to_transaction transactions as well? Or only transact?

Should this inspector inspect the roll_fork_to_transaction transactions as well? Or only transact?

hmm not entirely sure, but I think we can start by adding it to transact only.


Add ruby 2.3 in CI

Ruby 2.3 has been released! Let's support it.
https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-released/

Done by https://github.com/dtaniwaki/paperclip-deflater/pull/9

Coverage remained the same at 100.0% when pulling d0ae38d06f3dbe8baffa96add11e10338687df6c on add-ruby-2.3-in-ci into e2bf0010c8bb11f6c51175dca41bc654ebd63dfc on master.


Problem with SSR rendering and scoped css, seems SSR doesn't set

Version
2.4.1
Reproduction link
https://github.com/Tazer/vue-hackernews-2.0/tree/ssr-css-problem
Steps to reproduce
Check my fork. What I did is to set ItemList.vue style to "scoped" <style lang="stylus" scoped> ( https://github.com/Tazer/vue-hackernews-2.0/commit/928166c6fad900b9ec171b3ae91ed27fff920a42 )
The site still looks fine and the element get the correct data-v-xxx. for example .news-list-nav
Upgrade to vue 2.4.1 the .news-list-nav won't get the data-v-xxx ( hard refresh , cause it's the server side rendering that is failing somehow. )
What is expected?
That it should work as in vue 2.3.4

What is actually happening?
The data-v-xxx aren't added on some elements and that breaks scoped styling.

This turns out to be a bug in vue-loader. Fixed in 12.2.2 / 13.0.2.


feat: issue #3589: support url signing for all valid elements in array

I guess I'm not sure if the feat or fix flag is more appropriate here.
PR fulfills these requirements

[ ] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[ ] Tests for the changes have been added/updated (for bug fixes/features) - Please see below. I'm not sure where the best place is for a test.
[ ] Docs have been added/updated (for bug fixes/features)
[ ] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[ ] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[x] Backend (Database)
[ ] Backend (API)
[ ] Frontend

Describe the reason for change
https://github.com/heartexlabs/label-studio/issues/3589 - "Support URL signing when Image tag is an array of URIs"
What does this fix?
URL-signing is not supported for an array of URIs.
What is the new behavior?
If a value in task.data is an array and each element is a URI, signed URLs will be returned for each element.
What is the current behavior?
If a value in task.data is an array and each element in a URI, signed URLs cannot be produced, and the assets (e.g. images) are not viewable in the UI.
What libraries were added/updated?
io_storages.base_models
Does this change affect performance?
It shouldn't have a noticeable affect on performance.
Does this change affect security?
No.
What alternative approaches were there?
I can't think of any. It's possible that the implementation should be moved to a different part of the code base. Pardon my lack of comprehensive knowledge here!
What feature flags were used to cover this change?
N/A
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[x] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[ ] e2e
[ ] integration
[ ] unit

I did a cursory glance but could not identify where a test should be implemented/modified. Please advise here.
Which logical domain(s) does this change affect?
This effects cloud storage assets streaming/ import storage assets.

/git merge develop

Hi @borisheartex @makseq . What's the current status here. Please let me know if there is anything I can do on my end to push this through. Thanks.

👍 🙇

@bmartel here's the issue I worked on that I mentioned in the meeting.


Launch extension: allow eventInfo to be retrieved with data elements

Expected Behaviour
Given an ACDL push like so:
window.adobeDataLayer.push({
  "event": myEvent",
  "eventInfo": { foo: "bar" }
});

Then there should be an ACDL data element type that when provided with the key eventInfo.foo, the data element returns "bar".
The Data Layer Computed State data element type is not able to read eventInfo, because eventInfo does not persist in the data layer.
Actual Behaviour
There is no such data element to retrieve eventInfo fields.
Steps to Reproduce
See "Expected Behaviour".
Platform and Version
All platforms, all versions.
Sample Code that illustrates the problem
See "Expected Behaviour".

In case it helps, I believe you can create a Custom Code data element with the following:
return event.eventInfo.foo;


Removed coveralls debug mode

Closes #979

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

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 86.168%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
380

Relevant Lines:
441

💛  - Coveralls


Event listening API

To support extensions like metrics and tracing there should be an API to subscribe to certain 'technical' events in baker.
Examples:

Interaction started/completed
Sensory event received
etc..

Closing this since it is functionally done.
Some small changes may still be required based on feedback from use cases in practice.
For these we can create separate issues.


[FFMpeg] better iOS support

If this PR updates an existing port, please uncomment and fill out this checklist:

[X] Changes comply with the maintainer guide.
[X] SHA512s are updated for each updated download.
[X] The "supports" clause reflects platforms that may be fixed by this new version.
[X] Any fixed CI baseline entries are removed from that file.
[X] Any patches that are no longer applied are deleted from the port's directory.
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

@microsoft-github-policy-service agree

At present, the version information of your commit is inconsistent with your local one:
##[error]Found the following errors:
##[error]versions/f-/ffmpeg.json(2,): error : while parsing versions for ffmpeg from version/f-/ffmpeg.json
6.1.1#1 is declared with cde9944f0f87e8bf96b08bdfd42215b1ef77e26d, but the local port has a different SHA 830c58775efe5c5e501bad472af97b064b3446bc.

--overwrite-version
After the first modification, please run ./vcpkg x-add-version portName to generate the corresponding json; for subsequent modifications of the same version, please use ./vcpkg x-add-version portName --overwrite-version to update git-tree.
maintainer guide#versioning.

@MonicaLiu0311, thanks for details, changed hash to proper one

@XITRIX , nice contribution, thanks.


Release 0.1.5 (or higher)

Thanks!
Also please consider making it into ROS Kinetic.

Kinetic requires some minor adjustments due to the switch to Qt5. That's
not a problem and has already been done on the kinetic branch, but do you
know any best practices regarding the versioning? Should I release it under
the same number if it only includes the compatibility changes and then keep
merging changes like I did it now for your PR? Or is there another way?

There's a discussion right in time for your concern. In a nutshell, I recommend to increment the minor version (in this case to make 0.2.x for Kinetic).

Incrementing the minor version seems a bit odd to me, it is meant to be
used for feature changes in the first place. Indigo/jade and kinetic
versions have the same features, they just need to be realized slightly
differently because of dependencies. This should be transparent. Also, if I
release a new feature for indigo/jade, I would either need to increment the
number twice or end up with the same as used for kinetic.
The reference posted by Tully in the discussion you suggested mentions
another option. It should be possible to use versions like "1.4.0" and
"1.4.0+kinetic". By definition, these two are incomparable and none has
precedence. If I add a new feature, I can increment both to 1.5.0. Not sure
if this is accepted in practice and works with bloom, but looks reasonable
to me.

I guess that's also a valid concern.

"1.4.0" and "1.4.0+kinetic"

I'm personally not sure if bloom supports it but I think it's worthwhile giving a shot.

While I'm curious to resolve #10 (or confirm that #10 isn't actually an issue), I'm personally craving for https://github.com/pschillinger/rqt_launchtree/pull/5 to be available via DEB.
For the version number, I think you can try making a release with 1.4.0+kinetic. bloom is rigorous enough to be bug-free so it'll tell if your format is not allowed so that you wouldn't mess up rosdistro. It's also possible, however, that bloom would pass but you would still mess, but then you just open a fix PR (ROS buildfarm maintainers are very forgiving :) ).
Only thing I should highlight is that you never want to use the same version for different package content (regardless the difference is feature/config/bugfix/whitespace/etc.) Using the same version number for different code, there won't be any way to tell from each other, which could make debugging unnecessarily harder.

Trying to release 0.1.5 right now (indigo, jade) and will continue with attempting to release 0.1.5+kinetic afterwards. Internet is really slow, but I hope it will be sufficient. Otherwise I will try to finish it by tomorrow.

Unfortunately, no luck with the +kinetic option:
catkin_pkg.package.InvalidPackage: Invalid package manifest "././package.xml": Package version "0.1.4+kinetic" does not follow version conventions
I will release it as 0.2.0 for kinetic then (same features/fixes as 0.1.5 for indigo/jade).

rqt_launchtree 0.2.0 will be in the next update of kinetic as soon as the PR is merged.


feat: trpc11, rq5, nextauth5 (sneakpeak)

Current dependencies on/for this PR:

main

PR #697   👈

This comment was auto-generated by Graphite.


RateBeer has switched to React

As a result, the search isn't working. In particular, it dynamically searches by querying https://beta.ratebeer.com/v1/api/graphql/. Unfortunately, I'm not quite sure how to authenticate, as it would be idea to use an actual API to get search data, rather than scraping the page.

Looks like you don't need to, was able to extract a sample request.
{
  "query":"query beerSearch($query: String, $order: SearchOrder, $first: Int, $after: ID) { searchResultsArr: beerSearch(query: $query, order: $order, first: $first, after: $after) { totalCount last items { beer { id name imageUrl overallScore ratingCount __typename } review { id score __typename } __typename   }   __typename } }",
  "variables":{"query":"voo pass","order":"MATCH","first":20},"operationName":"beerSearch"
}

In case the query changes in the future, what I did was:

Search for a beer using the UI search bar
Open the dev tools (Firefox) and refresh the page
Click on "Network"
Look for a POST request to https://beta.ratebeer.com/
Click on that POST (should be followed by an OPTIONS request) and in the request viewer, click on "Edit and Resend"
Copy the request body!

In case anyone stumbles upon this before I get a chance to clean everything up, you can check out the commit on my fork to see how to update searching.
Basically strip out the unicode checking (unicode URLs! what an age we live in) and iterate over the JSON response. Make sure you set the content-type header, otherwise you will get an auth error when you do the graphql query.


README: Syntax highlighting, SVG badge

This PR changes the build badges to SVG for sharper readability ✨

Thank you for the PR, I'm going to go ahead and merge it as I cannot see any reason not to.


Differences output is not predictable

Description
We should sort the differences, actually we sort diff by type but we should sort by Id too.
https://github.com/cloudskiff/driftctl/blob/main/pkg/analyser/analyzer.go#L87-L89

Not sure to understand the problem here, also differences does not have a id attribute. Can you double check @eliecharra ?

Not sure to understand the problem here, also differences does not have a id attribute. Can you double check @eliecharra ?

Differences have a Res attribute which can be sorted on TerraformType and TerraformId

3 runs and 3 un-ordered outputs:
Found resources not covered by IaC:
  aws_s3_bucket:
    - s3-bucket-1-6qaidu
    - test-resource-exposure-caxyxllsajfrzbwe
  aws_lambda_event_source_mapping:
    - Source: arn:aws:sqs:us-east-1:141177182257:queue-6qaidu.fifo Dest: arn:aws:lambda:us-east-1:141177182257:function:lk6n03-lambda-demo
[...]

2
Scanned resources:    (62)
Found resources not covered by IaC:
  aws_s3_bucket_policy:
    - test-resource-exposure-caxyxllsajfrzbwe
  aws_iam_user:
    - endgame-s3-demo
[...]

3
Scanned resources:    (62)
Found resources not covered by IaC:
  aws_iam_user:
    - endgame-s3-demo
  aws_s3_bucket_policy:
    - test-resource-exposure-caxyxllsajfrzbwe
  aws_sqs_queue:
    - https://sqs.us-east-1.amazonaws.com/141177182257/queue-6qaidu.fifo
[...]

Changed resources were well ordered though!
Found changed resources:
  - aq5211-lambda-demo (aws_lambda_function):
    ~ QualifiedArn: "arn:aws:lambda:us-east-1:141177182257:function:aq5211-lambda-demo:$LATEST" => "arn:aws:lambda:us-east-1:141177182257:function:aq5211-lambda-demo:1" (computed)
    ~ Version: "$LATEST" => "1" (computed)

only changed resources are concerned, 0.8.0 will deal with the rest.
LGTM!


Upgrade Carbon to v2.26.0

Prop 305
Height 43691091
https://scan.carbon.network/governance/proposal/305?net=main
Est Time: Tuesday, June 27, 2023 4:26 AM EST

Team just announced they are canceling upgrade and will be doing a new prop for a new binary. I'll just update this PR when they announce with new info?

 But they haven't moved the binaries beyond pre-release yet so I'll wait to update again until they do that.


[DOCS] Unfinished sentence in delta-batch.html

At the bottom of https://docs.delta.io/1.1.0/delta-batch.html#dataframe-options there is:

You can find the details of the Hadoop file system configurations for your storage in _.

Note the hanging _. No idea where it comes from but surely the sentence is not finished.

@jaceklaskowski thanks for bringing this to out attention. Looking into it.

Changes are staged for 1.2


perplexica-1.7.1-perplexica-backend errors

Describe the bug
version: v1.7.1, when build up the project with docker and report errors with perplexica-backend service
To Reproduce
Steps to reproduce the behavior:

Go to 'localhost:3000', see the "Research begins here" main page

enter a words to search , for example: "weather", Click "enter"

See error on the web page:

"Failed to connect to the server. Please try again later."
the backend service show the following errors:
info: WebSocket server started on port 3001
info: Server is running on port 3001
/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206
input: this.stripNewLines ? text.replace(/\n/g, " ") : text,
^
TypeError: Cannot read properties of undefined (reading 'replace')
at OpenAIEmbeddings.embedQuery (/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206:46)
at RunnableLambda.rerankDocs [as func] (/home/perplexica/dist/agents/webSearchAgent.js:111:24)
at /home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1385:44
at MockAsyncLocalStorage.run (/home/perplexica/node_modules/@langchain/core/dist/singletons/index.cjs:10:9)
at output (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1383:78)
at new Promise ()
at RunnableLambda._transform (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1382:30)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async LogStreamCallbackHandler.tapOutputIterable (/home/perplexica/node_modules/@langchain/core/dist/tracers/log_stream.cjs:266:26)
at async RunnableLambda._transformStreamWithConfig (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:275:30)
Node.js v20.15.1
error Command failed with exit code 1.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Screenshots
If applicable, add screenshots to help explain your problem.

Describe the bug version: v1.7.1, when build up the project with docker and report errors with perplexica-backend service To Reproduce Steps to reproduce the behavior:

Go to 'localhost:3000', see the "Research begins here" main page

3. enter a words to search , for example: "weather", Click "enter"
4. See error on the web page:
"Failed to connect to the server. Please try again later."
the backend service show the following errors: info: WebSocket server started on port 3001 info: Server is running on port 3001 /home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206 input: this.stripNewLines ? text.replace(/\n/g, " ") : text, ^
TypeError: Cannot read properties of undefined (reading 'replace') at OpenAIEmbeddings.embedQuery (/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206:46) at RunnableLambda.rerankDocs [as func] (/home/perplexica/dist/agents/webSearchAgent.js:111:24) at /home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1385:44 at MockAsyncLocalStorage.run (/home/perplexica/node_modules/@langchain/core/dist/singletons/index.cjs:10:9) at output (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1383:78) at new Promise () at RunnableLambda._transform (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1382:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async LogStreamCallbackHandler.tapOutputIterable (/home/perplexica/node_modules/@langchain/core/dist/tracers/log_stream.cjs:266:26) at async RunnableLambda._transformStreamWithConfig (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:275:30)
Node.js v20.15.1 error Command failed with exit code 1.
Expected behavior A clear and concise description of what you expected to happen.
Screenshots If applicable, add screenshots to help explain your problem.
Screenshots If applicable, add screenshots to help explain your problem.

Have you selected an embeddings model from the settings menu?

Describe the bug version: v1.7.1, when build up the project with docker and report errors with perplexica-backend service To Reproduce Steps to reproduce the behavior:

Go to 'localhost:3000', see the "Research begins here" main page

3. enter a words to search , for example: "weather", Click "enter"
4. See error on the web page:
"Failed to connect to the server. Please try again later."
the backend service show the following errors: info: WebSocket server started on port 3001 info: Server is running on port 3001 /home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206 input: this.stripNewLines ? text.replace(/\n/g, " ") : text, ^
TypeError: Cannot read properties of undefined (reading 'replace') at OpenAIEmbeddings.embedQuery (/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206:46) at RunnableLambda.rerankDocs [as func] (/home/perplexica/dist/agents/webSearchAgent.js:111:24) at /home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1385:44 at MockAsyncLocalStorage.run (/home/perplexica/node_modules/@langchain/core/dist/singletons/index.cjs:10:9) at output (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1383:78) at new Promise () at RunnableLambda._transform (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1382:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async LogStreamCallbackHandler.tapOutputIterable (/home/perplexica/node_modules/@langchain/core/dist/tracers/log_stream.cjs:266:26) at async RunnableLambda._transformStreamWithConfig (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:275:30)
Node.js v20.15.1 error Command failed with exit code 1.
**Expected behavior** A clear and concise description of what you expected to happen.
**Screenshots** If applicable, add screenshots to help explain your problem.
**Screenshots** If applicable, add screenshots to help explain your problem.

Have you selected an embeddings model from the settings menu?

yes, see the screenshots:

Describe the bug version: v1.7.1, when build up the project with docker and report errors with perplexica-backend service To Reproduce Steps to reproduce the behavior:

Go to 'localhost:3000', see the "Research begins here" main page

3. enter a words to search , for example: "weather", Click "enter"
4. See error on the web page:
"Failed to connect to the server. Please try again later."
the backend service show the following errors: info: WebSocket server started on port 3001 info: Server is running on port 3001 /home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206 input: this.stripNewLines ? text.replace(/\n/g, " ") : text, ^
TypeError: Cannot read properties of undefined (reading 'replace') at OpenAIEmbeddings.embedQuery (/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206:46) at RunnableLambda.rerankDocs [as func] (/home/perplexica/dist/agents/webSearchAgent.js:111:24) at /home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1385:44 at MockAsyncLocalStorage.run (/home/perplexica/node_modules/@langchain/core/dist/singletons/index.cjs:10:9) at output (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1383:78) at new Promise () at RunnableLambda._transform (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1382:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async LogStreamCallbackHandler.tapOutputIterable (/home/perplexica/node_modules/@langchain/core/dist/tracers/log_stream.cjs:266:26) at async RunnableLambda._transformStreamWithConfig (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:275:30)
Node.js v20.15.1 error Command failed with exit code 1.
**Expected behavior** A clear and concise description of what you expected to happen.
**Screenshots** If applicable, add screenshots to help explain your problem.
**Screenshots** If applicable, add screenshots to help explain your problem.

Have you selected an embeddings model from the settings menu?

yes, see the screenshots:

OpenAI doesn't has a BGE-M3 model, can you click on the embedding model provider select and select the provider again or change it and save the changes to see if it works

Describe the bug version: v1.7.1, when build up the project with docker and report errors with perplexica-backend service To Reproduce Steps to reproduce the behavior:

Go to 'localhost:3000', see the "Research begins here" main page

3. enter a words to search , for example: "weather", Click "enter"
4. See error on the web page:
"Failed to connect to the server. Please try again later."
the backend service show the following errors: info: WebSocket server started on port 3001 info: Server is running on port 3001 /home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206 input: this.stripNewLines ? text.replace(/\n/g, " ") : text, ^
TypeError: Cannot read properties of undefined (reading 'replace') at OpenAIEmbeddings.embedQuery (/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206:46) at RunnableLambda.rerankDocs [as func] (/home/perplexica/dist/agents/webSearchAgent.js:111:24) at /home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1385:44 at MockAsyncLocalStorage.run (/home/perplexica/node_modules/@langchain/core/dist/singletons/index.cjs:10:9) at output (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1383:78) at new Promise () at RunnableLambda._transform (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1382:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async LogStreamCallbackHandler.tapOutputIterable (/home/perplexica/node_modules/@langchain/core/dist/tracers/log_stream.cjs:266:26) at async RunnableLambda._transformStreamWithConfig (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:275:30)
Node.js v20.15.1 error Command failed with exit code 1.
**Expected behavior** A clear and concise description of what you expected to happen.
**Screenshots** If applicable, add screenshots to help explain your problem.
**Screenshots** If applicable, add screenshots to help explain your problem.

Have you selected an embeddings model from the settings menu?

yes, see the screenshots:

OpenAI doesn't has a BGE-M3 model, can you click on the embedding model provider select and select the provider again or change it and save the changes to see if it works

I have change the constant loadOpenAIEmbeddingsModels  using a local model proxy in file openai.ts. see the screenshot:

reopen

Describe the bug version: v1.7.1, when build up the project with docker and report errors with perplexica-backend service To Reproduce Steps to reproduce the behavior:

Go to 'localhost:3000', see the "Research begins here" main page

3. enter a words to search , for example: "weather", Click "enter"
4. See error on the web page:
"Failed to connect to the server. Please try again later."
the backend service show the following errors: info: WebSocket server started on port 3001 info: Server is running on port 3001 /home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206 input: this.stripNewLines ? text.replace(/\n/g, " ") : text, ^
TypeError: Cannot read properties of undefined (reading 'replace') at OpenAIEmbeddings.embedQuery (/home/perplexica/node_modules/@langchain/openai/dist/embeddings.cjs:206:46) at RunnableLambda.rerankDocs [as func] (/home/perplexica/dist/agents/webSearchAgent.js:111:24) at /home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1385:44 at MockAsyncLocalStorage.run (/home/perplexica/node_modules/@langchain/core/dist/singletons/index.cjs:10:9) at output (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1383:78) at new Promise () at RunnableLambda._transform (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:1382:30) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async LogStreamCallbackHandler.tapOutputIterable (/home/perplexica/node_modules/@langchain/core/dist/tracers/log_stream.cjs:266:26) at async RunnableLambda._transformStreamWithConfig (/home/perplexica/node_modules/@langchain/core/dist/runnables/base.cjs:275:30)
Node.js v20.15.1 error Command failed with exit code 1.
**Expected behavior** A clear and concise description of what you expected to happen.
**Screenshots** If applicable, add screenshots to help explain your problem.
**Screenshots** If applicable, add screenshots to help explain your problem.

Have you selected an embeddings model from the settings menu?

yes, see the screenshots:

OpenAI doesn't has a BGE-M3 model, can you click on the embedding model provider select and select the provider again or change it and save the changes to see if it works

I have change the constant loadOpenAIEmbeddingsModels using a local model proxy in file openai.ts. see the screenshot:

Sorry, we can't provide support for that as we don't support custom embedding models yet.


xklb: init at 3.0.024

Description of changes
80+ CLI tools to build, browse, and blend your media library: an index for your archive.
https://github.com/chapmanjacobd/library
https://github.com/NixOS/nixpkgs/issues/331227

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[x] 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

[x] Fits CONTRIBUTING.md.

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

need package https://github.com/dleemiller/WordLlama


[HUDI-8566] Test coverage of default hoodie avro payload class for MIT

Change Logs
add tests
Impact
More coverage for MIT with default payload behavior.
Risk level (write none, low medium or high below)
none
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change. If not, put "none".

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@Davis-Zhang-Onehouse you expecting this PR to fail?  CI seems to be failing


Kingdom Come Deliverance not starting

Bug Description
Kingdom Come Deliverance does not start via Playnite. The splash screen displays but then closes. I have to start the game via GOG Galaxy to play it.
To Reproduce
No response
Diagnostics ID
73494eaf-9f93-4a38-bbe7-91ad5c66e2a8
Screenshots
No response

Pretty much confirmed it's game issue according to this post: https://www.gog.com/forum/kingdom_come_deliverance/game_will_not_launch_from_the_exe


PhantomJS errors during 'grunt test'

After npm install, I ran into this issue
$ grunt test
Running "browserify:tests" (browserify) task
>> Bundle build/editor.spec.js created.

Running "jshint:dist" (jshint) task
>> 9 files lint free.

Running "jshint:test" (jshint) task
>> 7 files lint free.

Running "karma:continous" (karma) task
INFO [karma]: Karma v0.12.37 server started at http://localhost:8080/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket 4nCswkj99XcDPqfMO15e with id 4897509
PhantomJS 1.9.8 (Mac OS X 0.0.0) Article should return the json model FAILED
	Expected Object({ sections: [ Object({ paragraphs: [ Object({ name: '12', text: '', paragraphType: 'p', formats: [  ] }) ] }) ] }) to equal Object({ sections: [ Object({ paragraphs: [ Object({ text: '', name: '12', paragraphType: 'p' }) ] }) ] }).
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3669
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor should initialize listeners on initilaization FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3805
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should handle Enter key FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3828
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should handle backspace key FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3884
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should handle delete key FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3925
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should remove selected text when backspace FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3966
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should remove selected text when typing character FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4000
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should not remove selected text when non-changing key FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4033
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handleKeyDownEvent should undo/redo FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4066
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.handlePaste should call processPastedContent FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4093
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.processPastedContent should generate single operation for inline content FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4107
PhantomJS 1.9.8 (Mac OS X 0.0.0) Editor Editor.processPastedContent should generate proper operations when pasting multi-line FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.handleKeyDownEvent.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:2108
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:367
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4121
PhantomJS 1.9.8 (Mac OS X 0.0.0) Paragraph should return the json model FAILED
	Expected Object({ name: '1234', text: 'hello', paragraphType: 'p', formats: [  ] }) to equal Object({ name: '1234', text: 'hello', paragraphType: 'p' }).
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4205
PhantomJS 1.9.8 (Mac OS X 0.0.0) Section should return a json model FAILED
	Expected Object({ paragraphs: [ Object({ name: '12', text: '', paragraphType: 'p', formats: [  ] }), Object({ name: '23', text: 'Hello p1', paragraphType: 'p', formats: [  ] }) ] }) to equal Object({ paragraphs: [ Object({ text: '', name: '12', paragraphType: 'p' }), Object({ text: 'Hello p1', name: '23', paragraphType: 'p' }) ] }).
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4283
PhantomJS 1.9.8 (Mac OS X 0.0.0) Selection should initialize event listeners FAILED
	TypeError: 'undefined' is not a function (evaluating 'this.updateSelectionFromWindow.bind(this)')
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:3348
	    at /Users/saada/HackHackHack/Projects/manshar/editor/build/editor.spec.js:4349
PhantomJS 1.9.8 (Mac OS X 0.0.0): Executed 42 of 42 (15 FAILED) (0.026 secs / 0.014 secs)
Warning: Task "karma:continous" failed. Use --force to continue.

Aborted due to warnings.

Is there a special way to setup PhantomJS?

Thanks for filing @saada, yes the tests currently are broken, will be fixing them soon.

Closing this thanks to @saadshahd :+1:


ITK install fails

The machine setup: I'm using Windows 10 Anniversary Update.
The steps to reproduce: run vcpkg install itk
The outcome you expected: Install successful
The actual outcome: Install fails due to CMake error
Here is the error log:
Starting package 8/8: itk:x86-windows
Building package itk[core]:x86-windows...
-- CURRENT_INSTALLED_DIR=C:/vcpkg/installed/x86-windows
-- DOWNLOADS=C:/vcpkg/downloads
-- CURRENT_PACKAGES_DIR=C:/vcpkg/packages/itk_x86-windows
-- CURRENT_BUILDTREES_DIR=C:/vcpkg/buildtrees/itk
-- CURRENT_PORT_DIR=C:/vcpkg/ports/itk/.
-- Downloading https://github.com/InsightSoftwareConsortium/ITK/archive/d92873e33e8a54e933e445b92151191f02feab42.tar.gz...
-- Downloading https://github.com/InsightSoftwareConsortium/ITK/archive/d92873e33e8a54e933e445b92151191f02feab42.tar.gz... OK
-- Testing integrity of downloaded file...
-- Testing integrity of downloaded file... OK
-- Extracting source C:/vcpkg/downloads/InsightSoftwareConsortium-ITK-d92873e33e8a54e933e445b92151191f02feab42.tar.gz
-- Extracting done
-- Configuring x86-windows
CMake Error at C:/vcpkg/scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
Command failed: ninja;-v
Working Directory: C:/vcpkg/buildtrees/itk/x86-windows-rel/vcpkg-parallel-configure
See logs for more information:
C:\vcpkg\buildtrees\itk\config-x86-windows-out.log
Call Stack (most recent call first):
C:/vcpkg/scripts/cmake/vcpkg_configure_cmake.cmake:235 (vcpkg_execute_required_process)
C:/vcpkg/ports/itk/portfile.cmake:15 (vcpkg_configure_cmake)
C:/vcpkg/scripts/ports.cmake:72 (include)
Error: Building package itk:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: itk:x86-windows
Vcpkg version: 0.0.106-2018-03-22-637c9bc0f012e402f5cff5e5f9ac1ca993f89ab8

It helps a lot if you can provide C:\vcpkg\buildtrees\itk\config-x86-windows-out.log

Hi, I've attached that file to this reply.
config-x86-windows-out.log

Same things here. VS2015, ActiveState perl 5.26.1.
Clean "git clone" directly followed by a "vcpkg install itk".
config-x86-windows-out.log

-- Found ZLIB: optimized;D:/Dev/vcpkg/installed/x86-windows/lib/zlib.lib;debug;D:/Dev/vcpkg/installed/x86-windows/debug/lib/zlibd.lib (found version "1.2.11")
-- Found PNG: optimized;D:/Dev/vcpkg/installed/x86-windows/lib/libpng16.lib;debug;D:/Dev/vcpkg/installed/x86-windows/debug/lib/libpng16d.lib (found version "1.6.34")
-- Found Perl: C:/Perl64/bin/perl.exe (found version "5.26.1")
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Dev/vcpkg/buildtrees/itk/x86-windows-dbg
ninja: build stopped: subcommand failed.

After toying around, the git clone of ITKSTLMeshIO might fail due to long path names (one or two d92873e33e8a54e933e445b92151191f02feab42 killing the path length limit).
Not sure about it.

In the end, i had to disable all "cloned" modules in the portfile, and compile with VS2017.

The issue #3684 might be related to this. After searching around for a bit, it might be useful to try the following to increase the MAX_PATH length on Windows:
https://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath

I have had the same issue, but I can build successfully after adding DISABLE_PARALLEL_CONFIGURE as a parameter of vcpkg_configure_cmake.

Adding DISABLE_PARALLEL_CONFIGURE to vcpkg_configure_cmake macro in portfile.cmake also fixes this issue for me. Should we make this the default for the ITK portfile?

I believe this is an acceptable fix to this problem.

I opened PR #3896 for this issue.

Hi @phueac, thanks for posting this issue. It should be fixed now. I can install it successfully on my machine with the latest vcpkg. Please feel free to reopen it or open a new issue.
@dzenanz, thanks for your PR.


Removes the need for CSS and parses Stylus directly

Closes #44

Coverage remained the same at 100.0% when pulling a76cf82ba234b8c9d3ae025ab248340ac0865a9a on feature/stylus-parsing into 74f2335c921e9ca0d3969e8fd377a73ffbbc94d6 on master.


fix: ensure bundlers pick up esm version

up until the addition of "exports", bundlers found the root "module" field and resolved the the esm version.
this change fixes a regression from https://github.com/microsoft/vscode-languageserver-node/pull/1297 where cjs browser consumers now get resolved to the umd, getting a warning about dynamic require.

@aeschli Martin, can you please have a look.

This is easier to review if u ignore the whitespace changes: https://github.com/microsoft/vscode-languageserver-node/pull/1326/files?diff=unified&w=1

The change makes sens, but please revert the indentation changes...

done. :+1:

IMO it’s a good thing there is no distinction between usage in the browser and other platforms. This could open up another set of issues.
I recommend against merging this. However, I do recommend to change the UMD bundle to a regular CJS bundle. That will also make the warning go away.

Either way works for us. If it won't point to a umd, the warning would go away.
That being said, esm allows for better tree shaking, which might be preferable for browser builds.

This change basically says: If the browser condition is set, require('vscode-languageserver-types') call should resolve to an ESM file. So for example:
node --conditions browser --test

// test.js
// This is an error when the browser condition is used
const types = require('vscode-languageserver-types')

This is just one example. I’m not sure how different bundlers and test runners deal with this.

Both webpack and esbuild set this condition on their resolvers when targeting browser bundles. My team already saw several npm packages using this out there in the wild.
Not being able to run in node with --conditions browser set seems fine to me. I mean... it would also break if I use --conditions types, as these are used to point to .d.ts files.
We use these conditions to address special cases. Forcing those custom conditions in cases that work OOTB (e.g. node as-is) doesn't seem logical to me.
If this package was built to both esm and cjs, this "browser" condition could have had nested conditions under it, providing import/require targets which are bundle-compatible (without any dynamic require usage). That wouldn't necessarily mean we would be able to use --conditions browser in node, as many other npm packages don't provide both targets under the "browser" condition.

Both webpack and esbuild set this condition on their resolvers when targeting browser bundles. My team already saw several npm packages using this out there in the wild.

I think it’s very useful to be able to do this. This allows to provide different implementations when targeting a browser or Node.js. For example, the browser entry point may be able to use the DOM, or the Node.js might use Node-only APIs. I don’t think it’s a good idea to use this to force require to resolve resolve to ESM files.

Not being able to run in node with --conditions browser set seems fine to me. I mean... it would also break if I use --conditions types, as these are used to point to .d.ts files.
We use these conditions to address special cases. Forcing those custom conditions in cases that work OOTB (e.g. node as-is) doesn't seem logical to me.

The browser condition and the types condition are not the same thing. The node --conditions types deliberately breaks the program. Running node --conditions browser has an actual use: To test browser code using Node.js, i.e. leveraring jsdom and the Node.js test runner.

If this package was built to both esm and cjs, this "browser" condition could have had nested conditions under it, providing import/require targets which are bundle-compatible (without any dynamic require usage). That wouldn't necessarily mean we would be able to use --conditions browser in node, as many other npm packages don't provide both targets under the "browser" condition.

Yes, it would be possible to triple-publish ESM for ESM supporting targets, CJS for bundlers, and UMD for Node.js. I don’t think anyone would want to go into that direction though.

Note that the current behaviour isn’t broken. The bundler correctly resolves from CJS to the CJS file, which happens to be a UMD file. The bundler now shows a warning, not an error.
How are you pulling in the vscode-languageserver-types dependency? Most of the VSCode client libraries have related issues, but solving it starts at the most low-level packages such as this one. https://github.com/microsoft/vscode/issues/192144

We're directly importing it in our code, using it for integrations with monaco and vscode.
So your suggestion is to keep the new warning? In our case, it is the only warning during build of over 500 deps.
I find that is very odd, just to allow running node --conditions browser, which is not really used by anyone nor this project.
I think this should land as-is. The argument for not doing so is not compelling enough IMO.

This means you are consuming the imports from a faux ESM context. The solution is to switch to real ESM. Bundlers treat this pretty well nowadays, which is exactly the reason it’s resolving to the CJS entrypoint for you.
If you wish to use ESM, you should either

specify "type": "module" in your package.json; or
rename your .js files to .mjs and your .ts files to .mts.

Note that using a bundler doesn’t mean the same as targeting a browser. Your use case is a good example of this. You’re bundling a VSCode plugin, which I imagine targets Node.js, not the browser.

The reality is that we have a commonjs consumer that gets bundled. Changing it to native esm isn't easy. We're talking about huge projects with numerous integrations. We're talking node, electron (renderer and main), web worker, worker thread, you name it.
I mean, we're working on it, but both TypeScript and node leave a lot to be desired when migrating large projects.
Using "type": "module", for example, causes typescript to misbehave in commonjs consumers with moduleResolution: "node16"/"bundler" set. It warns about packages being esm-only, even though they have a "require" condition for their main entrypoint.

We go with
{
	"exports": {
		".": {
			"browser": "./lib/esm/main.js",
			"import": "./lib/esm/main.js",
			"default": "./lib/umd/main.js"
		}
	},
}

for now which is equivalent to what we had before when w had the module and browser entry points.
If node --conditions browser becomes popular and we get more requests, we can still consider looking at 2.

It sounds like what the OP is really looking for, is to always resolve to ESM, even from CJS. If you want this, the bundler should be configured to use the import condition, not the browser condition. This isn’t just about vscode-languageserver-types, it’s about all of their dual-published dependencies.

Using "type": "module", for example, causes typescript to misbehave in commonjs consumers with moduleResolution: "node16"/"bundler" set. It warns about hybrid packages being esm-only, even though they have a "require" condition for their main entrypoint.

TypeScript is really correct about this nowadays. If it warns about hybrid packages being esm-only, that means those packages are misconfigured. I know there are still a lot of misconfigured packages out there, and I’m trying to fix as much as possible all around the ecosystem. That’s one reason why I fixed it for vscode-languageserver-types and why I oppose the changes in this PR.

@remcohaszing Thanks so much for your input, Very happy to have your expertise (even if I ignored it this time). To quickly get unblocked we're going with (1.) for now as the existing build scripts for the web extensions that are currently broken.
Would it have made sense to keep the browser entry point?

I understand you need to make some pragmatic choices. I fear this change will cause more issues, because it’s technically incorrect. I hope it won’t be as bad, I find this hard to predict.
Dual packaging comes with a lot of quirks. I think a huge amount of issues would already be solved if we can get rid of all UMD bundles.
I think the browser field is almost as bad as the browser export. Although browser usage pretty much implies a bundler is used, bundling doesn’t imply the code is built for the browser.


feat: wasm32-unknown-unknown support

Drive-by closes #77
This replaces task-local-extensions with http's extensions, as http was already in the dependency closure anyway and the other features of task-local-extensions (that required an incompatible-with-wasm part of tokio) were not used anyway.
I tried it out in the project that triggered this PR, and it seems to work perfectly fine!

Thanks for the PR! I had the same idea about http extensions in #77.
The extra wasm support code is definitely interesting. It's going to take me a bit to review it as I'm not an expert in wasm and reqwest

:+1: To explain the wasm-related changes:

task-local-extensions requires tokio with the rt feature, which does not support the wasm async runtime
reqwest does not support the timeout function on wasm32, so I'm just cfg-ing it out
reqwest futures are not Send on wasm32, but wasm32 has a single thread anyway so we can just make the async-trait and BoxFuture !Send on wasm32
reqwest on wasm does not depend on hyper (which does not support wasm anyway), so I'm cfg-ing out the workaround for a reqwest limitation that requires a direct dependency on hyper from reqwest-middleware
tokio::time does not support wasm, so I'm using wasm-timer
reqwest on wasm32 does not have .is_connect() for the Error, so I'm cfg-ing the call out too (this is arguably an issue in reqwest upstream, that should have an is_connect() that always returns false)

Hopefully it can make the code review easier! :)

Yeah, code wise I'm happy. I'm still going to have a think about future abstractions. Since this is a breaking change because it replaces the extensions type. Perhaps we could modify task-local-extensions to be a wrapper around http::Extensions and support wasm32 and be fully compatible
Maintenance wise, I'd like a way to test it to ensure we don't break things in future by forgetting attributes. Do you think you could come up with a mechanism to compile and run our tests on wasm in github CI?

Makes sense, please let me know what your conclusions are about http::Extensions and task_local_extensions!
As for testing on wasm in github CI, unfortunately wasm-timer only supports wasm32-unknown-unknown (with web_sys support) and not wasm32-wasi (which is a very different platform). And widespread testing tools only support wasm32-wasi for now, which makes sense as otherwise one needs to actually spawn a browser to run tests. (To be precise, the webassembly-test crate can run tests for wasm32-unknown-unknown… but does not actually run them inside a browser)
So the best bet to run tests would I think be to use fantoccini and geckodriver to run a compiled-to-wasm version of the tests for this crate; maybe using webassembly-test to at least be able to reuse some infra of making it a test runner.
However, considering the small amount of code that is wasm32-specific after this PR, I don't think this is worth it, as the resulting codebase would probably end up larger than all of reqwest-middleware.
So maybe it'd make sense to just have CI compile to wasm32-unknown-unknown, and check that no regressions are made there? I've just added a commit that does that :)


Why my publisher always disconnected on it's own?

I'm using:
adobe flash media live encoder for publisher format h264, 60 fps
AWS ec2 c3.xlarge for nginx-rtmp server
input rtmp output hls
publisher always disconnected on it's own, i see that on http://myserver.com:3000/stat
3 minutes publish and the live streams will disappear
on flash media live encoder it still streaming but disappear on stat
help me please sorry for bad english

Probably you are using more than 1 worker on the nginx-rtmp server nginx configuration, that lead you into these kind of stat errors.
See this page: http://nginx-rtmp.blogspot.com.ar/2013/06/multi-worker-statistics-and-control.html

I using worker_processes  auto;
is this multi worker?
what I must change?

Sorry  I sukianto wrong github id

Ok, worker fixed thank you morgansson, last question, Im using ffmpeg for generating thumbnail, codec Im sending to nginx-rtmp is h264, why always error? it said
RTMP_ReadPacket, failed to read RTMP packet header
Invalid data found when processing input
Thank you so much for your information about worker

Im using this command:
ffmpeg -re -i rtmp://xx.xxx.xxx.xxx:1935/mytv/test1 -vcodec png -vframes 1 -an -f rawvideo -y test1.png


Flow Router SSR: Server error in a route when use NPM React components

Hi, first at all, thank you for this fantastic router it's a must in my toolbox
I'm trying to make an app with Meteor and React for this i'm using Flow Router, ReactLayout, Meteorhacks:npm whith Cosmos:Browserify all of them with the Meteor's React instance. All is ok in the client. But when i try to access to a route, for example, /login, directly from the browser's navigation bar in the client the page render perfect, but the server throws me this error:
W20151026-22:27:48.181(1)? (STDERR) Error when doing SSR. path: /login   Invariant Violation: RenderForm.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.
W20151026-22:27:48.187(1)? (STDERR)     at invariant (packages/react-runtime-dev/react.browserify.js:20537:1)
W20151026-22:27:48.188(1)? (STDERR)     at [object Object].wrapper [as _renderValidatedComponent] (packages/react-runtime-dev/react.browserify.js:13941:1)
W20151026-22:27:48.188(1)? (STDERR)     at [object Object].ReactCompositeComponentMixin.mountComponent (packages/react-runtime-dev/react.browserify.js:6813:1)
W20151026-22:27:48.188(1)? (STDERR)     at [object Object].ReactCompositeComponentMixin._renderValidatedComponent (packages/react-runtime-dev/react.browserify.js:7397:1)
W20151026-22:27:48.189(1)? (STDERR)     at [object Object].wrapper [as mountComponent] (packages/react-runtime-dev/react.browserify.js:13941:1)
W20151026-22:27:48.189(1)? (STDERR)     at Object.ReactReconciler.mountComponent (packages/react-runtime-dev/react.browserify.js:14758:1)
W20151026-22:27:48.189(1)? (STDERR)     at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (packages/react-runtime-dev/react.browserify.js:13411:1)
W20151026-22:27:48.193(1)? (STDERR)     at ReactDOMComponent.Mixin._createContentMarkup (packages/react-runtime-dev/react.browserify.js:7956:1)
W20151026-22:27:48.194(1)? (STDERR)     at ReactDOMComponent.Mixin.mountComponent (packages/react-runtime-dev/react.browserify.js:7866:1)
W20151026-22:27:48.199(1)? (STDERR)     at Object.ReactReconciler.mountComponent (packages/react-runtime-dev/react.browserify.js:14758:1)
W20151026-22:27:48.185(1)? (STDERR) Error: Invariant Violation: RenderForm.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.

I think that this error is related with the React instance, beacause the router uses the Meteor's instance and the NPM uses the dependency instance, i believe... but I am not able to resolve this error.
Thank you, I'm sorry about my horrible english

So, you are getting a React component as a NPM module and use it for the SSR. I can see the problem. I assume Cosmos:Browserify does not push components to the server side.
I need to confirm it with the Cosmos:Browserify team. Let' see.

Just some ideas. try to put your *.browserify.js file inside a place it's viewable for the both client and server. Then it may work. Anyway, it's a good idea to build a producible repo.

You're right, the intent of cosmos:browserify is to push things to the client because when using an NPM module on the server side you don't need to browserify it. You can use Npm.require() to get it (or Meteor.npmRequire() in the app with meteorhacks:npm).
However, if you want to use your browserify file to do the requiring for both your client and server scope then you can put your app.browserify.js file in a place for both client and server scopes, such as lib/, instead of client/, and it will be loaded for both the client and server. Then server files can reference the variables the same way the client does.

And it's possible to have multiple *.browserify.js files right?

Sorry if this post is off-topic. I just updated to Meteor 1.2.1 and noted that FlowRouter specifies cosmos:browserify 0.5.1 as a dependency. However, the Browersify readme states that for Meteor 1.2 you must use Browserify 0.8.0+

Thank you Arunoda and Elidoran, I already have the *.browserify.js in the lib folder, and the error is still there.
I made a repo that reproduce the error, I hope help you with it SSR-NPM-Error
I think that the error is related with the React instance that is used with the NPM packages, I think that two diferent instances of React are used

Sorry, I didn't explain the repo's example, it has two routes:

The root route (/) is an example route without NPM modules
The test route (/test) have a NPM module

If you visit the /test route writing the route in the browser's address bar the server throws the error in the console but in the client it renders perfectly.

Any updates on this?


Change luau.tmLanguage.json library function pattern name to support.function.library.luau

In my color theme (Atom One Dark), this would greatly help discern between keywords and library functions:

Lua
Luau

Some color themes are better at making this difference noticeable, like default Dark+:

Lua
Luau

And some others are not, like Material Darker:

Lua
Luau

or VS Dark:

Lua
Luau

I wrote this in consideration of the vscode repository's existing Lua syntax highlighter (L234-237):
{
	"match": "(?<![^.]\\.|:)\\b(coroutine\\.(create|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(concat|insert|maxn|remove|sort)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(cpath|loaded|loadlib|path|preload|seeall)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|traceback))\\b(?=\\s*(?:[({\"']|\\[\\[))",
	"name": "support.function.library.lua"
},

It would also help to use constant highlighting for math.pi and math.huge like vscode repo does (L222-225), or just remove it altogether:
{
	"match": "(?<![^.]\\.|:)\\b(false|nil|true|_G|_VERSION|math\\.(pi|huge))\\b|(?<![.])\\.{3}(?!\\.)",
	"name": "constant.language.lua"
},

Although I would probably make the name of those two constant patterns support.constant.luau.

Will look into better support for other themes.


feat: Add GitHub Action for workflow dispatch to trigger semantic releases

Applies changes from the template project to this project (https://github.com/equinix-labs/terraform-equinix-template/pull/21) to add a release trigger to GH Actions.
There were no other changes in .github/workflows.
We may want to consider these open issues first:

https://github.com/equinix-labs/terraform-equinix-template/issues/23
https://github.com/equinix-labs/terraform-equinix-template/issues/22

@displague Thank you! Do we want this to be run on every merge against main branch? It is set to manual in the commit, and this topic is still up for discussion in the open issued mentioned above.


Colspan + rowspan documentation is wrong?

The documentation says to use colspanx(2)(rowspanx(2)[d]) to set colspan and rowspan at the same time.
Is this a typo? The following gives a Missing argument: content error.
#tablex(
  columns: 3,
  [a], [b], [c],
  colspanx(2)(rowspanx(2)[d])
)

Should it say colspanx(2, rowspanx(2)[d])? This works.
#tablex(
  columns: 3,
  [a], [b], [c],
  colspanx(2, rowspanx(2)[d])
)

Yep, it was a typo. Will now be fixed in the next release's README. Thanks!


dev_re merge back to main again (2)

I updated the Base and Data Model libraries and added Domain Logic and Functions libraries.

Good morning, Ryan,
It is impressive that you did the Base and Data Model libraries and added
Domain Logic and Functions libraries.
Best,
Veronica
On Mon, Nov 22, 2021 at 5:55 AM rehrenreich @.***>
wrote:

Merged #4 https://github.com/vkehren/open-personal-archive/pull/4 into
main.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vkehren/open-personal-archive/pull/4#event-5654114966,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWJZFCDKPXQ5QH7WT4QKGZTUNJDVDANCNFSM5IRBCZDQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Increment Version

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/43276
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.8.0 -m "<description of version>" f0cfede0d9e45fe80f6a26104247d306c8620b3e
git push origin v0.8.0


Swedish abbreviations for speed

The Swedish abbreviation for speed is km/tim (even if km/h often is used) but NOT kmh

Thanks!


Revert "Replace :pending test tag with idiomatic :skip tag"

This reverts commit 2ae55a4723089984bf02c7e50a01e8ce97ca7e3c.
I'm sorry to say that we missed the fact that tests marked with skip are not being run despite configuring CI to include them. I have re-created this behavior in a plain elixir app. As far as I can tell there is no way to un-skip tests marked with skip. This seems to be a bug in ExUnit. I'm reverting this change until ExUnit changes or until we find a way to include these tests.
This was good lesson for me to carefully check the build whenever we make sweeping changes to how tests are run. 😞

Merged immediately as our tests are currently not running in CI.


https://render-tron.appspot.com/ got internal server error

i tried to take screenshot but got internal server error and this is the link that i want to take screenshot
[https://www.thesaurus.com/browse/immediately]

I get this from Avast
Site Blocked - URL:Phishing

i didn't understand which platform you tried in,  could you explain more?

That was a false positive and should no longer be the case. If the issue persists, please reopen the issue.


Broken array request param.

What Ruby, Rails and RSpec versions are you using?
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]
Rails <IP_ADDRESS>
RSpec 3.10

rspec-core 3.10.1
rspec-expectations 3.10.1
rspec-mocks 3.10.2
rspec-rails 5.0.1
rspec-support 3.10.2

Observed behaviour
I have this in my rspec-request param
let(:'city_eq[]') { [alor_setar_id, shah_alam_id] }
I am trying to get with this param. But it return broken param format.
 "city_eq"=>["150350,76561"]

Expected behaviour
The param
params[:city_eq] ["76410", "76561"]

with each of the id is encapsulated with the double quote.
I have also tried
I have separated the param like what I did in Postman
          let(:'city_eq[]') { [shah_alam_id] }
          let(:'city_eq[]') { [alor_setar_id] }

This also is a no go.

:wave:  What is rspec-request? Is this a library your using? let just creates memoized local methods holding values, so you normally wouldn't even be able to use this without doing send... However params encoding such as post 'my_path', params: {city_eq: ["150350","76561"]} is handled by Rails directly and expects Ruby isms not URI params, so you may just be missing that...
I'm closing this for two reasons, I don't think this an rspec-rails issue and because we don't generally use issues for help requests, we prefer people use other resources such as IRC, Community Slacks, Help sites likes stack overflow or our mailing list.

Thanks for pointing out those communication channel. I will head over there to seek help.

I am using this block structure
path do -> get do -> context do -> response do -> let..

and the memoized local variable is declared inside the response block.
here is my code actually looks like.
      context 'filter jobs by city' do
        response '200 ', 'successfully return job(s) based on filter params' do
          let(:'access-token') { auth_headers['access-token'] }
          let(:client) { auth_headers['client'] }
          let(:'city_eq[]') { [alor_setar_id, shah_alam_id] }

I tried connect to irc.freenode.org but it is not connecting,
What is the right way to have array parameter inside this response block ?


Packed fields can't be accessed in 2.4.6

Description
Starting with 2.4.6, members of packed structs can't be accessed in CHECK macros. Doing so generates a compile error: cannot bind packed field 'X' to 'Y'. Versions 2.4.5 and earlier do not have this issue.
Steps to reproduce
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include "doctest.h"

struct Foo {
	unsigned bar;
	unsigned char baz;
};

struct PackedFoo {
	unsigned bar;
	unsigned char baz;
} __attribute__((packed));

TEST_CASE("") {
	Foo foo{};
	PackedFoo packedFoo{};

	CHECK(foo.bar == 0); // OK
	CHECK(packedFoo.bar == 0); // Compile error
}

> g++ main.cpp -o main
In file included from main.cpp:2:
main.cpp: In function ‘void _DOCTEST_ANON_FUNC_8()’:
main.cpp:19:18: error: cannot bind packed field ‘packedFoo.PackedFoo::bar’ to ‘unsigned int&’
   19 |  CHECK(packedFoo.bar == 0);
      |        ~~~~~~~~~~^~~
doctest.h:1837:9: note: in definition of macro ‘DOCTEST_WRAP_IN_TRY’
 1837 |         x;                                                                                \
      |         ^
doctest.h:2086:9: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_2’
 2086 |         DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
doctest.h:2104:28: note: in expansion of macro ‘DOCTEST_ASSERT_IMPLEMENT_1’
 2104 | #define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
doctest.h:2573:20: note: in expansion of macro ‘DOCTEST_CHECK’
 2573 | #define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
      |                    ^~~~~~~~~~~~~
main.cpp:19:2: note: in expansion of macro ‘CHECK’
   19 |  CHECK(packedFoo.bar == 0);
      |  ^~~~~

Extra information

doctest version: 2.4.6
Operating System: Arch Linux
Compiler+version: gcc (GCC) 10.2.0

After bisecting it appears that the issue is introduced in 318e1dff9720b5c7abffc05b1bcbf231c2f1ad38

this should be fixed in the current dev branch!

I have no idea what black magic was used to fix this originally, however, https://github.com/doctest/doctest/commit/ce13bc44b99c87e918b98bdadb17008d2dd54d55 broke it again and arguably for a more useful fix.
#652 will likely break it further still.
I'm honestly not exactly sure on how to address this, I'm just gonna be bold and put the blame on GCC here for not having proper support for binding their vendor-specific packed struct's members to universal references (they bind to non-const l-values, which is correct, but forbidden for packed struct members!)
Maybe some day someone will come up with a fix.

I don't think this is a GCC bug, it's most likely ok according if you dig deep enough into the standard ;)
I'll describe what happens below, and follow up with some workarounds.
The problem lies in expression decomposer which provides two overloads of operator <<, one with a universal reference, and one with a const reference. Uni refs are always resolved before const refs.
I'm not sure under what circumstances the const reference specialization will even resolved to even, does anyone know? The universal ref has to decay into either a normal ref or a const ref. Since the struct instance is not declared const, it selects the non-const path and decays the uni ref into a normal ref, which is disallowed for packed fields.
Now, workarounds for packed fields are either of these

Declare the struct instance as const
Add one layer of indirection by a copy

This code compiles and runs fine
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include <doctest/doctest.h>

struct PackedFoo {
	int bar;
} __attribute__((packed));

template <typename T>
T unpack(T x) {
    return x;
}

TEST_CASE("packed-struct") {
    PackedFoo mfoo {};
    const PackedFoo cfoo{};
    REQUIRE(unpack(mfoo.bar) == 0);
    REQUIRE(cfoo.bar == 0);
}