Make dwm restart on the tag number from where I left it off.

So, I'm using your dwm-preserve-on-restart patch and I'm really appreciating it. However, when restarting dwm, the tag jumps back to the 1st tag. I'd like it to stay on the most recent tag I was on.

Hi! I don't think there is need to make a patch for that, it could be handled with a simple bash script. Here is an example:
id=$(printf '0x0%x' $(xdotool getactivewindow)) kill -HUP $(pidof -s dwm) (sleep 0.1 && wmctrl -ia $id) &

Hi! Thanks for your comment. I don't think there is need to make a patch for that, it could be handled with a simple bash script. Here is an example:
id=$(printf '0x0%x' $(xdotool getactivewindow))
kill -HUP $(pidof -s dwm)
(sleep 0.1 && wmctrl -ia $id) &

How do I incorporate this into my dwm restart script. I'm not much familiar with scripting.
One more thing, I'd like the tiled windows on every tag to be in the exact same layout and position they were previously in. How can I do that?


Installation Manager

We need an easy installation manager for Pocketnet & Bastion software.
The size of the final installer should strive to the minimum for distribution via the Pocketnet blockchain as part of the transaction payload.
It is assumed that the source codes will be located in the public repository of the PocketnetTeam account.
In the blockchain, a cross-reference to the published tag in GitHub will be implemented in the Post transaction (later allocated to a separate type of Release transaction).

Realize GET link for txHash with Post with Binary of installation manager over REST http socket
https://github.com/pocketnetteam/pocketnet.core/blob/0.20/src/rest.cpp

It would be nice if this also placed the checkpoints/main.sqlite3 file in the correct directory as well.

@tawmaz As for the checkpoint file, we need to change the path to it so that it is not in the data directory, but together with the binary file. But this can cause problems in linux, since binary files are installed in /usr/local/bin


ci: allow any tag to kick off release process

CircleCI does a bad job of validating these tags. It is also redundant here because we do our own validation as part of the release. Much better for the release to kick off and fail over the release not ever kicking off because that would leave people very confused

Fully agree! Really good change! Random tag is not going to cause release as it will not match the x.x.x format!


MISSING Status

From what I gathered, when you run ./phinx status and see MISSING, it means that you deleted the migrations. However, all of my migrations are there, but I am still seeing the missing status for both (2) migrations. Is there another reason for this that I need to look into? Thanks for your help.

Posting the results in case this helps:
$ ./phinx status -e production
Phinx by Rob Morgan - https://phinx.org. version 0.6.4

using config file ./phinx.php
using config parser php
using migration path app/src/vendor/Phinx/migrations
using environment production

 Status  Migration ID    Started              Finished             Migration Name
----------------------------------------------------------------------------------
   down<PHONE_NUMBER>2812                                            InitialSchema
   down<PHONE_NUMBER>5404                                            CurrencyTable
     up<PHONE_NUMBER>2812  2016-09-24 17:26:29  2016-09-24 17:22:00  InitialSchema  ** MISSING **
     up<PHONE_NUMBER>5404  2016-09-24 17:27:01  2016-09-24 17:27:01  CurrencyTable  ** MISSING **

Ok, so it is a path issue. So, I edited vendor/robmorgan/phinx/bin/phinx, and changed this:
$app = require __DIR__ . '/../app/phinx.php';
to this:
if (file_exists(__DIR__ . '/../app/phinx.php')) {
    $filename = __DIR__ . '/../app/phinx.php';
} elseif (file_exists(realpath(__DIR__ . '/../app/phinx.php'))) {
    $filename = realpath(__DIR__ . '/../app/phinx.php');
} else {
    $filename = 'vendor/robmorgan/phinx/app/phinx.php';
}

$app = require($filename);

Where are you when you run ./phinx?


vscode freezes on start on Redhat 7.9

VS Code Version: code-1.54.3-1615806453.el7.x86_64
OS Version:

[abcd@oc3sdfdgsd Documents]$ cat /etc/os-release
NAME="Red Hat Enterprise Linux Workstation"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Workstation"
VARIANT_ID="workstation"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Workstation 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:workstation"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
Steps to Reproduce:

Install vscode using yum
Start vscode. It freezes immediately.

Does this issue occur when all extensions are disabled?:  Yes

/duplicate of #115784. Subscribe to it if you want to be notified of any change to the status of VS Code's compatibility with CentOS 7.


Code Segments Render on One Line

See here: https://eleventyone.netlify.com/posts/a-post/

Something I did here fixed it: https://github.com/nikhiljha/blog/commit/278405d08b63a6d236b28c691733b6d10dc46868

I'm not seeing this issue.
looks to have been resolved in subsequent updates.


v2 bug: cannot find package "github.com/urfave/cli/v2" in any of: /Users/myusername/.goenv/versions/1.14.2/src/github.com/urfave/cli/v2 (from $GOROOT)  /Users/myusername/go/1.14.2/src/github.com/urfave/cli/v2 (from $GOPATH)

my urfave/cli version is
( Put the version of urfave/cli that you are using here )
Checklist

[x] Are you running the latest v2 release? The list of releases is here.
[x] Did you check the manual for your release? The v2 manual is here
[x] Did you perform a search about this problem? Here's the Github guide about searching.

Dependency Management

[x] My project is using go modules.
[ ] My project is using vendoring.
[ ] My project is automatically downloading the latest version.
[x] I am unsure of what my dependency management setup is.

Describe the bug
A clear and concise description of what the bug is.
When I run "go get github.com/urfave/cli/v2", I get:
package github.com/urfave/cli/v2: cannot find package "github.com/urfave/cli/v2" in any of:
/Users/sqiu/.goenv/versions/1.14.2/src/github.com/urfave/cli/v2 (from $GOROOT)
/Users/sqiu/go/1.14.2/src/github.com/urfave/cli/v2 (from $GOPATH)
Then I changed it to run "GO111MODULE=on go get github.com/urfave/cli/v2", and I got:
go: github.com/urfave/cli/v2 upgrade => v2.3.0
I import v2 as "github.com/urfave/cli/v2", but when I run the program it gives me error:
cannot find package "github.com/urfave/cli/v2" in any of:
/Users/myusername/.goenv/versions/1.14.2/src/github.com/urfave/cli/v2 (from $GOROOT)
/Users/myusername/go/1.14.2/src/github.com/urfave/cli/v2 (from $GOPATH)
To reproduce
Describe the steps or code required to reproduce the behavior
Observed behavior
What did you see happen immediately after the reproduction steps above?
Expected behavior
What would you have expected to happen immediately after the reproduction steps above?
Additional context
Add any other context about the problem here.
If the issue relates to a specific open source Github repo, please link that repo here.
If you can reproduce this issue with a public CI system, please link a failing build here.
Want to fix this yourself?
We'd love to have more contributors on this project! If the fix for this bug is easily explained and very small, free free to create a pull request for it.
Run go version and paste its output here
# paste `go version` output in here

go version go1.14.2 darwin/amd64
Run go env and paste its output here
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/sqiu/Library/Caches/go-build"
GOENV="/Users/sqiu/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/sqiu/go/1.14.2"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/sqiu/.goenv/versions/1.14.2"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/sqiu/.goenv/versions/1.14.2/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/j7/xjg8nkls16s11kf9r4zcntp40000gq/T/go-build097675889=/tmp/go-build -gno-record-gcc-switches -fno-common"
# paste `go env` output in here

It sounds like modules might not be correctly enabled in your project—the thing to check for is a go.mod file.
If it's missing, assuming you're working on a project at github.com/92612ShiyuQiu/my-project, at the root of your repo, run:
go mod init github.com/92612ShiyuQiu/my-project

This will create a go.mod file for you. From there, go get github.com/urfave/cli/v2 should work without setting GO111MODULE=on explicitly, and running your project should do the same.


2710 animation manager on update

This PR changes (delete as applicable)

Documentation
TypeScript Defs
The public-facing API

Describe the changes below:
I've implemented the AnimationManager.onUpdate requested in #2710.

Thank you for your PR! Today I released Phaser CE (Community Edition). This is my way of opening up Phaser 2 to the community, allowing you to control features and updates directly. Please see the README in the v2-community folder of the repo for more details about this change.
If you could please re-submit your PR against the new Phaser CE version then I will merge it immediately :) Note that PRs now go against the master branch, and don't forget to add your change to the README too!


NEXT-10844 - Allow creating documents without order reference

1. What does this change do, exactly?
The main change of this PR is removing the $order argument from DocumentGeneratorInterface::generate() to allow creating generators for documents unrelated to orders. The OrderEntity is added to the config instead.
On the way I changed several other things:

Fixed generation of order documents in landscape orientation.
Removed unnecessary properties from DocumentConfiguration.
Added an AbstractOrderDocumentGenerator and based all existing document generators on it to get rid of some boilerplate code.
Changed DocumentGeneratorInterface::supports() to expect a string argument and return a bool.

2. Describe each step to reproduce the issue or behaviour.
Just try to create a document without having an order reference.
3. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfill them.

Hey @svenmuennich ,
Can you rebase your PR against major, fix the Code-Style issues and create a new PR against shopware/platform. It's easier for our Workflow to handle breaking changes in this Repository. Thanks! :pray:


[#6253] Fix ITTest

Codecov Report

Merging #6298 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #6298      +/-   ##
==========================================
+ Coverage    39.6%   39.61%   +<.01%
==========================================
  Files        3064     3064
  Lines       91373    91373
  Branches    11831    11831
==========================================
+ Hits        36189    36195       +6
+ Misses      52199    52194       -5
+ Partials     2985     2984       -1

Impacted Files
Coverage Δ

...point/test/plugin/shared/SharedProcessManager.java
0% <0%> (ø)
:arrow_up:

...rp/pinpoint/test/plugin/DefaultProcessManager.java
0% <0%> (ø)
:arrow_up:

...pc/server/LoggingServerMessageListenerFactory.java
90% <0%> (-10%)
:arrow_down:

...ollector/cluster/zookeeper/ZookeeperJobWorker.java
80.93% <0%> (+1.39%)
:arrow_up:

...navercorp/pinpoint/rpc/common/SocketStateCode.java
85.36% <0%> (+2.43%)
:arrow_up:

...p/pinpoint/rpc/client/WriteFailFutureListener.java
75% <0%> (+18.75%)
:arrow_up:

Continue to review full report at Codecov.

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


H264 - no video

Dear alfredh,
tremendous thanks for making baresip available to all!
Unfortunately, I'm struggling to solve a problem with video.  I have downloaded baresip from the git repo and installed in on a pair of raspberry pi 3 boxes, both of which have Logitech C920 cameras. I have checked that the necessary libraries / header files / packages for v4l2 and avcodec (loaded in that order) are installed and compilation seems to be successful.   I confirm that '/vidloop h264' works perfectly.  I have made several audio test calls via an asterisk box, all successful.  I have activated rtpstats and I confirm that both audio and video packets are arriving at each end.
Now, to the problem.  Despite video packets being received on each end, neither end has video.  In particular, when I hit 'V' during a call, I have something like this on both ends:
--- Video stream ---
started: yes
tx: encode: H264 ?
source: v4l2_codec 352 x 288, fps=1
skipc=0
time = 26.067 sec
rx: decode: H264
vidisp: omx 0 x 0
n_intra=2, n_picup=44
time = 26.382 sec
video tx pipeline: v4l2_codec ---> selfview_pip ---> H264
video rx pipeline:        omx <--- selfview_pip <--- H264
video dir=sendrecv pt_enc=96
local: <IP_ADDRESS>:23518, remote: <IP_ADDRESS>:14540/<IP_ADDRESS>:14541
RTP debug:
Encode: seq=25596 ssrc=0x540f357
----- RTCP Session: -----
<EMAIL_ADDRESS>SSRC=0x0540f357/88142679 rx=90000Hz
member 0x08f070b2: lost=0 Jitter=0.0ms RTT=3.0ms
IP=<IP_ADDRESS>:14540 psent=5949 rcvd=6289
TX: packets=6316, octets=5260117
--- jitter buffer debug---
running=1 min=5 cur=5 max=10 [frames]
seq_put=4567
Stat: put=6289 get=6289 oos=0 dup=0 late=0 or=0 ur=5 flush=1       put/get_ratio=100% lost=0 (0.00%)
Given the 'vidisp: omx 0 x 0', I guess there is a problem in decoding.    Any suggestions as to how to debug would be very gratefully received.
Thank you in advance.

thank you @mo8Zomo0 for the reply.  Here is the information you requested:
baresip: latest commit 54a4f2c  / v0.5.7 (I have tried the stable version from the raspbian repo previously, had the same issues, and so tried compiling the git version to see if this solved my problem) (obtained from https://github.com/alfredh/baresip)
re:  6241871 (otbained from https://github.com/creytiv/re)
rem: f19ef85 (obtained from https://github.com/creytiv/rem)
distri: Raspbian GNU/Linux 9 (stretch) (with all updates/upgrades via apt-get update/upgrade)
config:
poll_method		epoll		# poll, select, epoll ..
sip_trans_bsize		128
sip_listen		<IP_ADDRESS>:5061
call_local_timeout	120
call_max_calls	4
audio_player		alsa,plughw:CARD=ALSA,DEV=0
audio_source		alsa,plughw:CARD=C920,DEV=0
audio_srate		8000-48000
audio_channels		1-2
audio_level		no
ausrc_format		s16		# s16, float, ..
auplay_format		s16		# s16, float, ..
auenc_format		s16		# s16, float, ..
audec_format		s16		# s16, float, ..
video_source		v4l2_codec,/dev/video0
video_display		omx,nil
video_size		352x288
video_bitrate		500000
video_fps		        1
video_fullscreen	yes
rtp_tos			184
rtcp_enable		yes
rtcp_mux		        no
jitter_buffer_delay	5-10		# frames
rtp_stats		yes
module_path		/usr/local/lib/baresip/modules
module			stdio.so
module			httpd.so
module			g722.so
module			vumeter.so
module			alsa.so
module			selfview.so
module			v4l2_codec.so
module			avcodec.so
module			omx.so
module_tmp		uuid.so
module_tmp		account.so
module_app		auloop.so
module_app		contact.so
module_app		debug_cmd.so
module_app		echo.so
module_app		menu.so
module_app		vidloop.so
cons_listen		<IP_ADDRESS>:5555
http_listen		<IP_ADDRESS>:8000
evdev_device		/dev/input/event0
speex_quality		        7 # 0-10
speex_complexity	        7 # 0-10
speex_enhancement	0 # 0-1
speex_mode_nb		3 # 1-6
speex_mode_wb		6 # 1-6
speex_vbr		        0 # Variable Bit Rate 0-1
speex_vad		        0 # Voice Activity Detection 0-1
speex_agc_level		8000
opus_bitrate		28000 # 6000-510000
video_selfview		pip # {window,pip}
selfview_size		60x60
ice_turn		                no
ice_debug		        no
ice_nomination		regular	# {regular,aggressive}
ice_mode		                full	# {full,lite}

Hi,
the v4l2_codec module should be working with the Logitech C920 camera
regarding the v4l2_codec module:

it is implemented as a hybrid with both video source and encoder
it does not implement bitrate control (yet).
it does not implement handling of Full Intra Request

A couple of questions for you:

could you please paste the output of the rtp stats when the call ends
(enable rtp_stats yes in config) ?
are you using Ethernet or Wireless LAN ?
could you try to change the omx display to something else like x11 or sdl2 ?
could you try to replace one of your devices with a regular desktop and
a desktop SIP client (for example Linphone, baresip etc). ?
is the video RTP stream sent via your Asterisk server ?

you can also try to make a direct call from A to B, where the B-side
has sip_listen <IP_ADDRESS>:5060 in the config and on the A side you can
dial directly with /dial<EMAIL_ADDRESS>from other reports and local testing I have seen that the default bitrate
from the C920 (or the driver) is relatively high, around 2-3 Mbit/s
here is from my local testing with Raspberry Pi and C920:
video           Transmit:     Receive:
packets:           2930            0
avg. bitrate:    1981.1          0.0  (kbit/s)
errors:               0            0
pkt.report:        2745            0
lost:                 1            0
jitter:             5.9          0.0  (ms)

Alfred

thanks for the response.  I can respond to some, but not all of your questions - this is because I'm trying to use baresip over asterisk and the second rpi is at a remote location to which I don't currently have physical access.
Regarding your comments about the v4l2_codec module, yes, I already read about the hybrid nature of this module and have used v4l2_codec before avcodec in order that I have the encoding from v4l2_codec.  Your comments regarding the current absence of bitrate control explain my observations that the bit rate seems independent of the frame rate.   It seems that the bitrate is reduced when I reduce the resolution, however.  This I now have set to 160x90 in order to avoid any bandwidth limitations while debugging.  I do have significant artifacts and I guess this is due to the lack of FIR - occasionally I have a crystal clear image.
Now, regarding your specific questions:

rtp stats: here is an example from a call in the order of a few seconds duration

audio           Transmit:     Receive:
packets:            559          559
avg. bitrate:      27.6         28.4  (kbit/s)
errors:               0            0
pkt.report:         500          501
lost:                 0            0
jitter:             0.1          1.6  (ms)
video           Transmit:     Receive:
packets:            617          999
avg. bitrate:     409.0        367.4  (kbit/s)
errors:               0            0
pkt.report:         566          897
lost:                 0            0
jitter:             0.0          8.5  (ms)

Ethernet or Wireless LAN - wireless, but I believe that the bit rates are so low that this isn't a problem.  I don't have sufficient cables right now to test with LAN but, due to other observations, I'm confident that the use of wireless isn't the cause of my problems.

x11 or sdl2 - unfortunately I can't try this easily.  Neither rpi's have X installed (they are headless, except for the HDMI connection to display pannels) hence my use of omx.  Please read on to see why I am inclined to believe that my use of omx is also not the cause.

regular desktop SIP client - I've tried this and have positive results now.  I managed at different times, with different asterisk configurations to have video either on baresip OR on my Jitsi client, but thus far never both - I believe the cause of this is just an asterisk config problem.

Asterisk? Yes, via Asterisk.  Now I'm sending directmedia and this has improved things, though I also had some success before this without directmedia.  See more below...

Thank you for the suggestion to try direct calling - this has helped demonstrate that indeed my Asterisk configuration is the most likely source of my problems.  I had success (but no two-way video) with direct calling which I can now achieve with Asterisk SIP in the loop.  This is still only one-way video but, as mentioned above, I believe this is an asterisk config / codec negotiation problem which I should be able to fix.
Regarding your comment about bitrate from the C920.  I also found it to be very high, around 2-3 Mbit/s with default settings.   As mentioned above, I've reduced this for the sake of testing by reducing the resolution.
So.... (apologies for the long response)... to the conclusion.  Your comments have been helpful in identifying Asterisk as the cause of the problem, not baresip.  In all of this, I failed to mention that, in my original testing, I was using SIP at each location and connecting the two locations via IAX.  With even local testing in the same LAN with the same baresip/Jitsi client, as soon as I use IAX, I have no video at all, either way.  I still have packets being received (the rtpstats above are from the IAX connection), so it seems that Asterisk's IAX interference is the root cause of the original problem.
If you have any suggestions as to how to fix this, I'd be hugely grateful.  Otherwise I guess this issue should be closed - it seems it is not an issue with baresip.
Thank you tremendously for your suggestions and apologies for reporting something that ended up being an issue unrelated to baresip.

An update...  now I have calls from baresip to antisip and from antisip to baresip working with bi-directional audio/video across the LAN.  I see something like this in the logs:
call: connecting to<EMAIL_ADDRESS>call: SIP Progress: 100 Trying (/)
call: SIP Progress: 180 Ringing (/)
audio: Set audio decoder: opus 48000Hz 2ch
audio: player started with sample format S16LE
audio: Set audio encoder: opus 48000Hz 2ch
audio: source started with sample format S16LE
audio tx pipeline:        alsa ---> vumeter ---> opus
audio rx pipeline:        alsa <--- vumeter <--- opus
Set video encoder: H264 packetization-mode=0 (100000000 bit/s, 1 fps)
v4l2_codec: video encoder H264: 1 fps, 100000000 bit/s, pktsize=1024
omx: vidisp_alloc
v4l2_codec: Driver Caps:
Driver:        "uvcvideo"
Card:          "HD Pro Webcam C920"
Bus:           "usb-3f980000.usb-1.2"
Version:       4.0
Capabilities:  0x84200001
Formats:
YUYV:    'YUYV 4:2:2'

H264: C  'H.264'
MJPG: C  'Motion-JPEG'

v4l2_codec: Selected Camera Mode:
Width:   160
Height:  90
PixFmt:  H264
Field:   1
video: vidcodec 'H264' has no decoder
Set video decoder: H264 packetization-mode=0
<EMAIL_ADDRESS>Call established<EMAIL_ADDRESS>main: long async blocking: 376>100 ms (h=0x76ee5950 arg=0xaf7068)
[h264 @ 0xb58af0] no frame!/0 (bit/s) efps=0/0              [=========       ]  [====            ]
avcodec_send_packet error ret=-1094995529
video: H264 decode error (seq=2, 4 bytes): Bad message
omx: new frame size: w=240 h=320it/s) efps=0/0              [==========      ]  [====            ]
omx: linesize[0]=256    linesize[1]=128 linesize[2]=128
omx_update_size 240 320
omx port definition: h=160 w=64 s=160 sh=64
[0:00:08] audio=28586/21957 video=613189/106464 (bit/s) efp [=========       ]  [===             ]
--- Video stream ---
started: yes
tx: encode: H264 ?
source: v4l2_codec 160 x 90, fps=1
skipc=0
time = 7.266 sec
rx: decode: H264 yuv420p
vidisp: omx 240 x 320
n_intra=1, n_picup=8
time = 3.799 sec
video dir=sendrecv pt_enc=96
local: <IP_ADDRESS>:21552, remote: <IP_ADDRESS>:40120/<IP_ADDRESS>:40121
RTP debug:
Encode: seq=30631 ssrc=0x144608d1
----- RTCP Session: -----
<EMAIL_ADDRESS>SSRC=0x144608d1/340134097 rx=90000Hz
member 0x033d1705: lost=0 Jitter=1.0ms RTT=3.8ms
IP=<IP_ADDRESS>:40120 psent=198 rcvd=234
TX: packets=723, octets=539013
--- jitter buffer debug---
running=1 min=5 cur=5 max=10 [frames]
seq_put=234
Stat: put=234 get=234 oos=1 dup=0 late=0 or=0 ur=5 flush=1       put/get_ratio=100% lost=0 (0.00%)
[h264 @ 0xb58af0] no frame! video=613189/106464 (bit/s) efps=0/4======       ]  [====            ]
avcodec_send_packet error ret=-1094995529
video: H264 decode error (seq=304, 4 bytes): Bad message
[h264 @ 0xb58af0] concealing 75 DC, 75 AC, 75 MV errors in P frame====       ]  [====            ]
call: terminate call '2cc7bca2546dbc09' with<EMAIL_ADDRESS>     ]  [====            ]
v4l2_codec: encoder stats (keyframes:1, deltaframes:155)
<EMAIL_ADDRESS>Call with<EMAIL_ADDRESS>terminated (duration: 11 secs)
audio           Transmit:     Receive:
packets:            538          531
avg. bitrate:      27.2         23.0  (kbit/s)
errors:               0            0
pkt.report:         490          487
lost:                 0            2
jitter:             7.0          1.5  (ms)
video           Transmit:     Receive:
packets:           1042          418
avg. bitrate:     594.5        103.0  (kbit/s)
errors:               0            0
pkt.report:         967          377
lost:                 0            0
jitter:             1.4          3.4  (ms)
main: long async blocking: 144>100 ms (h=0x76f20a88 arg=0xaf8828)
Then I tried a call from the remote baresip across IAX/SIP to local antisip and from the local antisip to the remote baresip, video is displayed correctly by antisip but, while packets are received by baresip, no video display.  Results are the same no matter which sides originates the call.  Example baresip log from the remote:
call: connecting to<EMAIL_ADDRESS>call: SIP Progress: 100 Trying (/)
call: SIP Progress: 180 Ringing (/)
audio: Set audio decoder: opus 48000Hz 2ch
audio: player started with sample format S16LE
audio: Set audio encoder: opus 48000Hz 2ch
audio: source started with sample format S16LE
audio tx pipeline:        alsa ---> vumeter ---> opus
audio rx pipeline:        alsa <--- vumeter <--- opus
Set video encoder: H264 packetization-mode=0 (100000000 bit/s, 5 fps)
v4l2_codec: video encoder H264: 5 fps, 100000000 bit/s, pktsize=1024
omx: vidisp_alloc
v4l2_codec: Driver Caps:
Driver:        "uvcvideo"
Card:          "HD Pro Webcam C920"
Bus:           "usb-3f980000.usb-1.2"
Version:       4.0
Capabilities:  0x84200001
Formats:
YUYV:    'YUYV 4:2:2'

H264: C  'H.264'
MJPG: C  'Motion-JPEG'

v4l2_codec: Selected Camera Mode:
Width:   160
Height:  90
PixFmt:  H264
Field:   1
video: vidcodec 'H264' has no decoder
Set video decoder: H264 packetization-mode=0
<EMAIL_ADDRESS>Call established<EMAIL_ADDRESS>main: long async blocking: 362>100 ms (h=0x76f1baec arg=0x2f1bc0)
[0:00:09] audio=28490/24093 video=454058/102333 (bit/s) efps=0/0=======      ]  [====            ]
--- Video stream ---
started: yes
tx: encode: H264 ?
source: v4l2_codec 160 x 90, fps=5
skipc=0
time = 9.292 sec
rx: decode: H264 ???
vidisp: omx 0 x 0
n_intra=2, n_picup=0
time = 2.666 sec
video dir=sendrecv pt_enc=96
local: <IP_ADDRESS>:17236, remote: <IP_ADDRESS>:19464/<IP_ADDRESS>:19465
RTP debug:
Encode: seq=31416 ssrc=0xa9acd88e
----- RTCP Session: -----
<EMAIL_ADDRESS>SSRC=0xa9acd88e/2846677134 rx=90000Hz
member 0x3ffeed40: lost=0 Jitter=0.0ms RTT=1.0ms
IP=<IP_ADDRESS>:19464 psent=214 rcvd=464
TX: packets=671, octets=515560
--- jitter buffer debug---
running=1 min=5 cur=5 max=10 [frames]
seq_put=8532
Stat: put=464 get=464 oos=0 dup=0 late=0 or=0 ur=5 flush=1       put/get_ratio=100% lost=0 (0.00%)
call: terminate call '9a9e9b60fb786bfc' with<EMAIL_ADDRESS>      ]  [====            ]
v4l2_codec: encoder stats (keyframes:1, deltaframes:295)
<EMAIL_ADDRESS>Call with<EMAIL_ADDRESS>terminated (duration: 12 secs)
audio           Transmit:     Receive:
packets:            632          601
avg. bitrate:      27.7         21.9  (kbit/s)
errors:               0            0
pkt.report:         501          475
lost:                 0            0
jitter:             0.5          3.3  (ms)
video           Transmit:     Receive:
packets:            890          641
avg. bitrate:     444.4        103.9  (kbit/s)
errors:               0            0
pkt.report:         725          504
lost:                 0            0
jitter:             0.0         13.6  (ms)
So, the fact that baresip is displaying video when there is no SIP/IAX but does not display video when there is SIP/IAX would still suggest the problem is with my Asterisk setp.  However, local antisip is able to display incoming video sent across SIP/IAX coming from a remote baresip whereas a local baresip can't display the same incoming video.
So, I'm somewhat lost now...

I have now tried X11 and sdl2 vidisp.  Exactly the same results - /vidloop h264 always works.  Calls in both directions between antisip and baresip always work.  The standard Asterisk echo test which relays both audio and video also always works.  All of these test are within the local LAN using SIP only.
Still, with omx, X11 and sdl2, calls across the internet using SIP/IAX never show video, despite packets being received with only minimal packet loss.   Whatever the vidisp, it seems the format/size of the arriving video is never determined.
A while ago, I also looked at wireshark traces and it seems that the data being received, at least in terms of IAX packets, is the same.  I will try next to inspect the rtp packets themselves.
Could this be a timing/timeout issue?

Hi,
I noticed this in your log:
avcodec_send_packet error ret=-1094995529

which is translated to: "Invalid data found when processing input"
Perhaps something is wrong with the H.264 stream
Could you please:

Git pull latest version of baresip (commit bd7af305a42083ec46323cdf6de3a241ebfc89e8)

Re-run your test with baresip verbose logging (-v)

Get a trace of the SIP traffic between baresip and Asterisk,
using either ngrep or Wireshark.

We should check if you receive a Key frame at all, and if you are able
to decode it. Which version/platform of Antisip are you using?
Alfred

Hi Alfred,
earlier, I think I was struggling with too many different problems - I was having trouble to determine a set of repeatable, reproducible tests.  So, I've now spent some time to solve a few Asterisk and Jitsi problems and incompatibilities in order to get consistent results, which I now have... though still no video for baresip calls across my IAX/SIP connection.  My tests are described below.
First, to answer your question regarding AntiSip, it's Android version 5.2.1.  After I set the encoding profile to 'baseline', I now have consistent and reproducible results with Jisti Open Source VoIP & Instant Messaging / Desktop / Communicator version 2.10. (I didn't mention this test before because results were inconsistent.)
To respond to your remark regarding keyframes, the log files below show that, yes, I receive keyframes in all cases.  When traffic is across the local LAN, everything works fine.  When traffic traverses the SIP/IAX, Antisip and Jitsi have video, but baresip does not.  In these cases, when I press 'V' during the call, the resolution & format of the received video are unknown.
So here's my current setup.  At the remote location, I have baresip (extension 3002 in the attached SIP traces) running on a RPi.  Baresip is version 0.5.8 and has a C920 cam, v4l2_codec + avcodec.  On the same RPi, I have Asterisk running SIP for local connections and IAX to my local location.
At my local location, I have an RPi running Asterisk.  Again, SIP for local connections and IAX to the remote connection.  In addition to this, I have another RPi running baresip 0.5.8, also with a C920 cam, v4l2_codec and avcodec (extension 4005 in the attached SIP traces).  Then I have Antisip running on Android (extension 4003) and Jitsi running on Windows (extension 4002).
To summarise results:

most local calls work perfectly no matter what the direction: baresip to antisip, baresip to jitsi, antisip to baresip and antisip to jitsi.  See attached traces 4003-to-4005 (antisip to baresip) & 4005-to-4002 (baresip to jitsi)
calls from remote baresip to local jitsi / antisip also work fine, with the same exception of calls originated from jitsi.  See attached traces 3002-to-4003 (remote baresip to local antisip) and 3002-to-4002 (remote baresip to local jitsi)
calls from remote baresip to local baresip have no video in either direction.  Again, packets and keyframes seem to be received in both directions.  See attached trace 3002-to-4005 (remote baresip to local baresip).

The baresip -v logs from the local baresip for two calls are also attached.  The two calls are a local call 4003-to-4005 (antisip to baresip) which has video, and a remote call 3002-to-4005 (remote baresip to local baresip) which does not have video.  The logs correspond to the SIP traces.  Again, though, packets and keyframes appear to have been received.
I have checked all of the attached files and the above description and I hope I've not made any mistakes - I will check again tomorrow with a fresh head to be sure that everything is consistent.
Again, thank you sincerely for your help.
rbife
tracesAndLogs.zip

I have just had someone install Jitsi at the remote location.  I've now tested Jitsi to Jitsi across the same SIP/IAX link and all works flawlessly.
@rbife

Your debug reports are really great :) Very detailed.
Couple of things:

Could you please retest with commit cc17be532af9f80a648c8c9e996df8786c90c24e

Could you please make a call that lasts a bit longer, say some minutes ?
The v4l2_codec/C920 is sending key frames with a regular interval.

As a small test, could you also replace the local video-source with cairo
using a small resolution and small fps? This should give a lower bandwidth usage
for your upstream.
I think the problem is a combination of your network (packet loss) and the
avcodec decoder. It looks like the avcodec module de-packetizer is not working
properly and getting into a strange state. This should work of course, just
trying to understand what is going wrong.
I was also looking at this piece of code in modules/avcodec/decode.c
#if LIBAVCODEC_VERSION_INT >= ((57<<16)+(37<<8)+100)

	do {
		AVPacket avpkt;

		av_init_packet(&avpkt);
		avpkt.data = st->mb->buf;
		avpkt.size = (int)st->mb->end;

		ret = avcodec_send_packet(st->ctx, &avpkt);
		if (ret < 0) {
			warning("avcodec: avcodec_send_packet error,"
				" packet=%zu bytes, ret=%d (%s)\n",
				st->mb->end, ret, av_err2str(ret));
			err = EBADMSG;
			goto out;
		}

		ret = avcodec_receive_frame(st->ctx, st->pict);
		if (ret == AVERROR(EAGAIN)) {
			goto out;
		}
		else if (ret < 0) {
			warning("avcodec_receive_frame error ret=%d\n", ret);
			err = EBADMSG;
			goto out;
		}

		got_picture = true;

	} while (0);

Latest ffmpeg has switched to a push/pull based model for sending packets
in and getting frames out. FFmpeg has an internal queue for decoding packets
using multiple threads. If we send in packets for frame number 2, we might get back
frame number 1. I am wondering if the packet loss makes the code never hit
this function, even if FFmpeg has fully decoded frames ready in its queue.
Alfred

Hi Alfred,
I pulled the specified version and ran the tests you suggested for a call between 3002 and 4005 for a duration over a few minutes.  You will find two baresip -v logs in the attached zip with v4l2_codec in the filenames.  They were made using the same baresip configuration as the tests described in my earlier post.  The two logs are for each end, namely local and remote baresips.
Also included in the same zip are the baresip -v logs for the same calls but with cairo video_source instead of v4l2_codec.  Unfortunately, it seems I made these calls in the opposite direction ;-(
I looked at the code you mentioned.  Note that my two baresips involved in these test are running different raspbian versions.  As you can confirm from the logs, one has avcodec: x264 build 148, the other avcodec: x264 build 142.  I don't have the understanding to know whether this means that the loop you mention should trigger or not - I have only rudimentary knowledge of C.  Anyhow, I added an info("\n\nHERE\n\n"); line to the start of the loop, recompiled, re-ran and don't see this appearing in the logs.
I'd love to solve this and will be very happy to run more tests if they are of help...
rbife
logs.zip

thanks again, this is indeed strange.
I think we need to take a closer look at the RTP packets
going from Asterisk to Baresip (local).
Can you make a Wireshark trace of the RTP packets ?
could you also enable this line in avcodec/decode.c
#if 0
	re_printf("avcodec: decode: %s %s type=%2d  \n",
		  marker ? "[M]" : "   ",
		  h264_is_keyframe(h264_hdr.type) ? "<KEY>" : "     ",
		  h264_hdr.type);
#endif

(The marker bit is used to indicate the end of a fragmented frame, we should
check if the incoming RTP packets contains marker bits).

Hi Alfred,
SIP+rtp traces are attached.  You'll find traces from local 4005 to remote 3002 where 3002 uses either v4l2_codec or cairo - I noticed differences in the baresip -v logs (also attached) so included both.  The baresip -v logs correspond to the traces and are those for local 4005 (which uses cairo for both calls).  All was done after I enabled the code mentioned in your post.
Keyframes are received in both calls but I noticed far fewer (1 over the 6min+ call) with cairo.
Just to check stability/consistency with previous results and logs etc., I've retested Jitsi and Antisip calls to the remote baresip and all are still working as before.  My assumption is that local Jitsi, Antisip and baresip are all receiving similar rtp packets.  I don't know if this assumption is a sensible one, however?  At least the asterisk side of the local client configs are identical.
rbife
logs.zip
p.s. the audio is muted in both calls, both directions.

Thanks again,
the incoming RTP packets for video has timestamp=0 and
marker bit always set to 0. This is not normal.
The marker bit should be set to 1 for the last packet of fragment packets.
The timestamp should be set to the sampling instant of the video
frame sent, expressed in RTP clock rate.

thanks for your feedback.
I looked at the logs and see that, as you say, the timestamps for the v4l2_codec call are all zero - for the time being, I've no idea why.  Anyhow, I'm focusing now on the cairo calls.  For these, the timestamps are not zero (and seem to be normal?).
From having inspected the rtp traces on both baresips or another test call, I do see that the 'Mark FU-A End' gets replaced by 'FU-A End'.  I have no explanation for why this is happening - I am investigating - but, according to the text you quoted from rfc6184, the decoder 'MAY use this bit as an early indication of the last packet of an access unit but MUST NOT rely on this property.'
So, should baresip not be able to decipher the stream in any case as Antisip and Jitsi do?
Thanks in advance,
rbife

which version of Asterisk are you using, and can you share your config files
(related to SIP,RTP,Video etc.)
I need to double check the RFC how this is supposed to work. Just because
it works with Jitsi and Antisip, does not mean that it is correctly implemented.
Could you please also the Asterisk folks about this (marker-bit and timestamp) ?

could you please also test with Linphone ?
I tested with Linphone 4.1.1 locally, against a hacked Baresip that always
sends marker=0. The result is that no video is displayed, and the following
warnings in the Linphone log:
2018-02-24 19:24:05:397 WARNING Incomplete H264 frame (missing marker bit after seq number 9464)
2018-02-24 19:24:05:397 MESSAGE VideoToolboxH264Decoder: pausing decoder until next I-frame
2018-02-24 19:24:05:398 MESSAGE Request sending of PLI on videostream [0x7fa3b88f2c00]
2018-02-24 19:24:05:416 MESSAGE allocate_gl_textures: allocated new textures[0] (512 x 512)

2018-02-24 19:24:05:438 MESSAGE Sending RTCP RR compound message on session [0x7fa3b3723400].
2018-02-24 19:24:05:441 MESSAGE MSVideo_stream_iterate[0x7fa3b88f2c00], local statistics available:
        Local current jitter buffer size: 292.5ms
2018-02-24 19:24:05:444 MESSAGE Linphone core [0x7fa3b4847000] notified [call_stats_updated]
2018-02-24 19:24:05:449 WARNING Incomplete H264 frame (missing marker bit after seq number 9473)

I have a feeling that Linphone is correctly implemented.

Hi Alfred,
messages received - I'm looking into your suggestions and will come back to you with more. Please give me a few days, however, and don't close the issue.
rbife

... an update. I am pretty certain that the problem is being caused by the IAX link.
In trying to verify this, I made two tests.

I disabled directmedia/directrtp in my local SIP setup and repeated local tests between all the different clients (jitsi,antisip,linphone,baresip).  Everything local still works as before.  The marker bits are transmitted and all clients display video.
I setup a local IAX link between two RPIs and repeated the above tests sending all traffic between the two baresips via IAX instead of via SIP.  Marker bits are now missing.  Jitsi,antisip and linphone still show video whereas baresip does not. I seem to have the same results using this entirely local setup than I do with the local/remote setup I described in earlier posts.

So, I think I can rule out problems with bandwidth and external routing etc.  I am under the impression that the only remaining difference that could account for the problem is IAX, but this does not account for why baresip is the only client that does not display video.
rbife

@rbife thanks again for detailed analysis :)
I have asked the IETF for clarification:
https://mailarchive.ietf.org/arch/msg/avt/g38a0QiZ_1o2kMWiZafge1JRkjY
perhaps we should also ask the Asterisk people if the marker bit
is transported over the IAX link ?

Hi Alfred,
I've since searched for similar asterisk problems and it seems that marker bits (or rather lack of) have been reported previously:
https://issues.asterisk.org/jira/browse/ASTERISK-25451
I found quite a few other similar issues reported.  The one referenced above seems to have been fixed.  It references two commits and I've checked that my version of Asterisk has them included.  After all these problems I removed the RPI packages and installed the latest stable version - 13.19.2.  I thought about removing the fix and seeing if I then had the same problems with SIP and I do with IAX.  However, I don't know Asterisk code and I don't know if the code in the fix is common to SIP and IAX.  That is simply above my head.  I don't know if a similar fix is required for IAX.
After I've confirmed my observations once again to absolutely certain of my findings, I will look at reporting this issue to the Asterisk Issues Tracker, as you suggest.  If I do that, I'll post a link to this thread.
Meanwhile, I read the response to your post on IETF.  The one response received thus far seems to confirm what should happen - i.e. the marker bit should indeed be set. However, I can't help but refer to the test you quoted:
      Decoders MAY use this bit as
      an early indication of the last packet of an access unit but MUST
      NOT rely on this property.

To me, this is quite clear / unambiguous.  Yes, the marker bit should be set, but a decoder must not rely upon it being set in order to decode.  My understanding is that it there to provide an early indication, improve efficiency, but a decode should work without the marker bit being set.  This interpretation might explain why jitsi, antisip and linphone all decode video with missing marker bits.
rbife

hi @rbife thanks again for your efforts and research :)
I have done some research on this topic, and come to the conclusion:

Some video codecs use the marker bit as an optional field, other codecs
use it as a mandatory field.

Most video codecs specify that the encoder SHOULD set the marker bit,
so that the decoder can read the marker bit and assemble a full frame.

The VP8 and VP9 codec says that the marker bit MUST be set for the
very last packet of a frame.

All video codecs in baresip use the marker bit for both encoder and decoder,
and this method has been working very reliably for a very long time
(this issue is the first time it has been reported).

You can try your setup and instead of H.264 codec use VP8 codec instead,
and see if it works. My guess is that it will not work, since your IAX protocol
is dropping marker bit and the VP8 codec says MUST use.
A note regarding H.264 depacketization, I am not sure if is possible to
use the FU end bit as a marker. There are also other NAL types like SLICE and IDR_SLICE
that comes directly from the encoder.
If we want to implement a decoder that ignores the marker bit, we need to
look at the timestamp for incoming packets. If the timestamp is the same as the
previous packet, it belongs to the same picture frame. If the timestamp is different,
it belongs to the next frame. Then the previous frame is complete and can be
decoded and displayed. This logic means that the decoder will always be
1 packet behind.
I am therefore very hesitant to change any logic regarding this, and would
prefer to keep the code as it is.
Alfred

Hi Alfred,
many thanks for investigating this. I will report the issue to the Asterisk list but I may not get around to this any time soon. Out of curiosity, I may test VP8 to see if Asterisk is doing the same as it does with H.264 - but ultimately I really want to use the latter.
If you have any suggestions as to how I might implement a decoder that ignores the marker bit, I'd be appreciative - though I have no idea if I'd be capable.  Being one packet behind would not be a major issue to me when the alternative might be to abandon baresip.
Thanks for looking at this,
rbife

hello alfredh,
I have an issue regarrding the video resolution problem with linphone using H264 codec.
can you please help me for this
Linephone_seg-fault.txt
Linphone_seg_fault-GDB.txt

Hello,
If you are using a NVIDIA video card, and your platform is Linux, try to set:
avcodec_hwaccel		vdpau
avcodec_hwaccel		vdpau
For me is working.
According to https://trac.ffmpeg.org/wiki/HWAccelIntro vaapi is not supported for NVIDIA (if this is the case).


sickrage has a broken build

OpenSSL changed a function signature in a security release. :tada:
https://github.com/pyca/cryptography/issues/2750
tim@rocketman:Library (master)$ grep -Re 'url.*cryptography.*'  Colour me wildly unsurprised at OpenSSL doing this :smile:.

What is the status of this? Is this still an issue?

sickrage is probably still broken.

Though it has seen a ton of updates since it was last updated in Homebrew (we're at <IP_ADDRESS>, upstream at 7.0.22), making it likely that the issue can be resolved? Seems like it needs to be boneyarded (for a lack of community support) or updated …

There's some weird upstream drama/politics ongoing:

Currently there have been several reports of attempts to trick our members into switching to a new sickrage repo being told that the current one is no longer operational, DO NOT BE FOOLED this is a poor attempt by several EX-team members to decieve you into switching to their UNOFFICIAL CLONED SickRage application/site/repo. Please note that if SiCKRAGE ever needed to move to a new site or change its address there is already code in place to do this automatically and securely by me, if you do manually change this information SiCKRAGE accepts no liability or consequences of anything afterwards. If you receive any such attempts/requests please please email<EMAIL_ADDRESS>promptly so that we can deal with it accordingly!

And the homepage has moved. Not really sure what's going on or whether we should bail.

Oh my …

Given that and the low number of bottled downloads I'd be tempted to just :skull:.

Added, shortly after bumped by Baptiste, and not touched ever since (for more than 6 months). Sounds like the perfect :skull: candidate for complete lack of interest from the community …

iirc the new version didn't build cleanly and i ran out of interest in fixing it; killing it is fine by me

https://github.com/Homebrew/homebrew-core/pull/129


Prepare for release 3.4.0

Description

Added a 3.4.0 version section to CHANGES.rst.
Also updated some badge links in README and docs (36e7a4f10435684a6afd46d4e930fad4b0e740e4), and made all .po files' Project-Id-Version strings consistent (69f325281230a200bc4296cab28cd839d1060b9f) - mostly to avoid having to update the version number in some of the .po files.
Related Issue

Motivation and Context

No particular reason for making a new release, other than that quite a few changes have been done since the last - which was five months ago.
How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] I have run the pre-commit run command to format and lint.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[x] I have added my change to CHANGES.rst
[x] All new and existing tests passed.

@treyhunner @rossmechanic Is one of you available to publish the newest release to PyPI? 🙂


[tests-only][full-ci]Bump core commit id

Description

Related Issue

Part of: https://github.com/owncloud/QA/issues/766

Motivation and Context

Makes tests added by https://github.com/owncloud/core/pull/40376 run in ocis as well
How Has This Been Tested?

CI

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[x] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

https://drone.owncloud.com/owncloud/ocis/15579/43/7
local API test failure - some problem early in the test pipeline.
Given user "Alice" has been created with default attributes and without skeleton files # FeatureContext::userHasBeenCreatedWithDefaultAttributesAndWithoutSkeletonFiles()
      GraphContext::throwHttpException
      Could not create user Alice
      HTTP status code: 500
      Response body:  (Exception)

I stopped and restarted drone  CI.


Make java optional (exclude ludii if no JNI)

Types of changes

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

If no java/jni can be found, let's just compile without Ludii, as it is the only part that requires it.

seemingly it's impossible to add @DennisSoemers  as a reviewer, tagging for info

Yes this looks like a good idea to me, seems reasonable that many people who just want to use Polygames without Ludii would want to be able to build it without the extra Java-related dependencies.


el move to another place unexpectedly after vm created

http://jsfiddle.net/c99wgmjb/
I put <tr> in <tbody>, but after vm created they have been moved in <body>. Why it behave so?

<div> can't live within a <tbody> element. It gets thrown out by the browser police as soon as the dom is parsed.

^ what @Nirazul said


Removed unused dependencies

Checklist

[x]  A link to the issue/user story that the pull request relates to
[ ]  How to recreate the problem without the fix
[ ]  Design of the fix
[ ]  How to prove that the fix works
[ ]  Automated tests that prove the fix keeps on working
[ ]  Documentation - any JSDoc, website, or Stackoverflow answers?

Issue/User story
#1365
Steps to Reproduce

Existing issues

[ ] Stack Overflow issues
[ ] GitHub Issues
[ ] Discord history

Design of the fix

Validation of the fix

Automated Tests

What documentation has been provided for this pull request

As said previously you also need to update package-lock.json. You can't just remove it from package.json. Please make sure your code base is upto date before doing so as large changes have been made to package-lock.json recently

I have added the updated package-lock.json too.

@psankhe28 unfortunately it's not that simple as package-lock.json contains the complete dependency tree, so unless you really know what you are doing I would suggest you don't edit package-lock.json and regenerate the package-lock.json using the standard npm commands. Make sure you are using the latest node 18 which should give you npm 8.19.4 or later.

Node 18.18.0 would work or it should be strictly 18?

@psankhe28 The latest version I am using is node 18.20.2, Caliper packages state 18.19.0 or higher. So install the latest node 18 version available. Suggest you use nvm to manage your node installations (unless you are on windows but then I would advocate using wsl2 rather than native windows for caliper development). https://github.com/nvm-sh/nvm

@psankhe28 The latest version I am using is node 18.20.2, Caliper packages state 18.19.0 or higher. So install the latest node 18 version available. Suggest you use nvm to manage your node installations (unless you are on windows but then I would advocate using wsl2 rather than native windows for caliper development). https://github.com/nvm-sh/nvm

I am using windows and nvm too. The node version I have downloaded is 18.18.0. Should I switch to wsl?

@psankhe28 So I see there is an nvm for windows. I've not used it but I would hope it works similar for the bash version of nvm. So it should allow to install a newer version of node 18 and be able to switch to it and make it the default as well. Just try nvm install 18.20.2 if you want to install a specific version. There should be that version available for windows. But node 18.18 isn't going to work as npm will reject it as the package.json files declare a newer version. I don't think anyone has tried to use native windows to develop with caliper. I don't as my focus is fabric and running fabric on windows is an interesting excercise in itself. I use wsl2.

Node version: 18.20.2
Npm version: 10.5.0

Yep, looks good.


Fix caterPos onDelete

Hello, everyone. I made a fix for Delete behavior, please can you apply my pull request.
Before It is not possible to delete all text that is placed on the right side, so I fixed this bug, and right now it's possible to delete it, The problem was happened due to Caret Position.
Please, accept my pull request.
If you have any question, just ask me, I will try to answer as soon as possible.
Thanks in advance and have a good day!
Nikolai

👍


tensorflow.python.framework.errors_impl.FailedPreconditionError: TensorRT is not enabled!

I am trying to use tensorflow-1.10 to optimize my pb model.
trt_graph = trt.create_inference_graph(
input_graph_def = graph_def,
outputs = outputs,
max_batch_size=1,
max_workspace_size_bytes=workspace_size,
precision_mode='INT8',
minimum_segment_size=3)

@li829, Please elaborate the issue with context. And also, provide the code snippet to reproduce the issue. Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


chore(cleanup): remove internal client library code as it is now publ…

…ished to package managers
Description
Fixes #
Note: Before submitting a pull request, please open an issue for discussion if you are not associated with Google.
Checklist

[x] I have followed Contributing Guidelines from CONTRIBUTING.MD
[x] Tests pass:   go test -v ./.. (see Testing)
[x] Code formatted:   gofmt (see Formatting)
[x] Vetting pass:   go vet (see Formatting)
[n/a] These samples need a new API enabled in testing projects to pass (let us know which ones)
[n/a] These samples need a new/updated env vars in testing projects set to pass (let us know which ones)
[n/a] This sample adds a new sample directory, and I updated the CODEOWNERS file with the codeowners for this sample
[n/a] This sample adds a new Product API, and I updated the Blunderbuss issue/PR auto-assigner with the codeowners for this sample
[x] Please merge this PR for me once it is approved

Glanced through the Kokoro build logs and couldn't find any errors pertaining to this PR. I noticed other tests outside of our service were failing due to permission denied issues so maybe that is the cause.
@hongalex Do you think we should trigger another run?


The lockfile module dependency doesn't seem to be registered

Bug description
Runtime error when the lockfile module is not present.
Note: I removed this module because no package was claiming it as a requirement (pip list --not-required).
Reproduction steps
Running pip-audit
Expected behavior
pip-audit running without ImportError exception
Screenshots and logs
$ pip-audit --progress-spinner off --desc
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/cachecontrol/caches/file_cache.py", line 77, in __init__
    from lockfile import LockFile
ImportError: cannot import name 'LockFile' from 'lockfile' (unknown location)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pip-audit", line 8, in <module>
    sys.exit(audit())
  File "/usr/local/lib/python3.9/site-packages/pip_audit/_cli.py", line 370, in audit
    service = args.vulnerability_service.to_service(args.timeout, args.cache_dir)
  File "/usr/local/lib/python3.9/site-packages/pip_audit/_cli.py", line 107, in to_service
    return PyPIService(cache_dir, timeout)
  File "/usr/local/lib/python3.9/site-packages/pip_audit/_service/pypi.py", line 45, in __init__
    self.session = caching_session(cache_dir)
  File "/usr/local/lib/python3.9/site-packages/pip_audit/_cache.py", line 165, in caching_session
    cache=_SafeFileCache(_get_cache_dir(cache_dir, use_pip=use_pip)),
  File "/usr/local/lib/python3.9/site-packages/pip_audit/_cache.py", line 87, in __init__
    super().__init__(directory)
  File "/usr/local/lib/python3.9/site-packages/cachecontrol/caches/file_cache.py", line 87, in __init__
    raise ImportError(notice)
ImportError:
NOTE: In order to use the FileCache you must have
lockfile installed. You can install it via pip:
  pip install lockfile

$ pip install lockfile
Collecting lockfile
  Using cached lockfile-0.12.2-py2.py3-none-any.whl (13 kB)
Installing collected packages: lockfile
Successfully installed lockfile-0.12.2

$ pip-audit --progress-spinner off --desc
No known vulnerabilities found

Platform information

OS name and version:
FreeBSD MyServer 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64

pip-audit version (pip-audit -V):
pip-audit 2.4.14

Python version (python -V or python3 -V):
Python 3.9.16

pip version (pip -V or pip3 -V):
pip 23.0.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

Additional context
https://github.com/pypa/pip-audit/blob/main/pyproject.toml only has no lockfile dependency:
dependencies = [
    "CacheControl[filecache]>=0.12.10",
    # NOTE(ww): Release 2.5.0 is broken, subsequent 2.5.x releases fix it.
    # See: https://github.com/CycloneDX/cyclonedx-python-lib/issues/245
    "cyclonedx-python-lib>=2.0.0,!=2.5.0",
    "html5lib>=1.1",
    "packaging>=23.0.0",  # https://github.com/pypa/pip-audit/issues/464
    "pip-api>=0.0.28",
    "pip-requirements-parser>=32.0.0",
    "resolvelib>=0.8.0",
    "rich>=12.4",
    "toml>=0.10",
]

Thanks for the report!
This error is strange: we require CacheControl[filecache], which depends on either lockfile or filelock depending on the version being resolved:
https://github.com/ionrock/cachecontrol/commit/f0cd6b49e5c4215137e5c24ac0b46752f0c61e69
As such, pip-audit itself should never have a direct dependency on either lockfile or filelock -- we never use it in first-party code.
How are you installing pip-audit? Is it coming from pip, or from FreeBSD's ports?

Hello, it was installed from pip.

Gotcha. In that case, I don't think there's anything we can do here: this is a subdependency, and (as far as I can tell) CacheControl does register it correctly via the filecache extra.
It's possible that pip list --not-required doesn't catch dependencies from extras, but that would be surprising to me.

I'm probably going to close this out as not our bug, but one last debugging step: could you run pip list and see what version of CacheControl you have?

Hello,
I have version 0.12.11
Best regards,
Hubert
Le mar. 21 févr. 2023 à 19:11, William Woodruff @.***>
a écrit :

I'm probably going to close this out as not our bug, but one last
debugging step: could you run pip list and see what version of
CacheControl you have?
—
Reply to this email directly, view it on GitHub
https://github.com/pypa/pip-audit/issues/529#issuecomment-1438904725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADWZ7CE4SPY57EKWNARA2P3WYUAN3ANCNFSM6AAAAAAVA5AL7Y
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have version 0.12.11

Thanks! Yeah, I can see that CacheControl==0.12.11 does indeed list lockfile in its extras:
https://github.com/ionrock/cachecontrol/blob/2e0fbc251d619d8aa843e59aa81dca7d7b007f3c/setup.py#L25
This makes me think that this is maybe a bug in pip list --not-required, or maybe that something weird happened during installation (maybe CacheControl was already installed but without the appropriate extra, and so re-installing with that extra didn't result in its inclusion in the required set?)
Either way, I think this indicates that the bug is outside of pip-audit, since lockfile is a subdependency that we don't directly use. Thanks again for reporting.

Hello,
Indeed I filed this as a pip bug.
Thanks a lot for your time and thoroughness!


tokenizers & transformers  version conflict

1.When I install the environment with the pip install -r requirements.txt command，report an error
2.error info:
NFO: pip is looking at multiple versions of transformers to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install -r requirements.txt (line 101) and tokenizers==0.15.0 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested tokenizers==0.15.0
transformers 4.40.2 depends on tokenizers<0.20 and >=0.19
3.my python version is 3.10.0
thanks!

https://github.com/cckuailong/SuperAdapters/commit/01a49b98126c02220a0d4c884663d25dd2b6c437


Removing dead code that's now detected on nightly.

Also added nightly to TravisCI build matric (but allowed to fail).
Builds OK on my machine with stable, beta, and nightly. Probably need to see what Travis says, my config is not standard.
If it works, closes #39

Oh, wow! This doesn't have anything to do with serde/syntex, then :).

@jwilm I'm guessing that stable & beta are not as good at dead code analysis in include!ed source, but that's pure speculation on my part.

Travis seems happy, and there's currently an issue with windows builds on master (so don't worry about that). Thanks for the PR!


Change the order of arguments in Task

For instance, change
public static Task syncDelayed(Plugin plugin, Runnable run, long delay) {
        checkRunnable(run);

        return syncDelayed(plugin, t -> run.run(), delay);
}

to
public static Task syncDelayed(Plugin plugin, ong delay, Runnable run) {
       checkRunnable(run);

        return syncDelayed(plugin, t -> run.run(), delay);
}

to better support Kotlin. I think it is a good idea to try to put functional interfaces as the last parameter.

Thank you for this suggestion, I'll add it!


chore: scripts/lean-pr-testing-comments.sh more reliably identify comment

without this, we’ll see many separate comments by the bot

bors d+

Bors r+


assigning a value expression to the default of a property/parameter/attribute definition is not allowed by TOSCA

The TOSCA 1.3 grammar allows one to assign a default value to a property/attribute/parameter definition, see Sections <IP_ADDRESS>, <IP_ADDRESS>, and <IP_ADDRESS>. But I found no assigment of a default value expression such as a concat/join/token/get_property/get_attribute/... function call in the TOSCA 1.3 specification. Conceptually, the default value of a property/attribute/parameter definition is a simple (or complex) constant such as 1, true, hello, 10 s, 20 Hz, [ 1, 2, 3 ], { x: 10, y: 20 }, ...
However, I found around 300 assigments of a default value expression across all xOpera examples.
For this finding and all my previous issues, I found them automatically with our TOSCA toolbox.
Is it an expected specific xOpera feature or a misinterpretation of the TOSCA specification?

@philippemerle ok, so according to TOSCA for instance default: { get_property: [ SELF, my_property ] } is not a valid default value assignment because we're using get_property TOSCA function, which is a value expression? If this is the case then we probably have a misinterpretation of the TOSCA specification here.
Also thanks for linking your TOSCA toolbox, we'll take a look.

according to TOSCA for instance default: { get_property: [ SELF, my_property ] } is not a valid default value assignment because we're using get_property TOSCA function, which is a value expression?

yes this is not a valid default value assignment because { get_property: [ SELF, my_property ] } is an expression.

I started to correct this on xopera-opera : see https://github.com/xlab-si/xopera-opera/issues/225 and https://github.com/philippemerle/xopera-opera/commit/fb20330f5aab06f38e6c6a8032a46e7a92617e08

Great @philippemerle, thanks for fixing this.

I corrected all the errors related to default assignments (see https://github.com/xlab-si/xopera-examples/pull/49) except for two default assignments in tosca/intrinsic-functions/service.yaml:
  hello_type_3:
    derived_from: tosca.nodes.SoftwareComponent
    attributes:
      attribute3_2:
        type: string
        default: { join: [ [ "a", "t", "t", "r", "i", "b", "u", "t", "e" ] ] } # ERROR 1
    properties:
      property3_2:
        type: string
        default: { concat: [ 'Property: ', get_attribute: [ SELF, attribute3_2 ] ] } # ERROR 2

Here, default could not be replaced by value because value is not a valid keyname for both attribute and property definitions in TOSCA 1.3. You should revisit the design/implementation of this example to correct these two errors.
Just for information, TOSCA 2.0 makes value a valid keyname for both attribute and property definitions.

@anzoman perhaps this issue should be reopened as there are still 2 errors in tosca/intrinsic-functions/service.yaml.

Aha ok, I'm reopening this.


July 2023—Unable to make it Work

Hello !
I don't know if something change on HA, but…
I used these components for months on my old setup,
I just moved my all HA on rasp Pi 4 few weeks ago, and rebuild everything clean.
I reinstalled HACS, reinstalled Your scripts, add configuration in my configuration.yaml but can't find the integration..
Any help ?

Logs?

2023-07-15 20:28:59.848 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration smartthings_soundbar which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-07-15 20:28:59.851 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-07-15 20:28:59.853 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration circadian_lighting which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-07-15 20:29:24.218 WARNING (MainThread) [homeassistant.components.freebox.router] Home access is not granted
2023-07-15 20:55:24.451 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Salle à Manger data: Error fetching data: DeviceConnectionError()
2023-07-15 22:53:23.437 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Température Maison data: Sleeping device did not update within 7200 seconds interval
2023-07-15 23:19:30.253 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 00:55:55.252 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 01:05:26.253 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 02:58:54.252 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 03:24:55.252 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 07:58:59.253 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 09:12:01.441 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Salle à Manger data: Error fetching data: DeviceConnectionError()
2023-07-16 11:10:59.439 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Salle à Manger data: Error fetching data: DeviceConnectionError()
2023-07-16 11:34:15.441 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Salle à Manger data: Error fetching data: DeviceConnectionError()
2023-07-16 12:04:07.440 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Salle à Manger data: Error fetching data: DeviceConnectionError()
2023-07-16 12:11:03.252 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Cuisine data: Error fetching data: DeviceConnectionError()
2023-07-16 14:02:23.087 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Chambre Ely data: Error fetching data: DeviceConnectionError()
2023-07-16 14:08:36.085 ERROR (MainThread) [homeassistant.components.shelly] Error fetching Volet Chambre Ely data: Error fetching data: DeviceConnectionError()

There's no errors related to this integration in your log

Are you sure you have configured it correctly?

I know, it should work..
Installed from HACS
Added the configuration in my configuration.yaml
#Samsung SoundBar
media_player:

platform: smartthings_soundbar
name: Soundbar
api_key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
device_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
max_volume: 15

Have you checked in dev tools if there's media_player.soundbar entity?

Soooo it works :)
It doesn't show in the "Integration" page, just like most of yaml-configured integrations

It should work, but i can't make any card with..
Visual / or Text editor

type: media-control
entity: media_player.soundbar

It works now,
I type type: media-player
... thanks for help !

Pierre-Henri Azen
+33 6 82 98 07 09
Le dim. 16 juil. 2023 à 15:13, Piotr Machowski @.***> a
écrit :

type: media-controlentity: media_player.soundbar
—
Reply to this email directly, view it on GitHub
https://github.com/PiotrMachowski/Home-Assistant-custom-components-SmartThings-Soundbar/issues/48#issuecomment-1637081832,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACX2QIE2SD7Q4N6KSVPEHVLXQPSINANCNFSM6AAAAAA2LOHLHU
.
You are receiving this because you authored the thread.Message ID:
<PiotrMachowski/Home-Assistant-custom-components-SmartThings-Soundbar/issues/48/1637081832
@github.com>


Getting Started page is dead link

Navigating from http://jsbin.com/?html,output
http://jsbin.com/help/getting-started returns "This page isn't here"

thats happend when i try to navigate any page, like blog, keyboard shortcuts...

Same for me, none of the links on top of the page at http://jsbin.com/?html,output seem to work. Except for the ones going to other websites.

Fixed a little while ago in a user contributed PR.


Broken menu with push enabled and async=true

Hi.
Vaadin 8.1.6
vaadin-app-layout 0.9.19
Please see attached screenshots. When enabling async transport with push the menu is broken. If I reload the page with F5 it's working. Clearing cache again and reload is broken again.
at the UI:
@Push( transport = Transport.LONG_POLLING )
at the servlet:
@WebServlet( name = "MyApp", displayName = "MyApp", urlPatterns = {
// used to handle static resources
"/VAADIN/",
// the general application
"/"
}, loadOnStartup = 1, initParams = {
@WebInitParam( name = "productionMode", value = "true" ),
@WebInitParam( name = "closeIdleSessions", value = "true" ),
@WebInitParam( name = "heartbeatInterval", value = "120" )
}, asyncSupported = true
If I disable async and push the issue is gone. But I really want to use async push in the future

)

Seems like the Servlet you are using is wrongly configured and the JavaScript dependencies cannot be retrieved. May I see the content of the Network Tab?

Hi
I have some issue in my project and sometimes in vaadin-app-layout-demo is present:

Hi.
Sorry for the late answer and thanks a lot for four investigation.
Please finde the attached screenshots with the logoutput from network tab. Let me know if you need something else.

Forgot to mention that this issue only appears in Chrome, not in Firefox.

Should be resolved with with 0.9.21 please reopen if not.


Markdown preview doesn’t work on MacOS

When I open a markdown file using goneovim then type :GonvimMarkdown it say's command not found

hi, thanks for this issue.
The markdown preview feature was removed in v0.5.0 due to difficulty in maintenance.
We may re-add the feature in v0.6.0 if more than a few people wish to use it, but the fact is that it is currently unavailable.
If you have any suggestions, I would like to hear them.
v0.5.0 release note:
https://github.com/akiyosi/goneovim/releases/tag/v0.5.0

I really like this feature and will be really excited if can re-add! Some times I use vimwik and  type mathjax equations , And if's possible to change preview background and font color will be nice, like below Right side it's zathura

I found a temporary solution on vimr not sure if this can help,But I'm really looking forward goneovim can support embedded markdown preview, goneovim is the most powerful and fast vim gui I ever found ! I will keep using it as my main development tool

@sigma2647
Thx!
My current idea is not the previous markdown preview of Goneovim, but a different direction.
The previous markdown preview feature was essentially like having a small browser inside Goneovim, and had significant limitations in development.
My current plan is to implement the markdown preview feature as a front-end to a plugin created by yatli.
https://github.com/yatli/gui-widgets.nvim
This uses Neovim's ext_mark feature, which is scalable and does not require a small browser, so it looks attractive.

 Your plan is right ! Thank you


HTTPS Session Resume!!

This question might not be on the right project. It seems to me that the request library during HTTPS communication does not do SSL Resume. It would be nice to have SSL resume feature for optimization. May be I should ask this question to urllib3 forum?

The new release version (0.14) of pyOpenSSL has opened number of callbacks from the subset of OpenSSL library. The particular API called 'set_session' can be use in pyOpenSSL.py (/requests/packages/urllib3/contrib/pyopenssl.py) to enable SSL session reuse. There are two tasks we need to do to make it happen

Store the initiated established session for particular host:port so that we can reuse the same session for the subsequent request.
Use global SSL context or Context associated for particular host:port. I don't know which way to go

Let me know if there are any plans to add SSL resume support.

If you're interested in this feature, I recommend opening a feature request on urllib3, which is where the work needs to be done. =)

Thanks, will do.

@xnulinu would you mind linking the feature request here?

The feature request link I have opened on urllib3 library is : https://github.com/shazow/urllib3/issues/590


Signing root node without childs

Hi,
I am trying to sign a root node with only attributes and without any child nodes. It keeps failing signature verification but if I add a single space then it works. Is it an issue with library or my code. Please help me debug.
var SignedXml = require('xml-crypto').SignedXml
      , fs = require('fs')
      , dom = require('xmldom').DOMParser
      , select = require('xml-crypto').xpath
      , FileKeyInfo = require('xml-crypto').FileKeyInfo;

function main() {
  var xml = '<?xml version="1.0" encoding="UTF-8"?><library> </library>'
  var myXML = '<?xml version="1.0" encoding="UTF-8"?><library></library>'

  sign(xml, "library");
  console.log("\n\n\n\n");
  sign(myXML, "library");
}

function sign (xml) {
  var sig = new SignedXml()
  sig.addReference("/*", ["http://www.w3.org/2000/09/xmldsig#enveloped-signature"], "http://www.w3.org/2000/09/xmldsig#sha1", "", "", "", true);
  sig.signingKey = fs.readFileSync("./private.pem")
  sig.computeSignature(xml)
  var signed = sig.getSignatureXml()
  var withIds = sig.getOriginalXmlWithIds()
  console.log(signed)
  console.log(withIds)
  console.log(sig.getSignedXml())

  verify(signed, withIds);
}

function verify(signed, withIds) {
  var sig = new SignedXml()
  sig.keyInfoProvider = new FileKeyInfo("./public.pem")
  sig.loadSignature(signed)
  var res = sig.checkSignature(withIds)
  console.log(res)
  if (!res) console.log(sig.validationErrors)
  else console.log('Valid Signature')
}

main();

I actually need to encrypt following xml
<?xml version="1.0" encoding="UTF-8"?>
<Node att1="val1" ver="1.0" ts="2017-07-11T21:06:46.128" att2="val2" att3="1dea22d1-f153-4fd2-befa-527ffda2f692"/>

I have identified the issue
https://github.com/yaronn/xml-crypto/blob/master/lib/enveloped-signature.js#L9
We are using xpath in above given line. Once we remove signature then xpath reduce  tag to  which is not canonicalized form which leads to problem in xml signature as show above.

@alphanso , I'm very glad you found and fixed your issue. To help the community benefit from your efforts, would you consider creating a PR with a test suite and your solution?


Simple work-arond

A simple suggestion, but wanted to share if it could help someone while we wait for an updated HASL integration.
Since the new API is now open, (dont know of any limitations yet?) one way forward is to create a rest-sensor in configuration.yaml:
sensor:
  - platform: rest
    resource: https://transport.integration.sl.se/v1/sites/9504/departures?transport=TRAIN&direction=1&forecast=60
    scan_interval: 300
    name: "Next Train"
    value_template: "{{value_json['departures'][0]['expected']}}"

and then we can create a template with something like this (i use HA-Fusion):
#### Nästa tåg:
{% set date_data = states('sensor.next_train') | as_datetime %}
{% set next_train = time_until(date_data,1) | replace("minutes","min") | replace ("hours","h") %}
{{next_train}}

Dont know if it is best to have the formatting in the template, or to have the sensor know exactly how many minutes it is to the next train - but please take this and make it yours, and share if you know a better way of doing it :)

My integration based on SL Realtidsinformation 4 worked until 1 October.
I don't fully understand the information at Trafiklab website but it seems Resrobot 2.1 should still be working?
So maybe it's just me making some mistake setting it up.
I really liked hasl departure lovelace card and with your rest sensor I only get time until next departure :/

Yes its to bad it isnt working anymore :(
Yeah, what do you need? Also I did some tweaking to have it create additional sensors for the next 4 departures:
rest:
  - resource: https://transport.integration.sl.se/v1/sites/9504/departures?transport=TRAIN&direction=1&forecast=60
    scan_interval: 300 # the default is 30 seconds if you leave this line out, or change it to what you need.
    sensor:
      - name: "Train 1"
        value_template: "{{value_json['departures'][0]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_1
      - name: "Train 2"
        value_template: "{{value_json['departures'][1]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_2
      - name: "Train 3"
        value_template: "{{value_json['departures'][2]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_3
      - name: "Train 4"
        value_template: "{{value_json['departures'][3]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_4

And then I added this to my frontend so that I can see whenever the next train is leaving, and the one after that:
{% set t1 = states('sensor.train_1') | as_datetime %}
{% set t2 = states('sensor.train_2') | as_datetime %}
{% set t3 = states('sensor.train_3') | as_datetime %}
{% set t4 = states('sensor.train_4') | as_datetime %}

{% if t1 == 'Unknown'%}
  {% set next_train = 'Okänt' %}
{% elif  t_now < t1%}
  {% set next_train = t1 %}
  {% set next_next_train = t2 %}
{% elif  t_now < t2%}
  {% set next_train = t2 %}
  {% set next_next_train = t3 %}
{% elif  t_now < t3%}
  {% set next_train = t3 %}
  {% set next_next_train = t4 %}
{%else%}
  {% set next_train = t4 %}
{% endif %}

{% if ((today_at((next_train.strftime('%H:%M'))) - now()).seconds / 60) |int < 15 %}
  {% set next_train_min = (((today_at((next_train.strftime('%H:%M'))) - now()).seconds / 60) |int) %}
  {% set next_train_text = "om " + next_train_min | string +" minuter"%}

{%else%}
  {% set next_train_text = next_train.strftime('%H:%M') %}
{% endif %}

 Pendeltåg:

{{ next_train_text }}

& {{ next_next_train.strftime('%H:%M') }}

Here is a scree shot from my current frontend (work in progress): https://imgur.com/DrJcMRt

I did a similar one, and got some inspiration from Johan above (thanks!).
  - scan_interval: 180
    resource: https://transport.integration.sl.se/v1/sites/<sitenr>/departures?transport=BUS&line=<line>&direction=2&forecast=60
    sensor:
      - name: "SL #1"
        value_template: "{{ as_timestamp(value_json['departures'][0]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_1
      - name: "SL #2"
        value_template: "{{ as_timestamp(value_json['departures'][1]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_2
      - name: "SL #3"
        value_template: "{{ as_timestamp(value_json['departures'][2]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_3
      - name: "SL #4"
        value_template: "{{ as_timestamp(value_json['departures'][3]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_4

I then used the mushroom template card to display this in lovelace:
type: custom:mushroom-template-card
primary: Bus
secondary: |-
  {% if not is_state('sensor.sl_bus_1', 'unknown') -%}
  - {{ states('sensor.sl_bus_1') }}
  {% endif %}
  {%- if not is_state('sensor.sl_bus_2', 'unknown') -%}
  - {{ states('sensor.sl_bus_2') }}
  {% endif %}
  {%- if not is_state('sensor.sl_bus_3', 'unknown') -%}
  - {{ states('sensor.sl_bus_3') }}
  {% endif %}
  {%- if not is_state('sensor.sl_bus_4', 'unknown') -%}
  - {{ states('sensor.sl_bus_4') }}
  {% endif %}
icon: mdi:home
entity: sensor.sl_bus_1
multiline_secondary: true

Giving me this result:

I am using a similar method combined with OpenEPaperLink display to show the next buses at the entrance.

My integration based on SL Realtidsinformation 4 worked until 1 October. I don't fully understand the information at Trafiklab website but it seems Resrobot 2.1 should still be working? So maybe it's just me making some mistake setting it up.
I really liked hasl departure lovelace card and with your rest sensor I only get time until next departure :/

Reserobot is working but I can't seem to configure it with direction 1 or 2 but 0 is fine

I did a similar one, and got some inspiration from Johan above (thanks!).
rest:
  - scan_interval: 180
    resource: https://transport.integration.sl.se/v1/sites/<sitenr>/departures?transport=BUS&line=<line>&direction=2&forecast=60
    sensor:
      - name: "SL #1"
        value_template: "{{ as_timestamp(value_json['departures'][0]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_1
      - name: "SL #2"
        value_template: "{{ as_timestamp(value_json['departures'][1]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_2
      - name: "SL #3"
        value_template: "{{ as_timestamp(value_json['departures'][2]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_3
      - name: "SL #4"
        value_template: "{{ as_timestamp(value_json['departures'][3]['expected']) | timestamp_custom('%H:%M') }}"
        unique_id: sl_bus_4

I then used the mushroom template card to display this in lovelace:
type: custom:mushroom-template-card
primary: Bus
secondary: |-
  {% if not is_state('sensor.sl_bus_1', 'unknown') -%}
  - {{ states('sensor.sl_bus_1') }}
  {% endif %}
  {%- if not is_state('sensor.sl_bus_2', 'unknown') -%}
  - {{ states('sensor.sl_bus_2') }}
  {% endif %}
  {%- if not is_state('sensor.sl_bus_3', 'unknown') -%}
  - {{ states('sensor.sl_bus_3') }}
  {% endif %}
  {%- if not is_state('sensor.sl_bus_4', 'unknown') -%}
  - {{ states('sensor.sl_bus_4') }}
  {% endif %}
icon: mdi:bus
entity: sensor.sl_bus_1
multiline_secondary: true

Giving me this result:

Thanks for this! I can't write this by myself but have some experience in copy and pasting and editing and managed to work this out for myself.

Yes its to bad it isnt working anymore :(
Yeah, what do you need? Also I did some tweaking to have it create additional sensors for the next 4 departures:
rest:
  - resource: https://transport.integration.sl.se/v1/sites/9504/departures?transport=TRAIN&direction=1&forecast=60
    scan_interval: 300 # the default is 30 seconds if you leave this line out, or change it to what you need.
    sensor:
      - name: "Train 1"
        value_template: "{{value_json['departures'][0]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_1
      - name: "Train 2"
        value_template: "{{value_json['departures'][1]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_2
      - name: "Train 3"
        value_template: "{{value_json['departures'][2]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_3
      - name: "Train 4"
        value_template: "{{value_json['departures'][3]['expected'] | as_datetime | as_local()}}"
        unique_id: sensor.train_4

And then I added this to my frontend so that I can see whenever the next train is leaving, and the one after that:
{% set t1 = states('sensor.train_1') | as_datetime %}
{% set t2 = states('sensor.train_2') | as_datetime %}
{% set t3 = states('sensor.train_3') | as_datetime %}
{% set t4 = states('sensor.train_4') | as_datetime %}

{% if t1 == 'Unknown'%}
  {% set next_train = 'Okänt' %}
{% elif  t_now < t1%}
  {% set next_train = t1 %}
  {% set next_next_train = t2 %}
{% elif  t_now < t2%}
  {% set next_train = t2 %}
  {% set next_next_train = t3 %}
{% elif  t_now < t3%}
  {% set next_train = t3 %}
  {% set next_next_train = t4 %}
{%else%}
  {% set next_train = t4 %}
{% endif %}

{% if ((today_at((next_train.strftime('%H:%M'))) - now()).seconds / 60) |int < 15 %}
  {% set next_train_min = (((today_at((next_train.strftime('%H:%M'))) - now()).seconds / 60) |int) %}
  {% set next_train_text = "om " + next_train_min | string +" minuter"%}

{%else%}
  {% set next_train_text = next_train.strftime('%H:%M') %}
{% endif %}

 Pendeltåg:

{{ next_train_text }}

& {{ next_next_train.strftime('%H:%M') }}

Here is a scree shot from my current frontend (work in progress): https://imgur.com/DrJcMRt

Hi,
First of all, appreciate your input.
I have tried to add it to configuration.yaml - and reloaded HA. For some reason, I can't find the sensors (sensor.train_1 for example). It doesn't show up under as an entity under Developer Tools -> State.
Any idea why?

Using this as well, thanks a lot!

Question. Anyone know why I do only get maximum of 3 sensors (times) to work though?
I've added multiple in my configuration.yaml:

rest:

resource: https://transport.integration.sl.se/v1/sites/9183/departures?transport=METRO&direction=1
scan_interval: 30 # the default is 30 seconds if you leave this line out, or change it to what you need.
sensor:

name: "Train 1"
value_template: "{{ as_timestamp(value_json['departures'][0]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_1
name: "Train 2"
value_template: "{{ as_timestamp(value_json['departures'][1]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_2
name: "Train 3"
value_template: "{{ as_timestamp(value_json['departures'][2]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_3
name: "Train 4"
value_template: "{{ as_timestamp(value_json['departures'][3]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_4
name: "Train 5"
value_template: "{{ as_timestamp(value_json['departures'][4]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_5

But looking at sensor.train_4 and sensor.train_5 in Dev Tools they are always unknown:

Using this as well, thanks a lot!

Question. Anyone know why I do only get maximum of 3 sensors (times) to work though?
I've added multiple in my configuration.yaml:

rest:

resource: https://transport.integration.sl.se/v1/sites/9183/departures?transport=METRO&direction=1
scan_interval: 30 # the default is 30 seconds if you leave this line out, or change it to what you need.
sensor:

name: "Train 1"
value_template: "{{ as_timestamp(value_json['departures'][0]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_1
name: "Train 2"
value_template: "{{ as_timestamp(value_json['departures'][1]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_2
name: "Train 3"
value_template: "{{ as_timestamp(value_json['departures'][2]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_3
name: "Train 4"
value_template: "{{ as_timestamp(value_json['departures'][3]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_4
name: "Train 5"
value_template: "{{ as_timestamp(value_json['departures'][4]['expected']) | timestamp_custom('%H:%M') }}"
unique_id: sensor.train_5

But looking at sensor.train_4 and sensor.train_5 in Dev Tools they are always unknown:

The API only gives 3 departures unfortunately

The API only gives 3 departures unfortunately

Ah, I see. I missed that part, that's unfortunate.
I will begin looking into creating a sensor and card for disturbances/delays on my specific metro-line. If anyone has made anything similar I'd be happy to get some inspo.

Hey everyone, thanks for sharing this!
The new SL sensors are available in the pre-release version of this integration, go check it out!


Update grids.py and interpolation.py

In this PR, I

Add types to the grids.py module
For this I define the Scalar type, which includes int, float, and jax.Array, because many JAX and LCM functions workon zero-dimensiona JAX arrays (and that often faster compared to float's).
Delete the interpolation.py module, because it was not used anymore
Create more precise types for the grid specification of discrete and continuous variables.
Delete a JAX config update that constraints computation on the CPU, which was added for testing.
Added more unit and illustrative tests

In principle, yes, but it is not completely trivial. I have opened an issue but set the priority to low for now (#76)

@hmgaudecker
I am fairly happy with the new changes and would be okay with merging this PR without your review if you do not find the time right now. Of course, if you find the time, I'd be happy to get your feedback.
There is no time pressure on this PR, so a review in the next 1-2 weeks would suffice.


Each training session ends with only one epoch of training

I've built my dataset up and tried to fine tune the dinov2, but it only executes one epoch per training and then ends, I'd like to know which parameter this is modifying, I'd appreciate it.

I20231111 00:21:00 65566 dinov2 helpers.py:103] Training  [  3280/164000]  eta: 1 day, 3:45:08  lr: 0.0000 (0.0000)  wd: 0.0414 (0.0405)  mom: 0.9941 (0.9940)  last_layer_lr: 0.0000 (0.0000)  current_batch_size: 1.0000 (1.0000)  total_loss: inf (inf)  dino_local_crops_loss: 10.5893 (10.5893)  dino_global_crops_loss: 1.3237 (1.3237)  koleo_loss: inf (inf)  ibot_loss: 2.9926 (2.9913)  time: 1.157781  data: 0.000141  max mem: 11125
I20231111 00:21:01 65566 dinov2 helpers.py:132] Training Total time: 1:44:52 (0.038368 s / it)

So in dinov2 we can iterate over the dataset forever, and training will stop when a given number of iterations is reached. It is likely that your dataset stops iterating after a full pass over the data, breaking the loop.

I20231111 00:21:00 65566 dinov2 helpers.py:103] 训练 [3280/164000] eta：1 天，3:45:08 lr：0.0000 (0.0000) wd：0.0414 (0.0405) mom：0.9941 (0.9940) last_layer _lr： 0.0000（0.0000）current_batch_size：1.0000（1.0000）total_loss：inf（inf）dino_local_crops_loss：10.5893（10.5893）dino_global_crops_loss：1.3237（1.3237）koleo_loss：inf（inf）ibot_loss：2.992 6 (2.9913) 时间：1.157781 数据：0.000141 最大内存：11125
I20231111 00:21:01 65566 dinov2 helpers.py:132] 训练总时间：1:44:52（0.038368 s / it）
The above message is the final snippet I took from the log file. Obviously I want it to train 3280 x 500 epochs, but it only executes one epoch before it finishes, which is very frustrating for me, can you provide a more detailed opinion?

@GZ-YourZY
The Epoch parameter may not be used; instead, the number of iterations represents the number of trainings.
Is that right?@qasfb  @GZ-YourZY

So in dinov2 we can iterate over the dataset forever, and training will stop when a given number of iterations is reached. It is likely that your dataset stops iterating after a full pass over the data, breaking the loop.

I20231111 00:21:00 65566 dinov2 helpers.py:103] 训练 [3280/164000] eta：1 天，3:45:08 lr：0.0000 (0.0000) wd：0.0414 (0.0405) mom：0.9941 (0.9940) last_layer _lr： 0.0000（0.0000）current_batch_size：1.0000（1.0000）total_loss：inf（inf）dino_local_crops_loss：10.5893（10.5893）dino_global_crops_loss：1.3237（1.3237）koleo_loss：inf（inf）ibot_loss：2.992 6 (2.9913) 时间：1.157781 数据：0.000141 最大内存：11125 I20231111 00:21:01 65566 dinov2 helpers.py:132] 训练总时间：1:44:52（0.038368 s / it）
The above message is the final snippet I took from the log file. Obviously I want it to train 3280 x 500 epochs, but it only executes one epoch before it finishes, which is very frustrating for me, can you provide a more detailed opinion?

On the original version of Binov2, I ran the/run/train/train.exe file with the following code and found that it never started training or generated any error messages.
python dinov2/run/train/train.py
--nodes 1
--config-file dinov2/configs/train/vitl16_short.yaml
--output-dir <PATH/TO/OUTPUT/DIR>
train.dataset_path=ImageNet:split=TRAIN:root=<PATH/TO/DATASET>:extra=<PATH/TO/DATASET>


add server side token storage

and adjust the error handler tests to not rely on auth0 at all which should avoid having to set CLIENT_ID and CLIENT_SECRET for now at least

yeah, we're trusting flask does the right thing with the cookies. I considered hashing the username w/ sha256 before storing, but I don't think it is private information that shouldn't go in a cookie


Update id and project_id outputs for project module

Update project module outputs for id and project_id to fix implicit dependency issues when referencing projects to be created with given module.
I applicable, I acknowledge that I have:

[X] Read the contributing guide
[X] Ran terraform fmt on all modified files
[X] Regenerated the relevant README.md files using tools/tfdoc.py
[] Made sure all relevant tests pass

I'm pretty sure we don't want this: outputs are static to prevent circular deps. Let's discuss why you need this change.


Remove extra buckets option from all services

As this is not working as expected p.t.
Internal ref: DPSTAT-1023

This change is

Changes to the standard catalog must be done via the standard-test repo.
Also see https://github.com/statisticsnorway/dapla-lab-helm-charts-standard-test/pull/26


Need option to include the current configuration name as part of the filename

Title says it all. But for an example, if I have a design called "Foo Object", and configurations "1.x", "2.x", and "3.x", it'd be nice to have the either have the output folder include the "1.x", or maybe the filename inside the folder have it.

I'm not  a 100% sure what configuration is in this context.  Are you talking about this? If yes, I'm not able to help, because I don't have this subscription.

yes, that's the thing. guess i'll look at the code and see if i can figure out where to add it. i remember seeing the API calls to get the current configuration name, but that's about it.

This would be great. PR are very welcome.


Should refresh the origin before checking changes

This bug causes the createOrUpdate don't work as expected. e.g.
$cluster->ingress()->setName('test-ingress')->setRules([])->createOrUpdate();

This works well when test-ingress doesn't exist, but won't execute the updating if it already exists.
This is because $cluster->ingress()->setName('test-ingress')->setRules([]) will create a new K8sIngress object with $synced = false and $original = [], the hasChanged() method will return false in this case, so it won't perform the updating in result.

Thanks for this catch :D