Add playlist urls to --download-archive

I recently just deleted my entire library by mistake. I must have hit a key when I went to get up to use the bathroom somehow. I didn't even notice till I got back and went to download another playlist. I went to the folder and there was nothing there (ohhell.jpg).
I was recently told about the -a option, and while that would work to get my files back, it will not preserve the folder structure I had before, and instead puts everything in a "NA" folder.
I was using format specifiers to create folders and filenames - /%(playlist)s/%(title)s.%(ext)s - and using the -a option with this output specifier, it does not work and just slaps all the videos in a "NA" folder. As opposed to the %(playlist)s "baseball" being the folder name and all videos in the playlist getting put in the "baseball" folder.
There has got to be a way we can add playlist urls to the download-archive file, or is there a way I can reverse search the individual url and get the playlist name?
Actually, come to think about it, why not just put individual urls and playlists urls in the download archive?
When I download my favorites, the playlist will be "favorites", which /%(playlist)s/%(title)s.%(ext)s would create a folder named "favorites" and put all your songs in there. And if you need to put a individual video somewhere else, just specify it in -o.
I guess what I'm trying to say is that putting individual urls for videos that are in playlists is kind of punching yourself in the face when you use format specifiers to create folder structures

Sorry for spamming my own comment here but, could you just change all instance that have to do with parm-download archive that assert "vid_id" to "playlist_id" or "playlist_title".
Would it really be that easy? And I can download this code as is and run it right? I use the compiled executable but don't mind installing python to make these few changes, would be cool if the official youtube-dl exe had the functionality I talk about in my original post.

The purpose of download archive is to track already downloaded media by id. This has nothing to do with playlist URLs or what ever.

The purpose of download archive is to track already downloaded media by id. This has nothing to do with playlist URLs or what ever.

OK but don't you think it would still be a good idea to do as the title of this thread says and add actual playlists urls to the archive file? The rest can be handled without youtube-dl but ADDING PLAYLIST URLS to the archive file just makes sense. Because even then you won't have to skip video by video, you can also skip playlists as well


Supporting BSE

Currently, BasisSets are represented and stored by aiida-basis as SingleFileDatas in AiiDA.
This implementation makes sense for numerical orbitals like OpenMX's PAOs because

The basis is used in practice as a single file per element
There is a single file-format for the basis
The contents of the basis don't need to be modified

However,  this is not true in general.
Specifically, to support basis sets from the Basis Set Exchange, this architecture needs to be rethought.
I've opened this issue as a place to discuss what a more general implementation would look like.

My naïve suggestion would be to:

Rename BasisData to BasisFileData; it will be used to represent/store file-based bases (one element per basis)
Create a new base class BasisData used for storing the data (not file) of a basis (one element per basis)
Modify BasisSet to support both BasisFileData types and BasisData types

Another note is on nomenclature, currently I am calling a basis set which corresponds to a element/species a "basis" while a collection of basis sets, e.g. STO-3G for all available elements/species, a "basis set".
As I don't have much experience with how these things are called in the community, perhaps this should be changed.
Does it make more sense to call the data for a single element a "basis set" and the data for a collection of elements a "basis set family"?


Wrap it in a function so it can be run when needed

Should be wrapped in a function so it can be started when needed. A combination of page loaded and index not in sync with content.

Wrapped in a function. Will do the on-page-loaded stuff later.


Creating multiple regular expression requests in rapid succession yields same result (.NET framework)

The test below (usually) fails in .NET framework fails in .NET framework, but not in core.
The underlying reason for this is that Xeger is used in autofixture without injecting an object of type Random, and Xeger uses new Random() - without injecting a seed.
The test passes, in .NET Core, because new Random() internally generates a unique seed.
However, as you probably know, in framework, it uses tick count as seed.
I haven't created a pr, because I didn't know where to do it to - does it make sense to create a pr with a failing test to master?
And I don't know if it should be fixed here in AF, or a pr should be created in the Fare repo.
What do you think? I'd like to fix this - but I'm not sure how to proceed...
        [Theory]
        [InlineData(@"^[A-Z]{27}$")]
        public void CreateTwoWithRegularExpressionRequestReturnsDifferentResults(string pattern)
        {
            // Arrange
            var sut = new RegularExpressionGenerator();

            var request = new RegularExpressionRequest(pattern);
            var dummyContext = new DelegatingSpecimenContext();
            // Act
            var result1 = sut.Create(request, dummyContext);
            var result2 = sut.Create(request, dummyContext);

            // Assert
            Assert.NotEqual(result1, result2);
        }

Thank you for reporting this. It looks like the issue can be fixed in Fare, as per https://github.com/moodmosaic/Fare/issues/26.

👍

Using a singleton-scoped (e.g. private readonly or perhaps private static readonly) Random instance supplied in https://github.com/AutoFixture/AutoFixture/blob/d3e14a818b933d948ea82464b197a5aeb152f070/Src/AutoFixture/RegularExpressionGenerator.cs#L40
as per this Xeger constructor overload should fix the issue.

Using a singleton-scoped (e.g. private readonly or perhaps private static readonly) Random instance...
... should fix the issue.

I think that's what I'm trying to do in #1187 ?
https://github.com/AutoFixture/AutoFixture/blob/02f6b7c69a0d1ceb595d2d550e64558320f4c75f/Src/AutoFixture/RegularExpressionGenerator.cs#L52


Voicemeeter Banana install not recognized

Brief description of your issue
Voicemeeter Banana install not recognized.
I am unsure if simply putting a ProductCode in will fix this without also categorizing Voicemeeter and Voicemeeter Potato as Banana.
Steps to reproduce
> winget install "voicemeeter banana"

Expected behavior
> winget list voicemeeter
Name                                    Id                         Version
--------------------------------------------------------------------------
Voicemeeter, The Virtual Mixing Console VB-Audio.VoicemeeterBanana Unknown

Actual behavior
> winget list voicemeeter
Name                                    Id                                  Version
-----------------------------------------------------------------------------------
Voicemeeter, The Virtual Mixing Console VB:Voicemeeter {17359A74-1236-5467} Unknown

Environment
Windows Package Manager v1.0.11692

Windows: Windows.Desktop v10.0.19043.928
Package: Microsoft.DesktopAppInstaller v1.12.11692.0

This is a issue on Voicemeeter's side.
Voicemeeter
Voicemeeter, The Virtual Mixing Console  - VB:Voicemeeter {17359A74-1236-5467}
Voicemeeter Banana
Voicemeeter, The Virtual Mixing Console    - VB:Voicemeeter {17359A74-1236-5467}
Voicemeeter Potato
Voicemeeter, The Virtual Mixing Console    - VB:Voicemeeter {17359A74-1236-5467}
Its probably intended to be like this because the newer version just installs all the previous versions..
You can also not update Voicemeeter because it will uninstall Voicemeeter the next time the installer runs and IIRC you'll loose your settings.

[Policy] Area-External


Support mixed option for iOS

Thanks for submitting a PR! Please read these instructions carefully:

[x] Explain the motivation for making this change.
[x] Provide a test plan demonstrating that the code is solid.
[x] Match the code formatting of the rest of the codebase.
[x] Target the main branch, NOT a "stable" branch.

Motivation (required)
Support taking photos and videos on iOS.
launchCamera({
  mediaType: 'mixed'
});

Test Plan (required)
A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI or updates the website. See What is a Test Plan? to learn more.
If you have added code that should be tested, add tests.

👋  This seems sensible, did you perhaps look at supporting Android too?

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Walmart how to set a specific zip code

example :
https://www.walmart.com/ip/Safety-1-Grow-and-Go-Sprint-All-in-One-Convertible-Car-Seat-Camellia-II/264361286?classType=REGULAR
here i want to set zipcode to 60102 how can this be done

Reader does not support setting values on a page.
However I can provide some personal suggestions,
Looks like Walmart is using client IP to determine the address.
My suggestion is to either:

Use a proxy server deployed in your local area with a corresponding IP address.
or,
Using Cookie of a registered user.


Looping Animated Lua Sprite?

Describe your problem here.
how can i make an animated lua sprite loop throughout the song or replay when a beat happens?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
no, i'm using the official build of the mod, 0.4.2 to be exact

https://cdn.discordapp.com/attachments/866856727621795850/900523260180049940/AnimatedLuaSpriteScript.lua
This will spawn a Dad sprite that does nothing other than bopping his head on beat to the song.


Projects not really usable at the moment

New to Gummi, but the projects feature seems to provide virtually no usability.
The whole basis of projects should work like the following:

If currently selected document tab exists as part of a project, build and preview the home/root file of the project (not the currently selected file unless of course they occur as one in the same).
On the project tab, view the project that the currently selected document resides in, and if one double clicks on a document, then open (if needed) and switch to that document in the opened documents pane.
Project Menu should have a list of recently opened projects
The opened state of a project should get saved, so when I open a project, I have the same document tabs open as I had last time.

I might have some time in the future to look into this.  Does this seem like an easy thing to do?  I presume this as the active development branch of Gummi, as I can't find anything else on the net (http://midnightcoding.org/ has not worked for the entire duration [several months] that I have used Gummi).

Hi OceanWolf,
sorry for the really late reply. Although I'm one of the original Gummi developers, this github  repo is a GTK3-port of the original project.The original project has been moved to github:https://github.com/alexandervdm/gummi. Since there are a lot of difference between GTK2 and GTK3, this fork may never be merged into the original project. Thus if you want to contribute to Gummi, you can choose between and original gtk2 version or this version depends on which you think has more potential in the future :P
I currently don't have a lot of time for gummi after I started working, so new feature development would be slow. I mainly do bug fixes atm. Feel free to send PR if you are interested to the project, contribution is very welcomed.


Double field is causing errors with other proto fields.

What version of gRPC and what language are you using?
Python3 with grpc installed in the grpcio-tools module. I'm using python 3.7 and version 1.36.0 of grpcio-tools. When grpcio-tools is installed, it also installs version 1.36.0 of the grpcio module and version 3.15.3 of the protobuf module. I was originally using version 1.24.0 of grpcio-tools and grpcio, and upgraded to try a different version, but the issues are present in both versions.
What operating system (Linux, Windows,...) and version?
I'm running my app in containers on Docker Desktop on top of MacOS (BigSur). Docker desktop is version 3.1.0.
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.7 with grpcio-tools version 1.36.0.
What did you do?
I have the following proto file. I have omitted a number of other endpoints that are not part of the problem.
syntax="proto3";
package productDb;

service ProductDB {
  rpc get_items_by_seller(Seller) returns (Items) {}
}

message Item {
  string item_id = 1;
  string seller_id = 2;
  string item_name = 3;
  int32 category = 4;
  bool isNew = 5;
  double price = 6;
  int32 quantity = 7;
  repeated string keywords = 8;
}

message Items {
  repeated Item items = 1;
}

message Seller {
  string sellerId = 1;
}

My python code for the servicer is below. Normally this code would query a redis database, and each item would be different, but I've simplified it to just use hardcoded values here. The error is the same either way.
from concurrent import futures
import grpc
import logging
import redis

import product_db_pb2 as product_db_pb2
import product_db_pb2_grpc as product_db_pb2_grpc

class ProductDBServer(product_db_pb2_grpc.ProductDBServicer):
    def get_items_by_seller(self, request, connection):
            seller_id = request.sellerId
            # Line below returns a set of item ids. All are strings.
            item_ids = self.redis_conn.smembers(f"items_for_sale:{seller_id}")
            items_proto = product_db_pb2.Items()
            for item_id in item_ids:
                # I'd normally use the following line to get information about the item specified by item_id,
                # and use that information instead of the hardcoded values,  but for simplicity I hardcoded an example.
                # item_info = self._get_item(item_id)
                item_proto = items_proto.items.add()
                item_proto.item_id = "12345"
                item_proto.seller_id = "5678"
                item_proto.item_name = "name"
                item_proto.category = 1
                item_proto.isNew = True
                item_proto.keywords.extend(["keyw1", "keyw2"])
                item_proto.price = 10.01
                item_proto.quantity = 7

            return items_proto

I'm running the servicer like this:
def serve():
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    product_db_pb2_grpc.add_ProductDBServicer_to_server(
        ProductDBServer(), server)
    server.add_insecure_port('<IP_ADDRESS>:50051')
    server.start()
    server.wait_for_termination()

if __name__ == "__main__":
    logging.basicConfig()
    serve()

What did you expect to see?
When I run the client side code, I expect the servicer to return a well-formed protobuf message to the client.
What did you see instead?
[libprotobuf ERROR google/protobuf/wire_format_lite.cc:577] String field 'productDb.Item.item_id' contains invalid UTF-8 data when parsing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.
ERROR:grpc._common:Exception deserializing message!
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/grpc/_common.py", line 86, in _transform
return transformer(message)
google.protobuf.message.DecodeError: Error parsing message
Anything else we should know about your project / environment?
I've double checked that the item_id is a python string. I do not think that the item_id is actually the problem. If I remove/comment out the line that sets the price to be 10.01, there is no error.
For example, this code works, but obviously does not return a price:
def get_items_by_seller(self, request, connection):
        seller_id = request.sellerId
        # Line below returns a set of item ids. All are strings.
        item_ids = self.redis_conn.smembers(f"items_for_sale:{seller_id}")
        items_proto = product_db_pb2.Items()
        for item_id in item_ids:
            # I'd normally use the following line to get information about the item specified by item_id,
            # and use that information instead of the hardcoded values,  but for simplicity I hardcoded an example.
            # item_info = self._get_item(item_id)
            item_proto = items_proto.items.add()
            item_proto.item_id = "12345"
            item_proto.seller_id = "5678"
            item_proto.item_name = "name"
            item_proto.category = 1
            item_proto.isNew = True
            item_proto.keywords.extend(["keyw1", "keyw2"])
            # item_proto.price = 10.01
            item_proto.quantity = 7

        return items_proto

Other things I've tried:

Changing the value. There are even some specific values of the price field that don't cause an error. If I change 10.01 to be 100.01 it never errors (I've double checked this and ran it multiple times to make sure I wasn't crazy / to make sure this error wasn't occurring randomly).
Wrapping the price value in a float conversion eg. item_proto.price = float(10.01). This doesn't seem to change anything.
Re-compiling the protobuf with the price field as a float type instead of double. The error still occurs, except the 100.01 value that seemed to fix the error with the double type no longer does.
Changing the double/float price field to an integer. This actually fixes the error, but isn't a reasonable solution for me. A price in dollars pretty much must be a floating point in the real world.

Closing issue as restarting docker desktop seems to have fixed this error. Unsure why, but it works now.


labelkeep dropping internal labels

What did you do?
Use labelkeep to set a list of allowed labels
What did you expect to see?
only allowed labels in regex would appear
What did you see instead? Under which circumstances?
nothing, as the target got into problems because labelkeep was dropping required labels
For example:
	Creating target failed	{"kind": "receiver", "name": "prometheus", "data_type": "metrics", "scrape_pool": "xyz-controlplane-cadvisor", "error": "instance 0 in group node/480e21d6-np20: error parsing scrape interval: empty duration string", "errorVerbose": "error parsing scrape interval: empty duration string\ngithub.com/prometheus/prometheus/scrape.PopulateLabels\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:441\ngithub.com/prometheus/prometheus/scrape.TargetsFromGroup\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:506\ngithub.com/prometheus/prometheus/scrape.(*scrapePool).Sync\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/scrape.go:495\ngithub.com/prometheus/prometheus/scrape.(*Manager).reload.func1\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/manager.go:228\nruntime.goexit\n\truntime/asm_amd64.s:1594\ninstance 0 in group node/nodepool1-480e21d6-np20\ngithub.com/prometheus/prometheus/scrape.TargetsFromGroup\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:508\ngithub.com/prometheus/prometheus/scrape.(*scrapePool).Sync\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/scrape.go:495\ngithub.com/prometheus/prometheus/scrape.(*Manager).reload.func1\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/manager.go:228\nruntime.goexit\n\truntime/asm_amd64.s:1594"}

or
otel 2023-05-11T02:25:55.204Z	error	scrape/scrape.go:497	Creating target failed	{"kind": "receiver", "name": "prometheus", "data_type": "metrics", "scrape_pool": "controlplane-cadvisor", "error": "instance 0 in group node/nodepool1-480e21d6-np20: no address", "errorVerbose": "no address\ngithub.com/prometheus/prometheus/scrape.PopulateLabels\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:383\ngithub.com/prometheus/prometheus/scrape.TargetsFromGroup\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:506\ngithub.com/prometheus/prometheus/scrape.(*scrapePool).Sync\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/scrape.go:495\ngithub.com/prometheus/prometheus/scrape.(*Manager).reload.func1\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/manager.go:228\nruntime.goexit\n\truntime/asm_amd64.s:1594\ninstance 0 in group node/nodepool1-480e21d6-np20\ngithub.com/prometheus/prometheus/scrape.TargetsFromGroup\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:508\ngithub.com/prometheus/prometheus/scrape.(*scrapePool).Sync\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/scrape.go:495\ngithub.com/prometheus/prometheus/scrape.(*Manager).reload.func1\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/manager.go:228\nruntime.goexit\n\truntime/asm_amd64.s:1594"}

I think labelkeep should not drop any of __address__|__metrics_path__|__scrape_interval__|__scrape_timeout__|__scheme__
to avoid these issues
System information
No response
Prometheus version
No response
Prometheus configuration file
receivers:
  prometheus:
    config:
      scrape_configs:
      - job_name: pods
        kubernetes_sd_configs:
        - role: pod
        relabel_configs:
        - action: keep
          regex: true
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_scrape
        - action: replace
          regex: (.+)
          source_labels:
          - __meta_kubernetes_pod_annotation_prometheus_io_path
          target_label: __metrics_path__
        - action: replace
          regex: ([^:]+)(?::\d+)?;(\d+)
          replacement: $$1:$$2
          source_labels:
          - __address__
          - __meta_kubernetes_pod_annotation_prometheus_io_port
          target_label: __address__
        - action: labelmap
          regex: __meta_kubernetes_pod_label_(.+)
        - action: replace
          source_labels:
          - __meta_kubernetes_namespace
          target_label: kubernetes_namespace
        - action: replace
          source_labels:
          - __meta_kubernetes_pod_name
          target_label: kubernetes_pod_name
        - regex: 'vcluster_loft_sh_.*'
          action: labeldrop
        metric_relabel_configs:
        - source_labels: [__name__]
          regex: 'istio_.*'
          action: drop
        - regex: 'kustomize_.+'
          action: labeldrop
        - regex: 'x_.+'
          action: labeldrop
      - job_name: services
        kubernetes_sd_configs:
        - role: service
        metrics_path: /probe
        params:
          module:
          - http_2xx
        relabel_configs:
        - source_labels:
          - __param_target
          target_label: instance
        - action: labelmap
          regex: __meta_kubernetes_service_label_(.+)
        - source_labels:
          - __meta_kubernetes_namespace
          target_label: kubernetes_namespace
        - source_labels:
          - __meta_kubernetes_service_name
          target_label: kubernetes_name
        metric_relabel_configs:
        - source_labels: [__name__]
          regex: 'istio_.*'
          action: drop
      - job_name: controlplane-cadvisor
        kubernetes_sd_configs:
        - role: node
        scrape_timeout: 10s
        scheme: https
        bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        tls_config:
          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
          insecure_skip_verify: true
        metrics_path: /metrics/cadvisor
        relabel_configs:
        - action: replace
          source_labels: [container_label_io_kubernetes_container_name]
          target_label: container_name
        - action: labelmap
          regex: __meta_kubernetes_node_label_(.+)
        - target_label: __address__
          replacement: kubernetes.default.svc.cluster.local:443
        - source_labels: [__meta_kubernetes_node_name]
          regex: (.+)
          target_label: __metrics_path__
          replacement: /api/v1/nodes/$${1}/proxy/metrics/cadvisor
        - regex: 'kubernetes_io_.*|topology_kubernetes_io_.*|node_kubernetes_io_.*|job|instance'
          action: labelkeep
        metric_relabel_configs:
        - source_labels:
          - __name__
          regex: '(container_memory_working_set_bytes|container_cpu_usage_seconds_total).*'
          action: keep

Alertmanager version
No response
Alertmanager configuration file
No response
Logs
2023-05-11T02:25:55.204Z	error	scrape/scrape.go:497	Creating target failed	{"kind": "receiver", "name": "prometheus", "data_type": "metrics", "scrape_pool": "controlplane-cadvisor", "error": "instance 0 in group node/nodepool1-480e21d6-np20: no address", "errorVerbose": "no address\ngithub.com/prometheus/prometheus/scrape.PopulateLabels\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:383\ngithub.com/prometheus/prometheus/scrape.TargetsFromGroup\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:506\ngithub.com/prometheus/prometheus/scrape.(*scrapePool).Sync\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/scrape.go:495\ngithub.com/prometheus/prometheus/scrape.(*Manager).reload.func1\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/manager.go:228\nruntime.goexit\n\truntime/asm_amd64.s:1594\ninstance 0 in group node/nodepool1-480e21d6-np20\ngithub.com/prometheus/prometheus/scrape.TargetsFromGroup\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/target.go:508\ngithub.com/prometheus/prometheus/scrape.(*scrapePool).Sync\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/scrape.go:495\ngithub.com/prometheus/prometheus/scrape.(*Manager).reload.func1\n\tgithub.com/prometheus/prometheus@v0.42.1-0.20230210113933-af1d9e01c7e4/scrape/manager.go:228\nruntime.goexit\n\truntime/asm_amd64.s:1594"}

Mmh I wonder when we introduced this regreassion. Maybe we should fallback if those labels are unset somehow. cc @LeviHarrison WDYT?

Hello from the bug scrub!
Sorry for the long delay here.
@machine424 will verify that the described behavior is still happening. And then we need to think about the right solution.

Looking into this, this appears to work as expected. For other relabeling operations, users do expect internal labels to be taken into consideration as well. The doc also mentions that relabeling applies to all labels, as stated here https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config (It might be beneficial to make this more explicit? add some warnings?)
This behavior has been consistent since the beginning, https://github.com/prometheus/prometheus/commit/d7f4f8b879c6fde3f069450ee11a4bbe63e32761#diff-cfa58e94d6a84339db19dcd506b883c05fee7211038ca07246d608707c49f4e9R328 IIUC. (but maybe it was readjusted and then reverted in between)
Note that this "issue" doesn't go unnoticed. The prometheus_target_sync_failed_total metric is incremented (monitored by PrometheusTargetSyncFailure) when the address label is dropped or invalid, or when other internal labels are dropped or invalid.
I've added a test in this https://github.com/prometheus/prometheus/pull/15529 to reinforce the behavior/doc.
I believe any changes to this should be considered as a feature.

isn't this a huge footgun? one would need to always add the required labels to use labelkeep or you will just not get anything

If you don't get anything, it's a very obvious failure, and it is easy to fix. That's not what we usually call a footgun.
A footgun is more something that looks useful in a certain situation but explodes in your face in the worst possible moment later.
I would just call the current behavior a bit clunky, but it's nevertheless consistent. We could start a debate if we want to add another flavor of labelkeep or add a feature flag to change its behavior, but we cannot really change the current behavior without a major version bump.


this is not actually the object containing the property being processed in reviver

Describe the bug
this is not actually supplied as context for reviver; it's just undefined
To Reproduce
parse("foo: {bar: baz}", (key, value)=>{
  console.log("reviver", this, key, value)
  return value
})

Expected behaviour

The reviver is called with the object containing the property being processed as this

- MDN
Versions

Environment: Node 19
yaml: 2.2.1

You callback function uses fat-arrow notation, where this is determined by the enclosing context: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this#arrow_functions
Use function(key, value) { ... } to access the appropriate this.


mlnet forecasting CLI doesn't appear to work

Running the cli using the command mlnet forecasting returns the error No valid columns to save
To Reproduce
Create a CSV datafile with anything in it.
Run mlnet forecasting --dataset "myDataSet.csv" --label-col total --has-header true --time-col datetime --horizon 2 --train-time 100
Start Training
start nni training
Experiment output folder: C:\Users\user\AppData\Local\Temp\AutoML-NNI\Experiment-XLUOMA
Forcasting
System.InvalidOperationException: No valid columns to save
   at Microsoft.ML.Data.DataSaverUtils.SaveDataView(IChannel ch, IDataSaver saver, IDataView view, Stream stream, Boolean keepHidden)
   at Microsoft.ML.BinaryLoaderSaverCatalog.SaveAsBinary(DataOperationsCatalog catalog, IDataView data, Stream stream, Boolean keepHidden)
   at Microsoft.ML.ModelBuilder.AutoMLService.Proposer.ResampleStrategyProposer.InitializeForecasting(TrialParameter trialParameter) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Proposer/ResampleStrategyProposer.cs:line 141
   at Microsoft.ML.ModelBuilder.AutoMLService.Proposer.ResampleStrategyProposer.Propose(TrialParameter trialParameter) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Proposer/ResampleStrategyProposer.cs:line 51
   at Microsoft.ML.ModelBuilder.AutoMLService.Proposer.Controller.Propose() in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Proposer/Controller.cs:line 65
   at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.LocalAutoMLExperiment.ExecuteAsync(IDataView trainData, IDataView validateData, ColumnInformation columnInformation, CancellationToken cancellationToken, CancellationToken timeout) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/LocalAutoMLExperiment.cs:line 163
   at Microsoft.ML.ModelBuilder.AutoMLEngine.StartTrainingAsync(TrainingConfiguration config, PathConfiguration pathConfig, CancellationToken userCancellationToken) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 160
:
:

Contents of log file shows:
2022-10-13 17:33:16.3528 DEBUG System.FormatException: String ' available trainer: LGBM, RF, FASTTREE, LBFGS, SDCA ' was not recognized as a valid Boolean.
   at System.Boolean.Parse(ReadOnlySpan`1 value)
   at System.Boolean.Parse(String value)
   at Microsoft.ML.CLI.FeatureFlagManager.ReadFeatureFlags(String ffPath) in /_/src/mlnet/FeatureFlagManager.cs:line 64 (Microsoft.ML.CLI.FeatureFlagManager.ReadFeatureFlags)
2022-10-13 17:33:16.4112 DEBUG Set log file path to C:\Users\user\AppData\Local\Temp\mlnet\log.txt (Microsoft.ML.CLI.Commands.MLCommand.set_LogFilePath)
2022-10-13 17:33:16.4112 DEBUG Set log level to Info (Microsoft.ML.CLI.Commands.MLCommand.set_Verbosity)
2022-10-13 17:33:16.7683 INFO Start Training (Microsoft.ML.CLI.Runners.AutoMLRunner+<ExecuteAsync>d__8.MoveNext)
2022-10-13 17:33:16.8298 INFO start nni training (Microsoft.ML.CLI.Utilities.PBarConsolePrinter.Print)
2022-10-13 17:33:16.8446 INFO Experiment output folder: C:\Users\user\AppData\Local\Temp\AutoML-NNI\Experiment-XLUOMA (Microsoft.ML.CLI.Utilities.PBarConsolePrinter.Print)
2022-10-13 17:33:16.8446 DEBUG row count is unknown, count it explicitly (Microsoft.ML.CLI.Runners.AutoMLRunner.Instance_DiagnosticDataReceived)
2022-10-13 17:33:16.8627 DEBUG count elapse 16ms (Microsoft.ML.CLI.Runners.AutoMLRunner.Instance_DiagnosticDataReceived)
2022-10-13 17:33:16.8627 INFO Forcasting (Microsoft.ML.CLI.Utilities.PBarConsolePrinter.Print)
2022-10-13 17:33:16.9278 ERROR System.InvalidOperationException: No valid columns to save
   at Microsoft.ML.Data.DataSaverUtils.SaveDataView(IChannel ch, IDataSaver saver, IDataView view, Stream stream, Boolean keepHidden)
   at Microsoft.ML.BinaryLoaderSaverCatalog.SaveAsBinary(DataOperationsCatalog catalog, IDataView data, Stream stream, Boolean keepHidden)
   at Microsoft.ML.ModelBuilder.AutoMLService.Proposer.ResampleStrategyProposer.InitializeForecasting(TrialParameter trialParameter) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Proposer/ResampleStrategyProposer.cs:line 141
   at Microsoft.ML.ModelBuilder.AutoMLService.Proposer.ResampleStrategyProposer.Propose(TrialParameter trialParameter) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Proposer/ResampleStrategyProposer.cs:line 51
   at Microsoft.ML.ModelBuilder.AutoMLService.Proposer.Controller.Propose() in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Proposer/Controller.cs:line 65
   at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.LocalAutoMLExperiment.ExecuteAsync(IDataView trainData, IDataView validateData, ColumnInformation columnInformation, CancellationToken cancellationToken, CancellationToken timeout) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/LocalAutoMLExperiment.cs:line 163
   at Microsoft.ML.ModelBuilder.AutoMLEngine.StartTrainingAsync(TrainingConfiguration config, PathConfiguration pathConfig, CancellationToken userCancellationToken) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 160
   at Microsoft.ML.CLI.Runners.AutoMLRunner.ExecuteAsync() in /_/src/mlnet/Runners/AutoMLRunner.cs:line 88
   at Microsoft.ML.CLI.Program.TrainAsync(TrainingConfiguration trainingConfiguration, PathConfiguration pathConfig, AutoMLServiceLogLevel logLevel) in /_/src/mlnet/Program.cs:line 348
   at Microsoft.ML.CLI.Program.AutoMLCommandRunner(AutoMLCommand command, Boolean skipGenerateConsoleApp) in /_/src/mlnet/Program.cs:line 329
   at Microsoft.ML.CLI.Program.<>c.<<CreateRootCommandLineBuilder>b__4_6>d.MoveNext() in /_/src/mlnet/Program.cs:line 235
--- End of stack trace from previous location ---
   at System.CommandLine.Invocation.CommandHandler.GetExitCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext()

The error message indicates that it fails to find 'total' and datetime column from your dataset. Would you mind share a snapshot of your dataset, thanks

Here's the dataset:
dataset.csv
We experimented with different formats for the datetime column, as there's no obvious documented example showing the expected format.
Changing --label-col and --time-col to non-existent columns does show an error, so it's clearly recognising those columns from the datasource.

Any progress on this? Is it a mistake in my dataset, or is there a bug?

I'm having the exact same issue: same exception, stack trace, logs etc. In the experiment output folder there's just an empty train.bin. Tool version 16.13.9
I tried using TSV instead of CSV, with/without header, using column names/using column indices. I wasn't able to get it to work with any of those combinations.

Same here. What date / time formats are valid?

Sorry for the late reply @jsobell. The cause of this issue is DataFrame can't handle datetime format.
We are working on this issue by including the fix for parsing datetime format in mlnet (#https://github.com/dotnet/machinelearning/pull/6302) but that change hasn't been included in mlnet.cli yet. Once we update mlnet.cli and target to latest mlnet, this issue will go.

The fix has merged in, should work now.

The bug has been fixed on the latest CLI version 16.14.3.

I latest Visual Studio 2002 version 17.4.4
with updated NuGet packages
Microsoft.Extensions.ML to 2.0.0 (latest)
Microsoft.ML.TimeSeries to 2.0.0 (latest)
and it still crashes as soon as I start the training via UI:


Consider including binaries for MacOS arm64 and/or Homebrew support?

First I just wanted to say thanks for this project, it's really useful!
I was wondering what your thoughts would be around providing pre-compiled binaries for more platforms, ideally MacOS arm64 🤞
It would also be super nice if it was possible to brew install go-template-cli. Thanks again!

hi @evandam, I wouldn't mind that.  Actually, I just refactored the architecture of the program recently. The changes are already in main but not released. It's not releasable yet because now there isn't any logic to build the stuff and attach it to the GitHub release.
If you want, you can make a pr and add that functionality and attach binaries for linux, mac and maybe windows.
I have setup release-please https://github.com/bluebrown/go-template-cli/blob/main/.github/workflows/release-please.yaml, so you could hook into the github release creation and build / attach the artifacts, if possible.
I know there is also goreleaser which can do all the heavy lifting. Though, I am not sure if it could be integrated with release-please. But I am also not super fixated on release-please.
So all in all this is a greenfield. I would be happy with whatever you come up, as long as its based on conventional commits.
Otherwise, I might get around these days to create a release flow myself.
Cheers

i have changed the release flow to include the mac binaries. https://github.com/bluebrown/go-template-cli/releases/tag/v0.3.0


Branescript syntax does not support array indexing on identifiers.

The documentation says Branescript allows array indexing in C style manner: foo[0].
However, looking at the formal definition, that seems to be not the case.
Expressions are defined as:
 Expr ::= LPAREN Expr RPAREN
        | Expr BinOp Expr
        | UnaOp Expr
        | Array | ArrayIndex | Call | IDENT | Instance | Literal
        | Projection

This does contain Array and ArrayIndex, but array is a definition of an array, not the usage of an identifier (variable) that points to / contains an array.
ArrayIndex suffers the same fate as it is prefixed with: Array itself: ArrayIndex ::= Array LBRACKET Expr RBRACKET
Proposed solutions:
We either have to change identifiers such that identifiers can be indexed by default, or we have to change ArrayIndex to be:
ArrayIndex ::= Array LBRACKET Expr RBRACKET | IDENT LBRACKET Expr RBRACKET\
The latter seems better to me in this case. @Lut99 Let me know what you think.

This is all part of a personal side project. I really wanted to implement a treesitter grammar at some point, and I don't come across unimplemented languages often :sweat_smile:. The advantage for Brane is that if the BNF is incorrect, my syntax highlighting is broken, so the issues lit up like a Christmas tree.
Yeah, that sounds reasonable. We should only be careful with precedence in "open" expressions like 1+1 [2] which should be parsed as 1+(1[2]) I think.

Precedence checks out (note it's higher than any binary expression). Further, while quite messy, the BraneScript parser considers array indices to follow any other expression.
I'll push a PR with the correct syntax in a sec. Indeed, we can remove ArrayIndex and instead treat the index as a special kind of unary operator.


Fixed issue  Easy Issue 2 (PHP)

Pull Request Type
What kind of change does this PR introduce?
[X ] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?

Added the code to print "Hello, PHP!" in /tasks/php/easy/hello.php
Issue Number: [#1592 ]
What is the new behavior?

Other information

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


Support variable FPS rendering

Platforms like Android can have variable OS-wide FPS. The value can change during scroll or based on power saving settings.
The value can be checked in the developer options under "Show refresh rate".
We'd want to make sure that the OS's FPS setting isn't just read once at https://github.com/flutter/engine/blob/27240dd8ebfd08f3c929e8605851130dd021f156/shell/platform/android/io/flutter/view/VsyncWaiter.java#L52 but is listened to continually as @gaaclarke pointed out with https://developer.android.com/reference/android/hardware/display/DisplayManager.html#registerDisplayListener(android.hardware.display.DisplayManager.DisplayListener, android.os.Handler).

@GaryQian you may be interested in this after the deferred loading work in a month or so? It seems like it could be a 10 line change but I could be wrong.

@chinmaygarde points out that the above isn't correct and we're already drawing at whichever rate the OS's vsync happens. The https://github.com/flutter/engine/blob/27240dd8ebfd08f3c929e8605851130dd021f156/shell/platform/android/io/flutter/view/VsyncWaiter.java#L52 call is just used to inform the profiling tools.
There might still be work to do:

The OS might not know that the refresh rate should be increase while Flutter is scrolling. We can pipe the signal from the framework through to https://developer.android.com/reference/android/view/Surface#setFrameRate(float, int) according to https://developer.android.com/guide/topics/media/frame-rate.
Still do the above to notify the profiling tools of the current FPS.

In a quick test, the refresh rate as reported by the "Show refresh rate" developer settings overlay is automatically increased from 60 to 90 while I scroll on a flutter app on my Pixel 4. Similarly, running an animation (like an automated scroll or a spinning progress indicator) also automatically bumps the refresh rate from 60 to 90.
This leaves me wondering when a framework (or an app) should ever manually request a different higher/lower frame rate?

This leaves me wondering when a framework (or an app) should ever manually request a different higher/lower frame rate?

From an email thread: An app could request a lower refresh rate if it fails to render at the higher one. That's already supported via a plugin: https://pub.dev/packages/flutter_displaymode.


PDF is different for identical document (only on Linux)

Description
test.typ:
#let my-document(doc) = {
    set page(numbering: "1")
    set document(date: none)
    doc
}

#show: doc => my-document(doc)

Hello

When compiled twice with the Windows version of Typst, the resulting PDFs are identical. When compiled twice with the Linux version (native Ubuntu or Ubuntu in WSL), the resulting PDFs are different (this is not due to a timestamp in the PDF metadata; that is disabled by the set document(date: none) line):
$ diff test_1.pdf test_2.pdf
210c210
< <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"  xmlns:xmp="http://ns.adobe.com/xap/1.0/"  xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"  xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"  xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.9.0</xmp:CreatorTool><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmpMM:DocumentID>A4q+JjDntuH275pfiPYktw==</xmpMM:DocumentID><xmpMM:InstanceID>p+BzxY1p6I4ye2Wad1QVUA==</xmpMM:InstanceID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?>
---
> <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"  xmlns:xmp="http://ns.adobe.com/xap/1.0/"  xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"  xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"  xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.9.0</xmp:CreatorTool><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmpMM:DocumentID>A4q+JjDntuH275pfiPYktw==</xmpMM:DocumentID><xmpMM:InstanceID>FevYEvFqZ50QovRc/u8sjg==</xmpMM:InstanceID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?>
251c251
<   /ID [(A4q+JjDntuH275pfiPYktw==) (p+BzxY1p6I4ye2Wad1QVUA==)]
---
>   /ID [(A4q+JjDntuH275pfiPYktw==) (FevYEvFqZ50QovRc/u8sjg==)]

The only difference is the second string in /ID, which also appears as xmpMM:InstanceID above.
When the set page(numbering: "1") line is removed in test.typ, the resulting PDF files are identical even with the Linux version.
There are several use cases where this becomes an issue; for example, automated checks whether a document has changed and therefore needs to be re-released.
Shell script to run the test (specify the Typst executable as the first argument):
#!/bin/bash

[[ -n "$1" ]] || { echo "Usage: $0 path/to/typst"; exit 1; }

"$1" c test.typ && mv test.pdf test_1.pdf && "$1" c test.typ && mv test.pdf test_2.pdf && diff test_1.pdf test_2.pdf
diff test_1.pdf test_2.pdf

Operating system

Windows 10 22H2
Ubuntu 20.04 (WSL on Windows 10)
Ubuntu 22.04 (native)

Typst version
Typst 0.9.0 (7bb4f6df) in both cases.

Duplicate of https://github.com/typst/typst/issues/2536. This is fixed on main.

Ah shoot, I checked all issues with the "pdf" label, but obviously that was insufficient. My bad!

my bad, the label was missing there


adding overflow :hidden

Description
This PR fixes #
Notes for Reviewers
#2400 issue
Signed commits

[ ] Yes, I signed my commits.

Hi @AJOO7, have a look at these instructions, if you would - https://github.com/layer5io/meshery/pull/2402/checks?check_run_id=1890142026

You’ll find more about this in the Contributing.md


Setting Notifications to true still asks for permission from user

Hello,
I saw in this issue that user don't have to click allow by themselves. I haven't override any class and directly had set enableNotifications in gradle to true. I'm not immediately requesting for permission on application open, I request it when user logs in their account.
In this case I was expecting to have permission true but when I verified it in Chrome it says default. Blocking and allowing set permission accordingly in Chrome.
I'm requesting notification through JavaScript Notification API, I made no changes in service worker. What could be that I'm missing?
Thanks.

Would you mind filing this issue against https://github.com/GoogleChrome/android-browser-helper? (this repository is just the sample app and doesn't use notifications itself).
It would also help if the Android device model and version, the Chrome version and version of the library used in the project (inside app/build.gradle) are being used.

I don't understand, is there any way to act notification like Android native?
For instance:

In Android native, notification permission by default is granted.

In Android native, when users click on notification application will be opened.
(But in TWA, it's different behavior and the Chrome browser opened not the application.)

Can we detect uninstall TWA application like Android Native? In this version of TWA, When users uninstalled the app user
(still getting notification from the Chrome browser and gets a success response from VAPID.)

@Husseinhj  Haven't figured out the first, but for second you may want to check the protocol and exact service worker registered URL (for example if it's https://abc.com/test, notification URL should go along same https://abc.com/test/$1/...)
I can confirm that clicking on notification properly opens in app instead of Google Chrome. Same happens when clicking application URL from other source such as Telegram, Twitter, etc.

@successful-fella
Thanks for your swift answer.
For the WEB users on Android, the user should grant notification permission by pressing on the allowed button. In Android native application user notifications by default are granted and engagement between users will be easier because they always are opted-in on Notification channels, So it's a very important issue to have opted-in users like Android native app.

Same happens when clicking application URL from other source such as Telegram, Twitter, etc.

I did a test in TWA and did not open my application just open Chrome application. I think you are talking about deep-link in android, am I right?

@Husseinhj No, I don't think this is deep linking. What happens is Chrome opens the application when request from external app or webpush matches service worker URL pattern (at least this is what I think how it works). Maybe you should try adjusting the URL. It's working for me though.
Also yes allowing notification in app is a bad user experience and notification delegation is a solution. I can't get it work though.

Also yes allowing notification in-app is a bad user experience and notification delegation is a solution. I can't get it to work though.

Me neither. I try to enable enableNotifications but it doesn't work and I'm confused about that.

No, I don't think this is deep linking. What happens is Chrome opens the application when request from external app or webpush matches service worker URL pattern (at least this is what I think how it works). Maybe you should try adjusting the URL. It's working for me though.

I'll check this out. Thanks.
@successful-fella Do you have any idea about uninstalling application tracking in TWA?
(I'm sure in WEB to uninstall mean's user unregister service worker by clearing their browser cache)

This repository is deprecated and we're not actively looking into issues. here. Please file issue against https://github.com/GoogleChrome/android-browser-helper.


Multi service unified using the oauth2 plugin

Multi service uses a oauth2 and unified authentication?
thanks.

use global credentials, but apply plugin on a per service basis, also create a "mock" auth service, to get the /auth/oauth/token route available


[POC] Potential ways for making Transforms V2 classes JIT-scriptable

🚀 The feature
Note: This is an exploratory proof-of-concept to discuss potential workarounds for offering limited support of JIT in our Transforms V2 Classes. I am NOT advocating for following this approach. I'm hoping we can kick off the discussion for other alternative and simpler approaches.
Currently the Transforms V2 classes are not JIT-scriptable. This breaks BC and will make the rollout of the new API harder. Here are some of the choices that are incompatible with JIT:

We wanted to support arbitrary number of inputs.
We rely on Tensor Subclassing to do the dispatch to the right kernel.
We use real typing information on the inputs which often includes types that are not scriptable.
We opted for using more Pythonic idioms (such as for ... else)

Points 3 & 4 could be addressed by (painful) refactoring, nevertheless points 1 & 2 are our main blockers.
To ensure our users can still do inference using JIT, we offer presets/transforms attached to each model weights. Those will remain JIT-scriptable. In addition, we applied a workaround (#6553) to maintain the F dispatcher JIT-scriptable for plain Tensors. Hopefully these mitigations will help most users migrate easier to the new API.
But what if they don't? Many downstream users might want to continue relying on transforms such as Resize, CenterCrop, Pad etc for inference. In that case, one option could be to offer JIT-scriptable alternatives that work only for pure tensors. Another alternative is to write a utility that can modify the existing implementations on-the-fly to update key functions and make them JIT-scriptable.
Motivation, pitch
This is a proof-of-concept of how such a utility can work. It only supports a handful of transforms (due to points 3 & 4 from above) but it can be extended to support more.
There are 2 approaches show-cased below:

We use ast to replace on-the-fly problematic idioms from the Transform classes. Since JIT also uses ast internally, we need to make the updated code available to JIT during scripting.
We replace the forward() to remove the packing/unpacking of arbitrary number of inputs. We also hardcode plain tensors as the only accepted input type.

import ast
import inspect
import tempfile
import torch
import types

from torchvision import transforms as V1
from torchvision.prototype import transforms as V2
from torchvision.prototype import features

class JITWrapper(torch.nn.Module):

    def __init__(self, cls, *args, **kwargs):
        super().__init__()
        # Patch _transform types, can be avoided by defining directly JIT-scriptable types
        code = inspect.getsource(cls)
        tree = ast.parse(code)
        for node in ast.walk(tree):
            if isinstance(node, ast.ClassDef):
                node.name = f"{cls.__name__}JIT"
            elif isinstance(node, ast.FunctionDef):
                if node.name == "_transform":
                    node.args.args[1].annotation.id = "features.InputTypeJIT"
                    node.returns.id = "features.InputTypeJIT"
        source = ast.unparse(tree)

        # Writes the source on a temp file. Needed for JIT's inspect calls to work properly.
        with tempfile.NamedTemporaryFile(mode="w+", delete=False) as temp:
            temp.write(source)
            filename = temp.name

        # Compiles the new modified Class from source
        code = compile(source, filename, "exec")
        mod = {}
        exec(code, vars(inspect.getmodule(cls)), mod)
        cls = next(iter(mod.values()))

        # initialize transform
        transform = cls(*args, **kwargs)

        # Patch forward
        if hasattr(transform, "_jit_forward"):
            # Use the one defined in the class if available
            transform.forward = transform._jit_forward
        else:
            # Use the default implementation
            setattr(transform, "forward", types.MethodType(JITWrapper.__default_jit_forward, transform))

        self._wrapped = transform

    @staticmethod
    def __default_jit_forward(self, inputs: features.InputTypeJIT) -> features.InputTypeJIT:
        params = self._get_params(inputs)
        result = self._transform(inputs, params)
        return result

    def forward(self, inputs: features.InputTypeJIT) -> features.InputTypeJIT:
        return self._wrapped.forward(inputs)

def assert_jit_scriptable(t, inpt):
    torch.manual_seed(0)
    eager_out = t(inpt)

    t_scripted = torch.jit.script(t)
    with tempfile.NamedTemporaryFile(delete=False) as temp:
        t_scripted.save(temp.name)
        t_scripted = torch.jit.load(temp.name)

    torch.manual_seed(0)
    script_out = t_scripted(inpt)
    torch.testing.assert_close(eager_out, script_out)
    return script_out

img = torch.randn((1, 3, 224, 224))

t = V1.Resize((32, 32))
out1 = assert_jit_scriptable(t, img)
print("T1: OK")

t = JITWrapper(V2.Resize, (32, 32))
out2 = assert_jit_scriptable(t, img)
print("T2: OK")

torch.testing.assert_close(out1, out2)
print("T1 == T2: OK")

The above works on our latest main without modifications:
T1: OK
T2: OK
T1 == T2: OK

This approach can currently only support a handful of simple Transforms, that don't require overwriting the forward() and that contain most of their logic inside their _get_params() and _transform() methods. Many such simple transforms are still not supported because they inherit from _RandomApplyTransform which does the random call in its forward (this could be refactored to move to _get_params()). The rest of the existing inference transforms can be supported by addressing points 3  & 4 from above.
The above approach is very over-engineered, brittle and opaque because it tries to fix the JIT-scriptability issues without any modifications on the code-base for the selected example. If we accept minor refactoring on the existing classes, we can remove the ast logic. We could also avoid defining a default JIT-compatible forward by explicitly defining such a method on the original class when available. Here is one potential simplified version that would require changes on our current API:
class JITWrapper(torch.nn.Module):

    def __init__(self, transform: Transform):
        super().__init__()
        # Patch forward
        if hasattr(transform, "_jit_forward"):
            # Use the one defined in the class if available, should reuse `_get_params` and `_transform`
            transform.forward = transform._jit_forward
        else:
            raise Exception(f"The {cls.__name__} transform doesn't support scripting")

        self._wrapped = transform

    def forward(self, inputs: features.InputTypeJIT) -> features.InputTypeJIT:
        return self._wrapped.forward(inputs)

class Resize(Transform):
    # __init__ and _get_params() goes here

    def _transform(self, inpt: features.InputTypeJIT, params: Dict[str, Any]) -> features.InputTypeJIT:
        # we changed the types. Everything else in the method should be the same

    def _jit_forward(self, inputs: features.InputTypeJIT) -> features.InputTypeJIT:
        params = self._get_params(inputs)
        result = self._transform(inputs, params)
        return result

Alternatives
There are several other alternatives we could follow. One of them could be to offer JIT-scriptable versions for a limited number of Transforms that are commonly used during inference. Another one could be to make some of our transforms FX-traceable instead of JIT-scriptable. Though not all classes can become traceable (because their behaviour branches based on the input), considering making them compatible will future proof us for PyTorch 2.
Additional context
No response
cc @vfdev-5 @bjuncek @pmeier

@datumbox I think this wrapper approach is quite similar with how detectron2 did it. They have this torchscript_patch.py which I found from this article about torchscript.

Depending on how long we want to support scriptability, this might be pretty easy. Assuming that we only support it until v2 is stable and deprecate and remove it together with v1 afterwards, we can simply do:
class MyTransformV2(transforms.Transform):
    def __init__(self, foo, bar):
        super().__init__()
        self.foo = foo
        self.bar = bar

    ...

    def __prepare_scriptable__(self):
        # This hook is called early by `torch.jit.script`. See
        # https://github.com/pytorch/pytorch/blob/a6ac922eabee8fce7a48dedac81e82ac8cfe9a45/torch/jit/_script.py#L1284-L1288
        # https://github.com/pytorch/pytorch/blob/a6ac922eabee8fce7a48dedac81e82ac8cfe9a45/torch/jit/_script.py#L982
        # If this method exists, its return value is used over the original object for scripting.
        return MyTransformV1(self.foo, self.bar)

If we want to support scriptability for longer, we can still use the hook, but need to return something custom. One option is of course here to copy-paste the important v1 code in there.
I'm currently exploring using this hook together with AST rewriting proposed in the top comment to automate that.

Thanks Philip, that looks very promising and could potentially remove a major roadblock toward migration to v2. As discussed offline, if the __prepare_scriptable__ hook works out as we think it does, we can consider implementing it on all v2 transforms and keep the v1 transforms around for as long as needed. Possibly in a __deprecated_and_unmaintained_transforms_AVOID_USING_THIS_MODULE module.

The name has the same energy as the pytest option disable_test_id_escaping_and_forfeit_all_rights_to_community_support :laughing:

Closed in #7135.


Builds related data should be stored in artifacts instead of custom data storage

Plugin uses custom data storage associated with build type to store data for each build. Unfortunately custom data storage is not designed for storing lots of data and this approach can cause performance problems in the future. It would be more robust and faster to store data under the build artifacts, in .teamcity/ directory.

Thanks for the info, Pavel. I will update the implementation...

Issue fixed by adding MySQL DB support as data storage


Update body transforms on joint2D setup

Body transforms from physics are used to setup the joint and they are only updated before the physics step by default.
Without forcing the transform update, joints could use a previous position if the body's position was set after it was added to the scene.
3D physics is not affected by this issue.
Fixes #30191

Thanks!

Cherry-picked for 3.2.4.


Feature: Advanced Data Import

https://flatfile.com/product/portal/#features

This is interesting but I am a bit concerned about flatfile sending import-data to their own servers.

This is interesting but I am a bit concerned about flatfile sending import-data to their own servers.

@saemideluxe I fully agree on that. However, I will leave this issue open as we previously have discussed an advanced data import feature. OK?

Yes, sure. I definitely would love to see a better solution for data import than some custom scripts.


Manual automation not working

I am trying to make an automation to disarm the alarm when a NFC tag is read.
In automations I have a call to this service:
  - service: alarm_control_panel.alarm_disarm
    data:
      entity_id: alarm_control_panel.alarmo

But the service is not executed.
Also, if I check with the service developer tools, no disarm is made.

May be I am doing something wrong?

This will only work if the alarm does not require a code.
This you check the log?

I have just confirmed.
Thanks for your quick response.
But, what about this service call:
  - service: alarm_control_panel.alarm_disarm
    data:
      entity_id: alarm_control_panel.alarmo
      code: 1234

That is the example exposed for that service call.
That way, both methods (manual automation and integrated user policies at your component) should be valid.
I would like some users to enter a code and me to read my NFC.

That should work. Maybe you should enter the code as a string, so "1234".

That way, both methods (manual automation and integrated user policies at your component) should be valid.

I'm not sure what you mean here.
If you require a code for the disarm action, it should be always provided with the service call.

I would like some users to enter a code and me to read an NFC. I read my NFC card with my phone with HA installed on it.
But I do not want my employees to have my HA instance installed.

I don't know how NFC works on the phone.
If you can create an automation that disarms when valid NFC is provided, it should work.
But still, the automation should contain a code.
Alarmo cannot detect which method was used (Lovelace alarm panel card or automation) for disarming.

Checked, and working.
I can confirm this automation is working:
  trigger:
  - platform: tag
    tag_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
  action:
  - service: alarm_control_panel.alarm_disarm
    data:
      entity_id: alarm_control_panel.alarmo
      code: "xxxx"

Thanks a lot for your support.


Broken repository link in engine/reference/commandline/README.md

Problem description
There's a broken repository link in engine/reference/commandline/README.md
Problem location
engine/reference/commandline/README.md
Suggestions for a fix
The readme links to the moby/mobi repository docs folder which doesn't contain reference/commandline. My guess is that it should be pointing to the docker/cli repository instead:
https://github.com/docker/cli/tree/master/docs/reference/commandline

Please verify and make the change.

Reference documentation: hopefully this can be fixed when we regenerate it. Otherwise, I'll see if there's more on the process. See https://github.com/docker/docker.github.io/pull/7731

Working with @seemethere to see if this falls under docker.github.io or docker/cli.

This can be closed now

closing per @seemethere


Sprite height is occasionally stretched/squashed on HTML5

May have been fixed on the latest beta (2022.500)

Upstream issue, fixed in https://github.com/JujuAdams/Scribble/commit/da87a278f5597a998f9d5b5f65365fa2bf4b2144


Fixed display issues for iPhone X

Fixed iPhone X sidebar not fully to bottom
Also fixed flickering on status bar when opening the sidemenucontroller

Manually tested for iOS 10 and iOS 11 and on smaller devices too.
This fixed following issue: https://github.com/teodorpatras/SideMenuController/issues/136

Bump

Thanks for your contribution! It will be part of next release.


3894 test vault ca

This PR modifies the setup of the Vault intermediate CA used in e2e tests so that it can be optionally configured with a root CA cert (not just the intermediate) and changes Vault issuer's e2e tests to run with both configurations.
Note: this is a very simple fix. I started refactoring the e2e tests so that it is easier to add new config options as well as the setup of the addons, but perhaps that could be done after the v1.4 release.
Fixes #3894
/kind cleanup

/release-note NONE

/release-note-none

/lgtm


add track prop which allows <ModeWatcher> to track changes in system preference

when track is set to true (default), mode-watcher will add an event listener to the media query event and update the mode whenever prefers-color-scheme is changed.
track being set to true could be considered as a breaking change? I view it more as a bug fix. therefore I marked it is patch. what do you think @huntabyte?
will close #13

also, would be cool to add some tests for this but I could not figure out how to change prefers-color-scheme programatically. found (and tried) https://github.com/vitest-dev/vitest/issues/821 but was not sure how to apply that method

Yeah, I'll look into emitting the event to get it tested! Thanks again for your efforts here!

FYI @shyakadavis this is released now! let me know if you run into any issues


C# completions should appear after '@' symbol

Summary of the changes

After the changes from https://github.com/dotnet/roslyn/pull/51002, Roslyn no longer returned completions for the '@' character. This is because '@' became treated as 'Typing' instead of 'Explicit' VSCompletionInvokeKind. We now explicitly pass in 'Explicit' VSCompletionInvokeKind to preserve the desired '@' behavior.

@NTaylorMullen Thanks for the review! I've added a unit test + addressed feedback. Please let me know if there's anything else that can be improved.


Support -v and --version

These are quite standard options for command line tools. We should support them.

I think that this should be reopened since neither resin -v nor resin --version worked for me.
Only resin version seems to work.

Closing this issue as both balena -v and balena --version both work and are tested


Dragon support

changes to support catapult dragon release. Feature #86

api changes around signing
adapting to new openapi definition, removal of jackson

new openapi definition (v3.0.0) does not have working java generator + uses advanced mapping features which do not work with jackson. As a result I had to remove jackson library from dependencies and refactor json parsing to use gson. Because codegenerator does not work I have to manually update generated code to compile.

this PR is for review and discussion, dragon is not really supported yet. code compiles but a lot of tests fail. There are many more changes coming before this gets merged

currently passing e2e tests

blockchain - with the exception of data-specific tests
account
transfer
metadata
mosaic
namespace

next thing is to implement the multisig cosignatory changes

Secret tests are now passing after transaction size fix and Alias test was fixed on server

not many e2e tests failing now (blockchain, multisig). remaining work should be mostly on the cosig opt-in.

I am done with dragon. All e2e tests pass, all junit tests pass. any/all defects will be fixed as separate issues


Add _document.tsx file in pages directory

Related Issue

Information about the related issue

Closes: #25
Describe the changes you've made
added a new file named _document.tsx in the pages directory for adding meta tags , font imports, and title tag.

Type of change
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Documentation update.
[ ] This change requires a documentation update
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented on my code, particularly wherever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

Screenshots (if applicable)

Original
Updated

original screenshot
updated screenshot

Code of Conduct

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

hey @Chandraprakash-Darji @mkubdev i only added meta descriptions and OG titles. the favicons are not available in the files that's why I didn't add them.

@Chandraprakash-Darji made requested changes

Thanks for the contribution


kubernetes ingress controller request size limit

NOTE: GitHub issues are reserved for bug reports only.
For anything else, please join the conversation
in Kong Nation https://discuss.konghq.com/c/kubernetes.

Summary
How to use yaml file to  create kong plugins for request limit size(databaseless).
Kong Ingress controller version
0.8
Kubernetes version
17.0.0
Environment

OS (e.g. from /etc/os-release):
Centos 7

What happened
In kong 2.0.
https://docs.konghq.com/hub/kong-inc/request-size-limiting/
There is three ways to limit request size
route/service/consumer(user)
default size: 128 MB

Hello @MarsForever, please note that you should post questions to https://discuss.konghq.com/c/kubernetes in the future; issues are reserved for bug reports.
The various kinds of plugin relations are created via annotations on other resources, as shown in the diagram at https://github.com/Kong/kubernetes-ingress-controller/blob/master/docs/concepts/custom-resources.md#kongplugin
Example configuration for the size limiting plugin can be found at https://docs.konghq.com/hub/kong-inc/request-size-limiting/#enabling-the-plugin-on-a-service. KongPlugin use the same format as the config block under the "Without a database" example.

Can you share the resource you applied the plugin to? That's shown in the second example at https://github.com/Kong/kubernetes-ingress-controller/blob/master/docs/guides/using-consumer-credential-resource.md#add-authentication-to-the-service for an Ingress, but the same annotation can be used for Service or KongConsumer resources:
konghq.com/plugins: request-size-limiting

Closing this due to lack of activity. Please re-open if needed.


Report error and better way to find number of cores on macos

For https://github.com/brotzeit/rustic/issues/227
The error reporting is a bit... primitive and non-informative. Is there really no better way to check if the event to process sentinel indicates error than string comparison?
I want to look more into this, and also see if it can work on windows, but for now, it can be tried on macos to see if this works.

I added a gif of rustic-doc in use. Keep it, replace with image or toss it away?


setSourceVisbility not working

Using 'setSourceVisbility' always gives me the error [OBSWebSocket] Error: invalid request type.
Example code:
ws.setSourceVisbility("Gamerecording", false);
Am I doing it wrong or is it a bug?

No, you're doing it 100% correctly.


The name folder in the compacted file '2021_train.tar.tgz' (inaturalist 2021 train) is 'train'

🐛 Describe the bug
When trying to use the iNaturalist 2021_train version the program crashes (after downloading) with the message:
Unable to find downloaded files at ...
The md5sum from the downloaded file 2021_train.tar.tgz is correct, but the name of the extracted folder is train.
Checking the code at this line it seems that the name of the extracted folder should be 2021_train. So it seems to be an issue with the compacted file 2021_train.tar.tgz.
Versions
Collecting environment information...
PyTorch version: 1.11.0
Is debug build: False
CUDA used to build PyTorch: 11.3
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.4 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: 10.0.0-4ubuntu1
CMake version: version 3.16.3
Libc version: glibc-2.31
Python version: 3.8.12 | packaged by conda-forge | (default, Oct 12 2021, 21:57:06)  [GCC 9.4.0] (64-bit runtime)
Python platform: Linux-5.15.0-46-generic-x86_64-with-glibc2.10
Is CUDA available: True
CUDA runtime version: 11.6.112
GPU models and configuration:
GPU 0: NVIDIA RTX A5000
GPU 1: NVIDIA RTX A5000
Nvidia driver version: 510.47.03
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.3.2
/usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.3.2
/usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.3.2
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.3.2
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.3.2
/usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.3.2
/usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.3.2
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Versions of relevant libraries:
[pip3] numpy==1.21.2
[pip3] torch==1.11.0
[pip3] torch-tb-profiler==0.4.0
[pip3] torchaudio==0.11.0
[pip3] torchsample==0.1.3
[pip3] torchvision==0.12.0
[conda] blas                      1.0                         mkl
[conda] cudatoolkit               11.3.1               h2bc3f7f_2
[conda] ffmpeg                    4.3                  hf484d3e_0    pytorch
[conda] mkl                       2021.4.0           h06a4308_640
[conda] mkl-service               2.4.0            py38h95df7f1_0    conda-forge
[conda] mkl_fft                   1.3.1            py38h8666266_1    conda-forge
[conda] mkl_random                1.2.2            py38h1abd341_0    conda-forge
[conda] numpy                     1.19.5                   pypi_0    pypi
[conda] numpy-base                1.21.2           py38h79a1101_0
[conda] pytorch                   1.11.0          py3.8_cuda11.3_cudnn8.2.0_0    pytorch
[conda] pytorch-mutex             1.0                        cuda    pytorch
[conda] torch                     1.6.0                    pypi_0    pypi
[conda] torch-tb-profiler         0.4.0                    pypi_0    pypi
[conda] torchaudio                0.11.0               py38_cu113    pytorch
[conda] torchsample               0.1.3                     dev_0
[conda] torchvision               0.7.0                    pypi_0    pypi
cc @pmeier

I just checked the issue, the line number you linked doesnt seem to be the issue.
The issue lies on line: 234
234 downloads the file as train_2021
but 237 expects it to be train
I think one of the solutions would be to replace filename in line 234 as:
filename=os.path.basename(DATASET_URLS[self.version]).rstrip(".tar.gz")
I think, this can be labelled as "good first issue" as well to attract new developers :)

Is the issue still open ?
I would like to work on it.

Is the issue still open ? I would like to work on it.

Hi, it is still open, as the current main branch has the same code for this file.

Go ahead @ito-hiroki!

I have looked into the cause of the program crashes.
However, I think there is no problem with lines 234 and 237.
When we extract a file downloaded from "https://ml-inat-competition-datasets.s3.amazonaws.com/2021/train.tar.gz", we will always get a folder named "train/" regardless of the downloaded filename.
I ran the following sample code on the master branch, but the code did not crash.
(I want to try '2021_train', but the file is too huge.)
$ cat tmp.py
from torchvision import datasets
ds = datasets.INaturalist("./2021_val/", version="2021_valid", download=True)
$ python tmp.py
Downloading https://ml-inat-competition-datasets.s3.amazonaws.com/2021/val.tar.gz to ./2021_val/2021_valid.tgz
100.0%
Extracting ./2021_val/2021_valid.tgz to ./2021_val
Dataset version '2021_valid' has been downloaded and prepared for use
$ ls 2021_val/
2021_valid  2021_valid.tgz

Is the crash caused only by condition version='2021_train'?

Is the issue still open ? I would like to work on it

issue not reproducible


Issue with “Generate Transaction” with MEW offline, Win7 64b, Chrome, FF, 3 diff versions of Mew, tia

Hi, I would like to try to send offline with MEW. I'm using a pc with Window 7 64, no sp1, never been connected. I have tried with Firefox and Chrome. Been cleaning cache, rebooting. I tried an older versions of MEW, same. No pluggin. Only win7 nothing else.
I get 3 errors appear with Chrome (copied with mistakes) : 2x Failed to load resource: net:: Err_internet_disconnected and 1 Type Error: cannot read properly 'result" of etlerwaller-master.js:xxxx undefined. –  Nothing happens when I click on "Generate Transaction".
I'have been reading and searching for hours, can not find the reason.
Re: I have installed win7 64 sp2, i tried again to run with chrome and firefox, same result.
with another Pc (offlined) which has been online and updated it possible to do an offline transaction to export.
Little question : I have created a new addresse offline, is it okay to send now even if i cant not make off line tx to test.
Thank you for your kind help.

All fine, the offline wallet addresse created on the pc but could not generate the transaction, so I generated it with an regular pc but offline (and i will low format the hardisk and reintall win), then moved to a online pc and sent the "Signed Transaction", all good.
I'm still wondering why i could not generate tx with the pc which has never been online, but has win7 updated, Chrome and Firefox and tried with 3 differents MEW files, etherwallet-gh-pages, etherwallet-v<IP_ADDRESS> and a 5 months old one.
Any thoughts are welcomed :)

I am having the same issue with MEW in FireFox for mobile, device completely offline. Manually insert all the details, unlocking the wallet is successful, but clicking on Generate Transaction does nothing.
EtherWallet  v<IP_ADDRESS>

There area number of changes happening with how different browsers handle local storage for locally served websites. I will continue to look into it. We are fully aware of the lack of consistency occuring.

Can either of you please post screenshot of console so that we can reference when writing tests for v4 and stuff. Thank you 🤗

I know the line, let me dig into. I will post it here. I had the same problem and fixed on my fork.

Here you go Tayvano :)
Tell me if you need anything else.

In case it helps, I had the same issue with MEW <IP_ADDRESS> in Chrome 60.0.3112.101 (Incognito) —
the Generate Transaction button was unresponsive.
Console showed just the "ERR_INTERNET_DISCONNECTED" message nothing else
Switched to a Safari Private session and it worked fine.

Hello! Just wanted to comment I have thesame issue here. Generate transaction unresponsive.
I tried several options:

On linux mobile, through Firefox using: a) MEW <IP_ADDRESS> -I always used this one for months already- b) MEW 3.10.4.
On Win 10 Home, through Brave and Chrome trying both versions of MEW as before.
Hope there is a solution for this! Thanks!

I also have the same issue with Win 10 Home and Microsoft Edge. It's a cheap air gapped computer so I can't try other browsers. Using MEW 3.10.4 and the previously tried <IP_ADDRESS>.
I get the following errors when I click the Send Offline tab:
SCRIPT7002: XMLHttpRequest: Network Error 0x2ee7, Could not complete the operation due to error 00002ee7.
5
SCRIPT7002: XMLHttpRequest: Network Error 0x2ee7, Could not complete the operation due to error 00002ee7.
5
Then after successfully decrypting a wallet the Generate Transaction button appears, but it does not respond to hovering/clicking.
Here is the button HTML:
Generate Transaction
Thanks for your attention to this issue!

Generate Transaction HTML:

Same issue here. The console has this error message:
TypeErrorcolumnNumber: 9fileName: "file:///home/username/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js"lineNumber: 7471message: "data[0] is undefined"stack: "[61]</customNode.prototype.getTransactionData/<@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:7471:9\n[61]</customNode.prototype.rawPost/<@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:7528:9\nprocessQueue@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:43749:39\nscheduleProcessQueue/<@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:43798:9\n$digest@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:44910:17\n$apply@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:45199:15\ndone@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:39310:38\ncompleteRequest@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:39546:9\nrequestError@file:///home/username/Downloads/etherwallet-v<IP_ADDRESS>/js/etherwallet-master.js:39475:11\n"proto: Object { stack: "", … } Possibly unhandled rejection: {} etherwallet-master.js:41438:18

I thought i had a same issue but I didn't use the tab "send offline", I tried to use "send ether & tokens" instead while offline (which didn't work).

Yes isu inbok...1year

1yer


Avoid infinite loops with symlinks

Fixes: #332

Summary of changes

Closes
Pull Request Checklist

[ ] Changes have tests
[x] News fragment added in changelog.d/.
(See documentation for details)

Lets wait until https://github.com/pypa/distutils/pull/44 is merged, and resume this one after.

See #2714, where I'm integrating the changes based on the report/PR in distutils. If these changes are needed for Setuptools separately from distutils (i.e. while Setuptools still falls back to stdlib distutils), let's use the implementation from distutils.