Finalizing the STRtree interface

For 1.8.0, we had quite some discussion in https://github.com/shapely/shapely/pull/1064 (and in https://github.com/shapely/shapely/pull/1094 and https://github.com/shapely/shapely/pull/1112), about the exact API we wanted for STRtree. In the end we settled on adding query_items() and query_geoms methods (in addition to query) instead of adding a keyword (like return_geometries=True/False) in query(). https://github.com/shapely/shapely/pull/1112 also added the functionality to pass custom items to the the STRtree(.., items=..) constructor.
But in https://github.com/shapely/shapely/pull/1251, where I merged the pygeos functionality with this Shapely interface, we had again some discussion about this, indicating that it might not yet be fully resolved.
One of the discussion points is the usage of the term "items" (https://github.com/shapely/shapely/pull/1251#issuecomment-1051407542). While the method is called query_items(), I used "index" in the update of the docstring.

Return the index (or stored item) of all geometries in the tree
with extents that intersect the envelope of the input geometry.
The returned items may be identified by an integer index (default) or
arbitrary item values (optional) if those are provided when
constructing the tree.

But this triggered some comments about it (eg https://github.com/shapely/shapely/pull/1251#discussion_r795242461 or https://github.com/shapely/shapely/pull/1251#discussion_r795242032). While I think we can certainly get agreement on how to understand the default behaviour, it might point to the fact that the API is not yet really ideal (also given the fact that we have a hard time to clearly / succinctly explain this in the documentation).
Some other issues with the current naming in the API:

The default is to return integer indices (if the user only provided geometries to the STRtree constructor), but the method is actually called query_items() using "items".
(I personally think that most people will never pass explicit items, but will rather use the indices)
The query_bulk() method only returns integer indices, and never items (even if the user passed those in the constructor), creating some more inconsistency. And the same applies to nearest_all.
(The reason for this is that this methods takes an array of query geometries as input, and so returns indices into both the tree and input geometries. Alternatively, we could require that you pass items as well to the query_bulk method, but this would further complicate this method)

So possible outcomes:

Decide we are fine with how it is now, and maybe only tweak the docstring a bit further.
Reconsider the ability to pass custom items, to avoid the dichotomy between "items" and "indices" (and it easy to mimic this as a user).
Reconsider the full API (i.e. the different options mentioned in https://github.com/shapely/shapely/pull/1064#issue-785861351: a keyword, different methods, different classes)

cc @sgillies @caspervdw @brendan-ward @mwtoews

I personally think that most people will never pass explicit items, but will rather use the indices

This is my hunch as well.  And for the rare cases where the user needs to relate the indices back to custom items, they can very easily implement this on their end.  If we indeed agree that this is an edge case that should move back to the user side instead of within shapely, then we should deprecate use of custom items.

Reconsider the ability to pass custom items

My vote would be to remove custom items, and instead provide an easy example.  This will simplify the API and make it easier to clearly document and reason about.

I must say I use the custom items a lot, mainly for creating a map between the polygon and the actual data I want to retrieve.
My primary use case is as follows:
I store apartments data, each apartment is represented by a name and polygon.
Then, I want to query for the nearest apartment name to a specific point.
Then I create a tree with the polygons and the names as the custom items.
This is an easy solution because creating a dictionary from polygon to name is not possible since Polygon is not a hashable object.
Of course, this can be solved easily in other ways but I feel it is much more elegant this way.

If you start with numpy arrays (we coerce to them internally), then this should be a one-line change:
(untested)
polygons = numpy.array([...geoms...])
names = numpy.array([...names...])

# storing items
tree = shapely.STRtree(polygons, names)
result_names = tree.query(some_polygon)

# using indices
tree = shapely.STRtree(polygons)
index = tree.query(some_polygon)
result_names = names.take(index)

# and if you need the polygons back out too
result_polygons = polygons.take(index)

If your inputs are not yet numpy arrays, only another 2 lines would be required to convert to those, and no additional performance impact since inputs are coerced to those anyway.
This seems like something where we can just provide an example, but more straightforward API that is consistent with the other tree functions (only working in indexes).

@sharon-br thanks a lot for the feedback! Would you be able to share a small code snippet that illustrates how you use the current API? (in case it deviates from the examples that Brendan and I gave)
Similarly, if you start from a python dictionary, it's only a small difference:
from shapely.geometry import box, Point
from shapely.strtree import STRtree

# a dictionary with keys: geometries
data = {"p1": box(0, 0, 1, 1), "p2": box(1, 1, 2, 2)}

point = Point(0.5, 0.5)

# OPTION 1: storing the keys as custom items
tree1 = STRtree(data.values(), items=list(data.keys()))
tree1.nearest_item(point)
# 'p1'

# OPTON 2: storing only the geometries
keys_list = list(data.keys())
tree2 = STRtree(data.values())
tree2.nearest_item(point)
# 0
keys_list[tree2.nearest_item(point)]
# 'p1'

@jorisvandenbossche @brendan-ward There is no doubt you are both right and have a valid and good alternative to the use case I presented.
All I'm saying is that it is a nice interface since it allows to ditch the reference to the original data and avoid keeping another reference to the items for later retrieval.
In my codebase the usage looks something as follows:
class RoomChecker:
    def __init__(self, room_objects: list[RoomObject]):
        self._tree = STRtree(geoms=(room.polygon for room in room_objects), items=room_objects)
        # No need to keep rooms_objects

    def find_matching_rooms(self, point) -> list[RoomObject]:
      return self._tree.query_items(point)

One other option could be to have separate methods for indices vs items.
For example, the query_items could keep working with custom items, but would raise an error if you didn't specify such items when constructing the strtree. And then eg the query method could then return indices (and query_geoms for returning geometries).

Note: I have a forthcoming PR that refactors the base STRtree class to use indices exclusively for all operations, including examples of working with custom items and geometries.  We can then see if the examples are adequate to avoid subclassing it to provide handling of custom items or a geometry-specific class.
At the moment I'm also entertaining the notion of collapsing query() and query_bulk() into the same function (since we've struggled with naming), so that the results depend on whether or not the input geomety is scalar or an array (just like nearest() / nearest_all()).  I think this would be a good move for consistency.  This would allow us to bring the surface area of the API down (and underlying implementation in C could collapse to a single function too).  Figured as long as we're making breaking changes, might as well break both the Shapely 1.8 API and the PyGEOS API.   (I use query_bulk() heavily, so I don't take this lightly, but it seems like a good time to revisit the overall API)

Also thinking that maybe we can combine nearest() and nearest_all() by adding a parameter on_equidistant="first"|"all"; that way the parameters max_distance and return_distance are more readily available (right now limited to nearest_all()) since it seems a little weird to have them limited to a special case (there were reasons, but a good time to revisit).  If all parameters are left at their defaults, this will still be equivalent to nearest() (uses more efficient C function), but we will have to handle the case of return_distance=True and on_equidistant="first" in the nearest_all() C function (should be easy).
Haven't yet investigated the implications of merging exclusive=True between the two functions yet, but seems theoretically straightforward.
Combined with the above changes, this brings us to a pretty tidy API:
class STRtree
    def query(geom, predicate=None, distance=None) -> array[int] or array[2, int]

    def nearest(
        geom, exclusive=False,
        return_distance=False,
        max_distance=None,
        on_equidistant="first") -> int or array[2, int]

We haven't yet sorted out what to do with query / nearest when provided an array of query geometries instead of scalar.
For the scalar case, from above, we were thinking:
class STRtreeItems(STRtree):
    def query(geom) -> array[custom_items]

class STRtreeGeoms(STRtree):
    def query(geom) -> array[geom]

However, for the array case, the options seem less great.  Options for STRtreeItems::query:

tuple of indices of input, custom items from tree: query(geoms) => (array(...input indices...), array(...tree items...))
tuple of input geometries, custom items from tree: query(geoms) => (array(...input geoms...), array(...tree items...))

I don't think it makes sense to extend the API to take custom items alongside the input geometries, e.g.,
query(geoms, input_items) => (array(...input items...), array(...tree items...)); it would be better if the APIs of the derived classes for items / geometries did not add additional parameters.
Likewise for the array case for STRtreeGeoms::query:

tuple of indices of input, custom items from tree: query(geoms) => (array(...input indices...), array(...tree geoms...))
array of shape(2, n) of input geometries, custom items from tree: query(geoms) => array([...input geoms..., ...tree geoms...])

Option 2 doesn't seem terrible in this case, since the next thing you might want to do is a geometric operation of the pairs of input and tree geometries (e.g., intersection).
But that isn't far removed from the base class that returns indices:
>>> geoms = [Point(0, 0), Point(1, 1), Point(2, 2)]
>>> tree = STRtree(geoms)
>>> indices = tree.query([box(0, 0, 1, 1)])
>>> results = np.array([geoms.take(indices[0]), tree.geometries.take(indices[1])])

Note: similar options are present for nearest when given input geometry arrays.
Do we instead want to limit STRtreeItems / STRtreeGeoms to scalar inputs only?  If so, then these classes seem more about an easier migration path from Shapely 1.8, but provide a more limited API.  The example above seems like it only needs the scalar case.

If you have different output signatures for scalar and array input this may indicate that two methods are better? Also I'd appreciate to be able to pass geometry arrays i.e. what query_bulk does, e.g. regionmask/regionmask#349. (But I might just misunderstand the details of the discussion).

different output signatures for scalar and array input this may indicate that two methods are better

we haven't been particularly consistent about it so far; query / query_bulk were originally split into 2 methods because they were pretty different (see background discussion in PR that added query_bulk to pygeos).  At that time, we reflected on the precedent set by scipy's KDTree which provided something roughly similar to returning two different output shapes depending on whether or not input was scalar or array.
In contrast, I don't belive we had as much discussion when adding nearest / nearest_all; those were implemented such that the shape of the outputs was determined by the shape of the inputs.
#1422 tries to bring those APIs into alignment, so that all tree methods produce an output shape that is determined by the shape of the inputs (though this may be heavy-handed and not get approval of other devs here).
It is probably a good idea for us to be consistent with the API, so if it is better to have separate methods based on scalar vs array inputs, we should do so for each of the methods.  Feedback on whether we should lump or split those is appreciated!
The point I'm getting at above is that it isn't clear what the outputs should even be for custom items or geometries in the case of non-scalar inputs; there isn't an obvious answer.  Which then leads to questioning if the array input methods should even exist that return geometries or custom items.
We use the array inputs that return indices heavily elsewhere, so those aren't going away.  (and they are the most performant, flexible, etc etc...)

At the moment I'm also entertaining the notion of collapsing query() and query_bulk() into the same function (since we've struggled with naming), so that the results depend on whether or not the input geomety is scalar or an array

I like that (in the middle of doing a review pass on the PR), that indeed simplifies the interface and implementation (and tests), and avoids the "bulk" naming.

We haven't yet sorted out what to do with query / nearest when provided an array of query geometries instead of scalar.
...
Do we instead want to limit STRtreeItems / STRtreeGeoms to scalar inputs only?

Yeah, for array inputs those cases get messy. I don't think we should have return values which consist partly of indices and partly of items/geometries (in the last PR I also kept query_bulk indices-only for that reason).
If we add those classes, I think we should indeed keep them scalar inputs only. But IMO that's another reason to not have those sublclasses (as they can't easily give the same interface as the parent class), and based on @sgillies' comment at https://github.com/shapely/shapely/pull/1422#issuecomment-1155663696 it seems we are in agreement to focus on just the single indices-only class (so basically keeping to what you did in https://github.com/shapely/shapely/pull/1422)

With the following two PRs merged:

https://github.com/shapely/shapely/pull/1422
https://github.com/shapely/shapely/issues/1423 / https://github.com/shapely/shapely/pull/1428

I think we can consider this issue done for now?
We should maybe still try to add some deprecation warnings in a Shapely 1.8.3 release?

@jorisvandenbossche I created #1444 about that and assigned it to myself. Look okay to you all?

Thanks for opening those two issues. With those issues to track the remaining tasks, I think we can close this one.


Add support for histograms

Much like #701, I believe we should support histograms too.
https://en.wikipedia.org/wiki/Histogram

From my perspective a cartesian chart with a bar series provides a histogram. Is there anything else that we are missing?

Histogram bars have variable width. I'm not sure but I didn't think the current bar implementation allowed that?

By variable width do you mean something like this?
https://en.wikipedia.org/wiki/Histogram#/media/File:Travel_time_histogram_total_1_Stata.png
where each bar can potentially have a different width?

Yes

Yes, currently the bar series uses the same width for each bar. It would probably be quite easy to change this so that the width can be made a function of the current datapoint.

+1 to making width a function
On Thu, 29 Oct 2015 14:00 Colin Eberhardt<EMAIL_ADDRESS>wrote:

Yes, currently the bar series uses the same width for each bar. It would
probably be quite easy to change this so that the width can be made a
function of the current datapoint.
—
Reply to this email directly or view it on GitHub
https://github.com/ScottLogic/d3fc/issues/702#issuecomment-152189641.


Cluster Abell 119

Hi, could you help me use CADET for the Abell 119 cluster? What treatment should I undergo during observation to be able to use CADET? Has it already been implemented to detect shock fronts and sloshing?

Another question: can the cadet identify the inflated cavities even when I have a sloshing spiral?

Hi, could you help me use CADET for the Abell 119 cluster? What treatment should I undergo during observation to be able to use CADET? Has it already been implemented to detect shock fronts and sloshing?

Hi Gabriel, it should be possible to apply CADET to both flux images obtained by running the fluxinage/flux_obs CIAO procedure as well as to raw merged images with units of counts.
It is also usually also recommended to fill-in the point sources using the dmfilth CIAO procedure, but for clusters this is often not necessary, since there are very few of them compared to nearby early-type galaxies.
Regarding the shock fronts and sloshing: this was meant mainly to be implemented in the future training data so that the model learns to ignore them and does not produce false-positive predictions for sources with significant shock and sloshing features. The network itself, however, was not built to detect these features.

Another question: can the cadet identify the inflated cavities even when I have a sloshing spiral?

Yes, CADET should give quite good predicitions even for sources afected by sloshing, but the reliability of predictions strongly depends on the prominence of the sloshing effect - if the sloshing spiral is the dominant feature on the image, the predictions will probably be prone to false-positives.

Okay, I downloaded both Chandra OBSIDs for Abell 119 (4180,7918), merged them with merge_obs, filled in point sources using dmfilth, and applied CADET on it. I can send you the resulting images and data products if you'd want them (just leave me a contact address or send me an email).
The problem with this particular cluster is that it's quite hot (>5 keV) and doesn't have a cool core, which leads to the fact that it appears very extended (it's also big & nearby) and it does not fully fit into Chandra ACIS-I chips. This could be problematic for CADET, because if you'd want to detect cavities on very big scales comparable to the size of the chip, the dark areas behind chip edges might confuse CADET and it might produce false positive predictions. Using an XMM-Newton observation (if existent) instead of Chandra might help, but then all the small features would be blurred out.
So I applied CADET on the largest possible scales (8,9,10,11,12,13) and got the output attached below. I also decreased the thresholds to 0.3 and 0.5, because most of the detections had a rather lower significance. Nevertheless, after that, CADET found two possible cavity candidates and detected them on multiple size-scales which is a good sign. In order to show the significance of detected cavities, I would however recommend you to take similar approach as I did in my CADET paper and produce azimuthal profiles to show how significant the brightness drops actually are. And fitting the image with a beta model (for instance using my interactive tool ;)) and visually detecting the cavities on the residual image could also help.
I would however be very cautious with claiming these candidates as confirmed cavities, since the cluster Abell 119 seems quite dynamically active (e.g. Watson et al. 2023) and also because the upper cavity can possibly also be a false positive due to the chip gap.


Mention M3 with Sampler

URL to the relevant documentation
No response
Select all that apply

[ ] typo
[ ] code bug
[ ] out-of-date content
[ ] broken link
[x] other

Describe the fix.
One complaint we recently received from the users was that V2 Sampler no longer supports error mitigation. While that's unlikely to change anytime soon, we could recommend people to use mthree, which was used in V1 Sampler and is still suitable for many use cases.

@jyu00 Do you want this just in the migration guide, or are the other pages where this should appear?

I was thinking about this page: https://docs.quantum.ibm.com/guides/configure-error-mitigation
On this page, it mentions "You cannot specify resilience levels in Sampler. However, you can set custom techniques individually.". While that statement is not technically wrong, since it's a page on error mitigation, I was expecting it to say something about "sampler doesn't support error mitigation" (it only supports error suppression). That can then be extended with "But you can use M3 to do error mitigation locally".


Add contributions bot

Please use the following code to reply to the issues
@all-contributors please add @<username> for <contributions>

@all-contributors please add @qianmoQ  for Developer

@all-contributors please add @qianmoQ  for Developer

@all-contributors please add @qianmoQ for Developer


Backed out new French keyboards

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Word andPhrases Score
CorrectnessScore
Scorecard
Processed

globalization/toc.yml
96
100
100
link
:white_check_mark:

globalization/windows-keyboard-layouts.md
86
100
34
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx


API improvements

An integration attempt https://github.com/w3f/apk-proofs/issues/31 immediately showed a number of API deficiencies:

[ ] 1. Though to produce an evaluation proof, the prover doesn't even need to compute the evaluation... Notice (f - f(y))/(X - y) = f/(X - y), where '/' stays for "get the quotient" as deg(f(y)) = 0 < 1 = deg(X-y). ...in most usecases prover has to supply the evaluations. So it make sense to make open to return the evaluations together with the proof, or provide a separate convenience method.
[ ] 2. In a similar vein, the combinations of polynomials are usually committed before generating the proof, so open  can take a list of combinations.
[x] 3. CommitmentScheme trait that both commits and verifies isn't practical as e.g. in KZG verifying an opening requires less parameter data than committing to the polynomial.
[ ] 4. Implementing AdditiveCommitment for GroupAffine likely requires a wrapper.
[ ] 5. 3rd party crate can't implement ShplonkTranscript for merlin Transcript.
[ ] 6. fflonk verification expects evaluations as a vec per an opening point (root), while shplonk -- as a vec per a polynomial. E.g. let have f and g opened in x and y. fflonk represents evaluations as [[f(x), g(x)], [f(y), g(y)]] vs [[f(x), f(y)], [g(x), g(y)]] in shplonk.

#3 addressed in https://github.com/w3f/fflonk/pull/8


Lecture: Fix embedding of TUM-Live videos in lecture units

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I strictly followed the client coding and design guidelines.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.

Motivation and Context

This PR resolves an existing issue where a video unit, added to a lecture using a TUM-Live URL without the 'video_only=1' URL parameter, could not be embedded. #8157
Description

A TUM Live URL added to the source field of a video unit without the search param 'video_only=1' will not be accepted
A TUM Live URL without the search param 'video_only' can be transformed using the 'transform into embeddable format' button to a valid TUM Live URL

Steps for Testing

Prerequisites:

1 Lecture to add (or edit) a video unit

Log in to Artemis
Navigate to Course Administration
Navigate to Lectures
Click on "Units" on a lecture
Click on "Video" in the button bar to add a new video
Insert a name for the video unit
Insert a TUM live link (e.g. https://live.rbg.tum.de/w/AdvProg/35931) into the field "Transform into embeddable format"
Click the arrow button next to the field
Click on "Submit"
Expand the created video unit on the video unit overview page
Play the video

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Screenshots

Summary by CodeRabbit

New Features

Enhanced video URL validation and transformation for lecture units, including support for TUM-Live URLs.

Bug Fixes

Fixed an issue with the incorrect identification of invalid video URLs in the form validation.

Tests

Updated existing tests to align with the new validation logic.
Added tests for transforming TUM-Live URLs into embeddable formats.

The failing tests are not related to the changes I did.


KNL-1241 removing user caching from threadlocal

KNL-1241 Removed all of the threadlocal user caching, since it is a bad idea to do so.

What's our path forward here? Is someone willing to reformat this PR? If not, let's get this committed as it's an improvement.

FYI, I would recommend working in a branch vs master. When you "git pull" you will have issues since your using master as a feature branch. If it were me I would close and move it to a branch and then issue a new PR.
But yeah we should get this in...

I've reformatted this and pushed. I did it as a new commit (rather than having 2 commits in history), Robert's still the author and I merged in the commit to master as everyone wants this in, rather than creating a new pull request and merging it.
The commit is: 3a022a8d307b809545b0f50a3aa475c25c8da46e


Deploy labels, again

An attempt to actually get #335 working

DCO 1.1 Signed-off-by: Sam Richard<EMAIL_ADDRESS>

@scottnath I believe this will allow us to start deploying label changes.


feat(Domain): use whatever domain is currently in use in dev

In order to simplify the pco.dev proxy,
and in order to work around the Safari bug with .test TLDs,
I'd like to add support for PCO::URL to generate a URL using the matching TLD in development.
My immediate goal is to PR this into all the apps and update pco-box so that pco.codes is an alternate domain for use in local development.

@seven1m how does this help with the Safari bug and .test TLDs? As far as I'm aware, the issue with safari about HTTPS, not the TLD. Is there new information in that area?

@danielma from my testing, the issue has nothing to do with HTTPS. It is a Safari bug in which certain cookies with a domain ending in .test are silently rejected.
This works:

Set-Cookie: foo; domain=pco.test
Set-Cookie: foo; domain=login.pco.test

This does not work:

Set-Cookie: foo; domain=.pco.test

I believe this is a bug, and I have supported it to Apple as such. In the meantime, I am proposing a workaround of allowing local development with pco.codes. This PR is to support that.

@seven1m ok! that means I misidentified the bug when I looked into it.
So you're saying that in Safari, both of these will work without HTTPS?
Set-Cookie: foo; domain=.pco.dev
Set-Cookie: foo; domain=.pco.codes

Also, while we're here, it seems like a good time to add some notes to CHANGELOG.md and decide on a version number for this release?

Yes, .pco.codes works, and I believe .pco.dev will work, but I haven't specifically tried that one yet.
OK I'll update the changelog and version number. I have a habit of doing it on master after the PR is merged, but I realize that's not how every project does it.

ok awesome!
I was under the impression that platform changed all our shared code repos to no longer allow pushes to master. I remember @mcfadden going around all the repos and updating CODEOWNERS files et al to ensure a unified process.


2.0.0 ionic start myApp tabs --v2

this is the terminal return i am getting.
it takes really long on Installing npm packages...
$ ionic start myApp tabs --v2
Directory already exists: /Applications/MAMP/htdocs/GitBucket/myApp
Would you like to overwrite the directory with this new project?
(yes/no): yes

Creating Ionic app in folder /Applications/MAMP/htdocs/GitBucket/myApp based on tabs project
Downloading: https://github.com/driftyco/ionic2-app-base/archive/master.zip
[=============================]  100%  0.0s
Downloading: https://github.com/driftyco/ionic2-starter-tabs/archive/master.zip
[=============================]  100%  0.0s
Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
 undefined

Mind letting us know? https://github.com/driftyco/ionic-cli/issues

Is there a fix for this?

Do you have Git installed? Solved it for me: https://github.com/driftyco/ionic-cli/issues/1463

We recently released a new version of the CLI that should allow us to gather more insight into NPM issues.  Could you please update your CLI to at least 2.1.4?
npm install -g ionic@latest
Thank you!


add xhr method for electron

Add useXHR static method when executing in atom-electron renderer process.
when we do Jimp.useXHR(true) It replace Request module by the XMLHttpRequest function of the browser to make http request for reading an image via url.
This can be usefull when the electron application is running on a network connected to the internet behind a proxy server. Because the browser is aware of the system proxy configuration and node isn't.
If you think this is an interesting feature, i can add a note in the readme before you merge.Add useXHR static method when executing in atom-electron renderer process.
when we do Jimp.useXHR(true) It replace Request module by the XMLHttpRequest function of the browser to make http request for reading an image via url.
This can be usefull when the electron application is running on a network connected to the internet behind a proxy server. Because the browser is aware of the system proxy configuration and node isn't.
If you think this is an interesting feature, i can add a note in the readme before you merge.
Sorry for the previous PRs my Git fork was messed up

Sounds good. Maybe need a refactor of some kind. But in principle looks good.
Is there any time when it would be more useful to use the node Request module when running in an electron application? If not, why not make this the default behavior?

There is two kind of places where you can run libraries into Electron apps
The main process wich is just like a node app so you don't have the XMLHttpRequest function (Request should be used here)
And the renderer processes wich is like a node child process but with all the capabilities of a chromium window (here you can use Request or XMLHttpRequest)
I think it could be the default behavior to use XMLHttpRequest when you run Jimp into an Electron's renderer process. I didn't do it because i didn't want to change the default behavior of Jimp, i think that kind of decision belong to its creator.

Oh yeah. I only mean if we hit the renderer :-)
You could do a double (triple?) check for the existence of XMLHttpRequest, just to be sure e.g.:
if (process.versions.hasOwnProperty('electron')
    && process.type === 'renderer'
    && typeof XMLHttpRequest === "function") {
        // do stuff here
}

Don't know much about this project or the intent here, but you can also use window.fetch which is built into chromium.
https://developers.google.com/web/updates/2015/03/introduction-to-fetch?hl=en

Don't know much about this project or the intent here, but you can also use window.fetch which is built into chromium.
https://developers.google.com/web/updates/2015/03/introduction-to-fetch?hl=en

This would be good, as when I use Jimp in a cloudflare worker that only has access to the fetch API. I get the following.

ReferenceError: XMLHttpRequest is not defined


Implement Series.keys

An alias for index.
>>> midx = pd.MultiIndex([['lama', 'cow', 'falcon'],
...                       ['speed', 'weight', 'length']],
...                      [[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                       [0, 1, 2, 0, 1, 2, 0, 1, 2]])
>>> kser = ks.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3], index=midx)
>>> pser = kser.to_pandas()

>>> pser.keys()
MultiIndex([(  'lama',  'speed'),
            (  'lama', 'weight'),
            (  'lama', 'length'),
            (   'cow',  'speed'),
            (   'cow', 'weight'),
            (   'cow', 'length'),
            ('falcon',  'speed'),
            ('falcon', 'weight'),
            ('falcon', 'length')],
           )

>>> kser.keys()
MultiIndex([(  'lama',  'speed'),
            (  'lama', 'weight'),
            (  'lama', 'length'),
            (   'cow',  'speed'),
            (   'cow', 'weight'),
            (   'cow', 'length'),
            ('falcon',  'speed'),
            ('falcon', 'weight'),
            ('falcon', 'length')],
           )

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@465861c). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master     #935   +/-   ##
=========================================
  Coverage          ?   91.97%
=========================================
  Files             ?       34
  Lines             ?     6383
  Branches          ?        0
=========================================
  Hits              ?     5871
  Misses            ?      512
  Partials          ?        0

Impacted Files
Coverage Δ

databricks/koalas/missing/series.py
100% <ø> (ø)

databricks/koalas/series.py
95.45% <100%> (ø)

Continue to review full report at Codecov.

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

@ueshin @HyukjinKwon i think they have different behavior about showing index as print out,
in python3.7
Expected:
    MultiIndex([(  'lama',  'speed'),
                (  'lama', 'weight'),
                (  'lama', 'length'),
                (   'cow',  'speed'),
                (   'cow', 'weight'),
                (   'cow', 'length'),
                ('falcon',  'speed'),
                ('falcon', 'weight'),
                ('falcon', 'length')],
               )

but python3.5 & python3.6
Got:
    MultiIndex(levels=[['cow', 'falcon', 'lama'], ['length', 'speed', 'weight']],
               labels=[[2, 2, 2, 0, 0, 0, 1, 1, 1], [1, 2, 0, 1, 2, 0, 1, 2, 0]])

so the doctest raises error,
any idea how to fix this?
i think maybe we can just skip doctest or remove examples from doctest

@itholic Let's keep the 3.7 result and skip the doctest.

@ueshin i think it's better too. thanks for your comment!!


Test: Terminal profile improvements

Refs #119366, #120366

[ ] macOS @sandy081
[ ] linux @connor4312
[x] windows @rebornix

Complexity: 3
Authors: @tyriar, @meganrogge
Create Issue

Terminal profiles were introduced last iteration but the "default terminal" was still powered by the shell.platform and shellArgs.platform settings. This iteration we've added the new terminal.integrated.defaultProfile.platform settings which allows setting of a profile name to use that profile. It's also hooked up to the select default profile command such that when you change it there it will create the profile if necessary and then set the default.
In addition to this there is also now support for icon and env in profiles.
To test:

Experiment with various configurations of shell/profiles/defaultProfile, ensure the fallback logic makes sense (when defaultProfile is present, shell/shellArgs is ignored).
Configure profile(s) in your settings and set the default profile to it.
Set the default profile via the select default profile command, try setting to entries in both the profiles and detected and also try pressing the configure button.
Check that icons that show up in default profiles make sense, configure your own.
Configure env in profiles.

I was unable to test completions due to https://github.com/microsoft/vscode/issues/122466, but otherwise lgtm


Add some useful badges with automatic version detection: Maven and Javadoc

Hi, thanks for this, can you sign a CLA as described in the CONTRIBUTING.md, this will allow us to accept this PR.

@rhyshort We received the CLA -- thanks @valery1707!

@valery1707 Thanks, merging :)


Replace AcmCertificateValidation examples shortcode with Pulumi Code Chooser

https://github.com/pulumi/pulumi-aws/blob/master/docs/resource/aws_acm_certificate_validation.examples.md is a docs overwrite that no longer will need the {{% example %}} shortcode after https://github.com/pulumi/pulumi-terraform-bridge/pull/1689 applies.
Instead, we should:

verify we still need this extra doc
if we do, replace {% example %}}  with <--Begin PulumiCodeChooser --> and {{% /example %}} with ``<--End PulumiCodeChooser -->`

update: this doc is very stale at this point, and upstream looks correct. We should be able to remove this extra doc.


Problem with filmon

Hi i am experiencing a problem with Filmon channels.
Flimon channels plays and then a few minutes it exits
I am using vlc player

No problems here.

ivestreamer 'http://www.filmon.com/tv/itv1' best
After playing for about 5 minutes it exits

Yeah you are right to me it even drops after 4 minutes. I figure out it's related to HQ time limit which is 3 minutes for free preview. LQ works fine.

Yea i figured livestreamer 'http://www.filmon.com/tv/itv1'  low
would work but is there any way to watch in hq without it exiting?

I didn't watch much Filmon so far but all I know in the past HQ worked without interruption.
Unless you subscribe to their service you will not have any interruptions. But Filmon plugin doesn't support pay service so far.
Their so called HD is only 480p so in my opinion it's not worthy to pay.

livestreamer "http://www.filmon.com/tv/itv1" high_hls


Example for autoselect on an ActiveRecord::Base instance

The README shows two examples, both of them presenting the use case of autoselect in the context of an ActiveRecord relation.

The autoselect method is made available to all instances of ActiveRecord::Base and ActiveRecord::Relations in classes where the GraphQLActiveRecordAutoSelect refinement is used (using GraphQLActiveRecordAutoSelect).

I am trying to apply autoselect on a single record (ActiveRecord::Base instance). I can see the highlighted part of the quoted paragraph above is reflected in the code: https://github.com/mrrooijen/graphql_activerecord_autoselect/blob/master/lib/graphql_activerecord_autoselect.rb#L9 but I don't get it working.
This is what I did:
It feels wrong to create a resolver method for every single field, but I tried this as I found it might be a quick way to test it:
module Types
  class AdventureType < Types::BaseObject
    using GraphQLActiveRecordAutoSelect

    field :id, ID, "The unique ID", null: false, extras: [:lookahead]

    def id(lookahead:)
      object.autoselect(lookahead)
    end
  end
end

This results in the following error
undefined method `autoselect' for #<Adventure:0x0000558c964a3850>

What would be the right way to use it? Could you provide an example for using autoselect on an instance of ActiveRecord::Base, please?
Thank you so much!

Sorry, I got it now and it makes sense ;)
In QueryType I have the root queries and the resolvers defined. I just had to add autoselect in there.
module Types
  class QueryType < Types::BaseObject
    using GraphQLActiveRecordAutoSelect

    field :adventures,
    [Types::AdventureType],
    null: true,
    extras: [:lookahead],
    description: "Returns adventures" do
      argument ids, ...
    end

    def adventures(lookahead:, ids: nil, ...)
      Adventure.autoselect(lookahead)
    end
  end
end

I made a mistake in stating that it's added to all instances.
It's added to all instances of ActiveRecord::Relations, but for ActiveRecord::Base it's actually only provided at the class level. So you can only call it on relations of an object (e.g. object.adventures.autoselect(lookahead)) or on the class itself (e.g. Adventure.autoselect(lookahead)).


Refactor MeasureEvaluationSeed to be more configurable

a first pass at a half-measure in making MeasureEvaluationSeed class more configurable

After discussing this with Corey "offline," we agreed that if the cql-ruler maintainers were amenable,
we would try to contribute this code back,  as we would have to maintain a copy of the code
to be able to configure the class the way that we would want.


[ci] release

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

#2038 87f3f92 Thanks @dragomano! - Updates Russian UI translations

size-limit report 📦

Path
Size

/index.html
5.78 KB (-0.02% 🔽)

/_astro/*.js
21.95 KB (+0.02% 🔺)

/_astro/*.css
13.62 KB (0%)


Upgrading from 1.4.1 to 1.5.3 - addImage - image is auto scaled up 33%?

When using 1.4.1 this produces a PDF just fine, but upgrading to 1.5.3 and the PDF seems to crop the content's height and width.
I'm using this in conjunction w/ html2canvas, but that is not the issue, as the image generated works fine
html2canvas(shareContent).then(canvas => {
    canvas.toBlob(blob => {
        const { height, width } = canvas;
        const pdf = new JSPDF('p', 'px', [width, height]);
        pdf.addImage(canvas, 'JPEG', 0, 0, width, height);

        if (asPdf) {
            pdf.save(
                `MyPDFFile-${contentType}-${equityName.replace(
                    / /g,
                    '-'
                )}-${new Date().getTime()}.pdf`
            );
        } else {
            saveAs(
                blob,
                `MyImageFile-${contentType}-${equityName.replace(
                    / /g,
                    '-'
                )}-${new Date().getTime()}.png`
            );
        }

        this.setState(
            {
                generatingDownload: false
            },
            () => {
                this.onHide();
            }
        );
    });
});

The package version change is the only difference here... should I be passing in the sizes differently for height and width?

Duplicate of #2152


Train custom dataset.

Dear sir, may I know is it possible to use generate own dataset and using this framework to run?

You can retrain with your own data set, and then use the data preprocessing tool I provided to process the weights.


Why isn't this available through gradle plugins or in one of the mvn repositories?

Is there a reason why this is not available in a maven repository or in gradle plugins?

Hi,
Nothing prevent to render this plugin available on these repo.
I'll have a look at that
Best regards,
Benoit

Hi, the plugin has just been released to bintray, it's a matter of time to have it available on maven central.

Perhaps update the documentation with the artifact coordinates? Thanks!

I'd also love to use the plugin from some public repo (so I went for bintray-one), this is what I ended up with:
buildscript {
  repositories {
    jcenter()
    maven { url "https://dl.bintray.com/ullink/gradle-plugins" }
  }

  dependencies {
    classpath 'com.ullink.gradle:gradle-jibx-plugin:0.12'
  }
}
repositories {
  jcenter()
}

apply plugin: 'java'

//
// copy-pasted jibx readme instructions follow
//

apply plugin: 'jibx'

jibx {
  // Configure the plugin here.
  // See com.ullink.gradle.plugins.jibx.JIBXPluginExtension for details.

  // The path of the binding files in your project. Other files referenced in
  // definitions will be ignored. Useful if you have bindings in third-party
  // libraries.
  rootPath = 'com/example/my_bindings'

  // The root files of your definitions. This is the input to the JIBX
  // compiler.
  bindingFiles = [ 'my_object.xml', 'another_object.xml' ]

  // The classpath where JIBX will find dependencies to your third party
  // libraries.
  classPathFiles = [ 'build/tmp/jibxDependencies/lib1' ]

  // Ask to generate a JAR without any JIBX binding in it. You will need this
  // if other libraries depend on you.
  archiveUnboundJar = true

  // Ask to generate a JAR with only the JIBX binding definitions in it. You
  // will need this if other libraries depend on you.
  archiveBindingsJar = true
}

dependencies {
  // Add the JIBX dependencies explicitly in this configuration.
  jibxCompile(
	  [group: 'org.jibx', name: 'jibx-bind', version: '1.2.6'],
	  [group: 'org.jibx', name: 'jibx-run', version: '1.2.6'],
	  [group: 'xpp3', name: 'xpp3', version: '<IP_ADDRESS>-RC8'],
	  // Use the latest release of BCEL for Java 6/7.
	  [group: 'org.apache.bcel', name: 'bcel', version: '5.2'],
	  // Use the next version of BCEL for Java 8.
	  // [group: 'org.apache.bcel', name: 'bcel', version: '6.0-SNAPSHOT'],
  )
}

However ./gradlew build ends up with error:
Plugin with id 'jibx' not found.

I guess I miss something obvious. Any hints welcome.

Hey guys, has there been any resolution to the issue? I ran into exactly the same problem:
Plugin with id 'jibx' not found.

Stopped using jibx, because it isn't really a good option in java8 land, and I doubt it'll be updated for java 9. Fortunately, it was not very difficult to convert to JAXB.

Hey, @typekpb and @preeze,  You can use the plugin with the id: com.ullink.jibx


bug: Using lazy.vim, failing to specify opts or config = true doesn't work

Did you check docs and existing issues?

[X] I have read all the todo-comments.nvim docs
[X] I have searched the existing issues of todo-comments.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.1
Operating system/version
MacOS 12.6.5
Describe the bug
If you don't explicitly specify opts or config = true when loading the plugin with lazy.vim, the plugin is marked as loaded by lazy.vim but commands and highlighting don't work.
My understanding is that opts or config are optional, so the following should work:
{
    "folke/todo-comments.nvim",
    ft = { "css", "html", "lua", "rust", "typescript" },
    dependencies = { "nvim-lua/plenary.nvim" },
},

Steps To Reproduce

Add the following to your lazy.vim configuration (or use the repro.lua below):

{
    "folke/todo-comments.nvim",
    lazy = false,
    dependencies = { "nvim-lua/plenary.nvim" },
},

Restart NeoVim
Execute :Lazy
The plugin should be marked as loaded
Execute :TodoQuickFix
The following message is displayed: "todo-comments isn't loaded. Did you run setup()?"

Expected Behavior
It should display the quick fix pane.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/todo-comments.nvim",
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")

What makes you think opts is optional?
It's literally in the docs. add opts={}

Lazy.vim manual:

Other plugins respect that. Also your repro.lua literally doesn't work OOB because of that.

Yes, but this plugin does require setup. See the readme

You even got an error that literally indicates you have to run setup, or use opts=... in the lazy case

Yes, but this plugin does require setup. See the readme

I've read the readme. My issue is not with the docs. My issue is with DX and the fact that it contradicts the fuzy.nvim's readme and the way other plugins work. It is confusing why opts has to be explicitly specified to an empty value. Is there a technical reason for that? Is it difficult to fall back to the defaults when omitted?

You even got an error that literally indicates you have to run setup, or use opts=... in the lazy case

It doesn't specify or use opts=.... I have: todo-comments isn't loaded. Did you run setup()?

On a side note, it would be nice to not assume people don't read the docs. Perhaps there is indeed something confusing about the docs themselves or the API. All of this seems pretty obvious to you, but it's not for every one of your users.

What are you even talking about?
The screenshot you posted is for the options for lazy.nvim.
require("lazy").setup(plugins, opts)

That;s not even related to a plugin spec's opts=....
That has nothing todo with setting up this plugin.
When you add config=true, or opts={...}, then lazy knows that this is a plugin where lazy needs to call require("the_plugin").setup(the_opts)
Not all plugins require setup. So if you don't specify opts or config=true in a lazy spec, then it's setup function will not be called.
So again, this has all nothing todo with the todo-comments plugin.


Can you make this package surpport chinese in stdout

With your excellent works the package more be the one, so thanks a lot.
I know a "ansi-html-stream" dependence used in this package, maybe it broke the chinese charactor in stdout, can you fix it?

I'm currently working on that, but I have no idea what with ansi-stream does cause this.

If I type "echo 谢谢", it works fine.
If “aabb” , some chinese words mean not a commander should be displayed, but I got some   unreadable code.

I'm trying to figure out how to repair this, but it looks like that's not really a ansi-html-stream problem? I'm recently experimenting with it and the iconv-lite, but I'm not an expert in the field of javascript text encoding.

Thanks, I can not find the last reason also, but I still work on it.

Any updates on this?


Add button to create or join a match on game detail page

In this issue we'll add buttons to the game detail page to create or join a match. These will do nothing for now, functionality will be added in the future.

Issue Score: Ungradable
Comments:
ungradeable since it wasn't completed and instead closed.


Mac: cannot ping docker

Hello, I have tried using the manager on mac - it works as expected. The IP is resolved correctly, but ping custom.address give a timeout - I cannot ping the container. Do you have any ideas what could be the reason. I am using a native Docker for Mac.

Hi,
i also try to use it with native Docker for Mac. Is this even possible? If i understand correctly the access to the containers does no work:
https://docs.docker.com/docker-for-mac/networking/
Did you figure it out? Or do you have to use a "normal" virtual machine with Docker running instead of native Docker for Mac implementation?

@km-digitalpatrioten I figured out the same as you :( does not seem possible to make it work with Mac at the moment.
Off-topic: I have faced another problem, that applications which has lot of files, are working veeeery slow on mac + native docker because of slow file sync.

@km-digitalpatrioten it should solve file sync issue or at least increase the performance, but I did not try actually as some problems comes with VM approach.

Thanks again. I think i'll continue with our current vagrant + docker stack and wait for future development regarding the network implementation on Mac.


The data set downloaded automatically is too large

Hi~ I want to reproduce your results to follow your work, the problem is when I execute the following script:
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=pwd python VisualBERT/run.py --method=<method_name> --is-text-pert=<true/false> --is-positive-pert=<true/false> --num-samples=10000 config=projects/visual_bert/configs/vqa2/defaults.yaml model=visual_bert dataset=vqa2 run_type=val checkpoint.resume_zoo=visual_bert.finetuned.vqa2.from_coco_train env.data_dir=/path/to/data_dir training.num_workers=0 training.batch_size=1 training.trainer=mmf_pert training.seed=1234
the colab will download the big dataset which reach 104G size.
I'm asking if I did the right thing.  If so, can I have an alternative to downloading such a large data set?  How to execute the script correctly if it is wrong.  Thanks for your reading~

Hi @Shuai-Lv, thanks for your interest!
This code is based on the code of the MMF library by Facebook research.
You could probably settle for downloading only the validation set to save some space, as it is enough to run the experiments from the paper.
I hope this helps.
Best,
Hila


[BUG] Installation error:  not defined in file libcublasLt.so.11 with link time reference

🐛 Describe the bug
Hi there,
I have a question about Installation error.
I hope someone help my error.
error information)
OSError: /home/piai/anaconda3/envs/asdasd/lib/python3.7/site-packages/nvidia/cublas/lib/libcublas.so.11: symbol cublasLtHSHMatmulAlgoInit version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference
thank you!
Environment
No response

🐛 Describe the bug
Hi there, I have a question about Installation error. I hope someone help my error.
error information) OSError: /home/piai/anaconda3/envs/asdasd/lib/python3.7/site-packages/nvidia/cublas/lib/libcublas.so.11: symbol cublasLtHSHMatmulAlgoInit version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference
thank you!
Environment
No response

This issue can occur when the version of the CUDA toolkit or cuBLAS library used at compile time is different from the version used at runtime. Please check CUDA and cuBLAS versions: Verify that the versions of the CUDA toolkit and cuBLAS library installed on your system are compatible. Ensure that the versions match the requirements of the software you are using. You can use the nvcc --version command to check the CUDA version and ldd libcublas.so.11 to check the cuBLAS version.


Added Redme files for the Azure-related samples

Hi @arturl, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Artur Laksberg). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


java.lang.NoClassDefFoundError: com/athaydes/automaton/ReflectionHelper

There is an exception in 1.3.0-beta

yeah, sorry, you should use 1.3.1-beta. 1.3.0-beta was mistakenly released depending on a SNAPSHOT version!


Add createTransaction(URI context) to Anno4j class

The Anno4j object should have another method to create a Transaction, also supporting a URI as context for the operations done in that Transaction.
Up to now Users had to do that by hand after creating the Transaction, which is a kinda strange behaviour. It also sometimes induces wrong/unexpected behaviour.

I added the method to the Anno4j class in branch hotfix/transaction-contexts.
It creates a transaction and sets the contexts of the internal ObjectConnection using the setAllContexts() method.


Update relevant guides for SEGSAdmin SSL DLL requirement

With the merger of PR #508, SEGSAdmin.exe now makes use of crypto functions defined in the following dynamic link libraries provided by OpenSSL:

libeay32.dll
ssleay32.dll

These libraries must be available from the SEGSAdmin.exe path at runtime. They can be installed per https://wiki.openssl.org/index.php/Binaries from https://slproweb.com/products/Win32OpenSSL.html. Please select a 1.0.x version considering the SSLeay moniker was renamed in 1.1.x. Both DLLs can simply be copied to the SEGSAdmin.exe path after the OpenSSL 1.0.x installer completes.
Any relevant build and install guides should be updated to reflect the above. Lastly, when producing any SEGSAdmin binary releases targeting the Windows platform, it is permissible (licensing requirements are already fulfilled) and advised to include these DLLs in the distribution. This would save end users some work.

I will pick this up if not done before 0.6.0 but will leave for now in case a non-programmer or someone wants to pick up as first issue


fix instructions on F5-Automation-Sandbox/docs/teardown.rst

the instructions suggest running
cd f5_provisioner/provisioner
ansible-playbook teardown_lab.yml -e @f5_vars.yml

from the Ansible_server_provisioner, but I believe the earlier instructions have you build a docker container, and then issue a docker run command with the AWS keys like below
docker run \
-e AWS_ACCESS_KEY_ID=ABCDEFGHIJKLMNOP \
-e AWS_SECRET_ACCESS_KEY=ABCDEFGHIJKLMNOP/ABCDEFGHIJKLMNOP \
-v $(pwd)/../provisioner:/ansible/playbooks \
f5_sandbox_provisioner provision_lab.yml -e @f5_vars.yml

but the instructions on the teardown.rst page point to a directory cd f5_provisioner/provisioner that are part of the docker container, not one of the Ansible hosts.
I think that the instructions for tearing down ought to be
cd f5_provisioner/provisioner
docker run \
-e AWS_ACCESS_KEY_ID=ABCDEFGHIJKLMNOP \
-e AWS_SECRET_ACCESS_KEY=ABCDEFGHIJKLMNOP/ABCDEFGHIJKLMNOP \
-v $(pwd)/../provisioner:/ansible/playbooks \
 f5_sandbox_provisioner teardown_lab.yml -e @f5_vars.yml

repaired


lefthook: 1.6.5 -> 1.6.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/lefthook/versions.
meta.description for lefthook is: Fast and powerful Git hooks manager for any type of projects
meta.homepage for lefthook is: https://github.com/evilmartians/lefthook
meta.changelog for lefthook is: https://github.com/evilmartians/lefthook/raw/v1.6.6/CHANGELOG.md
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.6.6 with grep in /nix/store/yhzy6ksm9779f97pi0dy2rd174pq6i5f-lefthook-1.6.6
found 1.6.6 in filename of file in /nix/store/yhzy6ksm9779f97pi0dy2rd174pq6i5f-lefthook-1.6.6

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
lefthook

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yhzy6ksm9779f97pi0dy2rd174pq6i5f-lefthook-1.6.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A lefthook https://github.com/r-ryantm/nixpkgs/archive/0084149862e8a00c1e3b89adf74ecf2857903e51.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/0084149862e8a00c1e3b89adf74ecf2857903e51#lefthook

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yhzy6ksm9779f97pi0dy2rd174pq6i5f-lefthook-1.6.6
ls -la /nix/store/yhzy6ksm9779f97pi0dy2rd174pq6i5f-lefthook-1.6.6/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

lefthook

Maintainer pings
cc @AndersonTorres for testing.

@NixOS/nixpkgs-merge-bot merge


Large mass difference, Momentu conservation and conditionning

Solver has much trouble converging when masses ratio is > 10

Convergence issues with big masses, Momentum conservation as constraint ?
Momentum conservation act weird too, especially when masses ratio is > 10 AND several loops have different number of bodies.
The initial random state does not look isotropic. Instead, space directions look tightly coupled.

Moreover, some pseudo solutions are found, hinting at the fact that constraints are not valid.

Moreover, some pseudo solutions are found, hinting at the fact that constraints are not valid.

Cf work on Palais principle of symmetric criticality.

Fixed in 0fd317f
The problem actually came from diagonal change of variable that was applied on the WRONG side of the param to coeff. This problem did not show up before mostly because the parameters to a large extent keep the structure of the coefficients. This coincidence hid the bug for a long time.


Zeph lost.

Zeph in wallet gone.
Not even shows in transfer history.
Can anyone help?

take your seedphrase to the desktop wallet as this wallet is not supported after the hardfork.


Add Synthetic Tasks

Adds a sampling of synthetically generated tasks using a consensus-based LLM method (as described in the README, source code sent on discord, will be open-sourced soon). These tasks are generally easy, but are quite extensive, well formatted, and well written - as they are authored by Claude 3.5 Sonnet.
Judge models utilized:
Llama 3.1 405B
GPT-4o
Claude 3.5 Sonnet
Qwen2 72B Instruct
WizardLM 2 8x22B

This is the code that generates the substance of the tasks from the list of task names: https://gist.github.com/N8python/d368dab9f09b253be43f7d4c00d18c44
The task names themselves are generated through prompting LLMs manually, or simply writing them out. No need to automate that.

Ready for review, I believe!

Extra ready now lol.

Glad you like it :D!


Update Encore & Fake Out move animations

Made the target of the move ambiguous

This still leaks the target...

In which instances?
This is what I got from this:

Look at the JavaScript console.


Fixed several bugs about motan rpc plugin

1.Upgraded motan rpc  support to the latest stable version
2.Fixed an issue where motan generalization calls failed when arguments were java primitive types or custom types
3.Fixed the motan registry hard coding issue and supported the configuration extension
4.Fixed the schema.sql syntax problem in h2 database scenario

Codecov Report

Merging #4934 (6d4febe) into master (fc2bc20) will decrease coverage by 0.09%.
The diff coverage is 55.00%.

@@             Coverage Diff              @@
##             master    #4934      +/-   ##
============================================
- Coverage     63.83%   63.75%   -0.09%
+ Complexity     8558     8540      -18
============================================
  Files          1207     1207
  Lines         35913    35916       +3
  Branches       3218     3218
============================================
- Hits          22925    22897      -28
- Misses        11142    11174      +32
+ Partials       1846     1845       -1

Files Changed
Coverage Δ

...e/shenyu/plugin/motan/proxy/MotanProxyService.java
1.81% <0.00%> (ø)

...nyu/plugin/motan/cache/ApplicationConfigCache.java
52.00% <50.00%> (ø)

...common/dto/convert/plugin/MotanRegisterConfig.java
62.06% <87.50%> (+4.37%)
:arrow_up:

... and 5 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

please check CI

pls check ci

oracle/pg/og don't change?

done

Is this need to update upgrade sqls ? @coderDylan

Yes, mainly insert plugin_handle ...Because the plugin adds new configuration parameters，multiple registries are supported

pls add my wechat yijia1949


Fixed the example folder linking in the readme

You have restructured since then.

Well spotted, thanks! Yours, Steffen


Improved presentation and accuracy of license and attribution information

Improving presentation and clarity of licence and credit info on /works, image modal and item pages.
https://docs.google.com/document/d/1wume9ZRm64zL1wQI7UGoN5FP2c9dN_qnqyTiZMFYWQc/edit?usp=sharing

#10054
#10086
#10074


Verifying binary releases

At some point there's been said that users of the binary releases will be able to verify those releases by themselves compiling an identical binary from source for comparison. (Can't find the exact quote right now.)
To actually be able to do that, it would be good to know more in detail what compiler/toolchain version that has been used to build the binaries - without that it's essentially impossible to try to recreate an identical binary.

What about using some sort of container, such as docker or rkt? This will ensure a mostly deterministic environment, as long as you don't run apt-get update or similar.

I put together a docker build setup for making a linux build. It is on a branch at
https://github.com/cisco/openh264/tree/cj-build1
It does seem to make deterministic builds.
I think this is probably a good approach going forward but we need to see some sort of container to make a windows build

On Jun 23, 2015, at 1:16 PM, Max Nordlund<EMAIL_ADDRESS>wrote:
What about using some sort of container, such as docker or rkt? This will ensure a mostly deterministic environment, as long as you don't run apt-get update or similar.
—
Reply to this email directly or view it on GitHub.

Yes, that is something we need and maybe http://mxe.cc/ can be used for cross-compiling? Then you don't need to be on windows or have access to its binaries.
That branch is a fair bit behind master ~750 commits. Could you try to update it, please?

The Tor project has been doing deterministic builds (including of Firefox):
https://blog.torproject.org/blog/deterministic-builds-part-two-technical-details
Using their methodology is probably the best way to go about this.

One possibility would be to use something like BuildStream to create the binaries inside a sandbox. https://gitlab.com/freedesktop-sdk/freedesktop-sdk produces a reproducible SDK that can be used to build binaries. This project currently runs their own CI inside docker.


Adjusted back-to-top button

Hello,
I'm a GSSoC 2021 participant and I'd like to contribute.
I noticed that back-to-top button on home page background-color needs to be changed to be visible and also added hover effect.

Issue has been resolved in #56.


[Products] FAQ Section Block

@davenichols-DHLS @amlan18041996 do you have a sample blog post this is used and I can see the markup?


[Addition]: 5 witness - 382 beacon!!!

Hotspot b58 Addresses
11RXmtEVJAk11JtKQgCSmzVuLDncXGheXwLyPSZ9FLaJigtbuBR
Discord Handle
tangothettt#8269
Reason(s)
Total witness is 5 but 7 days average beacon is 382.
He is somehow doing something he must not.
Please add it to denylist.

is in the cluster reported in #6892

This issue can be closed as completed. ✅
The hotspot is already on the denylist.


⚠ Bofrost.lu has degraded performance

In bb30c91, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1688 ms

Resolved: Bofrost.lu performance has improved in d7c7649 after 6 minutes.


Clarify how rate limits impacts Sender options

There is not clear documentation on how rate limits impacts Software Distribution Component settings.  I believe setting any rate limit automatically restricts it to a package at a time at site, instead of multiple.  If the documentation could clarify this it would be helpful.
Also, more granular details on how the "yielding" works, if I choose 50% rate, does does that mean that runs hot for 30 minutes and yields for 30 minutes? Or does it run for 1 minute, and yield for 1 minute?

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

ID: b49b7692-2fba-a5b6-cc24-3b2621b7f5dd
Version Independent ID: bbc48abf-20cb-18f4-0db4-467cb0408b30
Content: Manage distribution points - Configuration Manager
Content Source: sccm/core/servers/deploy/configure/install-and-configure-distribution-points.md
Product: configuration-manager
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Thanks @LeviStevens for the feedback.

Thanks again for the feedback. We recently moved this content to a new GitHub repository, so this issue is no longer tracked with the original article. As part of that process, we reviewed our backlog of feedback, and made some tough decisions on items that we don't think we'll realistically ever address. If you're passionate about this specific feedback, please refile it on the current article, now under docs.microsoft.com/mem/configmgr.


Revert "Force AAC audio to be used in RTSP URL (#419)"

This reverts commit b91d882a96b1fa4a45a4d7e9bb9329392e41fad6, which is no longer necessary since https://github.com/AlexxIT/go2rtc/issues/194 was fixed.

Refs https://github.com/blakeblackshear/frigate-hass-integration/issues/418

https://github.com/blakeblackshear/frigate/pull/5320#issuecomment-1410931515

@NickM-27 I think this is good to merge.

Thanks @felipecrs !


[Minor] Missing scipy package!

Currently, I have to install this package manually.

It should install itself if the dependency is required from other packages but I will add just in case.


Task/1.7.0 release prep

Issue #, if available:
Description of changes:
Based of PR #645
Upgraded add-on versions for helm and core add-ons.
Fixed AWS LB Controller issue that caused failure on provisioning and upgrades:
We have made the LBC the default controller for service type LoadBalancer by adding a mutating webhook. You can disable the feature by setting the helm chart value enableServiceMutatorWebhook to false. You will no longer be able to provision new Classic Load Balancer (CLB) from your kubernetes service unless you disable this feature.

CDK Upgraded to 2.76.0
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests


182326302 Dataflow program model and synchronization

Switching to a new branch for story 182326302 since these changes (originally made for story 182326341) are more appropriate for it.

The one other question worth thinking about that I didn't mention on review, but that came up in our discussion with @scytacki and @bacalj, is whether it makes sense to separate structure from values at this point. For instance, if the MST structure were something like:
nodes: types.map(MSTNode),
values: types.map(MSTValues)

where the shape of MSTValues was:
interface MSTValues {
  value: types.maybe(types.number);
  recent: types.maybe(types.string);

Then any changes to values would be completely separate from any changes to structure

I don't know if now is right time, but I would definitely encourage storing the values separate from the nodes. I think it will make the undo feature easier to implement.
I'd also guess that we are going to want to provide a more fine grained way to trigger when documents should be sent to firebase/firestore. For some changes like adding a node, we'd want to sync it right away, but for saving the values we probably only want to sync it no more than once a second and perhaps slower.  By keeping the nodes and values separate we could add a new "sync schedule" configuration that tiles can provide. This could be based on either action names or path patterns in the MST tree.

I don't know if now is right time, but I would definitely encourage storing the values separate from the nodes. I think it will make the undo feature easier to implement.

@scytacki: @tealefristoe and I met this morning and came to the same conclusion so he's going to look at making that change as part of this PR.


⚠ Bofrost.at has degraded performance

In e06e55c, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2323 ms

Resolved: Bofrost.at performance has improved in a945369 after 311 days, 22 hours, 48 minutes.


Unit tests failing on windows

pulling the code and running test target on windows as is, fails on a few unit tests. this is in addition to the integration test, which i am out-scoping for the sake of this issue.
specifically:
AuthConfigTest fails on path issues e.g. java.nio.file.InvalidPathException: Illegal char <:> at index 2: /H:/workspace/spotify/docker-client-master/target/test-classes/dockerConfig/fullDockerCfg
DockerHostTest need to be using different defaults for windows
and CompressedDirectoryTest. CompressedDirectory need to use different values when creating the regex matches on windows for the ignore file to work

hello, any thoughts on this? ok to merge the PR?

@sayarg thanks for the fix and contribution and sorry for the delay in reviewing. I think with #331 merged this closes this issue, right?


[macos] FlutterInputs and FlutterOutputs contains duplicates

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Create a project with multiple packages
Archive it for MacOS using XCode

Expected results
The archiving is succesful.
Actual results
The build fails with the following error:
[ +264 ms] error: Multiple commands produce '/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets/lottie/chevron.json'
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[        ] error: Multiple commands produce
'/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets/lottie/loading_dotted_spinner.json'
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[        ] error: Multiple commands produce
'/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets/lottie/loading_overlay.json'
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[   +8 ms] error: Multiple commands produce
'/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets/lottie/loading_spinner.json'
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”
[        ]     note: That command depends on command in Target 'Flutter Assemble' (project 'Runner'): script phase “Run Script”

When I check FlutterInputs.xcfilelist and FlutterOutputs.xcfilelist I can see the mentioned files are there indeed multiple times, but with an extra /. Is this what causes this error?
Here you can see an example, right after assets you can see a single and double forward slash.
/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets/lottie/chevron.json
and
/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets//lottie/chevron.json
I tried removing the duplicates and archiving again, but the xcfilelist gets regenerated so that didn't help.
Code sample
/
Screenshots or Video
No response
Logs
Logs
https://pastebin.com/ftFk5pZd

Flutter Doctor output
Doctor output
[!] Flutter (Channel stable, 3.10.5, on macOS 13.2.1 22D68 darwin-x64, locale en-GB)
    • Flutter version 3.10.5 on channel stable at /Users/glennruysschaert/development/flutter
    ! Warning: `dart` on your path resolves to /usr/local/Cellar/dart/2.18.0/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/glennruysschaert/development/flutter. Consider adding
      /Users/glennruysschaert/development/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (6 days ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/glennruysschaert/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/glennruysschaert/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.79.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.66.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.2.1 22D68 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 114.0.5735.133

[✓] Network resources
    • All expected network resources are available.

Hi @vixez
It seems you are using lottie, right? Can you try removing that package along with its usage/assets and retry?

@huycozy
Hello,
When I remove the assets from the error (keeping the Lottie package), the build succeeds.
This error only occurs in Xcode when archiving with the assets.
When I run this command in terminal, without removing the assets, the build succeeds.
flutter build macos --release -t lib/main-cms_production_store.dart --obfuscate --split-debug-info=build/symbols --no-tree-shake-icons -v

@huycozy
When I remove FlutterInputs.xcfilelist and FlutterOutputs.xcfilelist from the Run script under Input File Lists and Output File Lists, with the assets still there, the archive succeeds.

Thanks for your update. I also tried adding a Lottie asset file to new Flutter project, then building/archiving but it's succeeded. And asset file is listed in FlutterInputs.xcfilelist and FlutterOutputs.xcfilelist but is not duplicated.
Can you try clean and archive again?

/Users/glennruysschaert/Code/get-driven-flutter-cms/build/macos/Build/Products/Release/App.framework/Versions/A/Resources/flutter_assets/packages/gd_ui/lib/assets/lottie/chevron.json

Also, I took a look at this log, it seems you are using assets from another package (gd_ui) inside project, right? Can you share project structure?


Bump version number on website/config.yaml.

this is trivial so I'll just go ahead and merge it

Can this be part of a scripted (or even automated) release process?

possibly. can investigate later.


Update absa.mdx with necessary imports

Add imports to load dataset and train model

Hello!
Apologies for the big delay. Thanks for patching this; this is indeed an oversight.
I'll merge this, and we'll have a new release soon to push this out.

Tom Aarsen


Sample Image while in Editor not Viewed

So, while I'm in the editor of my brew, the actual image of the page, what it's supposed to look like, isn't there. I also tried seeing if it could be seen from the shared link, but likewise, it isn't there.
Additional Details
My other brews' image are all viewable.
Share Link : http://homebrewery.naturalcrit.com/edit/rkf44c4Srz
or
Brew code to reproduce : Click to expand
PASTE BREW CODE HERE

... and the link is dead. Did you delete it?
Also, you should be sharing the 'share' link not your 'edit' link. the edit link lets anyone edit your copy. with the share link your stuff is safe(r) from evildoers.

Looks like a duplicate of #655


What is the Unity version for Valve index?

Hi All
I just to get the Valve Index and I am very excited to develop with Unity and Steam VR plugin, for it and since that Index is a new headset, Could anybody advice what is the best Unity version for Index dev?
Thanks for your time
Alejandro

Hi All
I just to try Unity 2019.1f2 version and my Valve Index works fine with this Unity version.
Hope this help
Best Regards
Alejandro


How to disable html entities?

Given that utf-8 is everywhere nowadays, I would like to just use unicode symbols in my markdown source files (such as θ), and leave them as their unicode symbol (ie θ, not θ). This particularly messes with inline code (between ` tags).
If my source file contains:
Some text with a `θ` in it

It renders to:

Some text with a θ in it

Which of course displays as:

Some text with a θ in it

Instead of what I want, which is:

Some text with a θ in it

Thanks!

Escaping the backticks should be enough:
# data/Model/myfile.md
Some text with a \`θ\` in it

Should render as:
Some text with a `θ` in it
or, if you do not need those backticks in your rendered output at all, omit them:
# data/Model/myfile.md
Some text with a θ in it

should render as:
Some text with a θ in it

Escaping the backticks isn't what I want though; I want to surround the θ with  tags using Markdown (instead of relying on inserting html  tags.
And again, just leaving the θ in the source file translates it into an HTML entity, which I don't want to do—I want to leave it untouched, since we live in a Unicode world nowadays.

I've attempted to replicate your use case in the unit testing as best I can in Statik v0.21.2 - try it out and let me know if it works for you?

Definitely fixed my issue, thanks! Though now I'm getting something different:
Template error: isoformat() argument 1 must be char, not unicode (in file "./templates/feed-atom.xml.jinja2").
I'm looking into this though and will make a new issue if I can't get around it.


fix: import nuxt composables from #imports

This is a DX improvement when developing - we can avoid loading the entire barrel file at #app by using the new granular imports merged in https://github.com/nuxt/nuxt/pull/23951.

Thanks Daniel, It'll be included it in the next release.


Software is not downgradeable

yum install kubelet=1.16.4 does not overwrite installed package kubelet=1.17.0

Do we need this @thesephirot @stebenz @fforootd? Kubernetes hardly supports downgrades...


Programming exercises: Support python exercises for local continuous integration

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[ ] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[ ] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I documented the Java code using JavaDoc style.

Changes affecting Programming Exercises

[ ] I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
[ ] I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context

With this PR, the local CI system supports Python exercises.
Description

I added Python options for the build script generation. Test results get parsed accordingly.
Steps for Testing

Prerequisites:

1 Instructor
1 Student
Local VC CI test server (3 or 6 (GitHub), 11 (old server))

As instructor, create a programming exercise with Python
Template and solution build result should be as expected
As student, create submission for this exercise
Build results should be as expected

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Screenshots

Thank you for the code review @Hialus! I implemented your suggested changes. Concerning the documentation for future developers, I will do this in a follow up PR.


[youtube] player 3bb1f723: Signature extraction failed: Some formats may be missing

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

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

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
USA
Provide a description that is worded well enough to be understood
im using the nightly build with a system config file. that is it.
the config file contents are:
$ cat /etc/yt-dlp.conf

--cookies /home/ubuntu/PycharmProjects/cookiesRefresher/cookies.txt

the cookie file is refreshed every 24 hours and uses a dummy google account.
this setup used to work less than a week ago but now is broken. i havent changed anything.
today google asked me to verify this acoount. i verfied with a phone number and i was able to play videos on the same machine on a firefox browser.
yt-dlp version and debug info:
$  yt-dlp -vU
[debug] Command-line config: ['-vU']
[debug] System config "/etc/yt-dlp.conf": ['--cookies', '/home/ubuntu/PycharmProjects/cookiesRefresher/cookies.txt']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds [fca3eb5f8]
[debug] Python 3.12.3 (CPython aarch64 64bit) - Linux-6.8.0-1016-oracle-aarch64-with-glibc2.39 (OpenSSL 3.0.13 30 Jan 2024, glibc 2.39)
[debug] exe versions: ffmpeg 6.1.1 (setts), ffprobe 6.1.1
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, mutagen-1.47.0, requests-2.32.3, sqlite3-3.45.1, urllib3-2.2.3, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1837 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds)

when attempting to download a video:
yt-dlp https://www.youtube.com/watch?v=yaie5Uia4k8 -vU
[debug] Command-line config: ['https://www.youtube.com/watch?v=yaie5Uia4k8', '-vU']
[debug] System config "/etc/yt-dlp.conf": ['--cookies', '/home/ubuntu/PycharmProjects/cookiesRefresher/cookies.txt']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds [fca3eb5f8]
[debug] Python 3.12.3 (CPython aarch64 64bit) - Linux-6.8.0-1016-oracle-aarch64-with-glibc2.39 (OpenSSL 3.0.13 30 Jan 2024, glibc 2.39)
[debug] exe versions: ffmpeg 6.1.1 (setts), ffprobe 6.1.1
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, mutagen-1.47.0, requests-2.32.3, sqlite3-3.45.1, urllib3-2.2.3, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1837 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds)
[youtube] Extracting URL: https://www.youtube.com/watch?v=yaie5Uia4k8
[youtube] yaie5Uia4k8: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[youtube] yaie5Uia4k8: Downloading web creator player API JSON
[youtube] yaie5Uia4k8: Downloading mweb player API JSON
[debug] [youtube] Extracting signature function js_3bb1f723_106
[youtube] yaie5Uia4k8: Downloading player 3bb1f723
WARNING: [youtube] yaie5Uia4k8: Signature extraction failed: Some formats may be missing
[debug] [youtube] Could not find JS function "decodeURIComponent"; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[debug] [youtube] Extracting signature function js_3bb1f723_110
WARNING: Only images are available for download. use --list-formats to see them
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
ERROR: [youtube] yaie5Uia4k8: Requested format is not available. Use --list-formats for a list of available formats
Traceback (most recent call last):
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1624, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1780, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1839, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 2973, in process_video_result
    raise ExtractorError(
yt_dlp.utils.ExtractorError: [youtube] yaie5Uia4k8: Requested format is not available. Use --list-formats for a list of available formats

attempting to download the same video while ignoring the config fie:
$ yt-dlp https://www.youtube.com/watch?v=e8i32DH5rhQ --ignore-config -vU
[debug] Command-line config: ['https://www.youtube.com/watch?v=e8i32DH5rhQ', '--ignore-config', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds [fca3eb5f8]
[debug] Python 3.12.3 (CPython aarch64 64bit) - Linux-6.8.0-1016-oracle-aarch64-with-glibc2.39 (OpenSSL 3.0.13 30 Jan 2024, glibc 2.39)
[debug] exe versions: ffmpeg 6.1.1 (setts), ffprobe 6.1.1
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, mutagen-1.47.0, requests-2.32.3, sqlite3-3.45.1, urllib3-2.2.3, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1837 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds)
[youtube] Extracting URL: https://www.youtube.com/watch?v=e8i32DH5rhQ
[youtube] e8i32DH5rhQ: Downloading webpage
[youtube] e8i32DH5rhQ: Downloading ios player API JSON
[youtube] e8i32DH5rhQ: Downloading mweb player API JSON
ERROR: [youtube] e8i32DH5rhQ: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies. Also see  https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies  for tips on effectively exporting YouTube cookies
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 742, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/extractor/youtube.py", line 4478, in _real_extract
    self.raise_no_formats(reason, expected=True)
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 1276, in raise_no_formats
    raise ExtractorError(msg, expected=expected, video_id=video_id)

Provide verbose output that clearly demonstrates the problem

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

Complete Verbose Output
yt-dlp https://www.youtube.com/watch?v=yaie5Uia4k8 -vU
[debug] Command-line config: ['https://www.youtube.com/watch?v=yaie5Uia4k8', '-vU']
[debug] System config "/etc/yt-dlp.conf": ['--cookies', '/home/ubuntu/PycharmProjects/cookiesRefresher/cookies.txt']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds [fca3eb5f8]
[debug] Python 3.12.3 (CPython aarch64 64bit) - Linux-6.8.0-1016-oracle-aarch64-with-glibc2.39 (OpenSSL 3.0.13 30 Jan 2024, glibc 2.39)
[debug] exe versions: ffmpeg 6.1.1 (setts), ffprobe 6.1.1
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, mutagen-1.47.0, requests-2.32.3, sqlite3-3.45.1, urllib3-2.2.3, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1837 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds)
[youtube] Extracting URL: https://www.youtube.com/watch?v=yaie5Uia4k8
[youtube] yaie5Uia4k8: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[youtube] yaie5Uia4k8: Downloading web creator player API JSON
[youtube] yaie5Uia4k8: Downloading mweb player API JSON
[debug] [youtube] Extracting signature function js_3bb1f723_110
[youtube] yaie5Uia4k8: Downloading player 3bb1f723
WARNING: [youtube] yaie5Uia4k8: Signature extraction failed: Some formats may be missing
[debug] [youtube] Could not find JS function "decodeURIComponent"; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[debug] [youtube] Extracting signature function js_3bb1f723_106
WARNING: Only images are available for download. use --list-formats to see them
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
ERROR: [youtube] yaie5Uia4k8: Requested format is not available. Use --list-formats for a list of available formats
Traceback (most recent call last):
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1624, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1780, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1839, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.local/pipx/venvs/yt-dlp/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 2973, in process_video_result
    raise ExtractorError(
yt_dlp.utils.ExtractorError: [youtube] yaie5Uia4k8: Requested format is not available. Use --list-formats for a list of available formats

same :(

Signature function extraction is broken for the new player along with nsig.
Keeping this open as a separate issue from #11744 since this is what end users will see in their output