[AIRFLOW-2407] Declare as global virtualenv_string_args

Declare as global virtualenv_string_args defined elsewhere
Without this change flake8 will complain of undefined name virtualenv_string_args which is discussed at:

https://github.com/apache/incubator-airflow/blob/master/airflow/operators/python_operator.py#L174

flake8 testing of https://github.com/apache/incubator-airflow on Python 3.6.3
$ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics
./tests/operators/test_virtualenv_operator.py:166:19: F821 undefined name 'virtualenv_string_args'
            print(virtualenv_string_args)
                  ^
./tests/operators/test_virtualenv_operator.py:167:16: F821 undefined name 'virtualenv_string_args'
            if virtualenv_string_args[0] != virtualenv_string_args[2]:
               ^
./tests/operators/test_virtualenv_operator.py:167:45: F821 undefined name 'virtualenv_string_args'
            if virtualenv_string_args[0] != virtualenv_string_args[2]:
                                            ^

Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a JIRA issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

See above.

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:
It fixes tests flake8 that currently fail.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes git diff upstream/master -u -- "*.py" | __python3 -m__ flake8 --diff

Codecov Report

Merging #3293 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3293      +/-   ##
==========================================
- Coverage   75.89%   75.88%   -0.01%
==========================================
  Files         197      197
  Lines       14706    14706
==========================================
- Hits        11161    11160       -1
- Misses       3545     3546       +1

Impacted Files
Coverage Δ

airflow/models.py
86.64% <0%> (-0.05%)
:arrow_down:

Continue to review full report at Codecov.

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

Closed in favor of #3307


nginx proxy Issue

I am having a hard time to proxy the huggin server from docker i am tryng to proxy the docker container to the reverse proxy
this is the error
2024/03/19 16:59:07 [error] 31116#31116: *60794 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: <IP_ADDRESS>, server: odin.bitspot.ro, request: "GET / HTTP/2.0", upstream: "http://<IP_ADDRESS>.4:2000/", host: "etc.hostname.com"
I added the headers

is a problem from my server.. working now


Broken link in README to Tutorial notebook

Broken link in README to Tutorial notebook
Also it would be good to upload it to nbviewer and share the link directly - I think that would work on mobile also (which is where I tried to see this)..

Thanks @raamana. I’ve fixed that now!
There’s actually a huge factor coming very soon (merging in less than 2 weeks) so if you’re looking at the code I’d recommend taking a look in the dev branch if you’re interested.....or swinging by in a couple of weeks 😱😬🤗

Oh - and we’ll have the tutorials on binder in the future so shouldn’t need nbviewer (and you can see the notebook on GitHub if you go to desktop mode on mobile - as I’m sure you already know)


Initialize MTRDevice_XPC and MTRDevice_Concrete with the corresponding controller types.

Removes the unreached/unused initWithNodeID:controller: on MTRDevice.
unitTestSetMostRecentReportTimes is only used on MTRDevice_Concrete instances, and is already implemented there, so can be removed from MTRDevice.

Fast-tracking platform-specific change with platform owner review.


[JOSS] Update paper.md

I figured it's easier to fix with PR, since it's just a small typo/weird wording.
Ref. #5791

Thank you for the suggestion!


Allowing Autocomplete to popup inside or outside the container.

Awesome thanks.  Shall I mark keybinding as ready for review do you think or is there more we need?

Yes you can. I thought to add the change inside the container to false if not multine, but I do later.

Thanks. I forgot to delete the protected abstract Point GetCursorPosition (); method. Before I had also created protected abstract Point SetCursorPosition (Point curPos);, but as I did not need them I only removed the SetCursorPosition and forgot to remove the GetCursorPosition. So my question is if I should remove the GetCursorPosition too, or I also should adding the SetCursorPosition for a possible future use. Then both or none.

Thanks for the heads up.  I've removed it in cf446f6b9614ad94840a39393372cfe1860fdc1b I think that if we don't need the method then reducing the overhead of implementing the abstract is worth removing it.

I have doubts whether it is necessary to use an interface if an abstract class is provided because the last one already imposes its signature. Is it not duplicate work? Can you clarify please? Thanks.
If I need to contact you privately, how can I do it? If you agree, of course.

Well interfaces are normally nice because they allow Mocking in tests more easily than an abstract.  Also they normally help distinguish the public 'minimum requirements for an implementation of IAutocomplete` from the implementation detail of the abstract base class.
Normally I would say that if it doesn't hurt then just leave it.  That said we don't have an IView etc so if you think it is better to remove it I wouldn't mind.
I think we could remove from the interface things that are not likely to be called other than by the Autocomplete base class and therefore are not strictly required when implementing IAutocomplete:

void EnsureSelectedIdxIsValid ();
bool IsWordChar (Rune rune);
void ClearSuggestions ();
int SelectedIdx { get; set; }
int ScrollOffset { get; set; }

What do you think?

Ah thank you. This already makes much more sense. I agree with you, but in this case the Autocomplete statement in TextView and TextField should be changed to IAutocomplete and add to the interface the methods that are still missing. Right?

I think it is more about removing methods from IAutocomplete.

IAutocomplete should only have methods that are needed to be called from TextView or TextField or is helpful for API users
Autocomplete can stay as it is

So for example MaxWidth is good in the interface because API users might want to adjust that on a given instance of TextView.  But  void EnsureSelectedIdxIsValid (); is very implementation specific and not something the API user would normally be calling.  Therefore it shouldn't be in the interface IAutocomplete.
I can update it to remove those methods if you want so you can see what I mean?

I can update it to remove those methods if you want so you can see what I mean?

Please do it. The interface must only have declarations of what the user need to call from the class that has declared an IAutocomplete.

That is already how it is:
public IAutocomplete Autocomplete { get; protected set; } = new TextFieldAutocomplete ();

Sorry I thought it was as public Autocomplete Autocomplete { get; protected set; } = new TextViewAutocomplete ();


Requirements versus PyImageJ, python-bioformats, AICSImageIO

The Bio-Formats documentation lists three ways to interface Bio-Formats from Python. See here:
https://docs.openmicroscopy.org/bio-formats/6.8.0/developers/python-dev.html
Those three ways are:

python-bioformats
AICSImageIO
PyImageJ / scyjava

The AICSImageIO and scyjava approaches use JPype. The python-bioformats approach uses python-javabridge, but the COBA team (Broad Imaging Platform & LOCI/Eliceiri lab) is currently investigating either retiring python-bioformats or migrating it to be built on scyjava also.
My question is: what were the motivations behind the development of bfio versus adopting one of these other existing projects?
Totally understandable if it was done naively, or before these other projects were mature enough. That happens all the time in tech of course. But maybe now could be a good time to step back and double check project requirements, to evaluate whether it might be possible to reconcile these overlapping libraries?

If bfio has unique requirements not met by scyjava, that's OK, but I'd love to see that documented explicitly in the README so that interested parties understand why one might want to use bfio—and maybe improve scyjava so that it can meet bfio's requirements, if feasible.
It would also be nice to have an "alternatives" section in the README linking off to the Bio-Formats documentation about Python, and/or these other options directly.
And of course you could file a PR to the Bio-Formats documentation adding bfio as an option to its Python documentation as well.

Hey @ctrueden
This is going to be a wall of text because there is a lot of history here. I'm happy to set up a quick meeting to discuss if you're available/willing. In summary, bfio predates the existing functionality in AICSImageIO, predates PyImageJ, and was originally created as a wrapper around python-bioformats to circumvent/modify a number of the issues present in that package. We have discussed merging with AICSImageIO, and what is likely going to happen is that we are going to merge some of our code into their codebase, but we are going to maintain bfio separately for a variety of reasons I'll discuss below.
bfio was originally created as a wrapper around python-bioformats in early 2019 (existing as a folder in polus-plugins) to support our data science teams create interoperable plugins for an NIH funded cloud computing project called Polus, which includes the NIST open source project WIPP. WIPP uses .ome.tif as it's standard file format, specifically using tiled chunks to improve performance. At the time, python-bioformats did not handle chunked reading/writing of data well, and ome model metadata handling was not sufficient for what we needed. We attempted to use tifffile, which was excellent for reading and more performant, but we had similar issues saving data at that time. AICSImageIO did not have bioformats as a part of the source at that time, and had limited functionality relative to where it's at now.
Over time, the biggest bottleneck for bfio was slow read/write times to/from .ome.tif, and we were considering creating a new zarr based file format. What we ended up doing is rewriting the codebase for bfio, which is when the code was migrated from polus-plugins to here. Part of that was creation of an optimized ome.tif class that modified code from tifffile to improve read/write times and also allow us to maintain metadata properly. When we did that, we also dissociated from python-bioformats and created our own bioformats bindings through jpype, since we found a large number of issues working with various file formats through python-bioformats. Essentially, python-bioformats had custom code for class selection that caused issues for a number of supported formats. What bfio does now is use bioformats as a catch-all, and we have custom ome tiff and ome zarr classes for reading/writing of data. If we do not have a custom implementation for a specific format, we try to load a file with bioformats. We explicitly try to avoid using Bioformats as a general rule, because we have found the overhead to be pretty high relative to our dedicated readers and writers.
We have been in discussions with the AICSImageIO team, and even considered merging this work with their repo. We are still going to create bindings for our OME Tiff reader/writer classes because they seem to be more performant than what they currently have. However, we have decided to continue maintaining bfio for a variety of reasons. One of which is that bfio 2.X is relatively polymorphic with numpy, and treats images as memory mapped arrays (something that AICSImageIO also does). This makes adaptation of an existing image processing algorithm easier because we can just replace a numpy array with a bfio object. Also, there is relatively little boilerplate code required to use bfio, lowering the burden on our developers to implement new algorithms.
So, in summary, we found python-bioformats to be a problematic implementation of bioformats, AICSImageIO was not where it is now when we first started (or we may have used that), and PyImageJ did not exist. If you take a look at our polus-plugins repo, you will actually see we have a large set of projects involved in scraping ImageJ Ops using PyImageJ, so we have pretty good knowledge of what it is capable of doing and are closely watching that (particularly the macro functionality that has an issue with the legacy window manager). We have kept a close eye on AICSImageIO and have been in contact with that team, and plan on contributing. However, at the end of the day, the developer usability of our package and the optimized tools specifically for formats in WIPP is what is holding us back from jumping completely on board.
My 2 cents is that python-bioformats should go in the wastebasket if they are considering what to focus on. Not because I am lacking in appreciation of what they accomplished at all, because at the time we first started working on bfio that looked like the best approach from our end. I just find jpype to be a superior and more natural interface to Java, and I think any Python implementation using python-javabridge is going to carry a lot of technical debt. We have also been following scyjava, but I think any tool that directly interacts with bioformats is going to have subpar performance. The data we receive from NIH is generally large, and single images frequently are too large to fit into memory.
We have discussed bfio with the Bioformats team at some ngff meetings. I know they are aware of our work, and I think you will find that some of the issues here are from their team. I think it's a good suggestion to submit a PR to their repo. We have done relatively little advertising about bfio, but we will be changing that soon.

I should also mention that one thing we tested when creating our own ome tiff reader/writer functions was the reference C++ implementation for OME Tiff. We both found it problematic to build, and when we did get it working it ended up being slower than our Python implementation. A discussion with the maintainer of that project suggested that there was a lot of overhead from Bioformats, even in the C++ reference implementation. So, we have a strong preference for sticking with our Python code until we find something with similar performance. The improvements in performance were more than a factor of 2, and that was before we switched compression libraries which gave us an additional bump in performance. Last we checked, the C++ reference implementation ran about 2x faster than Bioformats, and our Python implementation operates 10-20x faster than Bioformats. This is also one reason we will contribute our code to AICSImageIO, since that has a larger user base and we believe it might get more use and visibility there.

@ctrueden I would be interested in being a part of discussions for whatever ImageJ/Bioformats have planned moving forward. I think some kind of Bioformats integration will always be a part of bfio, so we are interested in contributing and/or providing input on whatever that might look like.

@Nicholas-Schaub Thank you so much for all the detailed explanations and history! It helps a lot to have context surrounding a project, where it came from, and where it is going. :smile:
I'm just going to reply to a few things you said in areas where additional discussion may be fruitful. My goal is conciseness, and I hope I don't come off as terse or critical—I'm very supportive of your efforts!

My 2 cents is that python-bioformats should go in the wastebasket

Yeah, agreed on all points—it was a great project at the time, but JPype is better now. That's why the COBA team is doing some exploratory work to replace it with scyjava inside CellProfiler. It should make it a lot easier to integrate additional Java-based technologies, particularly ImageJ2, into CellProfiler without hassle. (Right now, python-javabridge wants to start a JVM, and JPype wants to start a JVM, and they clash, so we are using multiprocess shenanigans to work around it, and it's complex and error-prone across platforms.)

We have also been following scyjava, but I think any tool that directly interacts with bioformats is going to have subpar performance.

This statement I don't understand. Just in case it's not clear: the scyjava project is distinct from SciJava—sorry for the confusing naming there. When I say scyjava I'm talking about the Python project which is extremely general. In a nutshell, this project is simply jpype + jgo, i.e. JPype plus Maven capabilities, so that you can easily load remote artifacts at runtime. The PyImageJ project is built on top of scyjava, but you can use scyjava even if you don't care about the ImageJ/ImageJ2/Fiji/SCIFIO/ImgLib2 alphabet soup. You could use it to talk to Bio-Formats in the same way you are using JPype now, because it is still using JPype. The only difference is that you wouldn't need to ship your own JAR files—you can just reference the Bio-Formats JARs via their groupId:artifactId:version coordinates, and it will take care of the rest.
About "subpar performance"—if you are talking about the OME-TIFF read/write times compared to your super-fast implementation, then sure. I assume you also have that problem when you call BF with JPype the way you are doing now, no? I'm not suggesting to replace anything optimized that you did, far from it. Just suggesting that you might find benefit from scyjava due to its jgo-related part.

I and my team would be interested in being a part of discussions for whatever ImageJ/Bioformats have planned moving forward.

Cool! There are really two separate teams involved here:

The ImageJ2/Fiji team, which is a geographically distributed, multi-institution team that meets on Gitter and now weekly for developer standups. You are welcome to join those standups if you are interested! But they are largely focused on Fiji & SciJava i.e. Java coding, with file formats being only a small part of that. We do discuss PyImageJ progress as it happens, but you can also follow that work on the pyimagej gitter channel or more passively on its current project board. If you like, we'd be happy to schedule a video call where we can hash out potential common areas of collaboration, and/or help troubleshoot any technical challenges you have with it.
The OME team, which is a more consolidated (though still geographically distributed) team that drives the Bio-Formats and OMERO and related projects. I know you've already been in touch with them, which is great, and I encourage you to continue that so that you can help steer e.g. the NGFF design and implementation.

our Python implementation operates 10-20x faster than Bioformats

Hmm, I/O is I/O, and language choice doesn't affect the performance too much as far as I'm aware, so this suggests to me that there is a lot more optimization that could be done on the Bio-Formats side. Maybe the Bio-Formats developers could take some inspiration from what you did in Python. But I totally get why you wouldn't need to drive that forward yourself—your project is in Python and now you have a fast pure-Python solution, so there's not much incentive for you to worry about other language codebases!
Ahh, there is probably more goodness to discuss, but I have to run for the moment. If I missed answering any questions you asked above, just ping back and I'll respond again! 😅

So...we have a pretty intimate understanding of scyjava because of how it is implemented for pyimagej. If I remember correctly, we had to do a bit of hackery to get bfio and scyjava to play well together, which required browsing the internals a bit. My comment about scyjava and bioformats alluded to the exact point that you made: that it would be used to interface with bioformats, and that presents a performance issue. Not because of scyjava, but because bioformats has performance issues that we experience in our own jpype implementation. This comment was made primarily in the context of "would we get rid of bfio to use/contribute to an alternative solution". I think we would, but bfio would wrap whatever that other interface with Bioformats would be under the hood. I'd much rather use another projects full implementation of Bioformats than have to do the grunt work completely on our own, which is why we would be interested in commenting/contributing on whatever that solution might be.
I would love to do a video call to hash things out. We have been turning ImageJ ops into plugins for our cloud computing framework, and because this covers several hundred ops, we have run into a number of issues with the way pyimagej does conversions and have had to create custom solutions using imagelyb. I have one full time developer working only on that stuff, and I'm sure there are things we could contribute back to pyimagej. One of our missions is to support open source projects like pyimagej.
I'll join the pyimagej gitter and will get my fulltime developer to join as well. Maybe we can coordinate a meeting with whoever is on that team on there.

Our approach on this is going to be the following:

Switch from bioformats-jar to scyjava
Continue to maintain our custom readers/writers.


euron and control change

hi, there are some may issues with control change interaction like when i pick up an iron mine with euron i cannot save my characters but i can save the rival characters.
And other cases like steal great kraken, steal the wall etc..

Thanks for the report. I wasn't able to reproduce the situation described with Iron Mines directly, but #959 fixes a bunch of the other cases where take control was granting keywords / strength / etc to the wrong player.
Once the fix is merged and deployed, re-open this issue if you notice problems like the Iron Mines scenario above.


Paginating Support (consumers endpoint)

While running kongfig, I ran into a problem where I have approx 300+ consumers; which would require to request consumers in increments as there is a limit of 100 on the endpoint at the moment. It results in:

Error: Content overflow on {kong-api:8001}/consumers, pagination not supported

to be outputted into the output file.
Is pagination support being considered? I may take a shot at adding it in.

I have not reached the 300+ consumers yet, but I will def. need this in a near future.
So +1 for your effort of adding it in if you do ! :)

@vl4d Sorry for a late response. I can look into implementing something if you have not already started.
Are you managing these 300+ consumers using kong or you are using something else to do that? Basically would it be useful to have a config param that would turn off managing consumers through kongfig?

Thanks  for following up. We would love the optional param to turn off managing consumers through kong. (I hacked around and turned it off myself )
But yes I am managing the 300+ consumers in kong. We were migrating from cassandra to postgres when we noticed the problem. I have not started as yet as we automatically provision consumers in kong so it worked itself out. But the feature would be lovely as well.

For a temporary remedy I published kongfig 1.2.6 that allows ignoring consumers by not included consumers attribute in the config file or using --ignore-consumers option when executing either apply or dump command.

Awesome thanks for the flag. Will test it out. !


auto-subtitle: command not found

Hello,
I try to install auto-subtitle according to README.md manual but faced with the issue. There was no any error during installation.
When I run auto-subtitle, I get error "auto-subtitle: command not found", I try to import auto-subtitle to Python script, get the error as well.
"pip list" shows that auto-subtitle was installed. I've tried two version of Python, on my PC (3.10.6) and using Google Colab (3.9.16)
Please, help me to understand how to use auto-subtitle. Thanks in advance.

Any? :)

You have to add the path of the install to your Path environment variable. Look up how to add a python command to Path. You'll get there!

@levfo thanks, the file is here /home/{%user_name%}/.local/bin/auto_subtitle


Provide configuration to expose HATEOAS affordances as JSON:API meta

There is no standard in JSON:API for affordances but it could be helpful for clients, even though it is proprietary.

done


Add file_view/sub count analytics throughout app (file pages, tiles, etc)

The Issue
As a user, I'd like to know how many times a piece of content has been viewed to have an insight into popularity. As a creator, I want to know how many times my uploaded content has been viewed to judge traction/viewership.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

sub: https://api.lbry.io/subscription/sub_count?auth_token=xxxxxxxxxxxxxxxxxxxxx&claim_id=feb61536c007cdf4faeeaab4876cb397feaf6b51
view: https://api.lbry.io/file/view_count?auth_token=xxxxxxxxxxxxxxxxxxxxxx&claim_id=98da3414ade7ed939eb24d943b47a6e18ae5da27

This was done. We can consider adding it to claim previews later.


I think with this pull request it will undo the previous files

Previously my commits contained a folder for the build. This is necessary to run locally however, I only want to push the HTML file. Please let me know if this is possible. If not, I may need help better understanding what steps I need to take to make edits without uploading information from my system.

@ControlAltTea thanks for wanting to contribute! Your PR is proposing alterations to the build directory. Please don't edit files in the build directory. You can use gitignore to make sure that the build directory (your local build files) doesn't push to remote.
You can read more about how to update nav bar items here and also look at how they've done what you're trying to do on the docusaurus config file here. Please update your PR accordingly :)


Map product codes to model names

NOTE: For a feature to be created it has to be doable in the Amazon app because we are basically replicating the app for HA. If you can't find it in the app, we probably can't create it here.
Is your feature request related to a problem? Please describe.
User is presented with product codes (e.g., ECHO A2DS1Q2TPDJ48U) instead of model names (e.g., Echo Dot Clock (Gen5)).
Describe the solution you'd like
It would be nice to have the actual product model instead of the product code
I found a nice mapping from the code to model in a Hubitat project at https://github.com/tonesto7/echo-speaks/blob/master/apps/echo-speaks.groovy
They don't have a license published so that might be an impediment until resolved.
Describe alternatives you've considered
None.
Additional context
None

Happy to take a PR to add this. You might want to start with getting them to publish a license though.


chore: use coreutils hashsum

Will also need to add a test for hashes to e2e/bzlmod with this one :)

adding derek as a reviewer as he knows the repo and bzlmod

I think you could add to e2e/workspace and e2e/bzlmod, just one usage (e.g., a genrule) as a smoke test that workspace/e2e users are able to use the toolchain. For the most part unit tests can exercise coreutils, and eventually we'll be running all unit tests with bzlmod enabled on ci, so you don't need to worry about exercising it fully in an e2e.

Yup. Agreed that e2e/bzlmod & e2e/workspace are just smoke tests. Since we're not in a rush to land this @thesayyn we may as well take the opportunity to combine e2e/workspace & e2e/bzlmod into a single e2e/workspace and add the bzlmodEnabled: [true, false] pattern to CI for bazel-lib which @kormide just rolled out in rules_js: https://github.com/aspect-build/rules_js/blob/047decb02a7e1497d23cfb9b239b56778ea19f4d/.github/workflows/ci.yaml#L132

@alexeagle is going to configure our preferred pattern for bzlmod/workspace smoketest e2e in rules_swc. Lets wait until that lands and then copy it over here.

Working on that right now...

https://github.com/aspect-build/rules_swc/pull/153

@thesayyn should be unblocked now

oh, I missed this one. I'll takeover thanks!

now, this is more of a coreutils + e2e cleanup.

this is ready now

Can we rename e2e/workspace to e2e/smoke? (.bcr/presubmit.yml also needs to reference this target)`.
Each e2e should also have a WORKSPACE.bzlmod file, which tells Bazel to ignore WORKSPACE when bzlmod is enabled, and any repository rules can't be set up under MODULE.bazel go in there.

This broke the windows build on mainppp

Looks like a small typo. https://github.com/aspect-build/bazel-lib/pull/395 to fix


Integrate and run on OGB datasets

Description
https://ogb.stanford.edu has a few interesting (e.g. reasonably large) datasets and standardised loaders and evaluators for them. We should investigate integrating with those loaders and running algorithms on them.

Hm, it seems the OGB datasets:

can be quite large (N = https://ogb.stanford.edu/docs/nodeprop, L = https://ogb.stanford.edu/docs/linkprop/, G = https://ogb.stanford.edu/docs/graphprop/, ... = https://snap.stanford.edu/ogb/data)

task
dataset
size (MB)
data file url

N
proteins
212
.../nodeproppred/proteinfunc_v3.zip

N
products
1461
.../nodeproppred/products.zip

L
ppa
391
.../linkproppred/ppassoc_v4.zip

G
hiv
2
.../graphproppred/csv_mol_download/hiv.zip

G
pcba
38
.../graphproppred/csv_mol_download/pcba.zip

G
ppi
2991
.../graphproppred/ogbg_ppi_medium.zip

are very slow to download; I tried downloading the a few of files above with wget:

on my home internet connection, I saw maximum speeds of 100-700KB/s for all. The average speed for a complete download of hiv was 742KB/s, for pcba 177KB/s) . Speedtest reports 5.6MB/s for my internet connection, and downloading reasonably large files (tens of megabyte) from, say, GitHub can hit 4-5MB/s.
on a cloud machine, TODO

See: https://github.com/stellargraph/stellargraph/pull/1177#issuecomment-631782568


[FEATURE] Enhance the import experience to Rancher

Currently user need to log into a Harvester physical node to run kubectl to import the Harvester cluster to a Rancher cluster.
We should allow that in the UI. Also, we need to enforce that one Harvester cluster can only be managed by one Rancher.

I also noticed the binding script in Rancher 2.6.1 seems to look for k3s.yaml instead of rke2.yaml which is created in the installation of Harvester 0.3; copying /etc/rancher/rke2/rke2.yaml to /etc/rancher/k3s/k3s.yaml allowed me to add default as admin-role and subsequently join the Rancher. Should I file this in a dedicated issue or is this just part of this one?

@jnfinitym can you elaborate? Which binding script you're talking about? Might be another issue.

Weird, today I installed Harvester again from the same USB Stick and used the same version of Rancher deployed in the same way (in a VM on docker) and didn’t get the same issue!? - can’t reproduce it anymore, so I guess it was just a fluke.
On 13 Oct 2021, 22:27 +0200, Sheng Yang @.***>, wrote:

@jnfinitym can you elaborate? Which binding script you're talking about? Might be another issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Proposal for the import UX:

In Rancher UI, we show the instructions for importing Harvester using Harvester UI.

In Harvester settings, add a cluster-registration-url settings. Users import the Harvester cluster by clicking the Import to Rancher button and inputing the registration URL.

Under the hood, Harvester settings controller applies the manifests for the import.

LGTM

please also close the issue of https://github.com/rancher/dashboard/issues/4531 if the validation passes, thanks.

@gitlawr , @n313893254
Verified not fixed on master-81141c98-head with latest rancher v2.6-head. Move it to implement pipeline.
Please check whether the feature and UI have merged to the latest master release.
On Rancher v2.6-head, we can see the instructions for importing Harvester under registration tab

While we can't find the cluster-registration-url  configuration in harvester settings page

@TachunLin  My bad. As the PR is merged by rancher/dashboard, we should validate cluster-registration-url  after  harvester/dashboard rebase rancher/dashboard.

rebase, Done.

Verified fixed on master-b7e562d3-head with Rancher v2.6.3-rc1 .Close this issue.
Result
User can input registration url from rancher into harvester settings then import harvester in rancher dashboard

Test Information

Test Environment: 1 nodes harvester on local kvm/qemu
Harvester version: master-b7e562d3-head
Rancher version: v2.6.3-rc1

Environment Preparation

Install harvester v2.6.3-rc1 in docker command
Update the ui-dashboard-index and ui-offline-preferred in rancher global settings

Verify Steps

Environment preparation as above steps
Access virtualization management page in rancher
Press ctrl+R to reload page
Import existing harvester
Copy the registration url

Access harvester dashboard settings
Edit the cluster-registration-url

Paste the registration url and save

Back to rancher dashboard and wait for import process

Access harvester from rancher virtualization management page


Question about internal validation protocol

Dear authors,
thank you for the great effort towards a medical foundation model! I was wondering how you performed the internal validation. In the paper, I understand you split 80/10/10 for train/validation/test after gathering all the datasets from various modalities and tasks.
Do you then report the performance on the 10% test split as "internal validation", e.g. in Tables 5-8 in the supplementary? How do you compute this 10% random split - is it 10% of all aggregated datasets or 10% for each individual dataset and then combined together to form the final internal validation dataset?
I am wondering since I cannot see any results for the Abdomen-US dataset in Table 7. In Table 3 I can see it has 60 samples and several targets, but in Table 7 this could only be attributed to the "Kidney" row or it is not part of the results there. Can I assume that each row in table 7 aggregates all datasets with a certain target and modality? For example, the kidney row consists of results from both Abdomen-US and CT2US? Or is each row there computed only over one dataset?
Thanks in advance!
Best,
Zdravko

Hi @Zrrr1997 ,
Sorry for my late reply. Thank you for your insightful questions very much.

For the internal validation set, we adopted a strategy where we randomly selected 10% of each individual dataset. These subsets were then aggregated to form the composite internal validation dataset. Specifically for endoscopy frames and pathology images, to prevent information leakage, the 10% validation subset was determined based on distinct video sequences or patients rather than individual images.

Regarding the Abdomen-US dataset, we faced a challenge due to the limited number of samples available for each segmentation target (gallbladder: 12, kidney: 15, liver: 40, spleen: 6, vessel: 16). This small sample size rendered statistical significance testing for this dataset less reliable. Consequently, we used the dataset entirely in the training set, instead of splitting it for validation or testing. This is why its results are not explicitly reported in Table 7. Each row in Table 7 aggregates results from all datasets sharing a common target and modality.

I hope this clarifies your concerns. We appreciate your thorough review and are happy to provide any further clarifications needed.
BTW, we will be launching a challenge in CVPR about MedSAM on laptop. Welcome to join us:) https://www.codabench.org/competitions/1847/
Best regards,
Jun

We just released lite MedSAM here: https://github.com/bowang-lab/MedSAM/tree/LiteMedSAM
It is 10x faster than MedSAM. Any comments are welcome.


Flowchart in docs is broken

At the top of https://langium.org/docs/learn/workflow/ is this graphic:

It's the first thing you see when you click "Learn" front and center on the home page, so a new user's first impression is 'learning langium is broken.'
As far as I can tell, the culprit is here.
idk anything about mermaid's diagram syntax, but from a quick skim of the docs, I don't see semicolons separating lines in the examples, so maybe that's the culprit? no idea really

Fixed by @MarianPalkus, thanks


Some Twitter links don't load correctly

I use this plugin to embedd some tweets on my page.
This worked pretty neatly so far, until this morning I noticed that two had loaded the content but not the correct Twitter styling.
There was nothing unusual in the network tab and no errors in the console.
I have attached two screenshots and their respective location in the my site.
Maybe there is something you can spot?

https://www.felipesere.com/blog/2017-01-25-fast-feedback-with-rspec-and-rerun
and the failing ones:

https://www.felipesere.com/advent/?day=1

Thanks for reaching out.
When that happens the Twitter javascript has not loaded. Why I am not sure. What gatsby version are you on?
I will try to look into this on Wednesday.

I am at the latest version of Gatsby that still works with oembed.
If you want to point me in any direction I can give it a whirl.
Do you load the JS via Helmet?

I think it might have to do with using a popup. The Twitter code needs to be ran after the content is on the page.

So either have it on the page, but hidden, so the js picks it up when page load is done. Or  manually run the code.

I've had to do it via a setTimeout(() => loadTwitter(), 100) because I can't tell when react will have rendered my component into the DOM... 😢

I've run into a similar issue: visiting a page with an embedded tweet doesn't load the Twitter embed code on the initial page load, but subsequent navigation between pages does trigger the change.

Looking at the code, I think this may be why:
https://github.com/raae/gatsby-remark-oembed/blob/bb1df40dc139e886eeba4f04c8c0db7a468e0383/gatsby-browser.js#L23-L26
These might also have to be called onInitialClientRender. (My homepage is where I've run into this.)

Could you test going directly to https://gatsby-remark-oembed.netlify.com/twitter/, that is a page with an embedded tweet.
Will try to look more into this next week.


Issues is here i cant show list more than 4

$number-of-child-buttons: 4 !default;
not working. i have changed this value but its not working. Can you show the way how we can show 8 item in the list ??

same problem here. Any solution?

hi.
same problem !


I get this console error on bungeecord

What is the output link of /viaversion dump?
http://hastebin.com/wugadinopi.json
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
I am using the lastest version of bungeecord 1204 and Via Version 1.0.0 installed just on bungee side
How does this error happen? login? Using an item?
This happen everytime in the console, sometimes kicking players!!
Is there an error in the console? Use pastebin.com. Is there a kick message?
http://pastebin.com/1vfXbsPc
and this:
http://pastebin.com/BcSWMmuZ

also this error http://pastebin.com/BcSWMmuZ

Should be fixed in the latest dev build, just patched.


Parentheses in title tag not processed correctly

Perhaps by design, but this Markdown code:
Then we use [Output.WriteLine()](/output-writeline/ "Learn more about Output.WriteLine()") to output the generated string.
Is generated by Hugo v0.14 as:

Then we use Output.WriteLine()”) to output the generated string.

Removing the parentheses in that are placed in the title tag like this:
Then we use [Output.WriteLine()](/output-writeline/ "Learn more about Output.WriteLine") to output the generated string.
Generates correctly:

Then we use Output.WriteLine() to output the generated string.

I'm not sure I understand this ... but assuming you are using Blackfriday, that library is to blame.
Could you open an issue at
https://github.com/russross/blackfriday

Ah okay, I see that this issue is already reported at blackfriday (if that's what I use): Link parsing doesn't correctly match URLs when they include brackets #116 .


codecov.yml changes suggested by stevepeak & more

Made the changes suggested by @stevepeak in PR #314
Told Codecov to ignore the benchmarking-tests and speed-tests directories (in the ignore: section of codecov.yml)

:+1:


Modular Status Page with Resizable Groups

📑 I have found these related issues/pull requests
I couldn't locate any related FRs
🏷 Feature Request Type
Status-page
🔖 Feature description
I would love the ability to customize the status page to be more modular. On a 16:9 or wider aspect ratio, there's a lot of unused "white space"... or "black space" if you choose to use dark-mode because you're not a degenerate 🤣. This space is both in the columns, but also in the middle of the monitors between their names/tags and the status bars.
✔ Solution
I would love the ability to have the "groups" act more as "pods" that we could adjust into various sizes so that I could arrange them in such a way that it could eliminate the need to scroll by leveraging the empty space on the screen so that it could be used as a dashboard on a TV.
❓ Alternatives
I'm unaware of any alternative solutions for Uptime-Kuma that would allow for this. I did look through the "appearance" settings as well as the Status Page Settings.
I suspect I could try to hard-code the config with CSS, but I neither know CSS, nor would that be very flexible in nature.
📝 Additional Context
Given all of the space inside of the red boxes, I think I could fit all of the content on to a page I don't have to scroll for.

I use data analytics tools for work that are similar to PowerBi, but for the MSP space and they do a really good job on the UI to allow us to change the size, ratio, etc of the monitors to allow us to configure the boards however we need to. Something like this

Having the ability to grab the corner of a "group" to re-size it would allow me to potentially group websites by category, then resize and arrange the groups on the page in a manner that would fit all of them onto the page.
Thanks again for the awesome tool!

Multi-collumn status pages are tracked in https://github.com/louislam/uptime-kuma/issues/592.
I don't think having a resisable and modular status page is something that we can allow in-scope. We are simple and being so modular is not simple.
=> closing as out of scope/wontfix

[!NOTE]
When you are looking for this level of customisability, you are likely looking for grafana instead.

[!TIP]
We offer a pre-configured grafana dashboard which you can use and configure to your likings.
See the AWSOME work which @MrDrache333 as contributed in https://github.com/louislam/uptime-kuma/pull/4680:

We have documented how to set up metrics via grafana in https://github.com/louislam/uptime-kuma/wiki/Prometheus-Integration

Thanks for the thoughtful and prompt response.
On Wed, May 22, 2024, 5:14 PM Frank Elsinga @.***>
wrote:

Multi-collumn status pages are tracked in #592
https://github.com/louislam/uptime-kuma/issues/592.
I don't think having a resisable and modular status page is something that
we can allow in-scope. We are simple and being so modular is not simple.
=> closing as out of scope/wontfix
Note
When you are looking for this level of customisability, you are likely
looking for grafana https://grafana.com/ instead.
Tip
We offer a pre-configured grafana dashboard which you can use and
configure to your likings.
See the AWSOME work which @MrDrache333 https://github.com/MrDrache333
as contributed in #4680
https://github.com/louislam/uptime-kuma/pull/4680:
[image: uptime-kuma-dashboard]
https://github.com/louislam/uptime-kuma/assets/22854641/4b7df766-0c7f-4442-9307-c84f25ea297c
We have documented how to set up metrics via grafana in
https://github.com/louislam/uptime-kuma/wiki/Prometheus-Integration
—
Reply to this email directly, view it on GitHub
https://github.com/louislam/uptime-kuma/issues/4787#issuecomment-2125756506,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS5NKGTLGIV46HYYNVDWFL3ZDUDDDAVCNFSM6AAAAABIEIBQOSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRVG42TMNJQGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


jewelry sockets

Recently when importing sockets on rings and amulets fail to get added.

The new blizzard API does not list empty sockets correctly so there isn't much I can do about it.

ah good ol bliz braking things that dont need fixing 🤣


Hotfix/switchable dns cache

As per #11, here's a PR with simple addition of use_dns_cache param to AIOHttpConnection / aiohttp.TCPConnector to allow disabling DNS cache.
Closes #11.

Hm, I've signed the contributor agreement, but verified the email address after the PR was created. Possible to re-check the PR without new commit?

Thanks for the patch!


Create a script for generating Caravel chip diagram using netlistsvg

Expected behaviour
We should have a script that would allow autogenerating the top-level diagram of Caravel chip based on the contents of verilog/rtl directory.

@glatosinski: With #31 merged, I'll close this issue. Thank you very much for your PR!


When will nocode launch it's own ICO?

No code already had a NOCO. It is a novel token that uses Proof of Imagination.
The 1.0.0 release marks the first release of no code that we consider production ready. No code supports the following languages:

Ruby 0.95+
Python 0.9.0+ (but not Python 3)
Haskell 1.0+
Go r56+
Node.js (eventually)
TensorFlow r1.1+ (because machine learning)
FORTRAN 1956+
Java 1+ (enterprise edition only)
Blockchain (everything can run on a blockchain)


Enumerable.TakeLast Method

https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.takelast?view=netcore-3.1

if I did the take and the reverse, I think it seems fair to do the takeLast HAHAHAHA! xD

It's only fair 🤣
Happy hacking 🎃


Strict mime type checking causes Content-Type for localhost/livereload.js?snipver=1 to fail

It looks like when strict mime type checking is enabled a request for the livereload.js script is failing.
It is served up the Content-Type being application/json which is not executable when it should be served up with application/javascript.

Fixed by 46a474a02bc724713a3a7766457ca0c6417920f9 Thanks!


Initialize known collection types to empty instead of null

What about @Nullable properties. Should we allow them to be initialized to null since you've essentially opted into the behavior?

Should we allow them to be initialized to null since you've essentially opted into the behavior?

SGTM, I updated the pull request.

Thanks @cushon, this looks great.  I was initially thrown by the Immutable* additions, but that will only become a dependency if the app is already using Guava, so nothing is imposed on the user.

@hzsweers has raised a valid concern that this breaks the AutoValue expectation that null collection and empty collections are different.  If your collection property is non-nullable, then it should exist in your JSON.  (i.e. if you deserialize JSON with this change, then serialize JSON it would be different).
I've opened issue #73 to discuss this.


Impromper Azure Function Documentation

Hi Team,
I am new to Azure Function I am stuck with requesting the Azure Function from Azure. I got the codebase but it will be much clear just mentioned the URL to execute the function Endpoint.
It will be helpful for beginner who are trying to learn new things on any technologies that the codebase should have the example with  it show that it will be understood that how could he execute the corresponding code.
I have failed to execute the below code in azure function by passing the Query Parameter "Name" but won't understand how could I pass the claim details or it will automatically accept from browser cache or any thing else.
Error:
[FunctionName("hi")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log, ClaimsPrincipal principal)
{
}

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

ID: c59024a4-9208-9b00-43ee-f6ba936c95a6
Version Independent ID: 5ac7705c-35e3-b211-ebba-3798dd949409
Content: Work with proxies in Azure Functions
Content Source: articles/azure-functions/functions-proxies.md
Service: azure-functions
GitHub Login: @alexkarcher-msft
Microsoft Alias: alkarche

@jitendriyag2 Thank you for your feedback! We will review and update as appropriate.

@jitendriyag2  ClaimsPrincipal is useful when we want to retrive information about authenticated clients. ClaimsPrincipal is available as part of the request context as shown in the following example:
using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
public static IActionResult Run(HttpRequest req, ILogger log)
{
ClaimsPrincipal identities = req.HttpContext.User;
// ...
return new OkObjectResult();
}
Alternatively, the ClaimsPrincipal can simply be included as an additional parameter in the function signature:
using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
using Newtonsoft.Json.Linq;
public static void Run(JObject input, ClaimsPrincipal principal, ILogger log)
{
// ...
return;
}
To access your HTTP function endpoints. A standard HTTP trigger may require such an API key be present in the request.
So your HTTP request normally looks like the following URL:
https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?code=<API_KEY>
To access your function app follow step by step instruction in the doc.
For more information about ClaimPrincipal and authentication/authorization
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#working-with-client-identities
https://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization

@jitendriyag2 Just following up here, let us know if there are any further questions, otherwise, we'll proceed to close this issue :)

@jitendriyag2 Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


[SPARK-35695][SQL][FOLLOWUP] Use AQE helper to simplify the code in CollectMetricsExec

What changes were proposed in this pull request?

This is a followup of https://github.com/apache/spark/pull/32862 , to simplify the code with AQE helper.
Why are the changes needed?

code cleanup
Does this PR introduce any user-facing change?

no
How was this patch tested?

existing tests

Test build #140151 has started for PR 33026 at commit 9e50aac.

Test build #140151 has finished for PR 33026 at commit 9e50aac.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140151/

LGTM

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44677/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44677/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44677/

Merged to master, branch-3.1 and branch-3.0.


Add OAuth example to sample application

Description of changes:
Add example to sample application how to configure and use Cognito to make authenticated REST API calls.

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

Closing for lack of activity


rkt fetch: failure when pulling from private repository

Environment
rkt Version: 1.18.0
appc Version: 0.8.8
Go Version: go1.7.3
Go OS/Arch: linux/amd64
Features: -TPM +SDJOURNAL
--
Linux 4.7.3-coreos-r2 x86_64
--
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1235.6.0
VERSION_ID=1235.6.0
BUILD_ID=2017-01-10-0545
PRETTY_NAME="Container Linux by CoreOS 1235.6.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
--
systemd 231
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT -GNUTLS -ACL +XZ -LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD -IDN

What did you do?
core@ip-172-31-12-214 ~ $  sudo rkt fetch --insecure-options=all --debug=true --no-store docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2

What did you expect to see?
Rkt will fetch image from docker private registry
What did you see instead?
core@ip-172-31-12-214 ~ $  sudo rkt fetch --insecure-options=all --debug=true --no-store docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2
image: remote fetching from URL "docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2"
image: fetching image from docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2
fetch:
  └─error converting docker image to ACI
    └─registry doesn't support API v2 nor v1

This is similar to #3211 but it looks not fixed yet

I'm sorry but this report does not contain enough actionable information.

docker://docker-local.ravibhure.com/

Which registry software is this? Which API version does it implement? How is it private? Did you properly configure auth? What does a curl -v https://docker-local.ravibhure.com/v2/ say?

rkt Version: 1.18.0

Also, this rkt version is quite old to be relevant for debugging. Please try with something more recent (e.g. >= 1.24.0) and with --debug.

@lucab
This is private docker registry on Enterprise Artifactory 5.0.1 rev 50008
core@ip-172-31-12-214 ~ $ curl -v https://docker-local.ravibhure.com/v2/
* Hostname was NOT found in DNS cache
*   Trying xx.xx.xx.xxx...
* Connected to docker-local.ravibhure.com (xx.xx.xx.xxx) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using ECDHE-RSA-AES128-GCM-SHA256
* Server certificate:
*        subject: CN=*.ravibhure.com
*        start date: 2017-02-02 00:00:00 GMT
*        expire date: 2018-03-02 12:00:00 GMT
*        subjectAltName: docker-local.ravibhure.com matched
*        issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*        SSL certificate verify ok.
> GET /v2/ HTTP/1.1
> User-Agent: curl/7.35.0
> Host: docker-local.ravibhure.com
> Accept: */*
>
< HTTP/1.1 401 Unauthorized
< Date: Wed, 12 Apr 2017 09:39:23 GMT
< Content-Type: application/json;charset=ISO-8859-1
< Content-Length: 77
< Connection: keep-alive
* Server Artifactory/5.0.1 is not blacklisted
< Server: Artifactory/5.0.1
< X-Artifactory-Id: ed4e3cb192b6b9ca:3b47d104:15a26e91d31:-8000
< Docker-Distribution-Api-Version: registry/2.0
< WWW-Authenticate: Bearer realm="https://docker-local.ravibhure.com:443/artifactory/api/docker/docker-local/v2/token",service="docker-local.ravibhure.com:443",scope="repository:docker-local:pull,push"
<
{
  "errors" : [ {
    "status" : 401,
    "message" : "Unauthorized"
  } ]
* Connection #0 to host docker-local.ravibhure.com left intact

I have updated the version to 1.25.0
core@ip-172-31-12-214 ~ $ rkt version
rkt Version: 1.25.0
appc Version: 0.8.10
Go Version: go1.7.4
Go OS/Arch: linux/amd64
Features: -TPM +SDJOURNAL

Still getting issue
core@ip-172-31-12-214 ~ $ sudo rkt fetch --insecure-options=image --debug=true  docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2
image: remote fetching from URL "docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2"
image: fetching image from docker://docker-local.ravibhure.com/coreos/flannel:v0.6.2
fetch:
  └─error converting docker image to ACI
    └─registry doesn't support API v2 nor v1

This work very well with docker
core@ip-172-31-12-214 ~ $ docker pull docker-local.ravibhure.com/coreos/flannel:v0.6.2
v0.6.2: Pulling from coreos/flannel

9495713bb019: Pull complete
835ac7243dcb: Pull complete
974fe91d03ee: Pull complete
d83fa8fedcec: Pull complete
cfaba0bcdd4d: Pull complete
Digest: sha256:2adcf7a7c21474dd6122303f5a1a9f3fa8196f051f51e0fab79bf341fbd158bd
Status: Downloaded newer image for docker-local.ravibhure.com/coreos/flannel:v0.6.2

core@ip-172-31-12-214 ~ $ docker images
docker-local.ravibhure.com/coreos/flannel                                   v0.6.2              b556ce4987f6        6 months ago        27.89 MB

Here is my rkt auth
core@ip-172-31-12-214 ~ $ cat /etc/rkt/auth.d/docker.json
{
      "rktKind": "dockerAuth",
      "rktVersion": "v1",
      "registries": ["docker-local.ravibhure.com"],
      "credentials":
       {
              "user": "admin",
              "password": "adminpassword"
       }
}

The v2 ping endpoint seems fine, so it is probably something down the chain. One worrysome detail is in the authentication header:

WWW-Authenticate: Bearer realm="https://docker-local.ravibhure.com:443/artifactory/api/docker/docker-local/v2/token",service="docker-local.ravibhure.com:443",scope="repository:docker-local:pull,push"

Here the service parameter doesn't match the registry endpoint identity due to the :443 suffix. I'd have to double-check the relevant RFC about the semantic of that field, but this looks like a misconfiguration on the registry side.

@lucab
I am not sure, but currently we are able to use the docker pull so are you saying there we need any thing specific configuration to add for rkt or docker2aci ?

I'm saying I'd need to check what is the appropriate specification for that field to know what is the correct behavior/encoding/semantic, but the failure seems to be due to that :443 suffix in service identity and docker-client may be just ignoring the mismatch or trimming it.
In any case, the problem appears to be related to a very custom configuration of this repository (unless further debugging), in which case either removing the suffix from its configured identity (or adding it everywhere on the client side, but I doubt it) should work.

Thank you @lucab,
Looking for a solution, could you please look if this is the case or let me know if any further things requires to identify the issue.

@lucab
These logs are from from artifactory, may be this help to identify and fix the issue.
2017-04-12 16:07:40,022 [http-nio-8443-exec-11] [ERROR] (o.a.a.d.r.DockerResource:126) - Unsupported docker v1 repository request for 'docker-released'
2017-04-12 16:09:01,038 [http-nio-8443-exec-7] [ERROR] (o.a.a.d.r.DockerResource:126) - Unsupported docker v1 repository request for 'docker-released'
2017-04-12 16:10:43,646 [http-nio-8443-exec-11] [ERROR] (o.a.a.d.r.DockerResource:126) - Unsupported docker v1 repository request for 'docker-released'
2017-04-12 16:11:32,166 [http-nio-8443-exec-7] [ERROR] (o.a.a.d.r.DockerResource:126) - Unsupported docker v1 repository request for 'docker-released'
2017-04-12 16:12:01,522 [http-nio-8443-exec-4] [ERROR] (o.a.a.d.r.DockerResource:126) - Unsupported docker v1 repository request for 'docker-released'
2017-04-12 16:12:29,690 [http-nio-8443-exec-7] [ERROR] (o.a.a.d.r.DockerResource:126) - Unsupported docker v1 repository request for 'docker-released'

looks like rkt is using v1 api instead of v2 and we need to know how to enable rkt to use v2

@ravibhure I actually think it is only failing back to v1 because it can't complete v2 authentication due to the above mismatch in server identity. The problem itself isn't in trying to use v1, but in failing v2 handshake.
As I suggested above, as a workaround to this mismatch in your setup you could try either:

setting the registry to identify itself as docker-local.ravibhure.com (without port suffix)
using docker-local.ravibhure.com:443 everywhere on the rkt side (eg. in auth.d and for fetch)

After adding 443 the 401 goes away and now I get this:
core@ip-10-26-8-167 ~ $ sudo rkt fetch --insecure-options=all --debug=true --no-store docker://docker-local.ravibhure.com:443/coreos/flannel:v0.6.2
image: remote fetching from URL "docker://docker-local.ravibhure.com:443/coreos/flannel:v0.6.2"
image: fetching image from docker://docker-local.ravibhure.com:443/coreos/flannel:v0.6.2
fetch:
  └─error converting docker image to ACI
    └─registry doesn't support API v2 nor v1

@lucab
we tried to using docker-local.ravibhure.com:443 everywhere on the rkt side (eg. in auth.d and for fetch) but still not getting succeed to fetch the images.
I wonder if rkt only supporting v1 (just wild guess)

@lucab
Any update on this issue ? we are still waiting to hear from you.

As I stated above, this seems to be due a very specific configuration of your registry. There is not much we can do and debug from here, and it doesn't affect general usage. If you have a different guess, feel free to perform more analysis on your side to confirm/debunk my hypotesis, we'll happily take more details and patches.
On a technical side, the service field is defined here as "The name of the service which hosts the resource". So if there is a mismatch it should correctly fail.
The docker fetching code is in https://github.com/rkt/rkt/tree/master/vendor/github.com/appc/docker2aci/lib, and it may need some instrumention and on-field testing to properly debug what's going on. From my side, there is not much else I can add except from more raw speculation.

Thank you @lucab

Hey @ravibhure , I've seen this in a similar environment with identical symptoms.
I came across https://www.jfrog.com/jira/browse/RTFACT-13305 which seems relevant. This seems to be fixed in Artifactory v5.2.1 . Any chance you can test against that version?

Thanks @alekssaul,
We are working on upgrading our current Artifactory version 5.0.1 to the latest one (>=5.2.1) and I will update this thread once its done.

 The iRule that controls it all is below:
when HTTP_REQUEST {
    if { [HTTP::host] contains "docker" && [HTTP::uri] starts_with "/v2" } {
        scan [HTTP::host] %\[^.\].%\[^.\].%\[^.\].%\[^.\].%s REPO APP ENV DOMAIN TLD
        HTTP::uri /$APP/api/docker/$REPO[HTTP::uri]
        HTTP::header insert X-Artifactory-Override-Base-Url "https://$APP.$ENV.$DOMAIN.$TLD/$APP"
        HTTP::header insert Docker-Distribution-Api-Version "registry/2.0"
    }
}

:arrow_right:   Note that /v2 does NOT have a trailing slash. :eyes:
Here's a snippet from a pcap that shows rkt auth.
It doesn't appear to use the WWW-Authenticate header mentioned elsewhere.
GET /artifactory/api/docker/docker-dev/v2 HTTP/1.1
Host: docker-dev.artifactory.dv.example.net
User-Agent: Go-http-client/1.1
Authorization: Basic cG1vcmdhbjpNM3Nvc3BoM3IzIQ==
Accept-Encoding: gzip
X-Artifactory-Override-Base-Url: https://artifactory.dv.example.net/artifactory
Docker-Distribution-Api-Version: registry/2.0

HTTP/1.1 200 OK
Server: Artifactory/4.16.0
X-Artifactory-Id: e275d87c961d552cd4958927f431d5735d1539f0
X-Artifactory-Node-Id: art1
Docker-Distribution-Api-Version: registry/2.0
Content-Type: application/json
Transfer-Encoding: chunked
Date: Fri, 05 May 2017 18:07:44 GMT

I seem to be having the same problems pulling docker images that I built using the cloud.docker.com service, but it works just fine with image I built with hub.docker.com.

Thank you all,
We have fixed the issue to upgraded the artifactory server to v5.4.5
Finally it works on v5.4.5 and its correctly returning the Docker-Distribution-Api-Version: registry/2.0 header as well.


Add features to switch NativeActivity and GameActivity usage

Objective
Add two features to switch bevy to use NativeActivity or GameActivity on Android, use GameActivity by default.
Also close  #12058 and probably #12026 .
Solution
Add two features to the corresponding crates so you can toggle it, like what winit and android-activity crate did.

Changelog
Removed default NativeActivity feature implementation for Android, added two new features to enable NativeActivity and GameActivity, and use GameActivity by default.
Migration Guide
Because cargo-apk is not compatible with GameActivity,  building/running using cargo apk build/run -p bevy_mobile_example is no longer possible.
Users should follow the new workflow described in document.

Addendum:
In my tests, bevy with android-game-activity feature enabled runs better than native without any code changes, and I didn't encounter bugs.

bevy with android-game-activity feature enabled runs better than native

ca you be more specific about what better means?

bevy with android-game-activity feature enabled runs better than native

ca you be more specific about what better means?

It can let rust code(originally C++ though) control more stuff on app level without much jni coding
For example, in my tests when sending AppExit event, in Native version it will quit, but it will also cause a crash/segfault(I don't know but maybe can handle it with jni crate)
but in Game version, it will simply quit the game without crashing.
It also has better input handling, etc. can see it here

I think android-game-activity should be part of the default features for the Bevy crate.

I think maybe we can have both for flexibility and probably compatibility? Or at least retain the ability to switch back to 'native'.

Example https://github.com/bevyengine/bevy/blob/main/examples/mobile/Cargo.toml should still work, so it must have one selected if it's not part of the default features

Build these(game, probably with native) examples from android-activity examples might be a good choice since cargo apk is deprecated, like #12026 mentioned.

After my tests the original mobile example(used cargo-apk) no longer works with GameActivity, because GameActivity needs the app theme to be the child of Theme.AppCompat but cargo-apk can't recognize it.
So we do need to remake a new example(or probably split them to something like mobile-ios, mobine-android-native, mobile-android-game)

it would be nice to be able to keep a common example for iOS and Android, does the code for game activity differs that much?

it would be nice to be able to keep a common example for iOS and Android, does the code for game activity differs that much?

nope, GameActivity won't change rust code, the reason is GameActivity is the child of AppCompat so the theme must also use the child of it or else it'll crash while cargo-apk can't recognize it.

so if we have to give up cargo-apk, then how to make the new mobile example?
for now, my idea is simply replace the android part with a Android Studio project and use cargo-ndk to generate so files, then build apk with gradle or in the IDE like this, the good side is it can accept both native and game since native doesn't care the app theme.

I tried making a minimal android project to use agdk in examples, but this (probably) requires moving assets and resources into gradle, and I have no idea how to do it🤔

Sorry for the long wait, I had stuck in school before.
I'm still trying to shove a minimum android project into the mobile example, and made some progress.
For some reason, the apk can compile, but if you run it, you'll only hear music playing with pitch black on screen(probably pops an ANR window).
If we can solve this...

I figured out why ANR happens
the example must build with --release when using cargo ndk
strange, but it does run normally now

Ok I added working minimal(hope so) android studio project file, and a build.rs to copy libc++_shared.so, but doing so might cause document check fails(also probably need a new readme to indicate what have changed and how to compile android)

hm, I tried cargo run -p build-templated-pages -- update examples but it didn't change anything, so it's stuck for now?

I'll draft this cue to this problem

Try running cargo fmt --all. It's good to clean up regardless, and there's a warning about incorrect line endings, so fixing that might help fix the check-missing-examples-in-docs workflow too.

@BD103, are you able to puzzle out why check-missing-examples-in-docs is failing?

I think it's an issue with newline characters on Windows

now the checker is failing with exit code 1, is it panicked?

@BD103, are you able to puzzle out why check-missing-examples-in-docs is failing?

Yup! I think @mockersf is right, and it's Windows having funky CRLF newlines. @Litttlefish I opened https://github.com/Litttlefish/bevy/pull/1, which should hopefully fix all these CI errors for you! :)

@BD103, are you able to puzzle out why check-missing-examples-in-docs is failing?

Yup! I think @mockersf is right, and it's Windows having funky CRLF newlines. @Litttlefish I opened Litttlefish#1, which should hopefully fix all these CI errors for you! :)

Thanks! Hope this will work🤔

Now I think we need to update the documents about Android part with the new flow, and some of them has been outdated(like the minimum SDK API now is 33 instead of 31)

Added some basic instructions about the new Android compile work flow
looks like my pr will nuke everything about markdown?🤔

The markdown format should be fine now probably someone can review the new section before converting it into something check will accept?

I'll checkout the readme changes later today, but the main reason it's complaining is that you shouldn't change the readme file directly, but instead change https://github.com/bevyengine/bevy/blob/main/docs-template/EXAMPLE_README.md.tpl and then run the script to generate the readme from the template

I'll checkout the readme changes later today, but the main reason it's complaining is that you shouldn't change the readme file directly, but instead change https://github.com/bevyengine/bevy/blob/main/docs-template/EXAMPLE_README.md.tpl and then run the script to generate the readme from the template

Ok I updated template

Also another question: should we add a minimal NativeActivity Android Studio project?

Also another question: should we add a minimal NativeActivity Android Studio project?

Is it possible to switch between NativeActivity and GameActivity in a single Android Studio project? I feel like that would be preferable.

Also another question: should we add a minimal NativeActivity Android Studio project?

Is it possible to switch between NativeActivity and GameActivity in a single Android Studio project? I feel like that would be preferable.

Quite hard, since it will change most things like gradle config, java code, etc

Quite hard, since it will change most things like gradle config, java code, etc

Ok, then having two separate projects for the different activities sound good. 👍

App built from native project will crash, probably caused by #13331

just found that libs.versions.toml is not that necessary, so deleted since they are haunting(?) toml check.

Also I saw this PR: #12946
I think this pr covers that?

just found that libs.versions.toml is not that necessary, so deleted since they are haunting(?) toml check.

It's needed for me, without it it fails:
FAILURE: Build failed with an exception.

* Where:
Build file 'bevy/examples/mobile/android_example/app/build.gradle' line: 43

* What went wrong:
A problem occurred evaluating project ':app'.
> Could not get unknown property 'libs' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 465ms

You're still referencing it in the grade file, you should either clean that or readd the file

the build fails for me (after adding back the libs.versions.toml file):
   Compiling bevy_mobile_example v0.0.0 (bevy/examples/mobile)
error: failed to run custom build command for `bevy_mobile_example v0.0.0 (bevy/examples/mobile)`

Caused by:
  process didn't exit successfully: `bevy/target/debug/build/bevy_mobile_example-9698d92f63d47c23/build-script-build` (exit status: 101)
  --- stdout
  cargo:rustc-link-lib=c++_shared

  --- stderr
  thread 'main' panicked at examples/mobile/build.rs:29:10:
  called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

not sure why the build script can't find it. I tried a build with cargo-apk, it correctly adds the libc++_shared.so where needed

after manually adding everything where needed, I was able to run on the android emulator, but I wasn't able to interact with the UI or move the camera, and rotating the device caused a crash

after manually adding everything where needed, I was able to run on the android emulator, but I wasn't able to interact with the UI or move the camera, and rotating the device caused a crash

yeah it's said that bevy is quite funky on emulators, I used phones and it runs normally

the build fails for me (after adding back the libs.versions.toml file):
   Compiling bevy_mobile_example v0.0.0 (bevy/examples/mobile)
error: failed to run custom build command for `bevy_mobile_example v0.0.0 (bevy/examples/mobile)`

Caused by:
  process didn't exit successfully: `bevy/target/debug/build/bevy_mobile_example-9698d92f63d47c23/build-script-build` (exit status: 101)
  --- stdout
  cargo:rustc-link-lib=c++_shared

  --- stderr
  thread 'main' panicked at examples/mobile/build.rs:29:10:
  called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

not sure why the build script can't find it. I tried a build with cargo-apk, it correctly adds the libc++_shared.so where needed

this is for cargo-ndk, not cargo-apk, ndk won't export libc++_shared.so to the target directory

I think since cargo-apk is deprecated and can't build apk that runs GameActivity, we need a new workflow, which is based on cargo-ndk

after manually adding everything where needed, I was able to run on the android emulator, but I wasn't able to interact with the UI or move the camera, and rotating the device caused a crash

yeah it's said that bevy is quite funky on emulators, I used phones and it runs normally

It's not that funky. main works on the emulator, and UI / camera controls / rotation work

this is for cargo-ndk

Yup, the error I have is using cargo-ndk

this is for cargo-ndk

Yup, the error I have is using cargo-ndk

after some research I am able to reproduce the error, looks like it's because emulator uses x86_64 instead of arm64-v8a
this change makes build script fails, and if you are able to copy it then the app can start without crashing, although bevy throws these error(part of them) and won't render anything:
Failed to start Gilrs. Gilrs does not support current platform.
wgpu-hal heuristics assumed that the view dimension will be equal to `Cube` rather than `CubeArray`.
                                                                                `D2` textures with `depth_or_array_layers == 1` are assumed to have view dimension `D2`
                                                                                `D2` textures with `depth_or_array_layers > 1` are assumed to have view dimension `D2Array`
                                                                                `D2` textures with `depth_or_array_layers == 6` are assumed to have view dimension `Cube`
                                                                                `D2` textures with `depth_or_array_layers > 6 && depth_or_array_layers % 6 == 0` are assumed to have view dimension `CubeArray`log.target = "wgpu_hal::gles"; log.module_path = "wgpu_hal::gles"; log.file = "C:\\Users\\19876\\.cargo\\registry\\src\\mirrors.ustc.edu.cn-4affec411d11e50f\\wgpu-hal-0.19.4\\src\\gles\\mod.rs"; log.line = 413;
wgpu-hal heuristics assumed that the view dimension will be equal to `D2` rather than `D2Array`.
                                                                                `D2` textures with `depth_or_array_layers == 1` are assumed to have view dimension `D2`
                                                                                `D2` textures with `depth_or_array_layers > 1` are assumed to have view dimension `D2Array`
                                                                                `D2` textures with `depth_or_array_layers == 6` are assumed to have view dimension `Cube`
                                                                                `D2` textures with `depth_or_array_layers > 6 && depth_or_array_layers % 6 == 0` are assumed to have view dimension `CubeArray`log.target = "wgpu_hal::gles"; log.module_path = "wgpu_hal::gles"; log.file = "C:\\Users\\19876\\.cargo\\registry\\src\\mirrors.ustc.edu.cn-4affec411d11e50f\\wgpu-hal-0.19.4\\src\\gles\\mod.rs"; log.line = 413;

Yeah on my side it can run(on my phone, emulatior needs more info), only problem is a null pointer crash(likely caused by #13331 )

strange, I was able to start android days ago, and now no matter what settings I'm on it will crash

by the way I'm curious about a question: is this  possible to enter 0.14?

by the way I'm curious about a question: is this possible to enter 0.14?

This would need to be approved by enough people, and you'll need to remove references to cargo-api, fix CI https://github.com/bevyengine/bevy/blob/main/.github/workflows/validation-jobs.yml#L67 and https://github.com/bevyengine/bevy/blob/main/.github/workflows/daily.yml#L55
And I'll try again later, but the current status for me is that it doesn't work at all. I still think that build script should not exist.

I added basic ci, but I'm not sure since I didn't use Linux before
and for oboe I saw in their build.rs the linking part is commented out

and for oboe I saw in their build.rs the linking part is commented out

they're doing the linking part in another place https://github.com/katyo/oboe-rs/blob/7ea2b9b3bc9cdfa9ed4cbfeafdcafb47b3fac4e7/sys/build.rs#L289-L293

I added basic ci, but I'm not sure since I didn't use Linux before

If you (temporarily) remove the if: ${{ github.event_name == 'merge_group' }} from the build-android job, it will built for your PR and you'll know if it works 🙂

if we can find a way to compile it without buuld.rs and sitill can get libcpp_shared or link it during building apk, then there shouldn't have problems with CI
but I'm still finding a way to do it properly😖

ok I think I found the way to do it
build a dummy cpp lib as said in this blog
but exclude it in build.gradle, then setup abi
you'll get this, looks great

I'll commit them later

ci should be working now, also get rid of build.rs @mockersf
I'll update native example and documents later

I (probably) think this pr is good enough(?) to end it's draft stage🤔

@alice-i-cecile I think this pr is ready for review, Would you remove the Waiting-on-Author tag? thanks

I think this pr should have Example and Doc tags too?🤔

Thanks! Now just wait someobe to review it🤔

Although this is set to 0.15 but I wanna ask is it possible to merge this into 0.14?🤔

Definitely possible, but we need qualified reviewers. I don't have enough experience on Android to validate this myself.

Definitely possible, but we need qualified reviewers. I don't have enough experience on Android to validate this myself.

I did do some research on it, but I don’t think I qualify, nor does reviewing my own stuff make sense🤔
If we can't find others then the only way is waiting @mockersf has time to check this

Hello, I try this pr but get compilation error if enable android-game-activity:
error: The "game-activity" and "native-activity" features cannot be enabled at the same time
   --> /home/luo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/android-activity-0.5.2/src/lib.rs:133:1
    |
133 | / compile_error!(
134 | |     r#"The "game-activity" and "native-activity" features cannot be enabled at the same time"#
135 | | );
    | |_^

Also, it's better to add these to .gitignore in the example:
.gradle
.idea
.DS_Store
build
.cxx
local.properties

@Litttlefish My mistake. It conflicts with my other dependencies.

why there will have some checks cancelled?

so winit is 0.30 now, does this make android runnable?

oops, found a minor grammar issue in readme, I'll change that later

when will this be merged, GameActivity is recommend for api level 19+, NativeActivity can't work with other android 'View' based components.

I don't have Android hardware anymore so I can't fully validate it, but it looks good to me. I'll merge it later today unless there's an objection

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1709 if you'd like to help out.


Blazor API review changes: CompilerServices

Fixes: #11907
These are the changes from the compiler-related API review that are safe
to make (these methods are not used).
I'll follow up with BindMethods.GetValue separately because that's
used by the compiler.

See issue for rationale


Request for OSC52 escape sequence character support for terminal

Description:
I am using Visual Studio Code's remote SSH terminal to work on a remote machine, and I would like to be able to copy text from the terminal to my local system clipboard. However, it seems that the OSC52 escape sequence character is not supported by the remote SSH terminal.
I would like to request support for the OSC52 escape sequence character in the remote SSH terminal, so that I can copy text from the terminal to my local system clipboard.
Alternatively, if there is another way to specify the terminal to use with remote SSH terminal, that supports copying to the system clipboard, please let me know.
Thank you for your attention to this matter.

Upstream tracking issue https://github.com/xtermjs/xterm.js/issues/3260

Currently (at least with Windows using tmux with the integrated terminal when hosting a code server on WSL) I can already copy to the system clipboard by holding shift when selecting text.

Awesome work! vscode team keeps amazing me, thanks! @Tyriar


Add new Analytics consent types

Description

Provide details of the change, and generalize the change in the PR title above.

The underlying mobile SDKs have a couple new Analytics ConsentTypes, so update the C++ SDK with them.

Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.

Type of Change
Place an x the applicable box:

[ ] Bug fix. Add the issue # below if applicable.
[x] New feature. A non-breaking change which adds functionality.
[ ] Other, such as a build process or documentation change.

Notes

Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
Read the contribution guidelines CONTRIBUTING.md.
Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

Removing the failed test tag, since it isn't related to this change


Unit Tests -- Core-Metadata: Get All Commands

Fix: https://github.com/edgexfoundry/edgex-go/issues/1527
Signed-off-by: difince<EMAIL_ADDRESS>

Codecov Report

Merging #1529 into master will increase coverage by 0.09%.
The diff coverage is 44.44%.

@@            Coverage Diff             @@
##           master    #1529      +/-   ##
==========================================
+ Coverage   22.62%   22.71%   +0.09%
==========================================
  Files         102      102
  Lines        9561     9571      +10
==========================================
+ Hits         2163     2174      +11
+ Misses       7219     7218       -1
  Partials      179      179

Impacted Files
Coverage Δ

internal/core/metadata/operators/command/get.go
28.57% <0%> (-71.43%)
:arrow_down:

internal/core/metadata/rest_command.go
43.85% <100%> (+19.29%)
:arrow_up:

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 88f6801...6343941. Read the comment docs.


[breaking change] Add an nullable nativeFree getter to Allocator

Change Intent
Add a nullable nativeFree getter to Allocator to ease working with native finalizers.
Justification
This would simplify the API for adding native finalizers. The allocator argument can be defaulted to e.g. malloc, and methods using this allocator could attach native finalizers to the objects allocated using allocator.nativeFree if it's not null.
For example:
Int8List getRange(int start, int end, {Allocator allocator = malloc}) {
  RangeError.checkValidRange(start, end, length);
  final rangeLength = end - start;
  final buffer = allocator<JByteMarker>(rangeLength);
  Jni.env.GetByteArrayRegion(reference.pointer, start, rangeLength, buffer);
  return buffer.asTypedList(rangeLength, finalizer: allocator.nativeFree); // Passing nativeFree here
}

Impact
We provide some allocators in package:ffi, but a search here on GitHub shows that not many people implement Allocator themselves.
Older versions of package:ffi will stop working on newer SDKs, and we don't have a way of retroactively adding an SDK upper bound to those versions.
Most people should just be able to update their package:ffi, but apps that have pinned their deps might see compile errors.
Mitigation
package:ffi's MallocAllocator and CallocAllocator already have nativeFree getters.
We can safely add Pointer<NativeFinalizerFunction>? get nativeFree => null to all the existing Allocator subclasses that have a no-op free like Arena.
Alternatives Considered
We could introduce a NativeFreeableAllocator implements Allocator that has a nativeFree getter, and this was the original design for this PR: https://github.com/dart-archive/ffi/pull/203
However @lrhn raised some issues with this design here and here.
Change Timeline
No response
Associated CLs
No response

Pointer<NativeFinalizerFunction> get nativeFree => null

That should be either Pointer<NativeFinalizerFunction>? get nativeFree => null; or Pointer<NativeFinalizerFunction> get nativeFree => nullptr;
Impact
Older versions of package:ffi will stop working on newer SDKs, and we don't have a way of retroactively adding an SDK upper bound to those versions.
Most people should just be able to update their package:ffi, but apps that have pinned their deps might see compile errors.

Original PR adding the nativeFree getter to package:ffi – https://github.com/dart-archive/ffi/pull/203

@vsmenon @leonsenft @Hixie breaking change request.

no objection, sorry for the delay

Friendly holiday bump for @vsmenon and @leonsenft.

lgtm

@HosseinYousefi this breaking change request has been approved


Add  form builder  in stepper not working

Hi @zozeei,
Could you kindly share more infomation about this. StackTrace or otherwise.

When clicking on the step two, the value from the step one  is sent to the step two.

Hmm, are you using the same key for both form builders?

Hi @zozeei,
Kindly help us solve your problem by answering the questions asked. If this is no longer a problem kindly close


Remove inapplicable logic for dashboard

As titled.

@pshao25 can you clarify why you're removing this code? Is it because we won't get report docs with the name ${generatorName}/reports/${index.version}.json anymore?

Correct.
Those days when we only have one mode "azure", the reports store there. But now we have two modes, "azure" and "non-azure", the reports are stored in ${generatorName}/reports/${index.version}/${generatorMode}.json.
We currently have some problem in the dashboard by the current logic "if old path exists then retrieve from old path, else retrieve from new path" because we somehow pushed an old version by accident. Since we don't need the old path, it is safe to remove. What's more I think we could also remove all the data in ${generatorName}/reports/${index.version}.json unless we want an archive.


Create an example for JTA+JPA integration

Similar with https://github.com/apache/camel-spring-boot-examples/tree/main/spring-boot-jta-jpa

https://github.com/quarkusio/quarkus/issues/26219
https://github.com/quarkiverse/quarkus-artemis/issues/47

https://github.com/apache/camel-quarkus-examples/pull/94


specify @trusted functions must have @safe interface

Fix omission from https://github.com/dlang/dlang.org/pull/2453#commitcomment-53328593

Thanks @WalterBright!
FWIW here is the phrasing that was deleted from the spec when changes were made to reflect -dip1000:
https://github.com/dlang/dlang.org/pull/2453/files#diff-291012f1595e64cfa146ae8b4283c199ce2bc2b6bf83ce94818f330121a08da9L30-L31


Can I access HMIP AP via App

Hi Alex,
thanks a lot for the image!
I run it on C2 using HMIP-RFUSB, works fine.
But I do have a question; is it possible to register the virtual HMIP instance as "ordinary" Access Point like a origin HM-IP AP to use the HM Mobile App, using the SGTIN number form the instance?

The official HmIP app does only support the HmIP Access Point.
If you use any CCU solution, you cannot use the app. But there are several other apps using the CCU as backend.


Wrapping of Playwright into FastAPI

Playwright was successfully implemented as default drivers, but the implementation on Gradio has a few caveats:

Because Gradio uses multithreading, the playwright instance might be moved between threads, breaking the whole execution flow at times. This issue was circumvented by recreating the driver before each action. It works, but it might be a performance bottleneck at times.

As the drivers needs to be recreated at each action, keeping a state is difficult.

A way to improve the current implementation would be to have a FastAPI server executed locally, hosting a Playwright instance (and potentially the Action Engine).
This method would allow to use Playwright drivers with Gradio and Jupyter Notebooks without caveats.

Done and pushed to main.


The site is down

This site can’t be reached
iolanguage.org’s server IP address could not be found.
DNS_PROBE_FINISHED_NXDOMAIN

Duplicate https://github.com/IoLanguage/io/issues/437

Looks like it's back :tada:


Add version option to CLI.

#816  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rohinb2 and the rest of your teammates on  Graphite


Bug: Duplicate span IDs

When testing #729 with my demo repo, I encountered many duplicate span IDs within a trace. It seems as #732 introduced a regression here when switching to cats.effect.std.Random – the instance acquired via Random.javaUtilConcurrentThreadLocalRandom seems to start with the same seed (which can't be changed) for each of CE's worker threads, resulting in similar span ID sequences being produced. This isn't well-documented, but quite visible in tests (maybe one should be added to trace4cats to check for this?). If one provides a Random instance backed another RNG implementation in implicit scope, the problem vanishes. Probably affects trace ID generation as well.
One can test the problem with this simple app:
import cats.effect._
import cats.effect.std.Random
import cats.syntax.all._
import io.janstenpickle.trace4cats.model.SpanId

object Randoms extends IOApp.Simple {
  override def run: IO[Unit] = (spans, spans, spans, spans).parMapN { (b1, b2, b3, b4) =>
    IO.println((b1, b2, b3, b4))
  }.flatten

  val spans = SpanId.gen[IO].replicateA(8)

  val bytesTL = IO(Random.javaUtilConcurrentThreadLocalRandom[IO].nextBytes(8).map(SpanId.unsafe).replicateA(8)).flatten
  val bytesSR = Random.scalaUtilRandom[IO].flatMap(_.nextBytes(8).map(SpanId.unsafe).replicateA(8))
  val bytesSRN = Random.scalaUtilRandomN[IO](8).flatMap(_.nextBytes(8).map(SpanId.unsafe).replicateA(8))
}

It'll print something like
(List(5332f38d1b42bce2, 5332f38d1b42bce2, 5332f38d1b42bce2, 5332f38d1b42bce2, 5332f38d1b42bce2, 5332f38d1b42bce2, 5332f38d1b42bce2, 5332f38d1b42bce2),List(24329fc1655fc619, 24329fc1655fc619, 24329fc1655fc619, 24329fc1655fc619, 24329fc1655fc619, 24329fc1655fc619, 24329fc1655fc619, 24329fc1655fc619),List(9880c7fbd03a316e, 9880c7fbd03a316e, 9880c7fbd03a316e, 9880c7fbd03a316e, 9880c7fbd03a316e, 9880c7fbd03a316e, 9880c7fbd03a316e, 9880c7fbd03a316e),List(1bb4e609932ac0a5, 1bb4e609932ac0a5, 1bb4e609932ac0a5, 1bb4e609932ac0a5, 1bb4e609932ac0a5, 1bb4e609932ac0a5, 1bb4e609932ac0a5, 1bb4e609932ac0a5))

By replacing spans with one of the bytesXYZ, you can see the behaviours of different RNGs.
Unfortunately, the issue isn't super-easy to fix because all Random constructors except javaUtilConcurrentThreadLocalRandom are effectful, so either the user needs to always provide a Random instance (scalaUtilRandomN), the instance is created via SyncIO and then mapKed (a hack) or cats.effect.std.Random is removed from the Gen traits (effectively partially reverting #732).
@catostrophe

@ybasket Could you clarify, do you think the culprit is #732 not #736? I think the behaviour didn't change in #732.

@ybasket Could you clarify, do you think the culprit is #732 not #736? I think the behaviour didn't change in #732.

You're right, #736 is the one I meant, I just linked the wrong PR.

Ok. Working on a fix.

I think it's a bug in CE3:
https://github.com/typelevel/cats-effect/blob/0a6bae21333e96c227eb031e6db777aa1c8d0197/std/shared/src/main/scala/cats/effect/std/Random.scala#L530-L533
A reference to the same array leaks and returns every time when nextBytes is replicated. When we create a span, we don't make a copy of the array and use the reference as is.

@ybasket see https://github.com/typelevel/cats-effect/pull/2972

I think we shouldn't revert anything in trace4cats and should just wait for a patch release in CE3.

I think we shouldn't revert anything in trace4cats and should just wait for a patch release in CE3.

Agree, once it's released (and CE is usually quite quick on that), the thread local implementation is the nicest for trace4cats.
Nice work!

@ybasket @janstenpickle Should we make and use a copy of the array passed to TraceId.apply? It would protect us from such a leak, if we did it.

Yes, I think that's probably a good idea, just in case there's a regression to your fix in cats-effect.

I'm slightly leaning towards not defensively copying as it protects only against a very specific bug that's unlikely to ever come up again – unless you want to publish a trace4cats release without waiting for CE. Instead of imposing runtime cost everywhere, we could add a test based on the reproducer snippet I posted above, just checking that a small set of span IDs that's generated by the default SpanId.Gen (or TraceId.Gen) are distinct. Would false positive once in a lifetime, but cover more potential bugs than the array copying. Just my 2 cents though.

Hello All,
First of all, thank you for this great library.
I also had a similar problem with duplicate Span/Trace IDs. I just checked it with the new version of CE, and it worked as expected 🎉
I guess you can merge it now and publish a new version of your library (which I'm waiting for a couple of days now) 🙂

Thanks @Nurlan-Mammadli, there is an associated branch in review to ensure we don't have a regression in the future, so will wait for that to merge before closing this.


Merge Sort Algorithm Using Linked List - Data Structures & Algorithms Concept

hi @Saloni6111
I would like to contribute  the Merge Sort Algorithm using a Linked List as part of the Data Structures and Algorithms section. This concept is crucial for understanding efficient sorting techniques and is commonly used in scenarios where the data structure is a linked list rather than an array.
This addition will help learners grasp the fundamentals of merge sort in the context of linked lists, providing a deeper understanding of its time complexity and the underlying mechanics of sorting linked data structures.
I believe this concept will add significant value to the repository, and I look forward to your feedback.
Please assign me this under Hacktoberfest 2024
Thank you!

Hi
In the* Hactoberfest* website it is showing that it is excluded from the
event.
what to do next?
On Thu, Oct 3, 2024 at 10:08 PM Saloni jaiswal @.***>
wrote:

Assigned #261
https://github.com/Saloni6111/DSA_Problems-Hacktoberfest-2024/issues/261
to @amanvatss https://github.com/amanvatss.
—
Reply to this email directly, view it on GitHub
https://github.com/Saloni6111/DSA_Problems-Hacktoberfest-2024/issues/261#event-14507309301,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCEWTZ46IEA6OOS423OVOELZZVXJBAVCNFSM6AAAAABPIKEMKKVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGUYDOMZQHEZTAMI
.
You are receiving this because you were assigned.Message ID:
<Saloni6111/DSA_Problems-Hacktoberfest-2024/issue/261/issue_event/14507309301
@github.com>