docker container ls --format="{{ json .Ports }}" incorrectly encoding \u003e instead of ">"

Discovered format={{ json . }}
https://docs.docker.com/engine/admin/formatting/#json
The port mappings are incorrectly [en|de]coded
E.g.
"<IP_ADDRESS>:8080-\u003e8080/tcp"

Instead of
"<IP_ADDRESS>:8080->8080/tcp"

Repro
docker container ls --format="{{ json .Ports }}"
docker ps --format="{{ json .Ports }}

Describe the results you received:
String include unicode (\u003e) instead of ">"
"<IP_ADDRESS>:9000-\u003e9000/tcp"
"<IP_ADDRESS>:8080-\u003e8080/tcp"

Describe the results you expected:
jq works as expected
docker container ls --format="{{ json . }}" | jq .Ports
"<IP_ADDRESS>:9000->9000/tcp"
"<IP_ADDRESS>:8080->8080/tcp"

Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   60ccb22
 Built:        Thu Feb 23 11:02:43 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   60ccb22
 Built:        Thu Feb 23 11:02:43 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
docker info
Containers: 4
 Running: 2
 Paused: 0
 Stopped: 2
Images: 16
Server Version: 17.03.0-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 118
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: [REDACTED]
 Is Manager: true
 ClusterID: [REDACTED]
 Managers: 1
 Nodes: 4
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-66-generic
Operating System: Ubuntu 16.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.31 GiB
Name: [REDACTED]
ID: [REDACTED]
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: [REDACTED]
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):

I can confirm, I have the same problem with Docker For Mac
$ docker run -d -p 80:80 nginx
$ docker container ls -a --format="{{ json .Ports }}"
"<IP_ADDRESS>:80-\u003e80/tcp, 443/tcp"

10:22 $ docker info
Containers: 3
 Running: 1
 Paused: 0
 Stopped: 2
Images: 23
Server Version: 17.03.0-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 123
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.12-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.952 GiB
Name: moby
ID: YRCF:2KYL:PGQJ:MFYS:D7JP:JPTW:525H:CAQN:HX5M:LAVJ:5YD7:VE3K
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 23
 Goroutines: 32
 System Time: 2017-03-27T09:22:26.234462137Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

10:22 $ docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   60ccb22
 Built:        Thu Feb 23 10:40:59 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: true

/cc @AkihiroSuda

It seems like json.Marshal does HTML escape:
https://github.com/golang/go/issues/8592
https://github.com/golang/go/issues/3127

Yes, the characters are JSON encoded, and probably use unicode notation for these (if I remember correctly, there was an option to have more "readable" escaping, which was added to the JSON-files logs at some point), but I'll have to search for that one

This was the pull request I had in mind https://github.com/docker/docker/pull/27060 (and the associated issue https://github.com/docker/docker/issues/27021)

docker

➜  ~ docker version
Client:
Version:      1.13.1
API version:  1.26
Go version:   go1.7.5
Git commit:   092cba3
Built:        Wed Feb  8 08:47:51 2017
OS/Arch:      darwin/amd64
Server:
Version:      1.13.1
API version:  1.26 (minimum version 1.12)
Go version:   go1.7.5
Git commit:   092cba3
Built:        Wed Feb  8 08:47:51 2017
OS/Arch:      linux/amd64
Experimental: true

[root@dockercore ~]# docker info
Containers: 52
Running: 20
Paused: 0
Stopped: 32
Images: 258
Server Version: 17.03.0-ce
Storage Driver: devicemapper
Pool Name: docker-202:1-919020-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 42.88 GB
Data Space Total: 107.4 GB
Data Space Available: 24.78 GB
Metadata Space Used: 60.89 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.087 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use --storage-opt dm.thinpooldev to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: active
NodeID: 7egjckmfee686t21ungi86hqy
Is Manager: true
ClusterID: acjxcvhu9f96omfo4eex47kt4
Managers: 1
Nodes: 2
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: <IP_ADDRESS>
Manager Addresses:
<IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-327.36.3.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.26 GiB
Name: iZ256nsa3keZ
ID: 2F63:XW3D:2BFR:46IC:6M3S:HGAY:GBUL:FA2K:I52A:3MHK:VBOM:EPOK
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Experimental: false
Insecure Registries:
<IP_ADDRESS>/8
Live Restore Enabled: false

@thaJeztah that's fine but it looks like this won't compile in Go < 1.7.
Should we still use the SetEscapeHTML function?

OK, we might use these two:
https://github.com/docker/docker/pull/27060/commits/0fa20ad13b0b5c6d1bf8a8285717c07697d079ba
https://github.com/docker/docker/pull/27139/commits/d1d505fa701bfe28a59afee8158994cf33ef043c
can I call #dibs on this?

@dockercore there's no need to add more version/info output. The issue is "confirmed", but being looked into as to what the right approach is for resolving this. Also, if you post info, please add some context; randomly adding docker version and docker info without any context is usually only adding noise, and not helpful.
@ripcurld0 good question; I see a follow-up PR was created (https://github.com/docker/docker/pull/27139) to keep 1.6 compatibility, although we may want to consider deprecating that, now that go 1.8 is around the corner

And, yes, feel free to #dibs :)


Is the order of execution of the hyp respectively tagpdf labelled part of hook contentsline/text/{before,after} guaranteed?

From what I gathered from discussion of hooks, the order in which hooks are executed is not guaranteed except if some explicit ordering rules are applied.
Currently it appears no explicit ordering rules are declared for example for contentsline/text/before  but it is in fact crucial that the hyp chunk is done after the tagpdf chunk.
To test this I imposed the reversed order causing breakage:
\DocumentMetadata{
 uncompress,
 pdfversion=1.7,
 lang=en-US,
 testphase=phase-III
}
\documentclass{book}

\usepackage{hyperref}

\begin{document}

\ShowHook{contentsline/text/before}
\ShowHook{contentsline/text/after}

\DeclareHookRule{contentsline/text/before}{hyp}{before}{tagpdf}
\DeclareHookRule{contentsline/text/after}{hyp}{after}{tagpdf}

\ShowHook{contentsline/text/before}
\ShowHook{contentsline/text/after}

\tableofcontents

\part{ONE}

\chapter{Test chapter one}

\section{Section one one}

\subsection{Subsection one one one}

\subsection{Subsection one  one two}

\end{document}

Causes many warnings starting with
Package tagpdf Warning: Parent-Child 'TOCI/' --> 'Link/pdf2'.
(tagpdf)                Relation is not allowed (struct 9, /TOCI --> struct
(tagpdf)                10) on line 1

From what I gathered from discussion of hooks, the order in which hooks are executed is not guaranteed except if some explicit ordering rules are applied.

correct

Currently it appears no explicit ordering rules are declared for example for contentsline/text/before but it is in fact crucial that the hyp chunk is done after the tagpdf chunk.

also correct. This is why we said elsewhere that using the public hooks is not  the final solution (they will all be replaced by sockets dedicated to tagging) but this was done to get quick workable prototype even though with that restriction.
Now that we have sockets in the kernel they will one after another replace the currently use of public hooks.

Well I know the order because I added both ;-). And as long as nobody messes around with the order, it should be ok.
As Frank wrote, the tagging code will probably move at some time, but I would like to have a bit more examples and feedback about the tagging first (which why it is neat that etoc adds tagging support ;-)).

@FrankMittelbach @u-fischer I think I have reached a reasonable state regarding tagging and etoc at 1.2e-dev-2024/01/03.
I opened this issue here because it had been very important for me to understand how hyperlink tagging had to be inserted, once I understood I probably could not reuse the kernel hooks myself but had to imitate them rather.
Although this is not the place here I very briefly mention that

a user employing etoc only for \localtableofcontents should produce as correct tagging as LaTeX kernel, because actually etoc hands over in that case entirely the TOC typesetting to the kernel anyhow,

and that the main issues I see for etoc at this stage are:

user employing custom line styles is on their own to mark appropriately anything other than \etocname, \etocnumber, \etocpage.
the package "fallback toc line styles" have yet to properly mark dots as artefacts,
strange things may perhaps happen if user employs the more advanced techniques found in the manual, where one assigns arbitrary "levels" to the various sectioning names; and one may use new sectioning names for special purposes. Untested.
also untested and possibly following under the previous item whether \locallistoffigures and \locallistoftables work.  They are experimental anyhow, independently of tagging.


Injects configurable  tag to support reverse proxies

Previously: #1930
Unlike agreed there, this PR does not change the ENV var (proxy) used in development mode, because based on the documentation, that seems to be a different animal: documentation for proxy says that http(s) and the port are required, while here we're preferably using relative paths. I'll be happy if someone who understands exactly what that ENV var does says "nope, that doc string is misleading, they do the same thing".
Full disclosure: I got org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile (default-testCompile) on project zipkin: Compilation failure when trying to compile the whole project for an end-to-end test, so I didn't do that. This is most likely a problem in my env, but I'm hoping I can get away with not tracking it down (at least not today). The newly introduced unit tests do pass.
Fixes #1930

@wdittmer are you in a position to try this without building it first, or should we merge so you can test a snapshot? or do you need a release to try it?

cc @openzipkin/devops-tooling pretty tighter change than I was expecting to resolve the base path mapping concern!

I can only use official containers at the moment (e.g. openzipkin/zipkin:2.4.2) to test in the testing/staging environments. I could try locally with the nginx test project as I described in the other ticket, but have to postpone to after our internal release date (~next week).
Thanks for picking it up so quick though, much appreciated!

We will get this merged and cut this week if it helps your release. If
somehow it doesnt work correctly we can revise
On 12 Mar 2018 6:41 pm, "Wilfred Dittmer"<EMAIL_ADDRESS>wrote:

I can only use official containers at the moment (e.g.
openzipkin/zipkin:2.4.2) to test in the testing/staging environments. I
could try locally with the nginx test project as I described in the other
ticket, but have to postpone to after our internal release date (~next
week).
Thanks for picking it up so quick though, much appreciated!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/zipkin/pull/1946#issuecomment-372265047,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD619lMg-ej1g2EaR_-EgNk7IINhVfXks5tdlDDgaJpZM4Sl2ni
.

If there is a new container image I can pull it in the testing environment easily and we know if it works quite quickly and provide feedback. Don't worry about the release, we can roll-out a patch release with the new Zipkin afterwards. For me it is more important that Zipkin doesn't break for others with this change :)

I've a slight revision to this locally which only uses the new logic if the property is set. testing and will p-p-push it

my take is to blow up and not do anything differently than spring boot
would. Mainly using the try with resources thing removes the distraction of
a dangling resource.. so worth doing.

BASEPATH will cause less config glitches I think, vs BASE_PATH, so taking a stand to match on that. Reason is that words between the dots when mapping env variables can be a bit crap (and since BASEPATH is used in Kibana... hey their fault)

Sounds reasonable. I don't have any counterarguments.
On Mar 14, 2018 09:30, "Adrian Cole"<EMAIL_ADDRESS>wrote:

BASEPATH will cause less config glitches I think, vs BASE_PATH, so taking
a stand to match on that. Reason is that words between the dots when
mapping env variables can be a bit crap (and since BASEPATH is used in
Kibana... hey their fault)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/zipkin/pull/1946#issuecomment-372941712,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADqTitNUMAQqiDNlN9gPOS2dT9qR5PAks5teNUugaJpZM4Sl2ni
.

ok checking local thx!

hmm props look good:
$ curl -s localhost:9411/configprops|jq '."zipkin.ui-zipkin.autoconfigure.ui.ZipkinUiProperties"'
{
  "prefix": "zipkin.ui",
  "properties": {
    "defaultLookback": 3600000,
    "environment": "",
    "instrumented": ".*",
    "dependency": {
      "lowErrorRate": 0.5,
      "highErrorRate": 0.75
    },
    "basepath": "/",
    "queryLimit": 10,
    "logsUrl": null,
    "searchEnabled": true
  }
}

somehow I was expecting to see "/" in the base tag..
$ curl -s localhost:9411/zipkin/
<!doctype html>
<html>
 <head>
  <!--
      add 'base' tag to work around the fact that 'html-webpack-plugin' does not work
      with '__webpack_public_path__' being set as reported at https://github.com/jantimon/html-webpack-plugin/issues/119
    -->
  <base href="/zipkin/">/</base>
--snip--

Oh fuck.

And even wrote nice unit tests that verify this totally borken behavior.

LOL do you want to sort it or should I? my IDE is open so no trouble. your call

Please go ahead and take care of it then. I've since switched context to work stuff.

roger wilco, Roger Wilco

ok it works.. but I should try it through a proxy somehow

If you have zipkin running locally you could try:
Dockerfile:
`FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
`
nginx.conf
`worker_processes 1;
events { worker_connections 1024; }
http {
log_format compression '$remote_addr - $remote_user [$time_local] '
    '"$request" $status $upstream_addr '
    '"$http_referer" "$http_user_agent" "$gzip_ratio"';

server {
    listen 8080;
    server_name reverse-proxy;
    access_log /var/log/nginx/access.log compression;

    location /zipkin {
        proxy_pass          http://docker.for.mac.localhost:9411;
        proxy_set_header    Host             $host;
        proxy_set_header    X-Real-IP        $remote_addr;
        proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_read_timeout 1800;
        proxy_connect_timeout 1800;
        rewrite /zipkin/(.*) /$1 break;
        rewrite /zipkin / break;
    }
}

}
And in /etc/hosts:<IP_ADDRESS> reverse-proxy
<IP_ADDRESS> zipkin-server`

will do a "dark release" of this as a patch as I'm confident in how it is coded it won't break anyone. If it works, the next minor we'll announce how do  ZIPKIN_UI_BASEPATH=/  or ZIPKIN_UI_BASEPATH=/foo/zipkin
so in other words 2.5.3 after builds finish etc
@wdittmer

(man I suck at getting it to format straight...)
I will await 2.5.3 :)


Add Emergency publishing docs

This is the first page from the opsmanual that we're moving to this repo.
Best reviewed on preview app:
https://govuk-tech-docs-pr-72.herokuapp.com/opsmanual/emergency-publishing.html
PR on opsmanual: https://github.gds/gds/opsmanual/pull/915

Going to use these docs for the drill today. :+1:


delete redundant (?) loadNamespace() calls

There are some instances where I have to use more loadNamespace() than I thought should be necessary (they are all marked with TODO and this issue in the source).
This suggests something is wrong and/or I am not understanding this correctly.
For example:
the ghactions::document() action relies on roxygen, which is (rightfully) in Suggests: for ghactions, not Imports:.
So I have to call:
loadNamespace(package = "roxygen2", lib.loc = Sys.getenv("R_LIBS_ACTION"))
loadNamespace(package = "ghactions", lib.loc = Sys.getenv("R_LIBS_ACTION"))

What I don't understand is why I also have to call
loadNamespace(package = "brew", lib.loc = Sys.getenv("R_LIBS_ACTION"))

before the action will work (otherwise: missing package error).
brew is a dependency of roxygen2 and thus should be loaded when roxygen2 is loaded, no?
So this is weird.

this needs to be wrapped in withr::with_libPaths() (or whatever) because downstream dependencies do not inherit the lib.loc from loadNamespace().

this is really only part of the problem, remainder in #272


fancyzones: after i snap a window to a zone, whenever i reopen that window it should always retain the snapped size and position

Description of the new feature / enhancement
after i snap a window to a zone, whenever i reopen that window it should always retain the snapped size and position.
Scenario when this would be used?
currently there is this behaviour in windows that when i vertically maximise a window (not full screen) and then close and open it, it gets repositioned slightly and is not vertically maximised anymore. drives me nuts. i use a lot of browser windows and each time i reboot i have to rearrange my windows.
Supporting information
may be a minor issue but this rubs my ocd in a bad way. i dont understand why the os itself does not simply reopen windows like i close them but here we are.

when i vertically maximise a window

Hello and thanks for your message. This makes me think it is about the Windows Snap feature, not FancyZones. Can you confirm? /needinfo


remove 0307: themes #648

since 57(?) themes and web extensions are controlled by the same mechanism (301b+302b)

It's a bit weird because when both 301b+302b are set to false then the UI setting Update Add-ons Automatically is unchecked (as expected). When you toggle the UI to enable, it sets both to true but when you uncheck it again, it only sets 0302b to false.
There doesn't seem to be a way to set 0301b to false via the UI other than about:config.
Some people might want to have extension updates enabled but themes updates disabled and I don't like to remove prefs that still do something and which to some extend keep FF a bit quieter.

It's a bit weird because

Yeah I just commented in the issue about that. The [setting] for 0301b should go

Some people might want to have extension updates enabled but themes updates disabled and I don't like to remove prefs that still do something and which to some extend keep FF a bit quieter.

The permutations are doing my head in a little. Need coffee. I tested the update with this pref at false, and it did not stop me manually checking (doh!) or updating.
The question is, if extensions update master switch is allowed, but themes isn't, what happens? I can try to test for it, but not if it takes a day

if extensions update master switch is allowed, but themes isn't, what happens?

it'll look for extension updates but not theme updates

^^ https://github.com/ghacksuserjs/ghacks-user.js/issues/648#issuecomment-463187686

extensions.update.enabled is the master switch for the extension and theme update checks (+install in some cases) during the daily background update check. You can't disable the daily background checks entirely but you can make it not really do anything (other than update the timestamps).
if extensions.update.enabled is true, it will first do the LWT checks which are controlled by the pref you want to remove here. There doesn't seem to be a pref to just disable the auto-installing of LWTs, meaning that pref controls both LWT checking as well as installing. Or in other words LWT updates don't care about extensions.update.autoUpdateDefault - that's apparently just for extensions. (unless I'm missing something in the code)
Next it will go on to check extensions (and install them automatically depending on .autoUpdateDefault and/or each extensions individual auto-install setting)
And lastly the daily bg-check will also look for system addon updates but that's controlled in its own way and is besides the point here. The SA part is NOT affected by extensions.update.enabled!

So there must be a difference between a manual check and the one run internally by Firefox - I would have thought the code (spaghettified over the years?) would have been "reused".
I'm going to test this then: steps:

extensions.update.enabled = true
extensions.update.autoUpdateDefault = true (so I know the background update fired)
lightweightThemes.update.enabled = false
install 1 ext, 1 theme, both outdated versions
open the test profile in 24+ hours

I'll get back to you. Regardless of the outcome (not doubting your code-reading skills), the pref will have to be modified (e.g only used in background checks), and most of the other changes still need to stand in some way or another
I actual decided to install a theme - it's almost identical to dark theme, but gets rid of the transparency in the title bar when the app loses focus. I had trouble with that in userChrome. And of course I have a coupel of other tweaks.
Thanks for looking into it

^^ and extensions.update.interval = 3600 (1hr, instead of 24 hrs)

OK, that sucked. There's an extra step .. set extensions.update.enabled = false before adding the theme, as it seems to update the theme as you install it - and then set it to true afterwards. It doesn't do this with the extension. I'm not entirely sure, because I could have sworn it was the older theme added, but the version numbers are so similar I may have made a mistake. Removing, restarting, and adding the old version theme when extensions.update.enabled = true simply gave me the latest up to date version.
When I looked at my test (timer is set for an hour), the theme was up to date but the extension wasn't (which lead me to the above paragraph), and then the extension updated while I was in there. Might set the timer for 10minutes and take a break.

I can confirm that the theme IS UPDATED by the daily background checks
If you want to confirm it: STR

extensions.update.enabled = false :exclamation: important as when true the theme installed would always be the latest one
extensions.update.autoUpdateDefault = true - so I know the background update fired
lightweightThemes.update.enabled = false
extensions.update.interval = 300 (5 minutes)
install 1 ext, 1 theme, both outdated versions
check versions installed are the old ones
extensions.update.enabled = true :exclamation: important to set this back for the test
recheck versions are the old ones
close
open the test profile in 5+ minutes and give it a little time to fire. Took about 30 seconds and I was just waiting and saw the chrome "flicker", then checked the theme version, it was on the latest

I suspect the extension updates just include everything (and probably include search updates? which we could also check out)

@earthlng bump

I think the thing is that most themes aren't really Lightweight Themes anymore. fe https://bugzilla.mozilla.org/1508777 mentions ...

When AMO begins converting lightweight themes to packaged themes, users with recommended themes will end up with two copies of every converted lightweight theme.

They're apparently also in the process of removing LWTs completely, see 1469930 and 1525511 (opened 10 days ago). (and Convert built-in LWTs to static themes which was opened 10 days ago as well.)
I'm not sure but the only "lightweight" themes are seemingly just the 5 which are shipped with Firefox and only 3 of those are shown in the customize UI.
So yeah, the pref is probably mostly dead at this point but I'd still prefer to wait with removing it until they remove LWTs from Firefox entirely, including all their prefs, which looks like it should happen pretty soon.

https://blog.mozilla.org/addons/2009/10/21/personas-now-on-amo/ - weeeeee .. personas back in 3.6, ahh the good old days
https://blog.mozilla.org/addons/2018/07/12/upcoming-changes-for-themes/
https://blog.mozilla.org/addons/2018/09/20/future-themes-here/

I'll put it back. I can understand someone may be using a persona they modified and don;t want it to update, but they do want extensions auto-updated. Pretty rare, but still. I guess we can wait for the pref to get removed .. in like 5 or 6 releases time

I still think it needs MOAR info that themes in 0301+0302 are not the same as 0307

bump
/* 0307: disable auto updating of personas (lightweight themes / LWT)
 * LWT: not to be confused with those in 0301* + 0302*, which use the FF55+ Theme API
 * Mozilla plan to convert existing LWTs and remove persona support in the future, see [1]
 * [1] https://blog.mozilla.org/addons/2018/09/20/future-themes-here/  ***/
user_pref("lightweightThemes.update.enabled", false);

I think something like this removes all confusion. When the pref is deprecated we can trim that down or even just remove it from the js.

looks great but why mention "personas" at all?
how about this?
/* 0307: disable auto updating of lightweight themes (LWT)
 * LWT: not to be confused with themes mentioned in 0301* + 0302*, which use the FF55+ Theme API
 * Mozilla plan to convert existing LWTs and remove LWT support in the future, see [1]
 * [1] https://blog.mozilla.org/addons/2018/09/20/future-themes-here/  ***/
user_pref("lightweightThemes.update.enabled", false);


Upgrade containerapps SDK to 2023-04-01-preview

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.AppContainers

There are quite many breaking changes. Some of them can hardly be worked around. @ArthurMa1978 Arthur Ma FTE Do you think we should bump the major version of containerapps SDK?

No, all breaking changes need be fixed by customization code

/azp run

There are quite many breaking changes. Some of them can hardly be worked around. @ArthurMa1978 Arthur Ma FTE Do you think we should bump the major version of containerapps SDK?

No, all breaking changes need be fixed by customization code

All breaking changes are intentional fixes. Note that all versions are preview and will be deprecated end of this year.
We want to have the correct pattern for next stable version release.


Is it possible to send speech (that was spoken to Siri) as a HTTP post data to an api endpoint?

Nope...currently Siri only supports built-in characteristics and none of those takes text input.

Does anyone know if this is still the case as of February 2018?  I would really like to be able to pass the spoken speech (as text) to an endpoint.


⚠ Bofrost.be has degraded performance

In 56ef2b8, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2055 ms

Resolved: Bofrost.be performance has improved in 4d53e8c.


Use single ioloop for coroutine tests. Fix #950

From http://stackoverflow.com/q/14688042
"What is happening is the AsyncHTTPClient in your RequestHandler is running on a different IOLoop, which is never started."
This makes it so a single IOLoop is used for all coroutine tests.

:-1: :cry: :sob:


Order() function call makes query execution about 1000 times slower.

Your Question

Having .Order() function call slows down query execution by 1000x time
We have the code that is something like:
	record := Record{}
	tx := db.Model(record).
		Where("abc1=? and abc2=? and abc3=?", aid, cid, did).Order("abc desc").Limit(1)
	err := tx.Find(&record).Error

this query results following log:
[4970.976ms] [rows:1] SELECT * FROM "record" WHERE abc1='2b8fc287-c6be-495b-837e-9bdac6781b9c' and abc2='76e6a1d7-c20c-491f-8ca5-b4136d00e7e8' and abc3='d34e7e1f-182a-4fc6-9b07-2bfdd6a60a09' ORDER BY abc desc LIMIT 1

copying and running this query directly in the db takes 22ms. DB has about 200 records, so it shouldn't take long even if there is no index in the etc.
If I remove the .Order("abc desc") from the tx builder it is fast, maybe 25-30ms.
The document you expected this should be explained

Expected answer

What is the overhead here that is causing gorm to take long for .Order("abc desc").
Am I missing something?
Thanks for your help!

The currently tracked time is not the actual execution time of SQL, but the time returned by the complete API, including the blocking of debugging breakpoints and the time superposition caused by nested execution.
We are currently discussing how to change it.
https://github.com/go-gorm/gorm/issues/6292

I think we can close this, it was due to row locking in the db and nothing to do with gorm.


After upgrade to 0.122.1 EVCC will not start

As mentioned in the title the add-on does not start. When I open it in the Side Bar I get the message that it is not running.
I can Start it as much as I want, but get the same message again.
However, if I go into my browser and open port 7070 of Homeassistant, I get the EVCC UI, showing me the previous release version.
See screenshot.
Help urgently needed!!

Hi, same problem here.
After upgrade, no start anymore.
This ist the error i got while trying:
Can't create container from addon_49686a9f_evcc: 400 Client Error for http+docker://localhost/v1.43/containers/create?name=addon_49686a9f_evcc: Bad Request ("invalid mount config for type "bind": bind source path does not exist: /mnt/data/supervisor/addon_configs/49686a9f_evcc")
Thx in advance.

Hi Thizmo, how do I get to the addon_config directory?
I installed SAMBA but do not know how to access it from my iMac

Hi Thizmo, how do I get to the addon_config directory? I installed SAMBA but do not know how to access it from my iMac
Hi JHPWBN,

i have the Terminal & SSH enabled/installed on the system. This way i have direct access to the system itself.
HTH.

Yes i am. Since today. :-)

Thxs, my add-on_config directory is totally empty
for me this is a major issue, it took me quite some time to get evcc running , decided to become a sponsor and now this

Becoming a sponsor should have nothing to do with getting evcc running. ;-)
Becoming a sponsor means you believe in the idea of developing a great software. Not only for a few month. But for years which is sustainable.
And with that you get a great community, helping and developing.
Just my thoughts. ;-)

I am trying to understand the BREAKING CHANGE comment below from the read.me, which is very cryptic to me: U have any idea where I find "container-ID" and "addon's slug" ?
!! BREAKING CHANGE with version 0.122.2 !!
/config directs to addons_config/[container-ID]_evcc (/addon_configs/<your addon's slug>) in Home Assistant. To access this new share in homeassistant you have to install at least verion 11.0.0 of Samba Share Copy your config from /config (in Samba share 11.0.0 /config is named /homeassistant) to addons_config/[container-ID]_evcc

Thxs, my add-on_config directory is totally empty
for me this is a major issue, it took me quite some time to get evcc running , decided to become a sponsor and now this

Becoming a sponsor should have nothing to do with getting evcc running. ;-) Becoming a sponsor means you believe in the idea of developing a great software. Not only for a few month. But for years which is sustainable. And with that you get a great community, helping and developing. Just my thoughts. ;-)

Agree

I think you have the same problem as in https://github.com/evcc-io/evcc/discussions/10744


problem with Dogwater using Nes with JWT-authentication

Hello guys,
I have some troubles using NES with jwt authentication using Waterline/Dogwater.
here is my server.js:
'use strict'
const Hapi = require('hapi')
const Hoek = require('hoek')
const hapiAuthJWT = require('hapi-auth-jwt2')
const Dogwater = require('dogwater')
const sailsmysql = require('sails-mysql')
const Nes = require('nes')

// load models

const config = require('./configs/test_credentials')
const router = require('./routes/router').router
const validate = require('./lib/validate').validate

const server = new Hapi.Server()
server.connection({ port: 8000, routes: { cors: true } })

server.register(require('inert'), (err) => {
  Hoek.assert(!err, err)
})

server.register({
  register: Dogwater,
  options: {
    adapters: {
      dndDisk: sailsmysql
    },
    connections: {
      dndDB: .....................
    }
  }
}, (err) => {
  Hoek.assert(!err, err)
})

server.register(hapiAuthJWT, (err) => {
  Hoek.assert(!err, err)
})

server.auth.strategy('jwt', 'jwt',
  { key: config.jwtsecret,
    validateFunc: validate,
    verifyOptions: { ignoreExpiration: true },
    headerKey: 'authentication-token'
  })

server.register(Nes, (err) => {
  Hoek.assert(!err, err)
})

server.auth.default('jwt')

server.dogwater([ CreditCard, Passenger, FavoriteLocation, Trip, Driver, TripRoute, PaymentLog, Promotion, DriverRating, PassengerRating, Administrator, Country, CountryPrice, LatestDriverLocation, Language ])

server.route(router)

server.start((err) => {
  Hoek.assert(!err, err)
  console.log('Server started at:', server.info.uri)
})

My route for the socket is:
{
    method: 'GET',
    path: '/ws',
    config: {
      id: 'hello',
      auth: 'jwt',
      handler: function (request, reply) {

                return reply('world!');
            }
    }
  }

validate function is:
function validate (decoded, request, callback) {
  const passenger = request.collections().passenger
  passenger.findOne(decoded.id)
    .then((passenger) => {
      if ((decoded.username) === (passenger.username)) {
        return callback(null, true)
      } else {
        return callback(null, false)
      }
    })
}

and client is:
var Nes = require('nes')
var client = new Nes.Client('ws://localhost:8000')

client.connect({auth: {headers: {'Authentication-Token': 'token'}}}, (err) => {
  if (err) return console.log(err)
  client.request('hello', (err, payload) => {
    if (err) return console.log('err is ' + err)
    console.log(payload)
  })
})

when I run the client, using valid token (I am testing it with other routes) it gives the following error:

{ Error: An internal server error occurred
at new NesError (/Users/vgenev/Projects/dnd-server/node_modules/nes/lib/client.js:77:19)
at parse (/Users/vgenev/Projects/dnd-server/node_modules/nes/lib/client.js:616:25)
at parse (/Users/vgenev/Projects/dnd-server/node_modules/nes/lib/client.js:48:16)
at Client._onMessage (/Users/vgenev/Projects/dnd-server/node_modules/nes/lib/client.js:603:9)
at WebSocket.ws.onmessage (/Users/vgenev/Projects/dnd-server/node_modules/nes/lib/client.js:261:25)
at WebSocket.onMessage (/Users/vgenev/Projects/dnd-server/node_modules/ws/lib/WebSocket.js:442:14)
at emitTwo (events.js:106:13)
at WebSocket.emit (events.js:191:7)
at Receiver.ontext (/Users/vgenev/Projects/dnd-server/node_modules/ws/lib/WebSocket.js:841:10)
at /Users/vgenev/Projects/dnd-server/node_modules/ws/lib/Receiver.js:536:18
type: 'server',
statusCode: 401,
data:
{ error: 'Unauthorized',
message: 'An internal server error occurred' },
headers: undefined,
path: undefined }

and the server error is:

Debug: internal, implementation, error
TypeError: Cannot read property 'findOne' of undefined
at Object.validate [as validateFunc] (/Users/vgenev/Projects/dnd-server/lib/validate.js:4:12)
at /Users/vgenev/Projects/dnd-server/node_modules/hapi-auth-jwt2/lib/index.js:87:23
at /Users/vgenev/Projects/dnd-server/node_modules/jsonwebtoken/verify.js:27:18
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)

What I have seen is that actually the passenger is not created by:   const passenger = request.collections().passenger in the validate function, although the token is correctly decoded.
After I posted the question in Nes repo, they adviced me to use request.collections(true).passenger and it fixed the problem. But is it a good practice and how can be avoided?

Hi!  It's me again :)
Dogwater is structured so that each model is only available to the plugin that registered it.  If you registered models to the root server (outside a plugin), then those models will only be available outside of a plugin.  As I hinted earlier, passing true to request.collections() sidesteps this sandboxing constraint.  I checked and played with the dogwater tests to ensure this functionality is working as intended.  So, it leads me to the question– is the route registered inside of a plugin?
It turns out that by default, nes creates a route specifically for authenticating the socket connection (see auth section with info on "direct" authentication here).  Because that route is created by the nes plugin (which naturally doesn't register any dogwater models), there is no access to dogwater models inside your validateFunc (where request is a request to the route created by nes)!
In short, this is a good reason to use request.collections(true) to get access to all waterline models, ignoring plugin boundaries.  A route created by nes will otherwise not be able to access any models.  It's a pretty rare case!  This is exactly why I added that flag, though.
I think your instinct is good– in general models will only be used by the plugins that register them using server.dogwater(), so passing that flag to request.collections() is typically not necessary.  If you find yourself having to use that flag often, there could be some issues with your plugin architecture creating too many inter-plugin dependencies.

Thanks a lot :) I will let it sink and work more with both and see should I redesign the plugin architecture.


Mobile navigation

Description
Create new components for a beautiful mobile navigation experience.
Screenshots
https://user-images.githubusercontent.com/565661/108181513-e1d61b80-70bc-11eb-81ef-56911308cfe0.MP4

Looks like you're missing a few of the top-level icons (Automate workflows, Build apps, etc). Otherwise looks good!

@djsauble thats intentional since this is the test site. I only included the top icon to ensure I had everything lined up correctly. Once this is implemented on the dev/docs site, the icons will all be there 🙂. Thanks for the feedback!


 Thumbnails also have to be tweaked.

This should be very easy to implement with the switch to mipmaps.

Fixed by
9b13d489c5f1e0246b16be958f2f06267c0b733d


Change behavior of fragment and children selection

What this PR does / why we need it:
Fixes two issues:

Fragments with children such as item were allowed to be placed in the root directory (%page/%fragment.md with children in %page/%fragment/%children.md) but if the fragment was placed inside that directory it would be problematic. This is now fixed.
Global fragments were allowed to render if the local fragment was placed inside a directory even if that directory had the same name with the local fragment. This is fixed as well.

Which issue this PR fixes:
fixes #179
Release note:
- BREAKING: Global fragments will not be rendered if there is a local fragment inside a directory and the directory has the name of the global fragment.
- Fragment content files can now be placed inside a directory even if they have children.

Awesome. Now we are consistent with Hugo and the other fragments \o/


chore: Removing re-declared variables

Description
Fixes #7441
Type of change

Please delete options that are not relevant.

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

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@samyakjain10 Please resolve the conflicts.

@sbalaji1192 I have resolved the conflict. Please review

What is a CR callout?


Typo Fix

@Dylan-MSFT : Thanks for your contribution! The author, @meet-bhagdev, has been notified to review your proposed change.

#sign-off

@rothja: I'm sorry - only the author of this article, @meet-bhagdev, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


feat(autocomplete): add custom sort option

Also renamed sortFunction to compareFunction (Closes #115)
Proposed changes
Currently you can specify a custom "sortFunction" but this only controls which element wins in a 1v1 matchup, not how the matchups are made (Currently just uses array.sort). Adding this would allow end users to use libraries such as fuse.js to do more complex sorting and make results more accurate.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[x] New feature (non-breaking change which adds functionality).
[x] Breaking change (fix or feature that would cause existing functionality to change).

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

I've added docs for this:

Rebased onto master

It seems there is a commitlint violation.
Does someone want resolve this? That would be great =)

Not sure what's going on here, I'm gonna just close this and remake the commit.


Write a JavaScript program to convert days to seconds

Description
Write a JavaScript program to convert days to seconds
1 day = 24 hours = 1440 minutes = 86400 seconds
Input  : 5
Output : 432000

How to contribute

Save the solution in ConvertDaysToSeconds.js file
Add ConvertDaysToSeconds.js file in convert-days-to-seconds folder

!assign


An error occurred while printing the file because the file directory is too deep.

An error occurred while printing the file because the file directory is too deep.

Unable to reproduce.


Add CONTRIBUTING.md to create a process of external contributors

This PR adds CONTRIBUTING.md as recommend on: https://help.github.com/en/github/building-a-strong-community/setting-guidelines-for-repository-contributors
I've added some rules here, but feel free to give me feedback on them 👍

Changed Contribution chapter in README with reference to new file.
Happy Reviewing 👍


Torch search engine outdated

Hi
I tried to run a test with torch but it seems that the torch url is no longer available, the new one is http://torchdeedp3i2jigzjdmfpn5ttjhthh5wbmda2rr3jvqjg5p77c54dqd.onion
Do you plan to upgrade the engine?
Thanks!

Thanks for letting me know. I updated Torch, it should be fine now.

it works fine!!
Many thanks


Photometric Interpretation

Hi  ,
i am merging 2 jpeg files to single tiff file. but the property of tiff file Photometric Interpretation is coming as RGB but in jpeg Photometric Interpretation is coming null
please help to remove the Photometric Interpretation value while creating the tiff file

It can't be removed. Photometric interpretation can be RGB or MINISBLACK/MINISWHITE for binary compression like RLE. So if you convert jpeg image to tiff with any compression except of COMPRESSION_CCITTRLE/COMPRESSION_CCITTFAX3/COMPRESSION_CCITTFAX4 Photometric interpretation will be RGB


fix(lib/es2015): Fix types of Reflect methods

Unlike https://github.com/microsoft/TypeScript/pull/35608, this only fixes the types so that the return types of Reflect.ownKeys(…) and Reflect.getPrototypeOf(…) are correct.
Blocks:

https://github.com/microsoft/TypeScript/pull/35608
https://github.com/microsoft/TypeScript/pull/35594

Fixes https://github.com/microsoft/TypeScript/issues/34626
/cc @Jessidhia @orta @rbuckton @sandersn

I compared  function to the MDN docs for the reflect API, and that all seems to look right to me - thanks @ExE-Boss

I compared  function to the MDN docs for the reflect API, and that all seems to look right to me - thanks @ExE-Boss

@ExE-Boss great change, thanks! Looks like lib/lib.es2015.reflect.d.ts needs to be updated for userland code who install via eg. yarn and "typescript": "microsoft/TypeScript#master", in the devDependencies; also tried yarn add -D typescript@next, still getting the old definitions from lib/lib.es2015.reflect.d.ts. Maybe there's some extra build step?

@ExE-Boss great change, thanks! Looks like lib/lib.es2015.reflect.d.ts needs to be updated for userland code who install via eg. yarn and "typescript": "microsoft/TypeScript#master", in the devDependencies; also tried yarn add -D typescript@next, still getting the old definitions from lib/lib.es2015.reflect.d.ts. Maybe there's some extra build step?

I would like to know what is the return type of Reflect.ownKeys(target) is it of Type '(string | number | symbol)[]' or of Type '(string | symbol)[]'  ??? (Sorry to be so confused I am the kind of person who likes to annotate all my functions output types and now I am using /* : (string | number | symbol)[] */ yes with the /* and the */ haha !!!

I would like to know what is the return type of Reflect.ownKeys(target) is it of Type '(string | number | symbol)[]' or of Type '(string | symbol)[]'  ??? (Sorry to be so confused I am the kind of person who likes to annotate all my functions output types and now I am using /* : (string | number | symbol)[] */ yes with the /* and the */ haha !!!

@Luxcium The correct return type of Reflect.ownKeys(target) is (string | symbol)[]:

https://tc39.es/ecma262/#sec-reflect.ownkeys
https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods

@Luxcium The correct return type of Reflect.ownKeys(target) is (string | symbol)[]:

https://tc39.es/ecma262/#sec-reflect.ownkeys
https://tc39.es/ecma262/#sec-invariants-of-the-essential-internal-methods


Circular loading indicator stops working when changing between circular and linear for type prop

Summary of the bug
The circular variant of the loading indicator stops working when changing between circular and linear for the type prop.
🪜 How to reproduce

Go to one of the props playground stories for the loading indicator.
Change the type prop to linear and back to circular.
See that the loading indicator isn't displaying correctly.

📸 Screenshots or code
The loading indicator becomes a complete circle (and no matter whether it's indeterminate or determinate).

🧐 Expected behaviour
The circular variant should render as normal when changing between types.
Additional info
Need to decide whether this bug actually matters - how likely is it that a developer will want to change the loading indicator type while it's rendered?

Duplicate of #1878


Feature added action tests

Requires:

all envs should have method goto(url): Promise, which will navigate current page to new url and wait for required scripts for loading on the page.

🐗


Added descriptions to prototypes

Added a description to the Girder.YML file.

Looks good, nice first pr!


API 27

Please update to support API level 27 and corresponding support libraries.

Is it any problem in API 26?

sorry for late. it's updated to version 2.0.0!
Thank you.


LLM run errored with error: t is not a function

Was trying out the new MultiPromptChain when I encountered the error below.
Tried debugging but couldn't progress much.
Trying this example - https://js.langchain.com/docs/modules/chains/other_chains/multi_prompt_chain
Runtime: Deno - Supabase edge function
Supabase Version - 1.49.4 (as recommended here
Lib CDN<EMAIL_ADDRESS>It works on Node (using the v0.0.75 package from npm) buts fails on Deno.

This axios issue is happening somewhere after v0.67 langchainjs version

@nfcampos Can you please have a look?
This axios issue is happening after v0.67 langchainjs release. This is breaking a few packages, blocker to use those packages with supabase.


Can't install vs and any app

Why do I click install vs, it also runs install and says complete many times but still shows "vs not installed" and cannot install any application on pinokio

I second that. it's a cycle on repeat, keeps installing vs and thing else gets installed.

In the logs it shows you the file that was being used to install vs. I closed pinokio, run the file directly and then went back to pinokio. And it was able to continue with the process.

I'm having the same problem. I used the suggestion in question #47 and I went to the install directory and ran vs_buildtools.exe from there. It installed correctly and I updated all packages when I was updating VStudio. Now, I went back to try and install Stable Diffusion webUI through Pinokio, and it said that vs was still not installed. I clicked the install button and it said that everything was installed correctly and to click OK....but then, it doesn't install it and it continues to say that vs is not installed.

I think that pinokio just checks VS tools at default directory. If it's installed somewhere else then installation of pinokio "embedded" build tools always fail (check for existing installation is not implemented, checking for errorlevel/type of error in vs_buildtools.exe installation is not implemented)


Telemetry remove

Describe your changes
Use ploomber_core.telemetry
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I have added thorough tests (when necessary).
[x] I have added the right documentation (when needed). Product update? If yes, write one line about this update.

@Wxl19980214 is this ready for review?
Please resolve conflicts

@Wxl19980214 ready for review? If so, please fix the conflict

ready for merge

@Wxl19980214 Nice job!


find browserify-able alternative to forge

The DigitalOcean module uses node-forge (via forge-min) to generate SSH keys for newly created droplets. node-forge is not amenable to browserification (https://github.com/uProxy/uproxy/issues/2220) which means every repo that depends on the digitalocean module needs to include forge-min...a real maintenance pain.
We should find another library capable of generating SSH keys.

Wild proposal: use WebCrypto to generate a keypair and then convert it to SSH format. Unfortunately, WebCrypto is EC-only and ssh2's support for EC is still in its infancy.

via @bemasc:
Chrome's list of supported ciphers:
https://www.chromium.org/blink/webcrypto
A page that tests your current browser:
https://diafygi.github.io/webcrypto-examples/
It looks like Chrome and Firefox both support "RSA-OAEP" and "RSASSA-PKCS1-v1_5", but only Chrome supports "RSA-PSS".


GCP: panic: interface conversion: interface {} is nil, not []interface {}

Description

Running driftctl against GCP infrastructure, I get the panic message.
The Go trace:
panic: interface conversion: interface {} is nil, not []interface {}

goroutine 1 [running]:
github.com/snyk/driftctl/pkg/middlewares.(*GoogleIAMBindingTransformer).Execute(0xc00025c408, 0xc00012f1b8, 0xc00012f218, 0x1, 0x1)
	/root/project/pkg/middlewares/google_iam_binding_transformer.go:44 +0xa27
github.com/snyk/driftctl/pkg/middlewares.Chain.Execute(0xc0007fc500, 0x29, 0x50, 0xc00012f1b8, 0xc00012f218, 0xc0007fc500, 0x26)
	/root/project/pkg/middlewares/chain_middleware.go:21 +0x24c
github.com/snyk/driftctl/pkg.DriftCTL.Run(0x29aff80, 0xc0008f8a40, 0x29afe20, 0xc00083ca80, 0x29afd60, 0xc0002843a8, 0xc00083caa0, 0x29b03a0, 0xc0005d86f0, 0x29ee0e0, ...)
	/root/project/pkg/driftctl.go:135 +0xf4a
github.com/snyk/driftctl/pkg/cmd.scanRun(0xc000644320, 0x0, 0x0)
	/root/project/pkg/cmd/scan.go:283 +0x9d8
github.com/snyk/driftctl/pkg/cmd.NewScanCmd.func2(0xc0000bcb00, 0xc000114f00, 0x0, 0x6, 0x0, 0x0)
	/root/project/pkg/cmd/scan.go:115 +0x2a
github.com/spf13/cobra.(*Command).execute(0xc0000bcb00, 0xc000114ea0, 0x6, 0x6, 0xc0000bcb00, 0xc000114ea0)
	/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842 +0x472
github.com/spf13/cobra.(*Command).ExecuteC(0xc000349b80, 0x268aa98, 0xc0002c46c0, 0x0)
	/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950 +0x375
main.run(0x0)
	/root/project/main.go:66 +0x578
main.main()
	/root/project/main.go:27 +0x25

Environment

OS: Ubuntu
driftctl version: 0.18.3
terraform version: 1.1.2
terraform providers versions<EMAIL_ADDRESS>
How to reproduce
The driftctl call:
driftctl scan --to gcp+tf --from tfstate:///tmp/prd.tfstate --tf-provider-version 4.5.0

Thanks a lot for this report, we'll try to reproduce it ASAP and push a fix soon 👍🏻

@nie-kita2 Would you mind to send us part of your state file ? We wanted to be sure to have fixed the issue and we do not know to reproduce that.
Can you search in your state file if there is google_storage_bucket_iam_binding or google_project_iam_binding resource with empty members attribute ? Can you post theses full resource (after redacting private things) from your state ?
Thanks for your help 🙏🏻

@eliecharra, sorry, but I would better avoid sharing the whole state-file.
However your suggestion nailed down the issue - I indeed had some google_storage_bucket_iam_binding resources with "[]" value in the state. Removing them resolved the issue with driftctl panic, now the driftctl scan is running throught as expected.

I was not asking for the whole state file, just for google_storage_bucket_iam_binding and google_project_iam_binding with empty members keys. Good to know it solve your issue that what I wanted to know. We are working on a fix to make the code more robust about that thanks 👍🏻

Should be fixed in v0.18.4


feat: Adapt Result mapping according to new API standard

EX-6376
Main changes:

All the fields will be preceded by a double dash __ to follow the new API contract
Image changes from string tostring[] type
Added new values from Platform Response:
*  __externalId: will be the one used to map as the identifier (used for SKU searches)
* price.future.value is included in the ResultPrice model as an optional field related to the prewarming price feature.
Update mocked objects and fix tests.

We are going to wait until "skuSearch" and "recommendations" will be standardized because right now they are using the result schema and with that schema, the should be standardized, if not, we should create a new schema for them.


Hanging when download multiple metadata

Code sample:
var link = MagnetLink.Parse("magnet:?xt=urn:btih:53276836AA0CEBC7BB9EECAEFB46417FA447EE1D");
using var engine = new ClientEngine();

var t1 = engine.DownloadMetadataAsync(link, CancellationToken.None);
var t2 = engine.DownloadMetadataAsync(link, CancellationToken.None);

await t1;
await t2; //this will never end

any logs?

This is complete code sample, which reproduce bug in 100% of cases

Ah, this is actually quite a silly one.
If the issue you're experiencing is exactly as your sample describes, it's because DownloadMetadataAsync creates a TorrentManager under the hood, and your code snippet is hitting a bug which allows both invocations to DownloadMetadataAsync to add a TorrentManagerfor the same underlying torrent.
This will break some things within the engine. The most problematic example which comes to mind is when incoming connections are received. In this scenario the engine will pass them to the first TorrentManager with a matching infohash, as it expects there to be exactly one with a matching infohash. In this case all incoming connections will always go to the first torrentmanager.
I believe there are more places in the code which could break if the infohash is unintentionally loaded twice. I'll fix the code so the expected error is raised when this scenario occurs.


Just a little cleanup of old files

removed flake8, use ruff instead as part of pre-commit with pyproject.toml to hold the config
removed travis config file
move isort config to pyproject.toml
updated black version
removed get_dependencies.py, it's not used anywhere and depends on unsupported project
Should we just remove setup.py file? I don't think there is a need. The information is already present in pyproject and the only thing is the custom pre-commit command. Maybe we shouldn't have a custom command for this? The developer just needs to do pre-commit install after cloning bigbang and this could be documented. (Less the code the better :) )

Codecov Report
Base: 73.37% // Head: 73.37% // No change to project coverage :thumbsup:

Coverage data is based on head (1c5787d) compared to base (3bbb735).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #579   +/-   ##
=======================================
  Coverage   73.37%   73.37%
=======================================
  Files          30       30
  Lines        3635     3635
=======================================
  Hits         2667     2667
  Misses        968      968

Flag
Coverage Δ

unittests
73.37% <ø> (ø)

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

Impacted Files
Coverage Δ

bigbang/bigbang_io.py
79.72% <0.00%> (ø)

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

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

Well the minor cleanup went on to become major one:
In this PR I have removed env.yaml/conda-setup/requirements.txt, I also have a feedstock request https://github.com/MridulS/staged-recipes/tree/bigbangpy_on_conda_forge which will let users do conda install bigbang-py but this would first require a fixed pypi distribution.

In https://github.com/datactive/bigbang/pull/579/commits/46693a209cf4c0f2b3b93eb7cf6317ac75d77848 I have run black on all the files with the latest release of black + black default config to make the lint checks on github actions happy. This has added a lot more changes to this PR, I can use a different PR to put the black changes so it can be a bit more cleaner while reviewing this PR.

Thank you for all this great work!
I agree that removing setup.py and updating the docs is best.
Does this PR interact with #578 ?

Does this PR interact with https://github.com/datactive/bigbang/issues/578 ?

Yes, I will try to fix both https://github.com/datactive/bigbang/issues/578 and #577 in this PR so we have clean pypi/conda install.

Hoorah!

Ahhh, should have marked it WIP. I haven't checked everything. I will continue in a new PR

My apologies....


Add formatting to playground

This PR partly adds formatting functionality to playground. Could not fully test on macOS because of Sysbox.
Also the prompt still displays "TEST" when formatting, could not figure out why.
@achimcc this is as far I could go, please take a look and finish it up. ✌🏻

Thanks for the PR @statictype ! I found the reason why the Format button executes a testing request and left a single comment. This alone is not resolving all issues. I'll can try to fix the PR the next few days! However, I realized that:
make install
make generate
make backend-run
Should work fine on mac-os since it doesn't run Docker in docker and therefore doesn't depend on sysbox. You would just have to provide the docker image to your mac-os machine first with:
docker pull achimcc/ink-backend
docker tag achimcc/ink-backend ink-backend


Building and deploying a Docker image

Coverage remained the same at 96.103% when pulling 8c46f526b8d80932d01570a62045bf656546e9c3 on Docker into e0cdc7e7fc990eb9ce950ce251bff32ff5a6a6aa on master.


A little soundness hole around drop order of thread_local!(static …)

Here's the code to reproduce:
use std::{cell::{Cell, RefCell}, thread};

use thread_local::ThreadLocal;

fn main() {
    static FOO: ThreadLocal<Cell<i32>> = ThreadLocal::new();

    // thread 1
    thread::spawn(|| {
        thread_local!(
            static ACCESSOR: RefCell<AccessFooFromNewThreadOnDrop> =
                RefCell::new(AccessFooFromNewThreadOnDrop(None));
        );
        struct AccessFooFromNewThreadOnDrop(Option<&'static Cell<i32>>);

        // FOO.get_or_default(); // uncomment this if needed, for opposite initialization order
                                 // of the thread-locals `ACCESSOR` and “whatever ThreadLocal
                                 // uses internally” [I suppose `THREAD_GUARD: ThreadGuard`]
                                 // (drop order seems different on miri vs Linux)

        ACCESSOR.with(|a| { // initialize ACCESSOR in thread 1, will be dropped at end of scope below
            a.borrow_mut().0 = Some(FOO.get_or_default()); // store a borrow of thread-local FOO value
        });

        // destructor from `thread_local` library [I suppose `THREAD_GUARD: ThreadGuard`] runs first,
        // making FOO's value in thread 1, referenced in ACCESSOR, available for re-use in new threads

        impl Drop for AccessFooFromNewThreadOnDrop {
            fn drop(&mut self) {
                // thread 2
                let t = thread::spawn(|| {
                    // succeeds, re-using Cell<i32> value from thread 1
                    let r1: &Cell<i32> = FOO.get().unwrap();
                    r1.set(42); // write-write data race, UB
                });
                let r2: &Cell<i32> = self.0.unwrap();
                r2.set(1337); // write-write data race, UB

                t.join().unwrap();
            }
        }
    })
    .join()
    .unwrap();
}

(run on rustexplorer.com [where you'll just see it compiles&runs and doesn't panic; I haven’t made the data race particularly “observable” at run-time, to keep the code more clean])
With the additional FOO.get_or_default(); line uncommented as indicated, for panic-free execution on miri, this gets reported UB as expected:
error: Undefined Behavior: Data race detected between (1) non-atomic write on thread `unnamed-1` and (2) retag write of type `i32` on thread `unnamed-2` at alloc3418. (2) just happened here
   --> /home/frank/.rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:482:31
    |
482 |         mem::replace(unsafe { &mut *self.value.get() }, val)
    |                               ^^^^^^^^^^^^^^^^^^^^^^ Data race detected between (1) non-atomic write on thread `unnamed-1` and (2) retag write of type `i32` on thread `unnamed-2` at alloc3418. (2) just happened here
    |
help: and (1) occurred earlier here
   --> src/main.rs:37:17
    |
37  |                 r2.set(1337); // write-write data race, UB
    |                 ^^^^^^^^^^^^
    = help: retags occur on all (re)borrows and as well as when references are copied or moved
    = help: retags permit optimizations that insert speculative reads or writes
    = help: therefore from the perspective of data races, a retag has the same implications as a read or write
    = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
    = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
    = note: BACKTRACE (of the first span) on thread `unnamed-2`:
    = note: inside `std::cell::Cell::<i32>::replace` at /home/frank/.rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:482:31: 482:53
    = note: inside `std::cell::Cell::<i32>::set` at /home/frank/.rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/cell.rs:411:9: 411:26
note: inside closure
   --> src/main.rs:34:21
    |
34  |                     r1.set(42); // write-write data race, UB
    |                     ^^^^^^^^^^

The issue here is the reasoning behind the T: Send ==> ThreadLocal<T>: Sync logic not being 100% watertight. As stated in the docs:

Note that since thread IDs are recycled when a thread exits, it is possible for one thread to retrieve the object of another thread. Since this can only occur after a thread has exited this does not lead to any race conditions.

but the “can only occur after a thread has exited” part is enforced via a thread-local (the THREAD_GUARD: ThreadGuard one if I'm not mistaken). After that gets dropped, destructors of other thread_local!(static …); items can still run. Because ThreadLocal also doesn’t come with a .with(|x| …)-style API, borrows of 'static lifetime can be created and thus a borrow of a ThreadLocal’s contents can be made available to such destructors after the value has already been marked as re-usable by other threads via the ThreadGuard dropped beforehand.
I can’t really think of any particularly satisfying alternative workarounds in implementation, i.e. without significant API-change: Technically, a with(|x| …)-style API should probably “fix” this. The get()-style API can also be kept in addition, as long as the contained type is Sync (because unlike std::thread_local!, this ThreadLocal does not suffer from issues of the contents being dropped too early, when accessed during drops of thread locals).

For putting this into perspective; going as far as spawning a thread in the destructor of a thread-local is not necessary for unsoundness. The following simpler code too reliably reports UB on current miri (the thread::sleep is necessary to make miri execute this in a way that it finds the UB, but it should be a possible data race even without it):
use std::{cell::Cell, thread, time::Duration};
use thread_local::ThreadLocal;

static FOO: ThreadLocal<Cell<i32>> = ThreadLocal::new();

struct WriteOnDrop(&'static Cell<i32>);
thread_local!(static W: Cell<WriteOnDrop> = unreachable!());
impl Drop for WriteOnDrop {
    fn drop(&mut self) {
        self.0.set(0);
    }
}

fn main() {
    let _ = thread::spawn(|| W.set(WriteOnDrop(FOO.get_or_default())));
    thread::sleep(Duration::from_millis(100));
    FOO.get().unwrap().set(0);
}

Hmm, I would have expected the lock on THREAD_ID_MANAGER to act as a synchronization point which should avoid races. Specifically:

When ThreadGuard is dropped, it locks THREAD_ID_MANAGER and releases the thread id.
When thread_id::get is called on the main thread for the first time, it will lock THREAD_ID_MANAGER and get the same thread id that the child thread used.

Ah I see the problem now. The issue is that the lifetime returned by get() can outlive the thread ID.
You're right, I don't really see any alternative other than a .with-style API. This is unfortunate since it would require a new major release considering the API change.

I think get_sync with a T: Sync bound is sufficiently explicit. And we can deprecate the existing get API. That neatly avoids the need for a major release.


How do I passing arguments？

I have a method
@NeedsPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
private void writeToSD(String param1,String param2) {
...
}
but I only can use XXXActivityPermissionsDispatcher.xxxWithCheck(this) to making the method execute.
How do I pass arguments?
Should I declare parameters as global variables? or other solutions？

@Adusta we support argument with Needspermission annotation like the following.
https://github.com/hotchemi/PermissionsDispatcher/blob/master/processor/src/test/java/permissions/dispatcher/processor/data/Source.java#L995

thanks


Add copyright to source files

Signed-off-by: Eli Wrenn<EMAIL_ADDRESS>

@gcheadle-vmware Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@gcheadle-vmware Thank you for signing the Contributor License Agreement!


ProxiedDevice, connection to a remotely connected device via flutter daemon.

Also refactored DaemonStreams (that I wrote in a previous PR) for better reusability and testability, and added the ability to allow daemon commands to pass binary streams.
In my local tests passing a 100MB file in binary stream is ~50% faster than including a base64-encoded version in JSON.
Context: b/210724354
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Rebased this PR now that #95290 has been submitted.
Also reactored DaemonStreams (that I wrote in a previous PR) for better reusability and testability, and added the ability to allow daemon commands to pass binary streams.
In my local tests passing a 100MB file in binary stream is ~50% faster than including a base64-encoded version in JSON.
PTAL, thanks!

Thanks for the extensive review Jenn, Zech and Chris! I've pushed a new commit based on the feedback, the biggest change is that I've refactored the convertInputStream async* function into a separate class and managed to remove the async* by using a StreamController instead. PTAL, thanks!

Friendly ping @zanderso if you want to take another look at this? Thanks!

Sorry about that. The changes here will mostly not be used by default (especially the parts related to Sockets), and are only used in google3, so I think most of the changes here should be relatively safe for 3p users. The changes are submitted upstream only because it might be useful for some advanced 3p users.
And yes, I can fix upcoming issues or crashes if they come up, and I will send a separate PR to address the feedbacks you sent above.
Thanks.


iss10: Data Split Operation

Implement data split operation so that desirable epochs can be selected.

Data split func. added. Now data can be split epoch dimension.
However, when operation set is switched, the trial number goes back to 1 to avoid 'IndexExceedsException'.

Trial number for each operation set is stored in operationSet structure. The trialNum is updated when operationSet is changed. Thus, each operation set remembers its current trial number.

"Data Split" func. renamed to "Group Epochs". Groups of epochs can be created now. Group Epochs operation can only be used once per operation set.


Add support for shelly wave/qubino devices

Hello,
it seems firmware for the shelly wave devices is made public on github. Is this usable?
https://github.com/QubinoHelp/Shelly_Wave_FW_OTA/
Edit: source on their website directing to the github repo: https://support.shelly.cloud/en/support/solutions/articles/103000258471-firmware-updates

Hello,
Firmware update for Wave 2PM is publicly available to the following URL address.
https://support.shelly.cloud/en/support/solutions/articles/103000258471-firmware-updates
Please could you make available this OTA version 11.05 to the community.
Else is there a way to proceed from a local gbl file (I know only the process from Silicon Labs which quite annoying as I have to stop everything and plug the key in PC) ?
Many thanks in advance
Best regards

@AlCalzone : with what is provided on their website (see link above), isn't it enough ?
I've used the firmwares from that webpage to update both my Wave 1 and Wave 2PM modules and it works flawless :)
I really don't know how to add this on the "upgrade funnel" via this repo, otherwise I would PR it myself, but I fear if I do so I may mess up things and cause peoples devices to have incorrect firmwares :)

@jfhautenauven they are on it, so don't worry.

@AlCalzone there is a pull request for this waiting to be reviewed and integrated. Could this please be added?

I'm back from parental leave next week. Will do it then.

Not sure if we got them all now, but the open PRs have been merged.


Inference demo for detection

Thanks for your great work！ Is there any plan to release an Inference demo (for single image detection) or interactive script(bash or UI).

Hi, thanks for your interest.
I have added an inference demo for object detection in Jupyter file. There are some new requirements for this demo, like the pre-computed class features for LVIS (as well as COCO, Object365) and the environment.yaml.
You can follow my own repo for the latest change. @astonzhang will merge my new PRs at his convenience.
We hope this could be helpful.

very helpful, thanks again


Fixing network section in Plan resource

Short description:
Fix for the NetworkMap referenced in Plan (MTV resource)
More details:
Set the NetworkMap name and namespace as expected
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

/Verified


Implement server restart tests to mitigate regression issues

Reviewed in https://github.com/wso2-support/product-apim/pull/1377


check-rabbitmq-node-health.rb check bug

in node_healthy! func
# Parse our json data
nodeinfo = JSON.parse(resource.get)[0]
only get the first node info is incomplete.
Singleton rabbitmq node is OK. when rabbitmq cluster，will not normal working.

def node_healthy?
...
JSON.parse(resource.get).each do |nodeinfo|
# do something check
...
end
...
end
this will be well.

@rocdove thanks for the report, would you be willing to submit a pr to fix this?

Let me try.

@majormoses  Please give some advice for this commit. THX!

@rocdove when I have some time absolutely.

@rocdove overall it seems reasonable looking at the code just some minor tweaks. When you are ready create a PR:

make sure to add a CHANGELOG entry under unreleased
a testing artifact is provided, if not a unit test then a gist/screenshot with the input and output so we know it works.

I do use RMQ cluster for sensu so I will pull your code and try to test tomorrow.

@rocdove realized this was already reported awhile go: https://github.com/sensu-plugins/sensu-plugins-rabbitmq/issues/43 I think we should close this and continue any further discussions over there.


Setters and tests for parameters in RollupBase

Added setters and tests for parameters in RollupBase
Core changes:

new event ConfigurationChanged()
setter functions
tests

Notes:

baseStakeAmount can only be decreased

This is great work @Andy-Zhou2 , however I would like to understand the rationale behind introducing all these setters when Rollup.sol has the init function to set them.
Secondly, I am not very sure if the errors and events in RollupBase.sol should be included in IRollup.sol or in a separate IRollupBase.sol. Looping in @ujvl for comments on this.


Updating the admin.description ends up in integrity constraint violation

Version information

Laravel: v6.5.2
Voyager: v1.3.0
PHP: 7.3
Database: MySQL 5.7.28

Description:
Updating the Admin Site Description ends up in integrity constraint violation
Additional context
When I update the Admin Dashboard Description from within the dashboard, voyager tries to update admin description on the wrong id. It tries to update where id=2 (key = site.description) instead of id=7 (key=admin.description).

That's because you are in Site Tab trying to update an Admin setting.

Switch Tab and it will work.

It should either display the correct inputs or update the correct fields.

It's showing the correct input as far as I know, but I understand your confusion.
You are following these steps, correct me if I'm wrong:

Go on setting page, Site tab by default
Change description
Change option in select from Site to Admin
Try to save

Third step is your problem, that select is there if you want to move your setting from one tab to another but since there is already an admin. description you get the duplicate key error.
Hope that clarified.
Please let us know if that what's happening or list exact steps to reproduce the problem.

Okay yes, exactly. I tried to reproduce the error and it fails if I for example change an information on the site-tab but the select on the right is on "Admin" - which last time must have happened by accident, which is why I was confused. But what is the point of the select then? If it produces an error, It shouldn't be possible to use it this way.

If you change the group of site.title to admin it will conflict with admin.title which already exists.

I think we can close this.
@philippzentner if you have a suggestion on how to improve Settings interface you can open a feature request or even better propose a PR.


insomnia: 2023.5.5 -> 2023.5.7

Description of changes
change log: https://github.com/Kong/insomnia/releases/tag/core%402023.5.7
diff: https://github.com/Kong/insomnia/compare/core%402023.5.5...core%402023.5.7
added myself as a maintainer

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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

1 package built:

insomnia


Check CLI version before installing/launching

If somebody is using an old version of the CLI, this plugin won't work. So let's check for the min version required for compatibility (I think this will be based on twilio-cli/core)
Can chat with the team building Flex Plugins CLI to see how this works

Escalating this because of the update to Oclif v2/core #149 and Twilio CLI Core v7


AUTO setting for power of 10 on color keys, listings

Reported by ansley b manke on 25 Mar 2010 16:44 UTC
On a color plot such as

yes? use etopo20
yes? let rsmall = rose/1.e8
yes? shade/lev=cv/pal=land_sea rsmall

the labels on the color key are tiny because we're cramming labels like -7.5e-05 into the space between the and the colorbar and the edge of the plot.
How about a new MODE TENPOWER or some such thing, which by default is set to "auto".  In auto mode Ferret detects when an exponent is needed in order to generate the key labels, and it factors that out as a label which it places independently on the plot, or as part of the title string.
The same concept applies equally well to contour plots and even ASCII listings.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1731

Comment by ansley.b.manke on 29 Mar 2011 21:34 UTC
Here is a better idea using a /LEVELS setting.
We need a fix for this that is suitable for automated plot generation -- e.g. LAS.    Here's a nutshell suggestion for your comments:

address this situation inside of PLOT+ at the point that the determination of contour levels is done
in Ferret offer a qualifier along the lines of   /LEVELS=S (where "S" means "scaled")
If "scale" is true, then new PLOT+ logic kicks in to rescale the levels and add an annotation onto the color bar to that effect.  (Need to decide if it is worth implementing this behavior for line contour level labels, too ... probably not.))
hunch: it seems likely that this problem can be addressed as a post-processing of the LEVELS.  After the levels have been determined, loop through the list to compute the average of (LOG10(ABS(level(i)))).  (exclude exact zero and possibly exclude the topmost and bottom-most levels from this calculation (??).   Then if the value is less than -3 or greater than 3, introduce a factor of 10^(3i)^ as a rescaling of the color bar labels.  Also write an annotation (say under the color scale_ that says "x106" or whatever)

In the example below the average of the LOG10 of the levels would have been around -8, resulting in color bar label strings of "0", "5","10", "15", ... annotated with "x10^9^".   (If you generate the string  "x10^9^" as a PLOT+ movable label, and perhaps as a PLOT+ symbol, too, then it becomes editable in a pinch.


Add a favicon.ico to the root

There currently isn't a logo, so anyone who wants to do this can feel free to design one. Doesn't have to be complicated.
😄

@PXgamer i'll do it 👍


feat: add Chapters and Lessons feature

Codecov Report

Merging #151 (6c4509b) into main (ae50fab) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #151   +/-   ##
=======================================
  Coverage   10.05%   10.05%
=======================================
  Files          67       67
  Lines         885      885
  Branches      316      316
=======================================
  Hits           89       89
  Misses        794      794
  Partials        2        2

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 ae50fab...6c4509b. Read the comment docs.


Remove fonts which should not be here

Pull Request Description
An issue found after merging #11287
Important Notes

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[ ] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[ ] Unit tests have been written where possible.

After a quick discussion, we decided to keep these files and remove the download scripts instead.


How to create a custom token model properly?

Hey there.
I want to create a custom token model , so it can store the data about user-agent, ip_address, and some other stuff.
Apart from that, I am wishing to revoke the tokens, something similar to telegram

My problem here is that when I create my own model, declare the custom creation and authentication methods, everything works fine except the registration, because, in default registration view it tries to find user.auth_token, which for some reason does not use my custom token model declared in the settings

When I subclass the Token model from dj-rest-auth, it actually works as well, apart from one thing. In the default model, user is a One to One field, meaning that one user can only have one session active at a time, while I need this to be a foreign key, but I cannot change it when subclassing.
Please help me with that, how do I implement multiple sessions, which store more data than a default Token model and work with all the dj rest views?

Hi I'm closing tickets in this issue tracker that aren't bugs.


Allow to add inline ignore for tagging terraform resource

To prevent resource deletion when using depend_on meta argument we would like to ignore some resource tagging.
The best solution should be to add inline comment to specify to ignore tagging
Solution 1:
# main.tf

# yor:ignore
module.vpc_dev {
...
}

Solution 2:
# main.tf

# yor:ignore:module.vpc_dev

module.vpc_dev {
...
}

module.vpc_prod {
...
}

Hi @tommy31
I'm not a maintainer, but I would like to understand the need of this. What do you mean with prevent resource deletion?

To prevent ressource deletion when using depend_on meta argument we would like to ignore some ressource tagging.

Could you give an example behavior of what's happening?

Hi @jgrumboe , I think what @tommy31 means is skip tagging some resource by adding ignore annotation in comment.  For his solution 2, the module.vpc_dev won't be tagged.

Hi @jgrumboe / @lonegunmanb,
We had an issue after adding Yor to an old project who use a lot of depend_on between terraform ressources and in our case adding new tag to some ressources force other ressources that depend on it to be recreated, wich in our case are too critical.
That's why, as @lonegunmanb says, we would like a way to tell yor to avoid tagging some ressource and a common way to do it is by using inline comment.
Hope this help you to understand my needs.

This requires modification of how the HCL parser works, there is already a method for excluding untaggable resources from analysis although this does require a code change.

https://github.com/bridgecrewio/yor/pull/530


[BUG] Does not work if dependencies are snapshots

Describe the bug
Snapshot dependencies are missing from the JSON report. This is probably due to the difference between Artifact.getVersion() and Artifact.getBaseVersion(). depclean uses Artifact.getVersion() but that doesn't match the output of mvn dependency:tree which uses Artifact.getBaseVersion().
Expected behavior
Snapshot dependencies should be included in the JSON report.

Hi @alerosmile, thanks for reporting this issue.
I've added a dependency with SNAPSHOT version to the project json_should_be_correct. This project is used by DepClean for integration test. I checked the depclean-results.json produced, and it is correct (i.e., it lists all the types in the SNAPSHOT dependency that I just added).
Can you provide more context on this issue or give an example of a project for which DepClean produces an incorrect depclean-results.json file?

I've added the following SNAPSHOT dependency:
<repositories>
  <repository>
    <id>apache.snapshots</id>
    <url>https://repository.apache.org/snapshots/</url>
    <releases>
      <enabled>false</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>
<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-javadoc-plugin</artifactId>
  <version>3.4.2-SNAPSHOT</version>
</dependency>

The dependency is not added to the JSON. It is added if the dependency was maven-javadoc-plugin:3.4.1.
The log output with 3.4.1 is:
POTENTIALLY UNUSED DIRECT DEPENDENCIES [2]:
	org.apache.maven.plugins:maven-javadoc-plugin:3.4.1:compile (511 KB)

The content of tree.txt is:
org.foo.bar:foobar:jar:1.0.0-SNAPSHOT
+- com.jcabi:jcabi-manifests:jar:1.1:compile
+- commons-io:commons-io:jar:2.8.0:compile
+- commons-codec:commons-codec:jar:1.15:compile
\- org.apache.maven.plugins:maven-javadoc-plugin:jar:3.4.1:compile

The log output with 3.4.2-SNAPSHOT is:
POTENTIALLY UNUSED DIRECT DEPENDENCIES [2]:
	org.apache.maven.plugins:maven-javadoc-plugin:3.4.2-20221217.222016-23:compile (486 KB)

The content of tree.txt is:
org.foo.bar:foobar:jar:1.0.0-SNAPSHOT
+- com.jcabi:jcabi-manifests:jar:1.1:compile
+- commons-io:commons-io:jar:2.8.0:compile
+- commons-codec:commons-codec:jar:1.15:compile
\- org.apache.maven.plugins:maven-javadoc-plugin:jar:3.4.2-SNAPSHOT:compile

Here you can see the difference: 3.4.2-20221217.222016-23 vs. 3.4.2-SNAPSHOT.
Have a look at se.kth.depclean.core.analysis.model.ProjectDependencyAnalysis.findByCoordinates(String):
dependencyClassesMap's key is org.apache.maven.plugins:maven-javadoc-plugin:3.4.2-20221217.222016-23 but coordinate is org.apache.maven.plugins:maven-javadoc-plugin:3.4.2-SNAPSHOT.
What am I doing differently than you?

Hi @alerosmile,
You're right. Using Artifact.getBaseVersion() instead of Artifact.getVersion() fixes the issue. I merged a PR to the master branch: https://github.com/castor-software/depclean/pull/147
Please

ping @alerosmile

Hi @cesarsotovalero,
Sorry for the late response. The bugfix works, but it was reverted in 462bca1472db3198c2e47aff072126209f796bce.
MavenDebloater still doesn't work. getVersion() should be replaced with getBaseVersion() in matches(Artifact, Dependency) and createDependency(Artifact).
For this to reproduce you have to make sure that the maven-javadoc-plugin from my example above is actually used (adding import org.apache.maven.plugins.javadoc.JavadocJar; should be enough)
I'm not sure about MavenDependencyGraph.projectCoordinates()...


Update test.py

I tried to use separate() function directly. realize the expected audio shape is mismatched with the current docstring.
Just added a line one that I had to search from another place.

What does this implement/fix? Explain your changes.
Any other comments?

good catch, thanks.
@keunwoochoi btw. version 1.1 is ready soon. See the dev branch for a completely new api

good catch, thanks.
@keunwoochoi btw. version 1.1 is ready soon. See the dev branch for a completely new api

@faroit just checked out the branch. great work!

@faroit just checked out the branch. great work!


added import sorting using isort + small yapf fix

isort is a very useful tool that orders imports. I added the feature to both python formatters.

added a ignoreReturnCode: true to yapf run command to fix the empty error I was getting.

Looks good. Waiting to confirm the Travis CI tests pass, and then I will merge. Thank you very much!

AppVeyor build details give a ruby error :/ doesn't look related to my code.

I usually ignore AppVeyor. Windows installs are a PITA.
If Travis CI passes, I consider it working.
This is really just testing to see if it broken anything else. If you really want to test this code then:

add installation of isort to Travis CI: https://github.com/Glavin001/atom-beautify/blob/master/.travis.yml#L31
add another example in https://github.com/Glavin001/atom-beautify/tree/master/examples for the applicable language directories and for this PR add a .jsbeautifyrc file with the isort option enabled (since it is disabled by default).

Could you merge with the latest master? It should resolve the current Travis CI problems.

Let me write those tests... it will take me a while though, little short on time these days.

@Glavin001 Is the example included correctly?

Yup, looks good to me. Thank you for contributing!

If you could resolve the merge conflicts and push the changes I am ready to merge. Thanks!

Hey resolved the conflicts same days ago, did you see it?

Thank you for contributing!


[Help] Default process group has not been initialized, please make sure to call init_process_group

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
command: sh train.sh
Error: RuntimeError: Default process group has not been initialized, please make sure to call init_process_group.
thanks.
Expected Behavior
No response
Steps To Reproduce
Run: sh train.sh
Environment
- OS:centos 8
- Python: 3.9.6
- Transformers: 4.30.1
- PyTorch: torch                       2.0.1
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) : True

Anything else?
No response

Have you found the cause? I'm also having this problem. Thank you!

me too

Suggest checking the transformers version.
transformers == 4.27.1 worked for me.

已经解决，解决方法： train.sh中，改为
python3 -m torch.distributed.launch  --use_env  main.py

已经解决，解决方法： train.sh中，改为
python3 -m torch.distributed.launch --use_env main.py

根本就不是train，我跑evaluate.sh也报错


Adjust matching function names to better represent functionality

Summary
Rename all of our functions in recordlinker.linking.matchers to better align with their functionality.
Acceptance Criteria

[ ] Renaming the functions as directed in the comments of this issue
[ ] Updates to the intial_algorithms.json to match the new names
[ ] Updates in the test cases to account for name changes
[ ] Update documentation to any references to these in docs/

Details
Existing Eval Names:

eval_perfect_match
eval_log_odds_cutoff

Existing Matching Names:

feature_match_any
feature_match_exact (maybe "feature_match_all"?)
feature_match_fuzzy_string (maybe "feature_match_fuzzy_any"?)
feature_match_log_odds_fuzzy_compare

@alhayward do you have any name recommendations for the above function?


Testing new release

Hi,
Could you please test the new release via GitHub Releases page?
This should now upload to pypi once you create a new release, so then I can test the added option

Done


test(iteration): add page object for iteration active button

Page-object required to automate the story to add a new button to turn an iteration active.
Ref:
https://github.com/fabric8-ui/fabric8-planner/pull/2108
https://github.com/fabric8-ui/fabric8-planner/pull/2106

@rgarg1 fabric8/fabric8-ui:SNAPSHOT-PR-2110-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2110-fabric8-planner.badger.fabric8.io

@rgarg1 fabric8/fabric8-ui:SNAPSHOT-PR-2110-3 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2110-fabric8-planner.badger.fabric8.io