nixos/amazonImageZfs: init

Motivation for this change
Create an AWS AMI which uses ZFS as its root filesystem. Submitting a PR for initial review. I'm expecting significant changes to this before merging. A big thanks to Clever's examples and help with this.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@nshalman and I talked about this PR this morning, and we decided to try making 2 disk images: one tiny one for a boot pool, and a second one for the root, to make zpool auto-expand work properly.

It appears this is fat-allocated the disk images for ext4 now, but not zfs.

@grahamc Hmmmm. I like this idea. :-)
So, one setup I've been successfully running with (after using the local/system/user mounts for a while)... instead of a separate boot pool and root pool, I've been just using an ESP, swap, and zpool, in that order. GRUB boot on MBR drives (e.g. Amazon, prgmr, etc) is achieved by using a hybrid MBR and storing the kernel in the ESP, so a boot pool ends up not being necessary.

To add on... I see a path forward where make-disk-image.nix can still do most of the work here so everyone using it downstream (e.g. nixos-generators) can benefit, and the images will still only require one disk rather than two.
The main issues I saw there were (a) copytofs used for copying the closure doesn't support ZFS and (b) even if it did the zpool would have to be created inside the VM (since you need to be root with ZFS modules loaded to do that).
But maybe if the VM instantiation in make-disk-image.nix worked a little more like it does here, then the ext4 FS (if the image is being generated with ext4) could be created inside the VM too, and the process for ZFS would be identical.

#121532 may be a good prereq for this.

instead of a separate boot pool and root pool, I've been just using an ESP, swap, and zpool, in that order.

My first commit used this approach, however it has a fairly troublesome flaw: autoexpand doesn't work on partitions, and for this image I'd like for autoexpand to work correctly. My first commit created a very ugly hack to make it work, but I don't feel comfortable merging like that.
Using two disks, while somewhat inconvenient for our existing tooling, fixes this issue.

(AFAIK) The reason behind it is zfs, when it owns the whole disk doesn’t
really use a partition: it has a marker partition at the start and a
marker partition at the end of the disk.
In the partition case, zfs is constrained to the partition and is
leaving it up to the user to expand the partition containing zfs, as the
user may choose to not give it to ZFS.
Once the user expands the partition, calling zpool online -e expands the
vdev to use the whole partition. It doesn’t happen automatically
presumably because zed doesn’t get an event saying it’s partition grew,
whereas it can and does get an event saying the whole disk it is on is
now larger.
On August 19, 2021, GitHub @.***> wrote:

@tomberek commented on this pull request.

In nixos/lib/make-zfs-image.nix
https://github.com/NixOS/nixpkgs/pull/106574#discussion_r692559393:

autoexpand = "on"; + } +, # pool-wide filesystem properties +
bootPoolFilesystemProperties ? { + acltype = "posixacl"; + atime =
"off"; + compression = "on"; + mountpoint = "legacy"; + xattr = "sa"; +
} +, # The name of the ZFS pool + rootPoolName ? "tank" + +, # zpool
properties + rootPoolProperties ? { + autoexpand = "on";
it is surprising that this does not work for partitions. Is that
behavior noted somewhere so that someone looking at this doesn't waste
time trying to make it work?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/NixOS/nixpkgs/pull/106574#pullrequestreview-
734554161>, or unsubscribe
<https://github.com/notifications/unsubscribe-
auth/AAASXLCQWAM77CCTXV2UPX3T5WIX5ANCNFSM4UVJ2W5Q>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-
email&mt=8&pt=524675> or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-
email>.

Not sure where that should be written down. Where are you thinking?
On August 19, 2021, GitHub @.***> wrote:

(AFAIK) The reason behind it is zfs, when it owns the whole disk
doesn’t
 really use a partition: it has a marker partition at the start and a
 marker partition at the end of the disk.

 In the partition case, zfs is constrained to the partition and is
 leaving it up to the user to expand the partition containing zfs, as
the
 user may choose to not give it to ZFS.

 Once the user expands the partition, calling zpool online -e expands
the
 vdev to use the whole partition. It doesn’t happen automatically
 presumably because zed doesn’t get an event saying it’s partition
grew,
 whereas it can and does get an event saying the whole disk it is on
is
 now larger.

 On August 19, 2021, GitHub @.***> wrote:
 > @tomberek commented on this pull request.
 >

 > In nixos/lib/make-zfs-image.nix
 >
https://github.com/NixOS/nixpkgs/pull/106574#discussion_r692559393:
 >

 > + autoexpand = "on"; + } +, # pool-wide filesystem properties +
 bootPoolFilesystemProperties ? { + acltype = "posixacl"; + atime =
 "off"; + compression = "on"; + mountpoint = "legacy"; + xattr = "sa";
+
 } +, # The name of the ZFS pool + rootPoolName ? "tank" + +, # zpool
 properties + rootPoolProperties ? { + autoexpand = "on";
 > it is surprising that this does not work for partitions. Is that
 > behavior noted somewhere so that someone looking at this doesn't
waste
 > time trying to make it work?
 >

 —
 You are receiving this because you were mentioned.
 Reply to this email directly, view it on GitHub
 <https://github.com/NixOS/nixpkgs/pull/106574#pullrequestreview-
 734554161>, or unsubscribe
 <https://github.com/notifications/unsubscribe-
 auth/AAASXLCQWAM77CCTXV2UPX3T5WIX5ANCNFSM4UVJ2W5Q>.
 Triage notifications on the go with GitHub Mobile for iOS
 <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-
 email&mt=8&pt=524675> or Android
 <https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-
 email>.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/106574#issuecomment-902335055,
or unsubscribe <https://github.com/notifications/unsubscribe-
auth/AAASXLA6ERLZ2LA2D5NFSITT5WM3HANCNFSM4UVJ2W5Q>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-
email&mt=8&pt=524675> or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-
email>.

This PR includes #135568 to auto-expand the pool on startup.

I've published this PR as an AMI: ami-07376732ac854dbe9 in us-east-2 (Ohio) if anyone wants to give it a go.

Other than some commit squashing, I think this PR is ready to go.

I've pushed a cleaned up history with what I think are decent commit messages about the code and the why's. I've also extended the image-info.json to have a structure which supports arbitrary collections of disks.


Android Auto screen size fix

Addresses https://github.com/rhysmorgan134/node-CarPlay/issues/11

Github seems to be glitching right now, there's another commit in the branch that's not showing up in the PR https://github.com/rhysmorgan134/node-CarPlay/compare/next...steelbrain:node-CarPlay:steelbrain/android-auto?expand=1
@gozmanyoni I can confirm this does indeed fix the screen size for android. The flickering is still there
While looking around the forks for this repository, I see this guy: https://github.com/rhysmorgan134/node-CarPlay/compare/master...tete1030:node-CarPlay:master (MIT licensed code)
I wonder if there's something we can learn/adapt from what they are doing

@steelbrain - introduced some of the changes and more flexible config in - https://github.com/rhysmorgan134/node-CarPlay/pull/55


Collection Index Capability

It would be very nice if it was possible to get a capability to an index in a Collection though. That would actually be HUGE.

In the KittyItems code we store an NFT.Provider and a tokenID (more general purpose code would store a uuid, or an id and a Type) then attempt to fetch that.
Wrapping this up as a capability that any collection can vend would be very interesting.

Closing this issue since this is listed in #48


Windows CI failure

CI fails on Windows at the moment due to file permission errors that occur when downloading datadeps. See for example this run: https://github.com/FluxML/FastAI.jl/runs/6899007003?check_suite_focus=true

I've hit this issue on my Windows 10 PC when trying to download the imagenette2-160 dataset or any other fast.ai dataset.
julia> load(datarecipes()["imagenette2-160"])
ERROR: IOError: rm("C:\\Users\\OKON SAMUEL\\.julia\\datadeps\\fastai-imagenette2-160"): resource busy or locked (EBUSY)
Stacktrace:
  [1] uv_error
    @ .\libuv.jl:97 [inlined]
  [2] rm(path::String; force::Bool, recursive::Bool)
    @ Base.Filesystem .\file.jl:299
  [3] checkfor_mv_cp_cptree(src::String, dst::String, txt::String; force::Bool)
    @ Base.Filesystem .\file.jl:323
  [4] #mv#17
    @ .\file.jl:411 [inlined]
  [5] (::FastAI.Datasets.var"#8#9")(f::String)
    @ FastAI.Datasets C:\Users\OKON SAMUEL\.julia\packages\FastAI\sjHxr\src\datasets\fastaidatasets.jl:135
...

I think its due to the use of mv(src, dst; force) with force=true here which removes dst if it already exists. This would lead to an error on windows because the dst folder is open by another process here. A similar scenerio occurs here.
Is there any reason for making use of temp folders above.

Thanks for the detailed report of the issue! It is not inherently necessary to use a temporary folder but I didn't figure out a less clunky solution. What it does is copy the files that are unpacked into a subfolder in the datadep directory to the datadep directory itself. For example, instead of having .../datadeps/imagenette/imagenette/train/cls/*.jpg you have .../datadeps/imagenette/train/cls/*.jpg
If you happen to find a better solution that doesn't error on Windows, I'd be happy to review a PR!

I'm currently using the following code below on my window PC and it all works.
function DataDeps.DataDep(d::FastAIDataset)
    return DataDep(
        "fastai-$(d.datadepname)",
        """
        "$(d.name)" from the fastai dataset repository (https://course.fast.ai/datasets)

        $(d.description)

        Download size: $(d.size)
        """,
        "$(ROOT_URL)$(d.subfolder)/$(d.name).$(d.extension)",
        d.checksum,
        post_fetch_method=function (f)
            DataDeps.unpack(f)
            extracted = readdir(pwd())[1]
            pwd()
        end,
    )
end


O11Y-2792: Update action versions

Which problem is this PR solving?
There is a workflow action failure with all opened PRs, for example: https://github.com/Workiva/opentelemetry-dart/actions/runs/4651289857/jobs/8244311269?pr=104.
Fixes # (issue)
Short description of the change
Update the action versions.
How Has This Been Tested?
Pass the test workflow.
Checklist:

[ ] Unit tests have been added
[ ] Documentation has been updated

Security Insights
No security relevant content was detected by automated scans.
Action Items

Review PR for security impact; comment "security review required" if needed or unsure
Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on Slack: #support-infosec.

Public API Changes
No changes to the public API found for commit fed7de10d059c6cbd74a8fb88fd9175d63bfd93e
Showing results for fed7de10d059c6cbd74a8fb88fd9175d63bfd93e

Powered by semver-audit-service. Please report any problems by filing an issue.
Reported by the dart semver audit client 2.2.2
Browse public API.

QA +1

@Workiva/release-management-p


[DOC] Add default python repl continuation regex

Just a little follow up to #88, adding the regex for line continuation of the python default repl (r"\.\.\. ") to the docs.

any chance you'd be willing to document this pattern as well? I think it could be helpful for folks if we provided a few common patterns across Python, and the regexes that map onto them in the config. LMK what you think?

Or do you mean something like a table explaining what matches what?
IMHO having a pattern in the docs which covers most use cases and users can simply copy-(button-)paste should be sufficient.
If people want to understand the regex in detail, they can use a website like regex101  (which is also mentioned in the docs) and read the step by step explanation.

A table would be awesome, but I just imagined a short paragraph to the effect of "this regex will match the following patterns" so users can know what to expect with it. Doesn't need to block this PR if you'd rather not do it though

Ok can do ^^

ah - that latest commit looks amazing 🌈 lemme know if this is ready to go

I added a table with the prompt names, regex and match examples.
I also mentioned that users should look at regex101, for detailed explanation.
And I removed the 'old' style \[\d*\]:  matcher as per https://github.com/executablebooks/sphinx-copybutton/pull/88#discussion_r459137390

Yap should be rdy to go ^^

Amazing - thanks so much 👍


ProjectService Implementation

API Docs

Documentation marks these endpoints as legacy (deprecated) so just going to close this.


No such file or directory @ rb_sysopen - /etc/origin/master/openshift-registry.crt

Hi,
During fresh installation i'm struggling with the follow error:
Errno::ENOENT
-------------
No such file or directory @ rb_sysopen - /etc/origin/master/openshift-registry.crt

Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/cookbook-openshift3/recipes/master_cluster.rb

165:       remote_file "#{node['cookbook-openshift3']['master_generated_certs_dir']}/openshift-#{peer_server['fqdn']}/#{master_certificate}" do
166:         source "file://#{node['cookbook-openshift3']['openshift_master_config_dir']}/#{master_certificate}"
167:       end
168:     end

I'm unable find part that is reponsible for generating "file:///etc/origin/master/openshift-registry.crt"
I am trying to deploy minimal native cluster configuration by example provided in readme file.
my configuration:
"override_attributes": {
    "cookbook-openshift3": {
      "openshift_deployment_type": "origin",
      "ose_major_version": "1.5",
      "ose_version": "1.5.0-1.el7",
      "openshift_common_portal_net": "<IP_ADDRESS>/16",
      "openshift_master_sdn_cluster_network_cidr": "<IP_ADDRESS>/14",
      "openshift_hosted_metrics_parameters": {
        "IMAGE_VERSION": "v1.5.0"
      },
      "openshift_HA": true,
      "openshift_cluster_name": "oso.some.domain.net",
      "persistent_storage": [
        {
          "name": "registry",
          "capacity": "5Gi",
          "access_modes": "ReadWriteMany",
          "server": "osc.some.domain.net",
          "path": "/opt/nfs/registry",
          "claim": {
            "namespace": "default"
          }
        },
        {
          "name": "metrics",
          "capacity": "3Gi",
          "access_modes": "ReadWriteOnce",
          "server": "osc.some.domain.net",
          "path": "/opt/nfs/metrics",
          "policy": "Recycle"
        },
        {
          "name": "logging",
          "capacity": "2Gi",
          "access_modes": "ReadWriteOnce",
          "server": "osc.some.domain.net",
          "path": "/opt/nfs/logging",
          "policy": "Recycle"
        }
      ],
      "master_servers": [
        {
          "fqdn": "oc01.some.domain.net",
          "ipaddress": "<IP_ADDRESS>"
        },
        {
          "fqdn": "oc02.some.domain.net",
          "ipaddress": "<IP_ADDRESS>"
        },
        {
          "fqdn": "oc03.some.domain.net",
          "ipaddress": "<IP_ADDRESS>"
        }
      ],
      "etcd_servers": [
        {
          "fqdn": "oc01.some.domain.net",
          "ipaddress": "<IP_ADDRESS>"
        },
        {
          "fqdn": "oc02.some.domain.net",
          "ipaddress": "<IP_ADDRESS>"
        },
        {
          "fqdn": "oc03.some.domain.net",
          "ipaddress": "<IP_ADDRESS>"
        }
      ],
      "node_servers": [
        {
          "fqdn": "oc04.some.domain.net",
          "ipaddress": "<IP_ADDRESS>",
          "labels": "region=infra"
        },
        {
          "fqdn": "oc05.some.domain.net",
          "ipaddress": "<IP_ADDRESS>",
          "labels": "region=infra"
        }
      ]
    }
  }

Could you please help, how can i aproach to this error ?

Hello @ebenezar-mccoy , you seem to be using openshift v1.5.0.
We are still working on supporting that version (see today's commits on master) but the official release is not cut yet.
You can either try the github master version of this cookbook, or stick to openshift origin v1.4.1 until the new release comes.

Thanks,
Switching back to 1.4.1 solves problem.
Fingers crossed for 1.5.0 release then :)

@ebenezar-mccoy I can see where the issue is and it is going to be fixed ASAP.
Thanks for reporting :+1:

Bug confirmed for v1.5.0, even with the latest github master. Working on it.

@ebenezar-mccoy @jperville It has now been fixed with new release.
https://github.com/IshentRas/cookbook-openshift3/blob/master/CHANGELOG.md#v11048


Downloading a YouTube video by cutting out sponsors

Checklist

[x] I'm reporting a site feature request
[x] I've verified that I'm running youtube-dl version 2020.11.26
[x] I've searched the bugtracker for similar site feature requests including closed ones

Description

Add an option to download a YouTube video by cutting out sponsered segments which are available in the SponsorBlock API.
SponSkrub is an implementation of this feature but it only works for individual videos, not playlists.

Duplicate of #26084.


[WIP] Adding support for L4 metrics on Ambient's ztunnel

Please provide a description of this PR:
This PR adds the TCP stats filter to the ztunnel inbound for supporting L4 metrics with labels about source and destination workloads.
For the stats filter to set the correct labels on inbound metrics the following metadata needed to be available:

Source workload metadata - This is available by propogating the baggage header from the client ztunnel to the server ztunnel either directly on the CONNECT request or via PEP.
Destination workload metadata - Currently the Istio stats filter assumes a cluster metadata workload to be set and parses it to set the labels. This PR is setting this cluster metadata based on the matched cluster.

In a nutshell, there was a need to add an internal listener the inbound listener sends the traffic to the destination pod through it. The main (technical) reasons for this extra virtual hop are:

To support the baggage handler HTTP filter to first extract the header on the CONNECT request and only then pick it up by an listener filter on the internal listener that prepares it for the stats filter to consume.
Be able to set cluster metadata with the destination workload details

@ymesika: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_exp_ds
b65c7ab26a6083c215484cabd107430de66700c1
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ymesika: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_exp_ds
b65c7ab26a6083c215484cabd107430de66700c1
link
true
/test release-notes

unit-tests_istio_exp_ds
b65c7ab26a6083c215484cabd107430de66700c1
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests

/test release-notes

Ideally, no internal listeners are truly necessary for L4.

So where is the ztunnel source code? 👀

So where is the ztunnel source code? 👀

This is a PR to the ztunnel (control plane side). The data plane part is just envoy

@kris-nova ztunnel is Envoy that encaps and decaps h2 CONNECT for different service accounts. There's no code in istio for that, it's all in upstream envoy.

@kyessenov I can simplify the code in this PR by having a single internal listener and a set of metadata/stats filters.
The main reason for having an internal listener is that the beggage header needs to be mapped into metadata object by an http filter and only then metadata-to-peer-node and stats filter can use this object. But as you know hcm is the last one.
Can you think of a way to overcome this requirement without an internal listener?

The main problem is that you're trying to leverage Istio's Wasm telemetry filters as a black box. That seems misguided. You could simplify by running an HTTP telemetry filter that emits TCP telemetry.

But then I won't be able to emit the source metadata (baggage) as metrics labels. Will I?

@ymesika are you saying that encapping tcp_proxy doesn't process CONNECT response headers? That does seem like the case, but it is mostly because that's unusual. I think we can fix the upstream to get access to those headers.

Alternatively, you can install stats extension as an L7 upstream filter instead for encapping proxy. This is a fairly new capability so it needs to be tested first.

I filed https://github.com/envoyproxy/envoy/issues/23116. The least risky option is to just copy some response headers verbatim to tcp_proxy stream state. The other options seem rather complex.

I'm reading your comments above and the Issue/PR that you've already opened (Thanks!) and it seems like we have some mis-understanding. Just want to make sure we are aligned.
I think that you are focusing on a scenario where the source ztunnel is emitting the tcp metrics and I guess that's why you mentioned the baggage in the response headers?
I was focusing on the tcp metrics emitted by the destination ztunnel and therefore the baggage header is arriving on the CONNECT request and holds the metadata about the source workload. The metadata about the destination is based on the ECDS metadata that matches the original dst address (local workload).

Yeah, I think it's better to adjust (fork?) stats filter so it behaves as follows:

Source: network filter preceding encapping tcp_proxy that reads destination metadata from baggage response header in CONNECT (the linked upstream capability;
Destination: HTTP filter preceding terminating router that reads source metadata directly from the header.

In both cases, local metadata comes from another per-node source (details TBD I assume).
I don't think it's important to split "peer info" extraction split into a separate filter like MX used to. The functionality is tiny and we're not going to run them as Wasm.

@kyessenov I've been experimenting with your suggestion of

running an HTTP telemetry filter that emits TCP telemetry

and I noticed that the TCP hooks (e.g. onDownstreamData) of the stats filter are not being called when running it as an HTTP filter.
So I wonder how to set the TCP metrics (such as tcp_received_bytes_total).
I can get the received/sent sizes from onRequestBody/onResponseBody callbacks but as for the number of connection opened/closed I'm not sure how to get them.
Just checking if that's what you had in mind when you mentioned the above and where can I get those TCP counters from.

@ymesika The callbacks for HTTP and TCP filters are distinct. I think we'd need to add a special mode for the stats filter so that it'd act for HTTP callbacks as if they are TCP callbacks (e.g. implement onRequestBody for HTTP). Logically, that'd mean:

onRequestHeaders should register open-a-connection;
onRequestBody,onResponseBody should count bytes for the underlying stream;
onDone,onLog, etc should register close-a-connection.

Interval reporting is already implemented for HTTP for gRPC stats, so we just need to verify it works and enabled in this special mode.

Replaced by https://github.com/istio/istio/pull/41106

@ymesika: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

AFAIK telemetry generation currently happens in Istio-specific code -
pretty sure Envoy upstream doesn't emit 'istio' metrics. I think we can
modify that code
so it doesn't ever use a tcp-level listener. The http telemetry generation
should be able to detect CONNECT and generate TCP telemetry - it is much
simpler
and cleaner.
Alternatively - and maybe better - we just use http telemetry as is - AFAIK
it is a super-set of TCP metrics. Since ambient protocol is to tunnel all
TCP
as H2 streams - with metadata, etc - I don't see why telemetry would not
reflect this, and cut 1/2 of the complexity and confusion.
On Fri, Sep 23, 2022 at 3:03 PM Istio Automation @.***>
wrote:

@ymesika https://github.com/ymesika: PR needs rebase.
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow issue:
repository.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/40871#issuecomment-1256718850, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAUR2VFWSSUKCJPUIQPZFTV7YSMNANCNFSM6AAAAAAQHOJTJI
.
You are receiving this because your review was requested.Message ID:
@.***>

Re: second point. It's handled by tcp_proxy downstream and HCM upstream. So I think they should produce the same telemetry (TCP or HTTP) but not mix them up as that would be even more confusing.

@ymesika I don't think it's safe to rely on Wasm/istio_stats filter for shared proxies. There's a memory leak caused by permanent metric retention, so it's very easy for one tenant to exhaust all metrics. I started https://github.com/istio/proxy/pull/4079 to rewrite it from scratch, and I think we'll need to invest into proper budgeting of metrics to avoid resource exhaustion.

Not sure what 'budgeting' means - but the current model of metrics, with
all the per-client labels/attributes is pretty expensive, and may need a
fresh look at the design,
requirements and assumptions we made when the metric were originally
implemented.
Shared proxies are even more susceptible to  this - but it's a problem with
sidecars too.
On Mon, Sep 26, 2022 at 9:47 AM Kuat @.***> wrote:

@ymesika https://github.com/ymesika I don't think it's safe to rely on
Wasm/istio_stats filter for shared proxies. There's a memory leak caused by
permanent metric retention, so it's very easy for one tenant to exhaust all
metrics. I started istio/proxy#4079
https://github.com/istio/proxy/pull/4079 to rewrite it from scratch,
and I think we'll need to invest into proper budgeting of metrics to avoid
resource exhaustion.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/40871#issuecomment-1258333891, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAUR2T5FSVLYA3OP7LEDY3WAHHQTANCNFSM6AAAAAAQHOJTJI
.
You are receiving this because your review was requested.Message ID:
@.***>

@costinm By budgeting I just mean that metrics need to be distributed fairly, so we have to account for resource consumption by each client group. Yes, this is already causing memory leaks in gateways, for example (or any hub-type proxy), because the existing implementation is naive.

Like Ambient itself, the filter rewrite is an experimental feature. That means it should be revertible at any point. Because it'll take time to get to the same level, you're probably better off using older stats filter for now, and we'll duplicate code in two places later.

Kuat - filter rewrite would have a great start with a doc/proposal - it is
expected that ambient telemetry will be a bit different, now is a good time
to revisit
cardinality and labels we enable by default, as well as possible alignment
with standards schemas (like open telemetry), or replacing the use of
deprecated open census. Many things have changed since the first filter and
design...
On Wed, Sep 28, 2022 at 9:54 AM Kuat @.***> wrote:

Like Ambient itself, the filter rewrite is an experimental feature. That
means it should be revertible at any point. Because it'll take time to get
to the same level, you're probably better off using older stats filter for
now, and we'll duplicate code in two places later.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/40871#issuecomment-1261193371, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAUR2VIK6FHQDZP5X3XSALWARZ3HANCNFSM6AAAAAAQHOJTJI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@costinm No, my intent is not to redesign the external telemetry. I think we can optimize performance and scale of sidecar-to-sidecar performance (no ambient) using the building blocks of ambient without any visible changes. What I think we should not do is re-usesidecar telemetry building blocks for ambient, which you seem to agree with. It'd be great to have a new design for ambient telemetry.

I completed the rewrite for (bar some minor features) (https://github.com/istio/proxy/pull/4079). Maybe we should switch to using that for Ambient instead?

@ymesika: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Publish

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Background
Publishes 0.27.1 of checkout-ui-extensions. This is locked to the 2023-04 api version.
Checklist

[X] I have :tophat:'d these changes
[ ] I have updated relevant documentation

LGTM, qq, how do you define or know that this is still locked within 2023-04, is that because this version is using the 2023-04 api ?

The checkout_ui_extension type is defaulted to 2023-04 and there's no way to override that. This is our first stable version of the API. The upcoming ui_extension type will allow you to define what api_version you want to use in the TOML file.


[bug] I suspect the --failOnConsole parameter doesn't work any more.

Describe the bug
I run test-storybook with the --failOnConsole parameter, but the tests pass even while there are errors in the browser-console.
To Reproduce
test-storybook --url http://localhost:6006 --index-json --failOnConsole   --config-dir libs/dummy-app/shared/choose-product-date/.storybook
<EMAIL_ADDRESS>Output
Running command: test-storybook --url http://localhost:6006 --index-json --failOnConsole   --config-dir libs/dummy-app/shared/choose-product-date/.storybook
Serving "dist/storybook/dummy-app-shared-choose-product-date" at "http://localhost:6006/"
[test-storybook] Cleaning up /tmp/86f0791b657a5727a17427b83e310a61
 PASS   browser: chromium  ../../tmp/86f0791b657a5727a17427b83e310a61/pensionpostponecomponent.test.js
 PASS   browser: chromium  ../../tmp/86f0791b657a5727a17427b83e310a61/participationdetailcomponent.test.js
 PASS   browser: chromium  ../../tmp/86f0791b657a5727a17427b83e310a61/pensionbringforwardcomponent.test.js
 PASS   browser: chromium  ../../tmp/86f0791b657a5727a17427b83e310a61/choosepensiondatecomponent.test.js
 PASS   browser: chromium  ../../tmp/86f0791b657a5727a17427b83e310a61/participationapplychoicescomponent.test.js

Test Suites: 5 passed, 5 total
Tests:       5 passed, 5 total
Snapshots:   0 total
Time:        5.682 s
Ran all test suites.

It used to work before.

We also ran into this yesterday. Tried console.log in various places and it never works anywhere.

Hey there @matttk @work933k could you provide a reproduction? I just tested the flag in two different projects and it works as intended. The flag is only intended to fail on console.error calls during the rendering or play function, btw.

@yannbf correct me if i am wrong, in my angular application i am getting console error regarding missing component since i have not added, but when i run

I'm using test-storybook in a NX-workspace. I've created a simple executor which does a "build-storybook" and then serves Storybook using Express. On this instance the executor runs test-storybook. Using this custom executor the --failOnConsole parameter does not work. But when i run storybook and then manually run test-storybook on that storybook-hosting-instance, the --failOnConsole does work.
I suspect that build-storybook does some optimizations which prevent the console errors to be caught.

I think this issue might be closed. The "failOnConsole" option seems to work. Although it only works with Angular with Storybook when build NOT in production-mode. In NX this is controlled with the option enableProdMode=false.


Minor fix for Image (make size "auto" by default)

Some cleanup

@dclaux,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


docs: add resonances parameters

Codecov Report

Merging #75 (daa189f) into dev (5b744c3) will decrease coverage by 0.01%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##              dev      #75      +/-   ##
==========================================
- Coverage   71.34%   71.33%   -0.02%
==========================================
  Files          91       91
  Lines       12698    12700       +2
  Branches     2518     2519       +1
==========================================
  Hits         9059     9059
- Misses       3032     3033       +1
- Partials      607      608       +1

Flag
Coverage Δ

unittests
71.33% <50.00%> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

tf_pwa/amp/core.py
74.78% <ø> (ø)

tf_pwa/config_loader/decay_config.py
71.36% <33.33%> (-0.66%)
:arrow_down:

tf_pwa/amp/base.py
59.73% <100.00%> (ø)

Continue to review full report at Codecov.

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


Please add methods.

Hello.
Can you add next methods?
Element.prototype.append();
Element.prototype.prepend();
Element.prototype.before();
Element.prototype.after();
I don't know prototype, maybe is:
Node.prototype.append();
Node.prototype.prepend();
Node.prototype.before();
Node.prototype.after();

Could you submit a pull request?

no i can`t, because i am new member in github.
UPD: plese, add methods, elem.matches() and elem.closest()
links in mdn: https://developer.mozilla.org/en/docs/Web/API/Element/closest and https://developer.mozilla.org/en/docs/Web/API/Element/matches

I can submit a PR for this. Just one question though, how do you represent varargs in an index?
For example, the API doc for append(...) is a list of strings or nodes. So would the index type look like: fn(nodes: string|Node?)

I think your API doc is well suited. 👍

You should be able to write a type like fn(...nodes: [string | Node])


test: add reload test

This test reloads the Alertmanager to verify, that it properly keeps
state and sends notifications correctly across reloads.

Is this to test the code merged in https://github.com/prometheus/alertmanager/pull/703?

No, just adedd it for an unrelated bug report.

Is there a git sha I can check out to verify this test was failing but is now passing?

It's not a regression test. See #627.


How to install

this how to install?

This is not meant to be installed at all. It is just a repository for developers to look at.


Monoids

Given Diagrams is basically a ode to monoids, it is a bit disappointing that we can't type these in Python. Protocols can represent <> well, but as far as I tell can't do mempty since it is type dependent.
Alternatively we could use multiple inheritance and have a monoid base class with empty / <> defined. That would at least allow a generic fold.

Interesting! I assume you are suggesting something along these lines?
from __future__ import annotations

from abc import ABCMeta, abstractmethod
from dataclasses import dataclass
from typing import List, TypeVar

A = TypeVar("A", bound="Monoid")

class Monoid(metaclass=ABCMeta):
    @abstractmethod
    def mappend(self: A, other: A) -> A:
        pass

    @staticmethod
    @abstractmethod
    def mempty() -> A:
        pass

    @classmethod
    def mconcat(cls, elems: List[A]) -> A:
        accum: A = cls.mempty()
        for elem in elems:
            accum = accum.mappend(elem)
        return accum

@dataclass
class All(Monoid):
    """Boolean monoid under conjunction."""

    value: bool

    def mappend(self: All, other: All) -> All:
        return All(self.value and other.value)

    @staticmethod
    def mempty() -> All:
        return All(True)

res1: All = All.mconcat([])
res2: All = All.mconcat([All(True), All(False)])

print(res1)
print(res2)

Unfortunately, I'm having problems typing even this code:
monoid.py: note: In class "All":
monoid.py:39:5: error: Return type "All" of "mempty" incompatible with return type "A" in supertype "Monoid"  [override]
        def mempty() -> All:

Do you know if I'm doing something obviously wrong? Or, alternatively, did you manage to come up with a version that type checks?

For some reason this works. Pretty mysterious.
from __future__ import annotations

from abc import ABCMeta, abstractmethod
from dataclasses import dataclass
from typing import List, TypeVar, Generic, Type

A = TypeVar("A", bound="Monoid")

class Monoid(metaclass=ABCMeta):
    @abstractmethod
    def mappend(self: A, other: A) -> A:
        pass

    @classmethod
    @abstractmethod
    def mempty(cls: Type[A]) -> A:
        pass

    @classmethod
    def mconcat(cls: Type[A], elems: List[A]) -> A:
        accum: A = cls.mempty()
        for elem in elems:
            accum = accum.mappend(elem)
        return accum

B = TypeVar("B", bound="All")
@dataclass
class All(Monoid):
    """Boolean monoid under conjunction."""

    value: bool = True

    def mappend(self: All, other: All) -> All:
        return All(self.value and other.value)

    @classmethod
    def mempty(cls: Type[B]) -> B:
        return cls(True)

res1: All = All.mconcat([])
res2: All = All.mconcat([All.mempty(), All(False)])
res3: All = All.mconcat([All.mempty(), All(False)])

print(res1)
print(res2)


(ResizablePane) Add onResized call back

Hey @GroovinChip , it's been a long time since I've heard from you. I hope you are doing well.
Use case
Am using a GridView with dynamic crossAxisCount computed using a factor on MediaQuery.of(conext).size.width.
The problem, my calculations are wrong every time the pan is resized.
Video With ResizablePane
Rendering with ResizablePane
Video Without ResizablePane
Rendering without ResizablePane
Proposal
Add something like onPaneRezided  call back to ResizablePane which will provide the new size (height or width depending on the pane orientation) of the pane every time resizing action occurs.

Is there a reason why you couldn’t solve this problem using a LayoutBuilder?


RGB modes not working

Going to "Up Layer" and pressing the "RGB Mode" or "RGB Hue" or "RGB sUp" or "RGB vUp" do nothing.
I was downloading the .hex file from the qmk toolbox, another buttons work well.

resetting and reflash make this works. closing.


JsSIP migration

This PR migrates the SIP card from SIP.js to JsSIP.

@TECH7Fox
I have tested the card so far.
Audio+Video seems to be working. Audio+AudioVisualizer as well.
Tested browsers: iOS Safari, Firefox (Windows) and Chromium (Windows).

Will test it now.

@nanosonde, seems to be working good. Except that when I dial, it takes a very long time before it reaches Asterisk. Takes about a full minute. Did you also experience this? Before it always took around 3-7 seconds.
And the icons for the mute buttons are not correct at start it seems.

Maybe it's this?

Interesting. I will check.

While having a tab open in chrome with the SIP card could you please open another tab with this URL, please?
chrome://webrtc-internals/

If I activate the VMware ethernet adapters with other IP subnet, I also experience high delays.
See this:

See also this: https://groups.google.com/g/jssip/c/6fW3cI93mls

Ok. First of all this is - unfortunately - not really a bug. It is simply how ICE behaves.
The root cause is that the browser cannot reach the STUN server on one of these virtual ethernet adapters.
Which is obvious as the subnet on these interfaces on my machine for example are not routed to the internet.
This is a good page: https://www.webrtc-developers.com/701-ice-error
Maybe we should add an option to disable ICE in the browser.
And maybe also in the addon if we are local only.

I don't think a ICE option is a good idea. What if you do want ICE when your external, but not internal?
I think we should change the timeout. SIP.js had a timeout of 5 seconds. So we could do something like this:
var myCandidateTimeout = null;

_session.on('icecandidate', function(candidate, ready) {
    console.log('getting a candidate' + candidate.candidate.candidate);
    if (myCandidateTimeout!=null)
        clearTimeout(myCandidateTimeout);

    // 5 seconds timeout after the last icecandidate received!
    myCandidateTimeout = setTimeout(candidate.ready, 5000);
}

source
Then (if I understand correctly) it doesn't matter if you are internal or external, it will always go trough <= 5 sec.

Yes, I would also suggest to use the timeout solution you have suggested.
However, I would like to see an option in the card editor to be able to edit the ICE servers by myself. It would be ok to put the Google STUN server as default.
Why? Because for example in my setup I do not need any ICE servers at all: neither in the asterisk-addon nor in the card. I am using a WireGuard (with Proxy ARP) setup where all my roadwarrior clients have an IP from the same subnet as HA (and thus the asterisk-addon with host networking) .
As a result I do not need any port forwardings, special NAT configs, etc.
So all my clients are always in the local subnet all the time.
With the ICE config option, I could now simply erase all ICE servers which is still a valid config.
Also other people might want to specify the other ICE servers as they perhaps do not like Google.
Another point is that people want to enter TURN servers which they might run rhemselves. See the „coturn“ Project herr on GitHub.

@TECH7Fox
Would this be ok for you?
ICE timeout + Option to specify ICE-Servers(STUN and/or TURN)?

Yeah, why not.

Tested it, worked perfectly. Want to merge?

@TECH7Fox
Does it work completely for you incl. two-way audio incl. video?


not found symbole

cannot find javascript symbols in each file. it stays: "the active text editor does not support the symbol information"

/needsMoreInfo


Roll Flutter Engine from c11fe483947c to 4878a3273b6d (2 revisions)

https://github.com/flutter/engine/compare/c11fe483947c...4878a3273b6d
2024-08-10<EMAIL_ADDRESS>[iOS] Rename create_{full_,}ios_framework.py (flutter/engine#54493)
2024-08-10<EMAIL_ADDRESS>[Impeller] migrate blend tests to DL. (flutter/engine#54457)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Documentation is broken

As of v0.4.0a1

Fixed general broken documentation, but Settings and Debug objects need added to the list

Adding SettingsMaster and DebugMaster to Lackey imports so Sphinx can autobuild their documentation. Will push in next hotfix.

Documentation up-to-date with v0.4.2a1.


python3Packages.google-cloud-iam: 2.8.2 -> 2.9.0

Description of changes
https://github.com/googleapis/python-iam/releases/tag/v2.9.0
https://github.com/googleapis/python-iam/compare/v2.8.2...v2.9.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 197649 run on x86_64-linux 1

2 packages marked as broken and skipped:

python310Packages.smart_open
python39Packages.smart_open

8 packages failed to build:

python310Packages.ibis-framework
python310Packages.spacy
python310Packages.spacy-transformers
python310Packages.textacy
python39Packages.ibis-framework
python39Packages.spacy
python39Packages.spacy-transformers
python39Packages.textacy

32 packages built:

barman
baserow
dvc-with-remotes
mycli
python310Packages.django-storages
python310Packages.duckdb
python310Packages.duckdb-engine
python310Packages.gcsfs
python310Packages.gensim
python310Packages.google-cloud-automl
python310Packages.google-cloud-bigquery
python310Packages.google-cloud-iam
python310Packages.google-cloud-storage
python310Packages.pathy
python310Packages.ray
python310Packages.smart-open
python310Packages.sqlglot
python39Packages.django-storages
python39Packages.duckdb
python39Packages.duckdb-engine
python39Packages.gcsfs
python39Packages.gensim
python39Packages.google-cloud-automl
python39Packages.google-cloud-bigquery
python39Packages.google-cloud-iam
python39Packages.google-cloud-storage
python39Packages.pathy
python39Packages.ray
python39Packages.smart-open
python39Packages.sqlglot
snakemake
tandoor-recipes

I didn't check every single one, but I'm fairly certain those all fail on master as well.


Cache crates.io index for CI

I decided personally it was a good idea to cache the crates.io index.
Do you think it's a good idea to do this for the template?

A disadvantage is that the index (which is about 300MB) is now stored on Github's servers.
An advantage is now the action doesn't have to fetch the entire crates.io index every time, which takes too long for my impatient self.

Example:
            - uses: actions/cache@v3
              with:
                path: |
                    ~/.cargo/registry/index/
                key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock')

Hey @wildwestrom, yes I'd accept a PR for that, thank you! 🙌
The limits for caches seem good:

GitHub will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited to 10 GB.

So stale caches eventually get deleted after aoc completes.

Ok cool.
Now I also think it would be better to use the same environment for the check and test steps. Should I open a separate issue?

I think I'd prefer jobs to stay separate. Correct me if I'm wrong - Github runs job in parallel anyway so if all use the same cache, there shouldn't be a big difference in completion time from the user's perspective. It does consume a bit more VM time, but it's easier to see which part of the CI failed with parallel jobs. No strong opinion here though.
Looking at it a bit more closely, I'm wondering if we even need the check job if we run test anyway? Test does catch compiler errors as well. Maybe we can remove the job altogether?

No we don't. I was wondering why you put it in. test compiles the program anyway, so it has to go through a check as well.

Cool, thanks for confirming! Let's remove it then. 👍


Salary Prediction

Salary Prediction
Description
We are looking to enhance our Salary Prediction model to improve its accuracy and robustness. The goal of this issue is to implement, evaluate, and document enhancements to the existing Salary Prediction model. This issue involves several key tasks:
Tasks
Data Preprocessing Enhancements

Identify and handle outliers in the dataset.
Implement advanced feature engineering techniques to create more predictive features.
Explore and document different methods for handling missing values.

Model Development

Experiment with different machine learning algorithms and ensemble methods.
Perform hyperparameter tuning to optimize model performance.
Implement cross-validation to ensure the model's robustness.

Model Evaluation

Evaluate the models using relevant performance metrics (e.g., MAE, MSE, RMSE, R2).
Compare the performance of different models and document the results.
Generate and include visualization plots to illustrate model performance.

Documentation

Update the project documentation to reflect the new enhancements.
Include a detailed README file explaining the changes made, how to run the enhanced model, and the results obtained.
Ensure the code is well-commented for better understanding and maintenance.

Web Application Integration

Integrate the best-performing model into the existing Flask web application.
Update the web application's front-end to accommodate any new input features or changes in the model.
Test the web application to ensure it functions correctly with the new model.

Requirements

Strong knowledge of Python and machine learning libraries (pandas, scikit-learn, joblib, etc.).
Experience with data preprocessing, feature engineering, and model evaluation.
Familiarity with Flask and web application development.
Good documentation practices.

Expected Outcome

An enhanced Salary Prediction model with improved accuracy and robustness.
Comprehensive documentation detailing the enhancements and their impact on model performance.
A fully integrated and tested web application showcasing the new model.

I am a contributor on Social Summer Of Code Season 3 please assign me this issue

Without getting assigned to an issue you can not contribute in this repository.
Closing this issue as not planned.


Question when use apex

Hi, when I use apex to train a model on 4 gpus and batch_size=16 in config.yaml, the train.log shows below:
[train]:   6%|▋         | 157283/2500000 [00:07<5077:11:43,  7.80s/it]
[train]:   6%|▋         | 157283/2500000 [00:07<5062:26:00,  7.78s/it]
[train]:   6%|▋         | 157283/2500000 [00:07<4995:54:26,  7.68s/it]
[train]:   6%|▋         | 157283/2500000 [00:07<5001:31:14,  7.69s/it]
[train]:   6%|▋         | 157284/2500000 [00:09<2837:29:46,  4.36s/it]
[train]:   6%|▋         | 157284/2500000 [00:09<2843:41:43,  4.37s/it]
[train]:   6%|▋         | 157284/2500000 [00:09<2810:08:46,  4.32s/it]
[train]:   6%|▋         | 157284/2500000 [00:09<2812:15:34,  4.32s/it]
[train]:   6%|▋         | 157285/2500000 [00:11<2025:45:21,  3.11s/it]
[train]:   6%|▋         | 157285/2500000 [00:11<2029:06:23,  3.12s/it]
[train]:   6%|▋         | 157285/2500000 [00:11<2010:52:27,  3.09s/it]
[train]:   6%|▋         | 157285/2500000 [00:11<2012:00:48,  3.09s/it]

I'm not sure that the checkpoint-150000steps.pkl means train the model
either 150000*4=600000steps && batch_size=16 or 150000steps && batch_size=16*4=64  .
I'm looking forward to your reply.

150000steps && batch_size=16*4=64

This one.

Thanks a lot.


Fix incompatibility with rails_stdout_logging gem

Cf. https://github.com/phallguy/shog/issues/2

Thanks @ybart for the help!


Release next

What: Release the next breaking change

Why: Various reasons, but we want people to get this!

How: See individual PRs

Checklist:

[x] Documentation
[x] Tests
[ ] Ready to be merged
[ ] Added myself to contributors table N/A

Todo:

[x] merge a few PRs to glamorous
[ ] write blogpost
[x] update algolia
[x] publish glamorous website
[ ] merge this PR and wait for the autopublish
[ ] update the release notes to be more complete and nice
[ ] publish blogpost

npm install<EMAIL_ADDRESS>
💄 v4 🔜
Please try it and submit feedback!

Codecov Report

Merging #253 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #253   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         144    150    +6
  Branches       37     41    +4
=====================================
+ Hits          144    150    +6

Impacted Files
Coverage Δ

src/create-glamorous.js
100% <100%> (ø)
:arrow_up:

src/get-glamor-classname.js
100% <100%> (ø)
: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 6d80688...f5a8fce. Read the comment docs.

Sorry, I squashed all the commits into a single commit. It was much easier to do this than try to manage conflicts when rebasing master. We'll be merging this soon hopefully!

I'm going to go ahead and use a comment in here to draft the release notes... @luke-john, could you update this comment (you should have permissions to do that) to include notes about typescript changes?

<EMAIL_ADDRESS>released 💄
New Features

propsAreCssOverrides is now officially exposed and supported allowing you to create your own version of built-in components (like glamorous.Div) that accept props as css. By @kentcdodds in #258
withProps API now available to allow you to specify props you want applied to your component. Give this a look! By @kentcdodds in #255

Performance

@tkh44 found a great optimization in #254 by deferring styles resolution and merging to glamor. Rather than using internal APIs. Benchmarks are silly so it's hard to tell how this will impact your app, but you could see ~8% or more perf improvements when mounting and a bit of a bump for re-rendering.

Bug Fixes

In some cases, you could wind up with two glamor-generated classNames on a single glamorous component. Fixed by @tkh44 in #254.

Breaking Changes

glamorous.config is no longer available. The only configurable option was useDisplayNameInClassName and now, if you're using<EMAIL_ADDRESS>or greater then you'll benefit from the new readable classnames feature automatically when NODE_ENV=development or NODE_ENV is unset. To update your code remove any usage of glamorous.config. By @oalbacha and @kentcdodds in #221 and #247
The theme argument is no longer available in dynamic props. Instead, theme is available on props. (Before: glamorous.div((props, theme) => ({fontSize: theme.fontSize})) After: glamorous.div((props) => ({fontSize: props.theme.fontSize})). To update your code run this codemod. By @tdeschryver in #222. Codemod by @tdeschryver and @kentcdodds in #234
TypeScript: There are tons of TypeScript improvements and updates. Upgrade glamorous and fix all your violations :smile: (:tada: for static typing)

Am I missing anything?

the notes appear to be missing mention of shouldClassNameUpdate.
https://github.com/paypal/glamorous/pull/250

Good catch, thanks!

Anyone wanting to review the blog post, please see the draft here: https://medium.com/@kentcdodds/announcing-the-new-glamorous-website-and-v4-release-c678fe02a39a
Let me know if you have suggestions/improvements/additions/removals/etc :)

Some notes on the blog post:
Lots of the emoji are not working.

Do you want to wrap references to glamorous in code tags? Not sure if that'll become obnoxious after a while. 😅

TL;DR: glamorous v4 has been released (glamorous v4 release notes),

Don't forget the link. 😉

There have over 50 code contributors on the core GitHub project and 32 code contributors on the official website repo.

Either "There have been..." or "There are...". I think present tense makes more sense than past perfect here.

Ther are even more

Small typo.

special shoutout to Luke John and Paul M

🙌 . I don't know if you abbreviated my name for some reason, but you're welcome to use my whole name if you like. 😄

These things are important to me and I hope this to continue.

Not to put words in your mouth, but I think this could be clearer as: "A welcoming and inclusive open source programming community are important to me, and I hope glamorous continues down this path."

I’ve felt this is really important to help people learn to use and contribute to the project.

Again, I don't want to put words in your mouth, but I think this reads better as: "I feel that having the documentation in many languages is critical to helping as many people as possible learn to use and contribute to the project."

Based on those examples, there are three places

"Based on these examples..."

inspired by jsx-style

A link to that lib would be nice to add (https://github.com/smyte/jsxstyle)
Overall, this is looking great! Super exciting!

Thanks for the feedback!

Lots of the emoji are not working.

That was 💄.🤘. Unnecessary so I've just removed them.

Do you want to wrap references to glamorous in code tags? Not sure if that'll become obnoxious after a while. 😅

Yeah... Probably would become obnoxious...

🙌. I don't know if you abbreviated my name for some reason, but you're welcome to use my whole name if you like.😄

I actually copy pasted this from a document I made while on the plane. I meant to update it with your full name. I just couldn't remember how to spell it when on the plane 😅.
All your other comments are appreciated and have been applied. Thanks!

I've updated the draft with more stuff. Now I've gotta drive. Wish me luck!

I just couldn't remember how to spell it when on the plane 😅.

It's OK. I forget how to spell it sometimes too. 😂

In the "Theme arg removed" section there's a code example that might better illustrate the value with a small update:
const MyDynamicallyStyledSpan = glamorous
  .span(({ theme }) => ({
    fontSize: 20,
    color: theme.colors.primary
  }))

Would it be possible to get another rc released?
I'm presenting glamorous at campjs this weekend and as they have a limited internet connection they have asked speakers to provide starter repos and global modules that attendees can download before hand to take the load off their limited internet connection.
Thanks.

~/Developer/glamorous (next)
🐑  $ npm publish --tag beta
+<EMAIL_ADDRESS>

Would it be helpful to provide some possible copy for the blog post?
Just in case you agree to it, here's some content for shouldClassNameUpdate (It's mostly from the README with a few changes to make it clearer I think):
shouldClassNameUpdate
Most of the time, glamor is super fast, but scenarios where the styles are not dynamic it may be nice to prevent glamor from computing your styles on each render (and rerender). In these cases, you can implement shouldClassNameUpdate and if the component is rerendered the class name is not recalculated by glamor. Instead the same class name is reused.
For example:
const pureDivFactory = glamorous('div', {
  shouldClassNameUpdate(props, previousProps, context, previousContext) {
    // return `true` to update the classname and
    // `false` to skip updating the class name
    return true
  },
})
const Div = pureDivFactory({marginLeft: 1})
render(
)
// this will render:
//

// with {marginLeft: 2}

Note that this is not the same as shouldComponentUpdate and your component will still be rerendered at the appropriate times. shouldClassNameUpdate simply provides a means to opt-out of re-generating the class name unnecessarily.

YES! Helping with the blog post is VERY welcome. I'm so tied up with so many things that it's taking me forever to make this happen. Sorry about that!

👍 I'll try to post something for the other TODO sections here to copy/paste.

Here's another section. I took a bit of editorial liberty here since the README at glamorous-primitives was a little light. If @nitin42 wants to take a look that'd be great!

glamorous-primitives
glamorous-primitives is an independent library from Nitin Tulswani that combines glamorous with react-primitives to provide a means of writing components that are usable across multiple target platforms.
Here is an example from the README:
import React from 'react'
import { StyleSheet } from 'react-primitives'
import glamorous from 'glamorous-primitives'

const StyledView = glamorous.view({
  display: 'flex',
  justifyContent: 'center',
  alignItems: 'center',
  marginTop: '80px'
})

const StyledText = glamorous.text({
  color: 'red',
  backgroundColor: 'mistyrose',
  fontSize: '40px'
})

export default class App extends React.Component {
  render () {
    return (

      </StyledView>
    )
  }
}

The library is a WIP and has plans to include a native constructor enabling rendering into Sketch. This is just one of the related projects the glamorous community has built.

Here's another section write up for glamorous-native. I'd love if @ajwhite could review if he has a chance. 😄

glamorous-native
glamorous-native is a port of glamorous that specifically targets React Native, exporting the same core functionality as glamorous as well as built-in component factories for all React Native elements. For every React Native element, there is an associated glamorous component factory attached to the glamorous function. You can access these factories like so: glamorous.view, glamorous.text, glamorous.listView, etc.
const MyStyledView = glamorous.view({margin: 1})

<MyStyledView>{content}</MyStyledView>
// rendered output: <View style={{margin: 1}}>{content}</View>
// styles applied: {margin: 1}
// style is also cached and registered with `StyleSheet`

This project is actively maintained and has several examples to learn from if you're interested in trying glamorous-native or new to native development with React Native entirely.

Here's another section:

Readable Class Names
With the release of v2.20.32, glamor introduced the ability to create readable class names for components by defining a label in the style object. The result is a generated class name with the pattern css-[label]-[hash].
As an example:
// App
const myRedText = glamorous.div({
  label: 'labelForRedText',
  color: 'red',
})

function App() {
  return (
    <myRedText>Whoa!</myRedText>
  )
}

render(<App />, document.getElementById('root'))

// result

Whoa!

@kentcdodds I'm not sure what you have in mind for Performance Optimizations. (it's relative to what you've already written about I would think.)
Do you want to talk about glamorous/tiny? (https://github.com/paypal/glamorous/pull/69)
What about Optimize getGlamorClassName (https://github.com/paypal/glamorous/pull/254)?
There's also this PR: https://github.com/paypal/glamorous/pull/64, but frankly I don't know enough about how Object.freeze and using string concatenation for the class names are improving performance.

Also looks like the typescript screen capture is from an older version.
If you could update to the following that would be great thanks

glamorous-primitives
Demo -

Code

Link to the project - https://github.com/nitin42/glamorous-primitives

I'm planning on releasing this tomorrow! So I'm going to work on getting everything ready! If you have any last minute items, please let me know!

@paulmolluzzo, thanks so much for the content for the blog post!

Ok! I've updated it! Would love reviews! https://medium.com/@kentcdodds/announcing-the-new-glamorous-website-and-v4-release-c678fe02a39a

I'm thinking about merging this now and publishing the blog post tomorrow. That way if something goes wildly wrong we can address it. Thoughts?

Under readable class names this can be improved:

With the release of glamor v2.20.32, glamor introduced the ability to create readable class names for components by defining a label in the style object.

Changed to:

With the release of v2.20.32, glamor introduced the ability to create readable class names for components by defining a label in the style object.

Otherwise this looks great! 🎉

AHHHHHHHHHHHHHHHHHHHHHHHHHHHHH! I JUST MERGED IT!!!!!!!!!!!!!!!!!
WAHOOOOO
In case it's not clear, that wasn't on accident. I'm just excited :tada:

Release notes updated: https://github.com/paypal/glamorous/releases/tag/v4.0.0
Will publish the blog post tomorrow morning!


Standardized exception messages

All exceptions messages now have the first character capitalized and never end in punctuation. Hope I was helpfull.

@allanbz Finished what I pointed out and got this into the branch seven today, closing because I rebase instead of merging to keep the history clear. I've also added you to the contributors list. Thanks.

Sorry, I was planning to fix what you pointed out, but I got busy with college projects and it turned out I did not have time to help. Thanks for adding me to the contributors, it means a lot to me. I started using Java a short time ago, and your code helped me learn a few things.

@allanbz No problems, if you ever feel like practicing more in a relatively large (10K SLoC) and high quality project, feel free to submit a PR.


Explain how to solve Fastlane is slow in th FAQ

This is related to
https://github.com/fastlane/fastlane/issues/420
https://github.com/fastlane/fastlane/issues/1293
https://github.com/fastlane/fastlane/issues/1417

We also have it covered here https://github.com/fastlane/fastlane#installation, but we can't have enough of those warnings :+1:

@KrauseFx I didn't see it and I only saw gem cleanup recommended. It's missing the bundle exec solution which IMHO is better in many cases.

Hi folks - where do we stand on this?

ive solved this issue before by also doing a sudo gem cleanup

Moved over to https://github.com/fastlane/fastlane/pull/3893 :+1:


platformio: 3.6.1 -> 3.6.2

Motivation for this change
Minor upgrade.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Should aarch64 be marked as broken, as discussed in https://github.com/NixOS/nixpkgs/pull/49460?

Thanks @alyssais


During pre and post install VIPM shows a search dialog for the platform compatibility VI

It does find it in the end but it is an annoyance. If it can be fixed it should be considered.

Not seeing this on my system any more - need to test on new system and see if this is still a problem.

Definately still a problem - just does find it if you leave it long enough.
The problem is the VIs that the install process calls aren't in their installed location hence the link is broken.
We need to either remove the subVIs or call them dynamically based on the install location paths.


Implement the OCI runtime specification

This PR extends the initial draft of runh to be a fully-functional OCI-compliant container-runtime. This means implementing large parts of the OCI runtime specification. With these changes, runh can now be used within most Docker and Kubernetes setups to run custom RustyHermit containers. Please note that runh is still in development and should not yet be used in production or for running untrusted container workloads. For more information, consult the roadmap.
Closes https://github.com/hermitcore/runh/pull/4.

As soon as images can be pulled from the RWTH GitLab registry again, the CI tests should be changed to test Hermit-Images as well. Currently, they only test the Docker "hello-world" image in Standalone, CRIO and Docker setups.

bors r+


Start command is not passing env parameters

It looks like the env parameters are not getting passed down to the start command, so it our case we had to split it up and run the start command for itself.

nvm. think I just messed something up


Is this code compatible with leap motion controller 2?

Is this code compatible with leap motion controller 2?

Hi there!
Unfortunately, I cannot say whether the code also works with the leap motion controller 2 or not. But if you try it out, I would be happy if you drop me a message about it.


Floor does not change texture until clicking in visualizer window

The floor turns black when its texture is changed:

The new texture appears only after clicking in the visualizer window:

Selecting from the "texture" drop-down box should force a re-render.

Floor no longer turns black, but selecting new texture still doesn't force re-render: texture changes only once user clicks in visualizer window (except when "nofloor" is selected, which is applied immediately). (AppVeyor artifact OpenSim-dd7dc47b-2018-02-11.zip)

This is not ready for testing in the 3-13 build.

The textures are re-rendered when switching.
System:W10
Build:04-27-2018

Should this be moved to Verified on Windows and Mac then? @jimmyDunne

Yes, it can be moved to Verified on Windows and Mac


Add missing exchange declarations

This adds the two missing exchange declarations:

exchangeDeclarePassive
exchangeDeclareNoWait

I added the related documentation for passive. For no-wait, I did not add any doc about it (queues no-wait are not documented either). If necessary, I will add it, but I never use it personally.
This should help closing #9.

Codecov Report

Merging #87 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #87      +/-   ##
==========================================
+ Coverage   99.09%   99.11%   +0.01%
==========================================
  Files          12       12
  Lines         111      113       +2
==========================================
+ Hits          110      112       +2
  Misses          1        1

Impacted Files
Coverage Δ

...ithub/gvolpe/fs2rabbit/interpreter/Fs2Rabbit.scala
100% <100%> (ø)
: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 d9682a4...12185fb. Read the comment docs.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-30-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4543

Questions ?
Please refer to the Backport tool documentation


Improve UX for signed out users

Feature Suggestion
I'm going to focus on cases where GitHub is integrated with Backstage, since it's the one I hear about in my conversations with customers, but I believe this issue would apply to other integrations also.
Backstage is useful for users who who do not have GitHub accounts. They can use TechDocs to read about components, they can browse API specs, they can look at the k8s plugin etc. However, the experience of using it could be improved.
For example, viewing a service which displays the latest GitHub actions card, causes a full page popup to the user. This is useful for users who have a GitHub account, because it reminds them to log in, but non-GitHub users have to click the scary "Reject All" button to dismiss it. It pops up every time they try to visit a Component of this kind, which prevents them accessing something useful like TechDocs.
Here's a recording of this in action.
https://user-images.githubusercontent.com/562403/150390129-bd7eeaa2-3507-4140-9cf3-b85dc1575e44.mp4
Possible Implementation
The modal dialog could be replaced with some more gentle text within the card to remind the user to log into GitHub. It could have a button which triggers the modal dialog when pressed.

A possible way forward here is to switch some cards to an in-line flow that calls getAccessToken using the optional and instantPopup options. Setting optional to true allows you to check if the user is already logged in, and will just return an empty token otherwise. If the user isn't logged in, you can display a hint and a button or such, and when the user clicks that button you can request a token with instantPopup set to true, which will bypass the full-screen modal and just open the popup window directly. If that ends up being a common pattern for cards I think we can provide some helpers for implementing that as well.
Should also say that the all auth requests are controlled by the OAuthRequestApi. The OAuthRequestDialog that you typically put at the root of your app is what consumes this API to show the fullscreen modal, but you can replace that component with anything else that consumes the API and for example shows a more gentle notification.

Thanks @Rugvip. Very interesting. In our implementation we already have a notification for users to sign into GitHub in the sidebar, so potentially we can just set optional to true like you suggest, and rely on the sidebar prompt to remind them.

Do you think this would work @iain-b?

Setting optional will not trigger a request though, it will just return an empty response if not already signed in. It would need to be coupled with some logic to detect the empty response and show a login button in the card instead.


Better error messages if the fetch request fails

@loganwilliams fixed with PR https://github.com/bellingcat/tiktok-timestamp/pull/2 . Please let me know if there's any more projects to work on 🙂

@Ollie-Boyd Hey Ollie, thanks for the contribution! I think it should still be possible to extract the timestamp from the metadata by looking for the createTime attribute, but that seems perhaps unnecessary given the video ID trick here.


Create 0000-lower-minimum-device-onboarding-fees

Create new HIP pull request under request of @abhay.  Supersedes previous pull request.

(1)"HIPs 51-53 have defined the onboarding fees as $40 per hotspot" - actually only HIP53 defined an onboarding fee (and an assert fee). HIP52 inherited the fees from existing hotspots. HIP51 talked about activation fees. Does this HIP confirm then that MOBILE hotspots require a $40 Onboard and $10 Location assert fee upon this HIP implementation?
(2) On the initial mention of the VDA factors and DAO Utility score it's probably a good idea to state this refers to HIP51 section Omni Protocol PoC Incentive Model or refer to your Rationale and Alternatives section.
(3) Grace period section needs further clarification.
What is happening with the location assert fee for the existing hotspots, ignored?
Is it FreedomFi and Bobcat 5G specifically or are these the only 2 makers assumed will have shipped 5G units by September 4th?
I don't really understand what is happening in the 2nd paragraph under the grace period section. Are you saying that unless paid by someone, the MOBILE treasury is going to back pay the DC onboard fees from HNT being earned from the extra HNT entering the treasury that it receives from pretending the onboard fees had already been paid? Why would anyone pay MOBILE onboarding fees if this HIP says it will pay them from the treasury if they are not paid?
(4)Onboarding devices section. Last sentence. Actually, Data Only hotspots do count towards the DAO Utility score as if they had paid $40 not the $10 they did pay. Implementation of this HIP and calculating the actual onboard fee will fix this.
(5) Active devices. You appear to be defining a hotspot passing data as "inactive" and this could be very confusing for network customers. A better way would be to device Active devices as POC Active devices.
(6) Multiple subDAOs in a single device - are assuming that 5G hotspots asserted for IOT but not Location Asserted (Earning MOBILE) are dual function hotspots
(7) Drawbacks. The DAO Utility score code will need to be completely new code, as it moves from a summed number X a variable to a database of previously paid values that are looked up each epoch and then summed based on PoC activity. Who has confirmed they will write this code? Or who are you asking to write this code?

(7) Drawbacks. The DAO Utility score code will need to be completely new code, as it moves from a summed number X a variable to a database of previously paid values that are looked up each epoch and then summed based on PoC activity. Who has confirmed they will write this code? Or who are you asking to write this code?

This is not how it has been described before.  The summed number is what?  The number of active devices within that epoch?  Or a total of the number of hotspots that just keeps getting added to each epoch?  If it is the total amount of onboarding fees ever paid, then I am in.

(1)
(2)
(3)
(4)
(5)
(6)
(7)

Did you comment on HIP81 and they ignored you?  I thought I was going to get away with few edits given I basically just regurgitated HIP81.  :)

I had chats with Noah about HIP 78/80/81
The DAO Utility score is just the variable for DAO onboarding multiplied by the number of "active" hotspots in that epoch.
Its really simple, do a count and then multiply by a constant variable.($40)
So currently Data Only IOT hotspots (if "active") get counted as $40 not $10 as it doesn't know there is a difference as Noah didn't know there was a difference in onboard fees for a Data Only.
If we start recording the actual amount paid, then we need a database of what value onboarding fee was paid by each hotspot and the DOA utility score has to lookup the fee paid by the hotspot for each active hotspot and then sum them. It was too late for this to be implemented before the migration day (needed a new audit) which was why I was always pushing for either a $0 MOBILE onboarding fee or someone to pay the back fees for the migration.

Thats kinda why I think this is a good long term solution but not a good short term @KeithRettig can I propose that we combine the short term fix from PR 697 by removing the Active devices*40 and replacing with just active devices (being gateways as this is already done)

Thats kinda why I think this is a good long term solution but not a good short term @KeithRettig can I propose that we combine the short term fix from PR 697 by removing the Active devices*40 and replacing with just active devices (being gateways as this is already done)

Isn't the problem with this approach that a subDAO can game it by making their definition of "active device" be something inexpensive and to also define their onboarding fees as very low?  This would allow such a subDAO to get an out-sized amount of the HNT emissions each epoch.

What I am proposing is that this is temporary, basically to solve the problem Immediately just chop the 40 out and then when your coding is done then it gets superseded?

What's our plan with this PR? Close?

close it.  I will edit if it becomes useful and create a new pull request

Closing as requested.


problem with python get_file_properties

Environment
Ubuntu 20.04 on both servers
python 3.8.10 on both servers
MS modules on dev
azure-core                  1.28.0
azure-storage-blob          12.17.0
azure-storage-file-datalake 12.12.0
MS modules on prod
azure-core                  1.25.0
azure-storage-blob          12.14.0b2
azure-storage-file-datalake 12.9.0b1
Background
we have a linux prod server where we upload file from into Azure Datalake using python scripts.
Have the Microsoft module azure-storage-file-datalake installed, which pulled in azure-core, azure-storage-blob.
Our scripts use a adls class where we wrapped our function around MS functions. Our code for upload check
if a file already exist and if the size is different. We used MS function get_file_properties for that,
and then upload the file.
Sometime during fall 2022 our script failed during the upload and it turned out that our function using MS function get_file_properties
timed out after 3+ minutes. Could not get any info why that started happening. Ended up rewriting our code for checking
if file exists and getting file size with a function that us MS get_paths, loop through all the files until found (or not)
and return data about that file.
Problem
This year we needed to test (from the prod server) towards our Azure dev Datalake. Discovered that the function with get_paths
did not work towards adls dev, but MS function get_file_properties did.
Same code, same MS module versions.
Was able to get a dev linux server, install our software, installed the MS modules. On dev server MS function get_file_properties worked.
Noticed that we had different version of the MS modules. Wrote a handful of test scripts that check towards adls prod and dev.
Tested functions for
get meta data for a file, and prinf file size.
get meta data for a folder, print last_modified
(used MS function get_file_properties)
list folders in a folder
list files in a folder
(used MS get_paths, check for file or dir, return object)
upload a file, this includes check if parent exist, if file exist, and check size.
download a file, include checking if file exist.
These test script was run against adls prod and dev (2 different file systems)
All tests ran successfully on the linux dev server.
We assumed the difference in the MS module version was the reason for our problem on the linux prod server.
Since all tests was successful on linux dev, we upgraded our linux prod. Installed the same test script,
upgraded MS modules to the same version.
Test scripts failed on the linux prod towards all adls dev.
Test script to upload files to adls prod worked, after we changed the part of the code that use MS function get_file_properties.
Test to download from adls prod failed.
we ended up rolling back our software, rolling back the MS module versions on linux prod.
How do we troubleshoot this ?
works on one linux with same OS, same python, same tokens for adls prod and dev.

went back to linux prod server, and installed the latest azure python module versions.
instead of just a generic timeout msg I get
Connection to hpimdpdatalake.blob.core.windows.net timed out. (connect timeout=20
after some more searching, I found this bug page
https://github.com/Azure/azure-sdk-for-python/issues/28643
that talks about the python module use the dfs rest api when pointing to dfs, but for get_file_properties it uses the blob rest api.
Also mentions to try function get_access_control (uses the dfs rest api), so I wrote a new test script, and confirmed that get_access_control does not timeout for dfs (on linux prod server).
I will work with our IT support to see why the prod server seem to be blocked where linux dev is not

prod linux has been unblocked in the firewall and test cases reading/writing from linux prod to adls prod are working.


Terraform provider failed with log_custom_source

Describe the bug
When using export migrate log_custom_source, we can export from target but not import in source.
Given property 'values-and-enrichment' with value: '0' violates the following constraint: fell below the collection's lower size limit which was set to 1.

To Reproduce
terraform-provider-dynatrace -export  -migrate dynatrace_log_custom_source
Expected behavior
Expected custom log sources imported.
Additional context
Using Terraform provider 1.58.0

Hi @pacoporro,
The API endpoint for dynatrace_log_custom_source had a schema update with a breaking change in v292. This is why you may be running into an issue where the source environment is on a version prior to v292 and the target environment is on v292+. Unfortunately this configuration isn't backwards compatible and must to changed from the old attribute values to the new attribute values_and_enrichment (doc link).
We apologize for the inconvience.

Resurrecting this issue, due to popular demand we will introduce an adapter that will automatically fix the schema when it sees this error.

This adapter will be included in this week's release, thanks!


Cannot select single words on first attempt in text with headings or blockquotes on iOS

When attempting to select a single word in text that contains headings or blockquotes, the selection does not work on the first try.
Video
https://github.com/Expensify/react-native-live-markdown/assets/57348009/c2991145-2ecf-44d9-8942-866cb7f32c9d

@tomekzaw I came across this while testing https://github.com/Expensify/App/issues/44495, and my PR doesn't fix it, so I reported this new issue. Still, I believe the root cause and solution might be similar.

This problem is particularly visible when typing fast inside the component that contains blockquotes:

Bold
Blockquote

I believe the problem is caused by NSMutableParagraphStyle. The problem no longer exists when I remove NSMutableParagraphStyle (but obviously there's no padding then). Also, it helps when I make the MarkdownTextInput component uncontrolled. Finally, making the JS thread busy also improves the behavior.


fix: Remove unused hamburger menu

Removed hamburger menu that was not used.

Nice, thanks for it!


Get-VSTeamBuildDefinition fails

Steps to reproduce
`Get-VSTeamBuildDefinition -Project my-project'
Get the following error
`The property 'variables' cannot be found on this object. Verify that the property exists.
At C:\Program Files\WindowsPowerShell\Modules\VSTeam\6.2.0\Classes\VSTeamBuildDefinition.ps1:35 char:7

  $this.Variables = $obj.variables

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
FullyQualifiedErrorId : PropertyNotFoundStrict

The property 'variables' cannot be found on this object. Verify that the property exists.
At C:\Program Files\WindowsPowerShell\Modules\VSTeam\6.2.0\Classes\VSTeamBuildDefinition.ps1:35 char:7

  $this.Variables = $obj.variables

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
FullyQualifiedErrorId : PropertyNotFoundStrict`

VSTeamVersionTable
ServiceFabricEndpoint                   5.0-preview Build                                               5.0 ExtensionsManagement                  5.1-preview Release                                            5.1-preview Version                                             VSTS MemberEntitlementManagement    5.1-preview Packaging                                         5.1-preview Tfvc                                                   5.0 Git                                                     5.1-preview Core                                                  5.0 Graph                                                5.1-preview DistributedTask                                 5.0-preview
PSVersionTable
PSVersion                                5.1.17134.590 PSEdition                                 Desktop PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...} BuildVersion                           10.0.17134.590 CLRVersion                              4.0.30319.42000 WSManStackVersion               3.0 PSRemotingProtocolVersion   2.3 SerializationVersion                 <IP_ADDRESS>

The issue seems to stem from VSTeamBuildDefinition.ps1 that has the following comment:
# This is only in VSTS. In TFS it is a build property
      if ($obj.PSObject.Properties.Match('process').count -gt 0) {
         $this.Process = [VSTeamBuildDefinitionProcess]::new($obj.process, $Projectname)
      }

With Azure DevOps server (on-premise) the property also exists, which means we go down this branch. In the VSTeamBuildDefinitionProcess.ps1 the object type is equal to 1 which means the phases are created and that's the problem since there's no condition on the object.
A quick fix is to check that $obj.condition exists before assigning it and otherwise leaving it null.

Are you connecting to TFS or AzD?  If TFS or AzD Server what version?

Need a little more details. I just tested version 6.2.1 with TFS 2017, TFS 2018 and AzD. All worked.

I've encountered this as well running over hundreds of build definitions in our Azure DevOps projects.  The workaround is simply to wrap the line in a quick check at line 35:
  if ( $obj.PSObject.Properties.name -match 'Variables' ) {
     $this.Variables = $obj.variables
  }

I was running against Azure DevOps.


[Bug] - Error to create .loop3d during proj.run()

Version
map2loop                3.1.12
map2model               1.2.0
LoopProjectFile         0.1.3
Bug Description
The "Error: No columns to parse from file" comes after running proj.run_all(user_defined_stratigraphic_column=None, take_best=True). The function creates all map2loop except the local_source.loop3d file.
Minimal reproducible example
N/A
Expected Behavior
I have tried a different dataset, it does work, I think there may be a try and except need to be added in the function if no parsing is not possible or not necessary.
Actual Behavior
The function run and because of takes time it crashes, which is not expected especially when using different datasets.
Additional Context
No response
Environment
Docker container in windows
Severity

[ ] Low
[ ] Medium
[X] High
[ ] Critical

@ShebMichel I just tried to reproduce this, and no error pops up.
Please go ahead and post a minimum reproducible example with code and data so we can look at this.

@ShebMichel are you still getting this error?

@AngRodrigues, tried and still. but other data works. I guess now that I am restructuring the plugin, I will let this bug sleep for now.

Cool, let me know if at any stage you'd like to reopen this.


File "../../tools/demo.py", line 7, in      from tools.test import * ModuleNotFoundError: No module named 'tools'

run python ../../tools/demo.py --resume SiamMask_DAVIS.pth --config config_davis.json and get a error:
Traceback (most recent call last):
File "../tools/demo.py", line 7, in
from tools.test import *
ModuleNotFoundError: No module named 'tools'
Can someone help me solve this problem? Thank you.

I meet the same question.Have you solve it?

ROOT=`git rev-parse --show-toplevel`
export PYTHONPATH=$ROOT:$PYTHONPATH
export PYTHONPATH=$PWD:$PYTHONPATH

You should add SiamMask Root to PYTHONPATH.
Thanks.

Thank you for your quick reply.
I changed the siamMask file names,but I forgot changed the PYTHONPATH.
But now I have a new problem :No module named custom.Can you help me?
Thanks so much!
------------------ 原始邮件 ------------------
发件人: "Qiang<EMAIL_ADDRESS>发送时间: 2019年5月6日(星期一) 下午4:25
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [foolwood/SiamMask]   File "../../tools/demo.py", line 7, in     from tools.test import * ModuleNotFoundError: No module named'tools' (#35)
ROOT=git rev-parse --show-toplevel export PYTHONPATH=$ROOT:$PYTHONPATH export PYTHONPATH=$PWD:$PYTHONPATH
You should add SiamMask Root to PYTHONPATH.
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@lzdibng
You should also add SiamMask/experiments/siammask_sharp to PYTHONPATH.
cd $SiamMask/experiments/siammask_sharp
export PYTHONPATH=$PWD:$PYTHONPATH

Thanks，I will try.

I am sorry that I did not reply to you in time.
I have test it successfully!
It is really a great project！
Can you open up its training code and training details, I want to know more about it, it is very helpful to me.
Thanks so much.
Best regards！
------------------ 原始邮件 ------------------
发件人: "Qiang<EMAIL_ADDRESS>发送时间: 2019年5月6日(星期一) 下午4:47
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [foolwood/SiamMask]   File "../../tools/demo.py", line 7, in     from tools.test import * ModuleNotFoundError: No module named'tools' (#35)
@lzdibng
You should also add SiamMask/experiments/siammask_sharp to PYTHONPATH.
cd $SiamMask/experiments/siammask_sharp  export PYTHONPATH=$PWD:$PYTHONPATH
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I have added my siammask root folder as well as SiamMask/experiments/siammask_sharp to PYTHONPATH.
I'm still getting the same error.
Traceback (most recent call last):
File "C:\Users\hp\SiamMask\tools\demo.py", line 7, in
from tools.test import *
ModuleNotFoundError: No module named 'tools'
could someone help me out?

I have added my siammask root folder as well as SiamMask/experiments/siammask_sharp to PYTHONPATH.
I'm still getting the same error.
Traceback (most recent call last):
File "C:\Users\hp\SiamMask\tools\demo.py", line 7, in
from tools.test import *
ModuleNotFoundError: No module named 'tools'
could someone help me out?


Windows interop fixes

The WindowsInteropTest sample wasn't working for several reasons, all fixed by this PR:

The ControlCatalog's CustomDrawingExampleControl was crashing with the Direct2D1 renderer: a StreamGeometry was being cloned while being open, which is invalid.
WindowsInteropTest had the 32bit native DLLs copied to the output for some reason, which can't be loaded by a 64bit host. Adjusted the PlatformTarget to x64, like in ControlCatalog.Desktop.
WPF's WriteableBitmap must be accessed only on the UI thread. Added a new Win32PlatformOptions.ShouldRenderOnUIThread to use a UiThreadRenderTimer (also fixed UiThreadRenderTimer.RunsInBackground which should be false).
The WpfAvaloniaHost had the wrong size, fixed by removing the HandleResized override.
TrayIconImpl's finalizer was throwing when exiting the sample because the tray icon removal was trying to access a disposed Icon. Fixed by not setting the hIcon at all when removing the icon.

Misc remarks:

Should UiThreadRenderTimer be renamed to UIThreadRenderTimer for naming consistency (breaking change)?
Technically WPF could still use a separate render thread by using a Direct2DImageSurface, synchronizing only the needed properties with it (size, scaling) and managing a D3D Device for the surface. I don't believe it's worth spending time on it: this PR basically restores the old immediate rendering behavior, which should be sufficient.

Should UiThreadRenderTimer be renamed to UIThreadRenderTimer for naming consistency (breaking change)?

Personally, I think this should be renamed now for 11.0.

Or made internal

You can test this PR using the following package version. 11.0.999-cibuild0029863-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


Account for global_offset when parsing header_offset

Fixes #7

Ah, what a silly oversight!
Thanks for the contribution, I kinda dreaded jumping back into the code :)

I published v0.0.1 with this change.
Note that I still don't think the crate is really ready for prime-time use, but I wouldn't be surprised if - even at this early stage - it decompresses a lot more things than alternatives do.


Ignore Rails default controllers

As far as I can tell there's no reason to load them. Users shouldn't interact with these directly and it's unlikely you will route to them. And they always get ignored in reject_route?.
@daveallie do you remember why you loaded them?

The issue I want to fix is that loading the welcome controller is crashing on Rails 7 if config.action_controller.default_protect_from_forgery = false.

Good call. I’ll check tomorrow. I don’t see a reason to reload if you have eager loaded.
Assuming this works, any objections to me merging?

nah, happy for this to go out, I believe you already have access to the gem. Feel free to cut a release once merged


Publish changelog artifact in release CI

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.87%. Comparing base (eefa2a6) to head (c7f61cb).

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk      #70   +/-   ##
=======================================
  Coverage   96.87%   96.87%
=======================================
  Files          33       33
  Lines        1407     1407
=======================================
  Hits         1363     1363
  Misses         44       44

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


add: OPTICS algorithm

Describe the algorithm/code
OPTICS stands for Ordering Points to Identify the Clustering Structure. It's a density-based algorithm similar to DBSCAN, but it's better because it can find meaningful clusters in data that varies in density. It does this by ordering the data points so that the closest points are neighbors in the ordering. Please assign me this issue under hacktoberfest tag.
Do you want to work on this feature?

[X] I am willing to implement this feature.

Hi @adi271001! 👋🏻
You can start working on this issue! Do let me know if you need any help. ✨

created pull request and added codes


DP || Warshall's Algorithm

Description 📜
Warshall's Algorithm
Fixes #7768

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Close this @Suvraneel
@Saviour1001