rdpgfx or tsmf | freerdp session crashing with all local video formats

FreeRDP Master - Git Revision 0d7a6b5
Applied patches http://nopaste.narf.at/show/330331/
All cmake Options:
http://pastebin.com/fwQbSPZx
Connection server -> Windows Server 2012 R2 Standard 64-Bit
Client system -> Linux vagrant-ubuntu-trusty-32 3.13.0-85-generic #129-Ubuntu SMP Thu Mar 17 20:50:41 UTC 2016 i686 GNU/Linux
Local video formats tried: mp4, AVCHD-Video, divx (videoclip), wmv
(played via network drive)
Command Line:
/opt/freerdp/bin/xfreerdp /u:$USER /p:$PASS /d:WINDOWS.LOCAL +sec-tls -sec-nla /rfx /gfx /multimedia:decoder:gstreamer /sound:sys:pulse /audio-mode:0 /cert-ignore /v:$SERVER
Errors with /multimedia:decoder:gstreamer ->
[11:20:32:675] [1674:1675] [ERROR][com.winpr.timezone] - Unable to find a match for unix timezone: Etc/UTC
[11:20:40:568] [1674:1678] [ERROR][com.freerdp.channels.tsmf.client] - Failed to create new pipe
[11:20:40:569] [1674:1678] [WARN][com.freerdp.channels.tsmf.client] - Format not supported by decoder gstreamer
[11:20:40:596] [1674:1678] [ERROR][com.freerdp.channels.tsmf.client] - Failed to create new pipe
[11:20:40:597] [1674:1678] [WARN][com.freerdp.channels.tsmf.client] - Format not supported by decoder gstreamer
[11:20:40:934] [1674:1678] [ERROR][com.freerdp.channels.drdynvc.client] - ChannelId 10 not found!
[11:20:40:934] [1674:1678] [ERROR][com.freerdp.channels.drdynvc.client] - drdynvc_order_recv failed with error 1359!
[11:20:40:941] [1674:1675] [ERROR][com.freerdp.core] - drdynvc_virtual_channel_client_thread reported an error. Error was 1359
[11:20:40:941] [1674:1675] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor
[11:20:32:581] [1674:1675] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpdr
[11:20:32:582] [1674:1675] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpsnd
[11:20:32:582] [1674:1675] [INFO][com.freerdp.client.common.cmdline] - loading channel drdynvc
[11:20:32:813] [1674:1675] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel tsmf
[11:20:32:813] [1674:1675] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[11:20:32:826] [1674:1677] [INFO][com.freerdp.channels.rdpsnd.client] - Loaded pulse backend for rdpsnd
[11:20:40:941] [1674:1675] [INFO][com.freerdp.client.x11] - Network disconnect!
Valgrind gstreamer: http://pastebin.com/ZyA1VEGx
Errors with /multimedia:decoder:ffmpeg ->
[11:24:49:008] [1730:1731] [ERROR][com.winpr.timezone] - Unable to find a match for unix timezone: Etc/UTC
[11:24:55:854] [1730:1734] [WARN][com.freerdp.channels.tsmf.client] - presentation id EB10E43FC7D88948978A770EC41CBE34 not found
[11:24:55:154] [1730:1747] [ERROR][com.freerdp.channels.tsmf.client] - data_size 1046, no frame is decoded.
[11:24:55:154] [1730:1747] [ERROR][com.freerdp.channels.tsmf.client] - decode error, queue ack anyways
[11:24:55:159] [1730:1734] [ERROR][com.freerdp.channels.drdynvc.client] - ChannelId 10 not found!
[11:24:55:159] [1730:1734] [ERROR][com.freerdp.channels.drdynvc.client] - drdynvc_order_recv failed with error 1359!
[11:24:55:159] [1730:1731] [ERROR][com.freerdp.core] - drdynvc_virtual_channel_client_thread reported an error. Error was 1359
[11:24:55:159] [1730:1731] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor
[11:24:49:902] [1730:1731] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpdr
[11:24:49:902] [1730:1731] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpsnd
[11:24:49:902] [1730:1731] [INFO][com.freerdp.client.common.cmdline] - loading channel drdynvc
[11:24:49:115] [1730:1731] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel tsmf
[11:24:49:115] [1730:1731] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[11:24:49:124] [1730:1733] [INFO][com.freerdp.channels.rdpsnd.client] - Loaded pulse backend for rdpsnd
[11:24:55:159] [1730:1731] [INFO][com.freerdp.client.x11] - Network disconnect!
Valgrind ffmpeg: http://pastebin.com/ZgqgieuG
Errors with -DBUILTIN_CHANNELS=OFF
Gstreamer:
[11:52:05:934] [9545:9546] [ERROR][com.winpr.timezone] - Unable to find a match for unix timezone: Etc/UTC
[11:52:12:375] [9545:9549] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure freerdp_tsmf_client_subsystem_entry: /opt/freerdp/lib/i386-linux-gnu/freerdp2/libtsmf-client-gstreamer-decoder.so: undefined symbol: freerdp_tsmf_client_subsystem_entry
[11:52:12:376] [9545:9549] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure freerdp_tsmf_client_subsystem_entry: /opt/freerdp/lib/i386-linux-gnu/freerdp2/libtsmf-client-gstreamer-decoder.so: undefined symbol: freerdp_tsmf_client_subsystem_entry
[11:52:12:384] [9545:9549] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure freerdp_tsmf_client_subsystem_entry: /opt/freerdp/lib/i386-linux-gnu/freerdp2/libtsmf-client-ffmpeg-decoder.so: undefined symbol: freerdp_tsmf_client_subsystem_entry
[11:52:15:532] [9545:9549] [ERROR][com.freerdp.channels.drdynvc.client] - ChannelId 10 not found!
[11:52:15:532] [9545:9549] [ERROR][com.freerdp.channels.drdynvc.client] - drdynvc_order_recv failed with error 1359!
[11:52:15:533] [9545:9546] [ERROR][com.freerdp.core] - drdynvc_virtual_channel_client_thread reported an error. Error was 1359
[11:52:15:533] [9545:9546] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor
[11:52:05:840] [9545:9546] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpdr
[11:52:05:840] [9545:9546] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpsnd
[11:52:05:840] [9545:9546] [INFO][com.freerdp.client.common.cmdline] - loading channel drdynvc
[11:52:06:272] [9545:9546] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel tsmf
[11:52:06:273] [9545:9546] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[11:52:06:287] [9545:9548] [INFO][com.freerdp.channels.rdpsnd.client] - Loaded pulse backend for rdpsnd
[11:52:15:533] [9545:9546] [INFO][com.freerdp.client.x11] - Network disconnect!
FFMPEG:
[11:53:08:571] [9563:9564] [ERROR][com.winpr.timezone] - Unable to find a match for unix timezone: Etc/UTC
[11:53:13:545] [9563:9567] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure freerdp_tsmf_client_subsystem_entry: /opt/freerdp/lib/i386-linux-gnu/freerdp2/libtsmf-client-ffmpeg-decoder.so: undefined symbol: freerdp_tsmf_client_subsystem_entry
[11:53:13:548] [9563:9567] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure freerdp_tsmf_client_subsystem_entry: /opt/freerdp/lib/i386-linux-gnu/freerdp2/libtsmf-client-gstreamer-decoder.so: undefined symbol: freerdp_tsmf_client_subsystem_entry
[11:53:13:560] [9563:9567] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure freerdp_tsmf_client_subsystem_entry: /opt/freerdp/lib/i386-linux-gnu/freerdp2/libtsmf-client-ffmpeg-decoder.so: undefined symbol: freerdp_tsmf_client_subsystem_entry
[11:53:13:826] [9563:9567] [ERROR][com.freerdp.channels.drdynvc.client] - ChannelId 10 not found!
[11:53:13:826] [9563:9567] [ERROR][com.freerdp.channels.drdynvc.client] - drdynvc_order_recv failed with error 1359!
[11:53:13:826] [9563:9564] [ERROR][com.freerdp.core] - drdynvc_virtual_channel_client_thread reported an error. Error was 1359
[11:53:13:826] [9563:9564] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor
[11:53:08:480] [9563:9564] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpdr
[11:53:08:481] [9563:9564] [INFO][com.freerdp.client.common.cmdline] - loading channel rdpsnd
[11:53:08:481] [9563:9564] [INFO][com.freerdp.client.common.cmdline] - loading channel drdynvc
[11:53:08:677] [9563:9564] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel tsmf
[11:53:08:678] [9563:9564] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[11:53:08:684] [9563:9566] [INFO][com.freerdp.channels.rdpsnd.client] - Loaded pulse backend for rdpsnd
[11:53:13:826] [9563:9564] [INFO][com.freerdp.client.x11] - Network disconnect!
If you have any more questions, feel free to ask.

I guess the crashing is because of gfx.
If I remove the parameter /gfx I get the error messages from above but my session stays alive.

It even crashes with the last nightly binary -> Build i386,trusty,pkg-deb (Jul 1, 2016 3:48:55 AM)

@T3N4K4 how do you play the content on the server side?

With the windows media player -> 12.0.9600.17031
I just tested without gfx, but with /rfx /multimedia:decoder:gstreamer and this works like a charm.
(Note: On the windows server 2012 r2 one has to enable the 32bit limitation with gpedit.msc in the remote desktop services host session)
This could be a workaround..

Update: With /gfx:rfx it does not crash, but shows the message:
[08:41:10:572] [9655:9692] [ERROR][com.freerdp.channels.drdynvc.client] - Protocol error: Duplicated ChannelId 6 (Microsoft::Windows::RDS::Graphics)!
[08:41:10:572] [9655:9692] [ERROR][com.freerdp.channels.drdynvc.client] - dvcman_channel_new failed!
Any ideas what is going wrong here ?

@bmiklautz is there any reference where I can lookup (specific)/ the errors ? I could try to fix them for myself.. but there seems to be almost nothing when I search for MS-RDPEGFX (except for the protocol specification) or for things like "drdynvc_order_recv failed with error 1359!" or "ChannelId 10 not found!".
I can only guess that ChannelId 10 is the GFX-Channel..

I was playing around with this lately, ran into the same thing and bumped up the logging to see that ChannelID 10 is for the Channel defined in MS-RDPEGT which has the name "Microsoft::Windows::RDS::Geometry::v08.01". There are other related channels requested as well that we are not handling on the client side that I think are related: Microsoft::Windows::RDS::Video::Control::v08.01"" and "Microsoft::Windows::RDS::Video::Data::v08.01". That is all I know at this point, but it does not seem like freerdp is trying to support these channels based on my initial search through the code.

As far as I can tell xfreerdp is doing the appropriate thing, MS-RDPEGT says a client should just not open the channel when requested from the server if it is not supported and that appears to be what is being done for the channel causing a problem: "Microsoft::Windows::RDS::Geometry::v08.01". However, the server still tries to use this channel when I open a video in Windows Media Player on Windows 10 and this causes the client to exit out since the channel is not open on the client side. This channel spec seems pretty simple, I wonder if it could be stubbed out to make things happy.

The problem is, that it worked fine for some months. And suddenly even with the before perfectly working versions freerdp crashes (local video formats played up to 1080p almost smoothly, 720p was perfect in image and sound).
I've done some tests with /gfx-h264. Youtube works, but local videos do not. And I've tried /gfx:rfx which does not work. I've even tried diifferent hardware since I thought this could be a problem too.
What I've seen lately on the windows side in the event viewer is that even without /multimedia or /gfx just with /rfx the gfx-channel is still loaded or somewhat tries to load the channel and fails therefore closing the connection.
With just /rfx the video channel is loaded correctly (event viewer) but the performance is not nearly good enough for 480p it seems.
When I have some more time I am going for a big debug session.

I think you should check out this article: https://blogs.technet.microsoft.com/enterprisemobility/2012/08/16/enabling-a-seamless-multimedia-experience-with-remotefx-media-streaming-in-windows-server-2012-and-windows-8/
I am using Windows 10 which no longer supports MMR(/multimedia option in xfreerdp) and only supports the newer Media Streaming(which is not implemented in freerdp). Your backend supports both and it looks like the server side automatically determines which it thinks is better based on network conditions, etc. Maybe you can try using "/network:lan" in your command-line to see if that helps. Unfortunately, I am not sure how we can force the server side to never try media streaming at all since that is what is breaking the freerdp client software. When it worked before, I believe your windows media player was deciding to use MMR and is now deciding to use Media Streaming instead automatically. The problem is that media streaming consists of the channels I mentioned above which are only loaded if the gfx channel is loaded. FreeRDP is not opening these other channels and appears to be telling the server it did not open the channels, but when you go to play local video it decides to use the unopened channel "Microsoft::Windows::RDS::Geometry::v08.01" anyways. From what I can see in the spec, the only way the client says it does not support this channeling is by telling the server the channel open failed once the server requests it to be opened. So, I think FreeRDP is doing the correct thing(considering it does not support those three other channels).
I would suspect that without this bug with the media streaming channels and without /multimedia supplied that then the standard gfx channel handling of the desktop would then be used. Like this is when /gfx-h264 might be used for local video playback.

Thank you for your extensive answer.
Does that mean that from now on one should not use either -DWITH_X264 or -DWITH_OPENH264 since both are for decoding on the client side ?
I thought about it before that it is based on network or the server having the last decision whether to use MMR or the normal RFX Media Streaming.. Yesterday I tried with UDP since I read that

“This feature offers advanced techniques such as intelligent and adaptive UDP transports, network loss tolerance, and recovery to provide a fast and fluid experience to users on a WAN.”

Without MMR and without /gfx in any variety it works just with /rfx. Not perfectly, but it works (720p are a bit laggy but good enough I guess).
I guess I have to ditch /multimedia and focus on /rfx.
What exactly does /gfx:rfx do ?

@T3N4K4 I do not have all the answers because I am just digging through the spec myself, so you will most likely have to experiment for yourself.
If you are heavy on playing back local videos and running on Windows 2012R2, then you might want to use /multimedia without any /gfx options(this seems to work for me as it avoids the case that is breaking freerdp). /multimedia will give you the best video playback(should be built against gstreamer) if you are on a fast connection.I think /gfx:rfx just enables the rdpgfx channel without any H264 support. Based on my testing, the server seems to incorrectly try to send data on the channel from MS-RDPEGT we never agreed to open as soon as you start windows media player if we advertise to the server that we support the gfx channel. OPENH264 and X264 are only used for /gfx AVC420 and AVC444 it seems.
BTW: if you are getting those GetProcAddress errors still for tsmf then your /multimedia will do nothing. I think there is a bug in the current master with tsmf, it might work as is with BUILTIN_CHANNELS set but it is broke if you disable BUILTIN_CHANNELS.

Even without multimedia redirection enabled, I can observe the same problem with Windows Server 2012 R2. To reproduce the issue, use /gfx when connecting, and play this big buck bunny video in Windows Media Player.

I've got a pull request here: https://github.com/FreeRDP/FreeRDP/pull/3584

@T3N4K4 could you verify that this fixes your problem? - It's merged to master now and should be in the nightly by tomorrow.

How to enable the 32bit limitation with gpedit.msc?
2016-07-04 19:44 GMT+08:00 Kai<EMAIL_ADDRESS>
With the windows media player -> 12.0.9600.17031
I just tested without gfx, but with /rfx /multimedia:decoder:gstreamer and
this works like a charm.
(Note: On the windows server 2012 r2 one has to enable the 32bit
limitation with gpedit.msc in the remote desktop services host session)
This could be a workaround..
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FreeRDP/FreeRDP/issues/3422#issuecomment-230272135,
or mute the thread
https://github.com/notifications/unsubscribe/ADIYbNFkrmQWXVla3XdDKFlh1ZtCYPeSks5qSPI0gaJpZM4I8uzo
.

@uplusplus
Start: gpedit.msc
Go to: Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment -> Limit maximum color depth.
There you go.
@bmiklautz It is working, but the input is hanging again when a video is playing. +async-input +async-update do not work here. What /max-loop-time do I have to configure to make it less laggy?


feat: support npm v1.0

part of https://github.com/slsa-framework/slsa-verifier/issues/614

Fixed in #776


Add An Open Source Project - Colossal-AI

Colossal-AI is an efficient and low-cost open source deep learning system for large-scale model training. Contributors are very much appreciated. :)

looks good! thank you


Use retworkx for CouplingMap

Summary
This commit migrates Terra's CouplingMap class to us retworkx internally
instead of networkx providing >10x speed improvement for CouplingMap
operations.
Details and comments
Requires:

https://github.com/Qiskit/retworkx/pull/157
https://github.com/Qiskit/retworkx/pull/156
https://github.com/Qiskit/retworkx/pull/144
https://github.com/Qiskit/retworkx/pull/143
https://github.com/Qiskit/retworkx/pull/147
https://github.com/Qiskit/retworkx/pull/158
https://github.com/Qiskit/retworkx/pull/162
https://github.com/Qiskit/retworkx/pull/161
https://github.com/Qiskit/retworkx/pull/166

are merged and released before we can merge this.

Ok, retworkx 0.6.0 was released this morning, so this should be good to merge now.

I ran some quick numbers on this locally. Looking at one sample for the 5000 qubit linear coupling map:
(everything is in units of seconds)
5k qubit linear coupling map:

function
rx
nx

Creation
0.000272
0.611407

size()
4.76837158203125e-07
2.86102294921875e-06

get_edges()
0.0008533000946044922
0.002482175827026367

subgraph()
0.001262664794921875
0.0005185604095458984

physical_qubits()
5.054473876953125e-05
2.384185791015625e-07

is_connected()
0.00115
0.00736

neighbors()
3.337860107421875e-06
5.9604644775390625e-06

compute distance matrix
0.5976076126098633
45.07792687416077

shortest_undirected_path()
0.0005364418029785156
0.0011136531829833984

is_symmetric()
0.0001621246337890625
0.06235957145690918

largest_connected_component()
0.00023412704467773438
0.017648935317993164

It's also worth pointing out that the retworkx scaling is generally better here too. Like was able to run 50k qubits for line coupling map pretty easily with retworkx. The only place where I had to wait was on the distance matrix generation which took 60 seconds.
50k qubit linear coupling map:

function
rx
nx

Creation
0.00274
67.39870285987854

size()
9.5367431640625e-07
2.384185791015625e-06

get_edges()
0.03463315963745117
0.025606393814086914

subgraph()
0.0021719932556152344
0.00047278404235839844

physical_qubits()
0.0006732940673828125
2.384185791015625e-07

is_connected()
0.012038230895996094
0.07093596458435059

neighbors()
4.0531158447265625e-06
5.7220458984375e-06

compute distance matrix
60.5
did not finish ran out of memory after ~1 hour

Where retworkx has a disadvantage currently is in places where it has to return long lists all at once (physical_qubits() for example). That's because the type conversion from rust's Vec<T> to list(object) ends up becoming a bottleneck. This pretty much disappears with reasonable sized coupling maps for real devices, it only becomes an issue when the functions have to return a large list. But there is also a pattern to mitigate this from Qiskit/retworkx#185 that we can use on the other functions where this gets to be a problem.
These were generated using this script:
import time

from qiskit.transpiler.coupling import CouplingMap

#Empty Creation
start_empty = time.time()
empty = CouplingMap()
stop_empty = time.time()
print("Empty Creation Time: %s" % (stop_empty - start_empty))
#Line Creation
start_line = time.time()
line = CouplingMap.from_line(5000)
stop_line = time.time()
print("5k Qubit Line Creation Time: %s" % (stop_line - start_line))
#Grid Creation
start_grid = time.time()
grid = CouplingMap.from_grid(500, 10)
stop_grid = time.time()
print("5k Qubit Grid Creation Time: %s" % (stop_grid - start_grid))
#Ring Creation
start_ring = time.time()
ring = CouplingMap.from_ring(5000)
stop_ring = time.time()
print("5k Qubit Ring Creation Time: %s" % (stop_ring - start_ring))
#Full Creation
start_full = time.time()
full = CouplingMap.from_full(500)
stop_full = time.time()
print("500 Qubit Full Creation Time: %s" % (stop_full - start_full))

loop_elem = [('Empty', empty), ('Line', line), ('Grid', grid), ('Ring', ring),
             ('Full', full)]

for name, graph in loop_elem:
    start_time = time.time()
    graph.size()
    stop_time = time.time()
    print(" %s graph size(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    start_time = time.time()
    graph.get_edges()
    stop_time = time.time()
    print(" %s graph get_edges(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph.subgraph(list(range(100, 400)))
    stop_time = time.time()
    print(" %s graph subgraph(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    start_time = time.time()
    graph.physical_qubits
    stop_time = time.time()
    print(" %s graph physical_qubits(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    start_time = time.time()
    graph.is_connected()
    stop_time = time.time()
    print(" %s graph is_connected(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph.neighbors(350)
    stop_time = time.time()
    print(" %s graph neighbors(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph._compute_distance_matrix()
    stop_time = time.time()
    print(" %s graph compute distance matrix: %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph.distance(100, 400)
    stop_time = time.time()
    print(" %s graph distance(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph.shortest_undirected_path(100, 400)
    stop_time = time.time()
    print(" %s graph shortest_undirected_path(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph.is_symmetric
    stop_time = time.time()
    print(" %s graph is_symmetric(): %s" % (name, stop_time - start_time))

for name, graph in loop_elem:
    if name == 'Empty':
        continue
    start_time = time.time()
    graph.largest_connected_component()
    stop_time = time.time()
    print(" %s graph largest_connected_component(): %s" % (name, stop_time - start_time))

I just pushed up Qiskit/retworkx#198 which adds a custom return type for lists of node indices which mitigates the conversion penalty for long lists seen here. However, in general this is still significantly faster especially at current coupling map sizes so there is no reason to wait for that, it will just speed things up further whenever its released.

retworkx 0.7.0 was released this morning (and 0.7.1 a few minutes ago to fix an issue this PR uncovered with it around pickling) and added generator functions that can be used for CouplingMap.from_full() and CouplingMap.from_grid() which should significantly improve the performance of those constructors. I'll push a follow up to make that change after this merges.


Image drag & drop from Firefox into a Rocket channel does not work

My Setup

Operating System: Ubuntu 18.04 LTS

App Version: 2.15.3

Installation type: deb

[x] I have tested with the latest version

[x] I can simulate the issue easily

Description
Drag an image file from Firefox (66.0.3 in my case) and drop it into a Rocket channel.
Current Behavior
Nothing happens.
Expected Behavior
File (or its URL) is sent to channel.
For reference: the browser app pastes the URL when the image is dropped onto the input textbox, and fails when dropped into the message list (cf. RocketChat/Rocket.Chat/issues/14358).

Please test if the latest release did solve this. If not please reopen the issue or create a new one and tell us. I will be closing this one for now.
Thank you!


Environmental data

[ ] Retrieve data for all available sites
[ ] Add sites
[ ] Explore other climatic indices ?
[ ] Fix BAFOG and Paracou soil data extraction
[ ] Explore Lesong, Malinau, Missiones, Sungai Lalang, Tené, Ulu Muda, and Uppangala issue with TMF

@sylvainschmitt Should we contact the site PIs that have their plot locations outside forest areas? I can ask them to re-check the co-ordinates

@mithilaunkule , let me explore the problem more in depth first. You can focus on inventory and species raw data first please.

Explore Lesong, Malinau, Missiones, Sungai Lalang, Tené, Ulu Muda, and Uppangala issue with TMF

According to last commit "environment <IP_ADDRESS>10: esri wolrd imagery in site map for manual inspection of landscape, #1" and manual inspections:

Lesong: in forest
Malinau: most are in forest (e.g. CNV06 is dubious)
Missiones: in forest
Sungai Lalang: in forest
Tené: in forest
Ulu Muda: in forest
Uppangala: in forest

So the issue must come from TMF extraction.

Explore Lesong, Malinau, Missiones, Sungai Lalang, Tené, Ulu Muda, and Uppangala issue with TMF

According to last commit "environment <IP_ADDRESS>10: esri wolrd imagery in site map for manual inspection of landscape, #1" and manual inspections:
* Lesong: in forest

* Malinau: most are in forest (e.g. CNV06 is dubious)

* Missiones: in forest

* Sungai Lalang: in forest

* Tené: in forest

* Ulu Muda: in forest

* Uppangala: in forest

So the issue must come from TMF extraction.

The issue was coming from the fake 'time" variable from xee extraction with data not always in the second layer: https://github.com/Bioforest-project/environment/blob/c0d6c5c754cf01470b678539e57c2f9c0bcc9e9b/scripts/get_landscape.py#L37-L43
The code could be improved with a loop.

Misiones is simply outside of TMF!

I added the use of a bounding bow to fix soil data extraction for Paracou and Bafog:
https://github.com/Bioforest-project/environment/blob/417fb7faec5e1cee42f356efcb72e14c115b22fc/scripts/get_soil.py#L23-L25
I don't really know what was going wrong but it's working now.


Make GlyphInfo and GlyphPosition structs

Currently GlyphInfo and GlyphPosition are classes. Allocating large numbers of these puts a lot of pressure on the GC. Therefore, these should be structs.

This turned out to be easy - just declare both types as struct and change the marshaling code to:
		public GlyphInfo[] GlyphInfo()
		{
			int length;
			IntPtr glyphInfoPtr = HB.hb_buffer_get_glyph_infos(reference, out length);
			var glyphInfos = new GlyphInfo[length];
			for (int i = 0; i < length; ++i)
			{
				glyphInfos[i] = Marshal.PtrToStructure<GlyphInfo>(glyphInfoPtr + 20 * i);
			}

			return glyphInfos;
		}
		public GlyphPosition[] GlyphPositions()
		{
			int length;
			IntPtr glyphPositionPtr = `(reference, out length);
			var glyphPositions = new GlyphPosition[length];
			for (int i = 0; i < length; ++i)
			{
				glyphPositions[i] = Marshal.PtrToStructure<GlyphPosition>(glyphPositionPtr + 20 * i);
			}

			return glyphPositions;
		}

Note: It would be even better to directly marshal the result of HB.hb_buffer_get_glyph_infos() and HB.hb_buffer_get_glyph_positions() into c# arrays, thereby avoiding the loop. Haven't figured out how to do that, but seems like a common enough situation so it should be possible. But at least this fixes the issue of allocating lots of tiny classes.

Yes! Good catch! Arrays like this should be possible, my P/Invoke knowledge is a bit rusty but I'll see if I can make it work


Migrate to reconciler pattern for Build

Fixes #393
Proposed Changes

Copy code out of pkg/controller/build/ and into pkg/reconciler/build/
Make tests pass
That's pretty much it.

This is a smaller, more mechanical change than #420 which attempted to roll in a refactor which would have let us drop builder.Interface. I'd still like to get rid of that abstraction and just always interact with a kubeClient (which might be fake in tests), but I'll get to that some time after 0.2.
/assign shashwathi
/assign mattmoor
Release Note
Migrate to reconciler pattern for Build

I definitely like the scope of this PR. Great work @ImJasonH

/hold cancel

/lgtm


ot-ctl (interactive mode) exits when executing factoryreset

Describe the bug
ot-ctl (interactive mode) exits when executing CLI command: factoryreset
Expected behavior
It should not exit.

What would be the fix here?  Would it be to have ot-ctl automatically reconnect to the otbr-agent after sending a "factoryreset" or "reset" command to the otbr-agent when running in interactive mode?

What would be the fix here? Would it be to have ot-ctl automatically reconnect to the otbr-agent after sending a "factoryreset" or "reset" command to the otbr-agent when running in interactive mode?

Automatically reconnecting sounds promising to me. I will submit a fix lately to address this issue.
Besides, ot-ctl exits automatically if otbr-agent has exited. From a larger perspective, do you think we should keep ot-ctl running despite the status of otbr-agent service is a good idea? @bukepo @gjc13 @jwhui

My thought is that if otbr-agent exists then it doesn't really make sense to keep ot-ctl running however in the factoryreset and reset cases otbr-agent isn't really exiting.

My thought is that if otbr-agent exists then it doesn't really make sense to keep ot-ctl running however in the factoryreset and reset cases otbr-agent isn't really exiting.

It's difficult for ot-ctl to determine why the session was closed. That's why I used a reconnecting timeout in https://github.com/openthread/openthread/pull/5466 and expects ot-daemon to recover before timeout expires if it's factoryreset or reset.

My thought is that if otbr-agent exists then it doesn't really make sense to keep ot-ctl running however in the factoryreset and reset cases otbr-agent isn't really exiting.

It's difficult for ot-ctl to determine why the session was closed. That's why I used a reconnecting timeout in openthread/openthread#5466 and expects ot-daemon to recover before timeout expires if it's factoryreset or reset.

I agree and I like your solution.

I have one question about this.  Right now, factoryreset and reset seem to be the only clean ways of exiting the interactive mode.  The 'exit' command seems to exit the otbr-agent all together.  Control-c seems to exit but this is not obvious to the user and it seems to mess up the terminal window (at least in putty).  I can end the entire telnet session, I suppose.  Is there a good way to exit the interactive mode that I'm not finding?

I have one question about this. Right now, factoryreset and reset seem to be the only clean ways of exiting the interactive mode. The 'exit' command seems to exit the otbr-agent all together. Control-c seems to exit but this is not obvious to the user and it seems to mess up the terminal window (at least in putty). I can end the entire telnet session, I suppose. Is there a good way to exit the interactive mode that I'm not finding?

Agree with you. I actually think we should not exit ot-daemon when we issue the exit command on ot-ctl, but only exit ot-ctl. Currently, the only thing ot-ctl does is passing the commands to ot-daemon. Maybe we need to enhance ot-ctl upon that.

Maybe exit in interactive mode exits ot-ctl but in non interactive mode sends it to ot-daemon?


<EMAIL_ADDRESS>download via aria2 failed

Updating 'flutter' (2.2.0 -> 2.2.1)
Downloading new version
Loading flutter-dev-setup.ps1 from cache.
Starting download with aria2 ...
Download: 06/02 09:28:07 [ERROR] CUID#8 - Download aborted. URI=https://storage.googleapis.com/flutter_infra/releases/stable/windows/flutter_windowsDownload: Exception: [AbstractCommand.cc:351] errorCode=22 URI=https://storage.googleapis.com/flutter_infra/releases/stable/windows/flutter_windows_Download:   -> [HttpSkipResponseCommand.cc:240] errorCode=22 The response Download: Download Results:
Download: gid   |stat|avg speed  |path/URI
Download: ======+====+===========+=======================================================
Download: ba441f|ERR |       0B/s|C:/Users/bulbitain/scoop/cache/flutter#2.2.1#https_storage.googleapis.com_flutter_infra_releases_stable_windows_flutter_windows_2.2.1-stable.zip
Download: Status Legend:
Download: (ERR):error occurred.
Download: aria2 will resume download if the transfer is restarted.
Download: If there are any errors, then see the log file. See '-l' option in help/man page for details.

ERROR Download failed! (Error 22) HTTP response header was bad or unexpected
ERROR https://storage.googleapis.com/flutter_infra/releases/stable/windows/flutter_windows_2.2.1-stable.zip
    referer=https://storage.googleapis.com/flutter_infra/releases/stable/windows/
    dir=C:\Users\bulbitain\scoop\cache
    out=flutter#2.2.1#https_storage.googleapis.com_flutter_infra_releases_stable_windows_flutter_windows_2.2.1-stable.zip

ERROR & 'C:\Users\bulbitain\scoop\apps\aria2\current\aria2c.exe' --input-file='C:\Users\bulbitain\scoop\cache\flutter.txt' --user-agent='Scoop/1.0 (+http://scoop.sh/) PowerShell/5.1 (Windows NT 10.0; Win64; x64; Desktop)' --allow-overwrite=true --auto-file-renaming=false --retry-wait=2 --split=5 --max-connection-per-server=5 --min-split-size=5M --console-log-level=warn --enable-color=false --no-conf=true --follow-metalink=true --metalink-preferred-protocol=https --min-tls-version=TLSv1.2 --stop-with-process=19788 --continue --summary-interval 0

thank you.

I checked it again and I found URLs recovered.
Thank you.


docs: expose existing comments

can you please add some description so it gives better context - I think there should be a template when you create a new PR .

@obecny sorry I thought the commit spoke for it self. I just changed // to /** so the comment becomes visible in editors.


sbt new fails to parse arguments correctly on Windows

steps
Replicated on sbt 1.9.9, running Windows Terminal (PowerShell).

Open command line on Windows
Run sbt new foundweekends/giter8.g8 --name=example.g8 --giter8_version=0.16.2 --sbt_version=1.9.9

problem
Command does not run successfully, error is throw:
Error: Unknown option --name
Error: Unknown argument 'example.g8'
Error: Unknown option --giter8_version
Error: Unknown argument '0.16.2'
Error: Unknown option --sbt_version
Error: Unknown argument '1.9.8'
Try --help for more information.

Command does work on Linux, tested on WSL (Ubuntu).
expectation
sbt project should be created from the template successfully with arguments passed to the template.
notes
After experimenting with variations of command, one version I found to work was sbt new foundweekends/giter8.g8 "--name=example.g8 " "--giter8_version=0.16.2 " "--sbt_version=1.9.9 " - arguments must be enclosed in quotes and must be terminated by a space.
One strange variation was that enclosing all arguments in quotes -  sbt new foundweekends/giter8.g8 "--name=example.g8 --giter8_version=0.16.2 --sbt_version=1.9.9" - created the sbt project, but with only the name argument set to example.g8 --giter8_version=0.16.2 --sbt_version=1.9.9, meaning that sbt project's directory would end up containing the remaining part of argument string.
This does not seem intentional, likely a bug in parser module.

Could also be a problem with launcher - it does extract the arguments that are then passed to sbt.

See also https://github.com/sbt/sbt/issues/2695. On Windows batch, equal sign = I think is treated as whitespace.

So apparently = is a default delimiter in batch scripts, workarounds for this issue seem to be present for certain types of arguments in launcher script already.
I am starting to think that it would be better to just start out fresh with a v2 cross-platform launcher script/app instead of keeping on patching these issues separately. Similar to how in g8 project the launcher script is just a Java app.


adding Novosibirsk State University

Novosibirsk State University,MS in Big Data Analytics,M,F,T,RU,,Novosibirsk,Mechanic-Mathematic,http://bigdatansu.ru/

@vladlaptevrub thanks for the update, I waited a bit too long merge the commit, but I did add Novosibirsk State University,MS in Big Data Analytics,M,F,T,RU,,Novosibirsk,Mechanic-Mathematic,http://bigdatansu.ru/
to the file


Adding ranges for the softmax temperature control.

The temperature_control_number on magenta_midi represents a temperature, but the range is not immediately clear. By adding details in the flag definition users can more easily understand how to tune the temperature.

I signed it!


add .backportrc.json

This PR adds a .backportrc.json configuration file for https://github.com/sqren/backport

Coverage remained the same at 92.759% when pulling 49d0d5856aebc5ff762a8ff508c94e16a19cfbeb on DanCech:backport into 698ee5f4de50693abac1491000ef4a98c708adab on graphite-project:master.


Clicking Scroll Bar Closes Suggestions

We're observing an undesired behavior in the library where when we click on the scrollbar in order to scroll down to other tag suggestions, the focus changes in such a way as to close out the tag suggestions.
For example:

When I put my mouse cursor on the scrollbar in order to scroll down to those suggestions that are lower, the focus on the form field is lost and the suggestion dropdown closes.
Is this an easy fix?  What are your thoughts?

I will look into this issue, fix it and update you here.

In which browser it is happening? I am not seeing this issue in chrome.

We are using Chrome in both OSX and Windows.  I'll attempt to attach a video demonstrating the behavior...
Screen Recording 2020-10-18 at 8.41.21 PM.mov.zip
Admittedly, we do have the Amsify library executing in a Bootstrap 4 modal.  I've seen Bootstrap do some weird things before in modals.  I'll attempt to draw up a simple example demonstrating the behavior outside of a Bootstrap modal and report back.
(Note that GitHub wouldn't allow me to attach the .mov file directly, but it would allow .zip upload... so I compressed the mov into a zip.)

Now this is interesting... gutting out the Bootstrap 4 modal looks like it causes the widget to work as expected.  Here's a video demonstrating the stripped down and gutted framework to just a simple field on a page...
Screen Recording 2020-10-18 at 8.58.15 PM.mov.zip
I'll try to dig deeper to see what Bootstrap is doing here.  Once I find out more, we may want to just close out the issue, but for now let's leave it open as a point of documentation and discussion of the findings.  At the least, it may serve to act as some bit of documentation or inspiration of such in the event that somebody else experiences what I do.

Oh wow.  Found it.
Stumbled into this S.O. answer (https://stackoverflow.com/a/54260165/280709), which led me to investigating the tabindex attribute of the Bootstrap modal.  When I edited the DOM to remove that attribute, the scroll bar within Amsify started working again.
I was able to permanently resolve it with this little bit of Javascript/jQuery:
let create_draft_asset_modal = $('#create-draft-asset-modal');
create_draft_asset_modal.on('show.bs.modal', function (e) {
    create_draft_asset_modal.removeAttr('tabindex'); // Fix for scroll focus https://stackoverflow.com/a/54260165/280709
}).on('hidden.bs.modal', function (e) {
    create_draft_asset_modal.attr('tabindex', '-1'); // Fix for scroll focus https://stackoverflow.com/a/54260165/280709
});

I'll go ahead and close this issue.  I apologize that I didn't investigate deeper with a simple minimal POC evidencing the adverse behavior.
Thanks again for the library.

hi
I am facing this issue in chrome. My settings are;
$('input[name="search-tag"]').amsifySuggestags({
type: 'amsify',
suggestions: searchData,
whiteList: true,
showAllSuggestions: true,
keepLastOnHoverTag: false,
afterAdd: function (value) {
searchTerms.push(value);
performSearch();
},
afterRemove: function (value) {
var termIndex = searchTerms.indexOf(value); // get index if value found otherwise -1
            if (termIndex > -1) { //if found
                searchTerms.splice(termIndex, 1);
            }
            performSearch();
        },
    });

I removed the tabindex as suggested by @dlernstrom and I am using the element in bs 5 modal. the problem still remains.
If I remove "keepLastOnHoverTag: false" option then the scroll bar is working but in that case last hover item gets selected in the input box and to be able to close the drop down, I have to clear the box  which is not user friendly.
any suggestion?
thanks
raxit


Include bluebird in bluebirdjs.com

Some documentation sites include their own library in the source code so that users can use the debug console as a playground. One example is lodash (https://lodash.com/docs). It makes it a lot easier to quickly test something out. Not a big deal though.

I'm +1 on this.

This is a great idea


JsonProtocol.writeMessage: use Json.serialize instead of stringify (Fable 3 warning)

Following SimpleJson's recommentation in a warning when building with
Fable 3:

It looks like you using the function Json.stringify from
Fable.SimpleJson while also using Fable 3 (nagareyama). Please use
Json.serialize instead which supports both Fable 3 and Fable 2.x

According to Zaid (the author) this function results in the same output:
https://github.com/Zaid-Ajaj/Fable.SimpleJson/issues/57

Pull request checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)

n/a

[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)

n/a

[x] Build (fake build or .\build.cmd) on local branch was successful

Fake's Dotnet.restore seems to have an issue. I was not able to restore this way, and therefor not able to use the build.fsx.
Finished (Failed) 'DotNet:restore' in 00:00:25.5349290
Task failed with Value cannot be null. (Parameter 'format')

A manual dotnet build Fable.SignalR.sln did finish successfully though.
Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
SimpleJson's stringify outputs a warning when used with Fable 3.
What is the new behavior?
SimpleJson's serialize does not output a warning.
Does this introduce a breaking change?

[ ] Yes
[x] No

Thanks! I think I need to update the version of dotnet that the CI is using. I'll get this published shortly.


add missing link to TEI Gaudi in docs

Added link to TEI gaudi in docs.
I followed same approach as in TGI documentation: https://huggingface.co/docs/text-generation-inference/index

we are mering tei-gaudi back to tei, so maybe we can hold on the doc thing as of now.

will upgrade docs if needed when tei-gaudi merged to tei


Delimiter functionality for ListObjects and ListObjectsV2 is not working

Expected Behavior
When using the delimiter field in a ListObjectsV2 call, it should group the result by folders.
Current Behavior
It's currently ignoring the delimiter field and not grouping the results by folder levels/prefix.
Possible Solution
Both ListObjects and ListObjectsV2 here are ignoring the delimiter field.  So assuming the fix here is to take the result and do some parsing on it to group subfolder content by folders and serve that inside the CommonPrefix field.
Steps to Reproduce (for bugs)

Create a bucket with a folder A inside and content in that folder
Create a subfolder B under folder A and and contents in there as well.
Call the list objects API using

var AWS = require('aws-sdk');

var s3 = new AWS.S3({
  accessKeyId: 'minio',
  secretAccessKey: 'miniostorage',
  endpoint: 'http://localhost:9000',
... });

s3.listObjectsV2({
  Bucket: 'bucket-name',
  MaxKeys: 20,
  Delimiter: '/',
}, (err, data) => {
  console.log('res', err, data);
});

This does not use the delimiter field and the response is not grouped by folders.

Context
We need to show folder context just for the cbuntu 18.04.3 LTS bionicurrent folder being browsed and this isn't possible without the delimiter field working.  It currently returns all files even in subfolders instead of just the current folder.
Regression
No
Your Environment

Version used (minio version): a85f85c (HEAD -> master, tag: v0.0.7, origin/master, origin/HEAD)
Environment name and version (e.g. nginx 1.9.1):  n/a
Server type and version:  n/a
Operating System and version (uname -a): Ubuntu 18.04.3 LTS bionic
Link to your project: fleek.co

Possible Fix
https://github.com/FleekHQ/s3x/pull/6

@dmolina79 The link returns a 404 now, how did it go?

hi @xiegeo sorry for the late response, we had to get creative on our end to move some things around and had to fork minio directly and put s3x gateway on top of it so we switched repos.
New repo is here. https://github.com/FleekHQ/minio
List directories with prefix works well here
https://github.com/FleekHQ/minio/blob/27a6976cd732c8f082e4874395d6b5a7c6aa809f/cmd/gateway/s3x/gateway-s3x-object.go#L43
we have it live on fleek so if that fix looks good we could prepare a PR for this issue.

@dmolina79 Thanks for the update, that switch makes sense. I refactored how we use minio here too, so make sure you check that out.
If you can, please submit a pull request. I'm working on a better implementation for ListObjects and ListObjectsV2 and would like to apply them on top of your changes. Otherwise, I'll just reference your code when implementing this feature.
I'm not too sure how maxkeys should work with CommonPrefix field. Should the number of objects and CommonPrefix combined count to maxkeys, or count the number of objects covered in CommonPrefix too? The first option makes sense for how much data the client receives, the second makes sense for how much data the server processes.


clarify spec of reversed(dict)

Python allows any iterable sequence, but disallows dict; it returns a reverse iterator.
Starlark-in-Java also disallows dict, and in addition disallows string, which is not iterable in this dialect.
Starlark-in-Go also disallows string, but allows dict. This appears to be a bug.
@laurentlb

The spec is clear: https://github.com/bazelbuild/starlark/blob/master/spec.md#reversed
reversed(x) returns a new list containing the elements of the iterable sequence x in reverse order.

The Java impl needs fixing. See Google CL 341896930.


Previously working implementation (Late '15) now breaks.

Hi - I don't think you're maintaining this anymore but in case you are: I had this plugin working in Nov 2015 - no change has been made to my local implementation but it's stopped working sometime since then.
{ [Error: Command failed: /bin/sh -c osascript -l JavaScript -e 'var old = console.log; console.log = function () { Array.prototype.unshift.call(arguments, "<brandonhorst:node-osa>"); Array.prototype.push.call(arguments, "</brandonhorst:node-osa>"); old.apply(console, arguments); }; JSON.stringify((function (message, recipient) {        var Messages = Application('\''Messages'\'');        recipient = Messages.buddies.whose(recipient)[0];        Messages.send(message, { to: recipient });        return {            name:   recipient.name(),            handle: recipient.handle()        };    })("hi",{"name":"NUMBER_REPLACED"}));'
0:558: execution error: Error on line 1: Error: Can't get object. (-1728)
]
  killed: false,
  code: 1,
  signal: null,
  cmd: '/bin/sh -c osascript -l JavaScript -e \'var old = console.log; console.log = function () { Array.prototype.unshift.call(arguments, "<brandonhorst:node-osa>"); Array.prototype.push.call(arguments, "</brandonhorst:node-osa>"); old.apply(console, arguments); }; JSON.stringify((function (message, recipient) {        var Messages = Application(\'\\\'\'Messages\'\\\'\');        recipient = Messages.buddies.whose(recipient)[0];        Messages.send(message, { to: recipient });        return {            name:   recipient.name(),            handle: recipient.handle()        };    })("hi",{"name":"NUMBER_REPLACED"}));\'' }

I haven't had time to dig into the code but let me know if there's a solution - I'd happily submit a PR.

I think Apple changed the way that API works, since I haven't touched this code in a while (obviously). I'm in the middle of finals right now, but I can take a stab at updating this next week.

No problem - I ended writing a very simple cli or imessaging/sms instead.
Good luck with your finals!

I don't think the API has been removed..
I can still run this script in Script Editor:
var Messages = Application('Messages');
var recipient = Messages.buddies.whose({ handle: '<PHONE NUMBER>' })[0];
Messages.send('Hello?', { to: recipient });

And it works..
Try running imessage.send('Hello?', '<PHONE NUMBER>', callback); and i get

execution error: Error on line 1: Error: Can't get object. (-1728)

Any ideas?

Turns out it is something to do with the + character that gets trimmed off the phone number? "Can't get object." means that it can't find the buddy.
A work around is to pass the recipient object in as a whole. I.e:
imessage.send('Hello?', { handle: '+447000000000' }, callback);

It was the receiving messages API that got removed. Even Apple's official example of it is broken.
I wasn't aware that sending messages was broken as well. I'll take a look at that next week.
(Funny how this project always gets attention during finals weeks)

Ah! To be honest, I thought this issue was about sending 🙄 Thanks for the info though and good luck with your finals!

Just an update for whoever might find this useful..
I noticed that the issue I am seeing is when trying to send a message to somebody where there is not yet a conversation in the Messages app.
I have however found another script from PieMessage that also sends a "service id" in the send command?
I don't know anything about applescript so was struggling to convert it into the osa javascript implementation (only just started playing with js recently too)...
Here is the script that does work anyway:
on run {msgText, targetPhoneNum}
    tell application "Messages"
        set serviceID to id of 1st service whose service type = iMessage
        send msgText to buddy targetPhoneNum of service id serviceID
    end tell
end run

(src)
It will probably be useful to somebody who can convert it into the js implementation and then fix any issues with this project..
I was trying to do something on the lines of
var service = Messages.services.whose({ serviceType: 'iMessage' })[0];
but was running into issues when trying to pass it into Messages.send()
hope it helps :)

Sorry to leave you all hanging. I'm investigating the issues now.

Okay so I'm pretty sure I have the sending messages issue resolved. The receiving messages one could use some more looking in to

I'm fairly certain that Apple has stopped supporting the message handler Apple Script, meaning without major shifts in the way the code works, receiving messages will not be possible.
Using Apple's example script for the API yields this error.
If anyone finds new issues or discovers a solution to the receiving messages, feel free to open a new issue or PR.


PHP Fatal error: NotAuthenticated

Can't make the script work.
PHP Fatal error:  Uncaught Hitrov\Exception\ApiCallException: {
    "code": "NotAuthenticated",
    "message": "The required information to complete authentication was not provided or was incorrect."
} in /home/ubuntu/oci-arm-host-capacity/src/HttpClient.php:42
Stack trace:
#0 /home/ubuntu/oci-arm-host-capacity/src/OciApi.php(257): Hitrov\HttpClient::getResponse()
#1 /home/ubuntu/oci-arm-host-capacity/src/OciApi.php(132): Hitrov\OciApi->call()
#2 /home/ubuntu/oci-arm-host-capacity/index.php(74): Hitrov\OciApi->getInstances()
#3 {main}
  thrown in /home/ubuntu/oci-arm-host-capacity/src/HttpClient.php on line 42

Weird. I generated an new key and that worked.


Resolve relative paths when adding sources

Enables use of .. in --source arguments.
Closes #41

Thank you!  Would you mind creating a test for it?

Mm, good question. Probably tmp would be best. tests is getting a bit crowded.
Thank you!

It might be quicker for you to take over the PR and write a test, this was a quick drive-by exploration of the tool late last night, and I have too many more pressing tasks this week to give this one justice. Sorry.

No problem, thank you for contributing the change (and bug report!). I'll leave open until I can work on it.


Shouldn't we get rid of the TableNo property of a codeunit?

Teaching AL development to an experienced outside developer is an many aspects interesting. Just take this topic.
So he starts programming a codeunit object in AL like this:
codeunit 66666 MyCodeunit
{
    trigger OnRun()
    begin

    end;
}

And now he would like to add a parameter to the OnRun trigger. What is the most intuitive way to do that? What would be most logic for any non-NAV developer to do that?
Right, like adding a parameter to any function. Place your cursor in between the bracket and start typing:
codeunit 66666 MyCodeunit
{
    trigger OnRun(var Rec : Record "My Table")
    begin

    end;
}

Indeed, VSCode will error telling that this is a wrong signature. All NAV developers know you have to define the TableNo property (well, I even dare to argue that):
codeunit 66666 MyCodeunit
{
    TableNo = "My Table";

    trigger OnRun( )
    begin

    end;
}

IMHO this doesn't make sense anymore, so please change AL to allow to add a record parameter to the signature of the OnRun trigger and deprecate the TableNo property.
Note: in C/SIDE it was already a somewhat strange way of working, but there, after populating the TableNo property the OnRun trigger would at least be displayed with the signature deriving from it:

Hi! Thank you for your suggestion. We recommend that you post this on our Ideas forum at aka.ms/BCIdeas, or vote up the idea if its already there.


Browser out of date

Hi,
module is working fine but i get the error message that my browser is out of date. Any recommendations to solve this?
BR

Hi,
Yes, this started happening recently but it cannot be corrected by me because it's coming from the source. However, if you have the ability to "click", you can close the message. The module then performs as expected, even surviving several restarts. Unfortunately, the message will return eventually and you would have to click/close the message again. I'm sorry about that. I really love this module too. I do appreciate your interest, thanks.


Adding feature to intercept errors and save information to files

Adding feature to intercept errors encountered while (i) generating STAC items, (ii) posting STAC items to the server. Information about the dataset and the error it encountered are saved to separate log files. An example log file from a run of the stac-populator is included below.
stac-populator_CMIP6populator_errors_20240119-185007.txt

I think this PR branches off the other one about the crawler. I'll wait for you to merge the first one before reviewing.

I've merged it now.

It's possible to configure the LOGGER object to write both to the terminal and to a file on disk. So if that meets the requirements, it could be an option.
In another project I've used this:
def init_log():
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.ERROR)

    fh = logging.FileHandler('log/run_MAGICC.log')
    fh.setLevel(logging.INFO)
    logger.addHandler(fh)
    return logger

which logs ERRORs to the terminal, but stores all INFO messages to a file.

@dchandan
A timely video that came up in my watch list today: https://www.youtube.com/watch?v=9L77QExPmI0
See JSON logs and extra parameter timestamps for some inspiration.

Thanks for the comments and the useful video on the log file. I do like the JSON lines output format shown in the video as it would make parsing the log files for issues much easier. I've now revamped the whole app logging to use the setup in the video.

@fmigneault
Ok, we can do that later. Kinda pressed for time rn, so we can circle back to this later. I'll make an issue of this, so it is documented.


Is this push_back to vector expected?

https://github.com/ARM-software/android-nn-driver/blob/deb3bdbe028a59da0759dd7a560387d03a11d322/ArmnnDriver.cpp#L286
result has reserve model.operations.size() before the loop, if we are still pushing to result, will the size of result and model.operations be the same?

Hi @jackwish,
The answer to your question is yes, as std::vector::reserve only increases the capacity of the vector to the desired amount, but it does not alter the size itself (see https://en.cppreference.com/w/cpp/container/vector/reserve for reference). It is used in that piece of code to prevent unnecessary reallocations for result.
Since the size that we are reserving for result is the same as model.operations, pushing a number of items into result equal to model.operations.size() will ensure in both result and model.operations have the same size at the end of the loop.
The above link to the documentation also features an example with a similar case (reserve + push_back in a loop).
I hope that helps
Regards

cool~


Font menu missing

From README.md

It will look better if you have InconsolataGo installed, a customized version of Inconsolata tuned for code editing. You can change fonts per window in the Font menu or with Cmd-Shift-T. To choose another default font, edit the CTFontCreateWithName() call in EditView.swift.

I followed the command line build instructions but don't have a Font menu in the menu bar, Cmd-Shift-T doesn't seem to do anything.

Yes! it was removed in the latest build to make way for file-based configuration, but we haven't added documentation yet. That should come in the next day or so. Will also update the readme.
Temporarily, you can specify the font by creating a file called preferences.xiconfig in ~/.config/xi/, with the following (optional) keys (and your preferred values):
font_face = "InconsolataGo"
font_size = 14.0
translate_tabs_to_spaces = true
tab_size = 4

thanks for the issue, will get this fixed this evening i hope. 😎


Lab 07: add firewall rule to allow etcd traffic

My etcd cluster wouldn't start up until I added this rule.

did you create the first rule described here? https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/03-compute-resources.md#firewall-rules
gcloud compute firewall-rules create kubernetes-the-hard-way-allow-internal \
  --allow tcp,udp,icmp \
  --network kubernetes-the-hard-way \
  --source-ranges <IP_ADDRESS>/24,<IP_ADDRESS>/16

this rule allows all internal communication via tcp,udp,icmp.
so your etcd rule seems to be unnecessary

🤦♂ I missed that rule.


Vulnerability in Apache Log4j2

Hello,
I was wondering, is it already known if the vulnerability in Apache Log4j2 described at
https://nvd.nist.gov/vuln/detail/CVE-2021-44228
affects the IBM FHIR server? I would really appreciate any information about this.
Thank you in advance.

The core IBM FHIR Server does not use log4j2 and therefore is not impacted by CVE-2021-44228.
The IBM FHIR Server does not ship with an affected jar, however log4j2 is referenced as a PROVIDED jar by the export to parquet experimental feature. Configuring this feature requires users to repackage the server with additional dependencies as described here: https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide#4104-export-to-parquet.
The CVE does apply to users that have followed the above steps to configure the export to parquet feature. For now, this feature should be disabled and the jars removed. The FHIR server team is discussing how to permanently address this.

I'm glad to hear that, thanks a lot for the fast reply!

Given your comment @RaffaelBild I marked as closed, please re-open if there are other concerns.
Best wishes, Paul


App already provides property with key "oruga". It will be overwritten with the new value.

Overview of the problem
Oruga version: Oruga-Next v0.4.5
Vuejs version: 3.2.20
OS/Browser: Firefox on Linux, or through Vue Test Utils v2.0.0
Description

Steps to reproduce

load Oruga into app using Vue.use(Oruga) or inside tests using:

import Oruga from "@oruga-ui/oruga-next";

let wrapper = mount(SomeComponentWhichNeedsOruga, { global: { plugins: [Oruga] } });

A warning should be emitted

Expected behavior
No warnings from loading Oruga into a Vue.js application

Actual behavior
A warning message is emitted to the console:
[Vue warn]: App already provides property with key "oruga". It will be overwritten with the new value.

This appears to be harmless, but it just adds to the noise of the console, especially when running component tests using Vue Test Utils

I'm fairly new to Oruga in general though, so its possible that I have just misconfigured it within my application. (the warning seems to imply Oruga is being loaded more than once, perhaps?)

You are right, there is a duplicated "provide"
Just fixed: https://github.com/oruga-ui/oruga/commit/ded8c6db45f8f3960606241d7672397111872a9a

@jtommy thanks! This warning was polluting my jest test a lot! Looking forward to the new release! :)

@modularcoder hey mate, happy to know you are using it 😉


Wrong skull show

(Required) What is your Quests version / build number (do not say "latest")?
3.3.4
(Required) Please describe the problem and how to replicate it. Any console errors?
I am try put Wither Skeleton Skull in the Gui, but is come as regular Skeleton Skull.  i try setting with set name
(Optional) Can you provide an example quest from quests.yml using Pastebin.com?
example Quest
https://pastebin.com/TW3txLKG

This is because the GUI doesn't consider a Wither skull any different from a normal one, because it's the same item number/id. Although you posted first, let's continue this discussion in #430


[SmartStage] id is bigger than  dest.num_nodes

https://github.com/alibaba/DeepRec/blob/083cb5fc5e895e928a7817faa736706b911861dc/tensorflow/core/graph/graph_constructor.cc#L1983
try to use smart stage encounter an error , fix it by change dest.num_nodes() to  dest.num_node_ids()

Good catch, can u submit a pull request?


Shift key is deleting current code line when pressed

Type: Bug
When I press the right shift key (the one on the right side of the keyboard) let's me use it to it's normal behavior, but also, deletes the previous text or line depending if it's the beginning of the line or there is a instruction before. I'm using a Lenovo G40-80 Laptop with Windows 10 and just recently the problem showed. BTW, I just reinstalled everything on my notebook. I don't have extensions installed and I haven't edit keyboard shortcuts for VS Code.
Hope you can help me figure it out, is stressfull to use the left shift key when the right one should be working just fine
VS Code version: Code 1.92.1 (eaa41d57266683296de7d118f574d0c2652e1fc4, 2024-08-07T20:16:39.455Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz (4 x 2394)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
undefined

Memory (System)
7.92GB (5.03GB free)

Process Argv
C:\Users\Nico\Desktop\index.js --crash-reporter-id 3f1bc0d8-3755-4129-a354-16e8696863c2

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
724cj586:31013169
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupytercf:31046870
impr_priority:31102340
refactort:31108082
pythonrstrctxt:31112756
wkspc-onlycs-c:31111717

I am afraid this is not a VSCode affair.
Did you try with notepad? The behaviour should be the same.
Some hints.

Check "Ease of Access"

Select "Ease of Access keyboard settings."
Toggle the switch under "Sticky Keys" to "Off."

If it is off, try the Keyboard troubleshooter.
Hope that helps.


[Bug]: container "manager" in pod "release-k8sgpt-operator-controller-manager-xxx-xxx is waiting to start: trying and failing to pull image

Checklist

[X] I've searched for similar issues and couldn't find anything matching
[X] I've included steps to reproduce the behavior

Affected Components

[ ] K8sGPT (CLI)
[X] K8sGPT Operator

K8sGPT Version
No response
Kubernetes Version
No response
Host OS and its Version
No response
Steps to reproduce
k logs -f release-k8sgpt-operator-controller-manager-xxx-xxx -n k8sgpt-operator-system
Error from server (BadRequest): container "manager" in pod "release-k8sgpt-operator-controller-manager-675c7f8bf-4rkpk" is waiting to start: trying and failing to pull image
Expected behaviour
container needs to up and running and able to pull the image
Actual behaviour
No response
Additional Information
No response

hey @eravindar12 could you share more information about the version of the helm chart and if you are setting any values when deploying that chart?


Bitmaps showing incorrectly

Describe the bug
Bitmap show incorrectly and seems like there is a performance impact.
To Reproduce
Steps to reproduce the behavior:
Download the correct image below and show it in an Image control.
Expected behavior
Image shown like below.
Screenshots
Latest master (image blurry) -

Correct -

PNG -

Interpolation is disabled by default. This will be changed to low quality. You can set RenderOptions.BitmapInterpolationMode="HighQuality"

Duplicate of https://github.com/AvaloniaUI/Avalonia/issues/11319. Should close in favor of original issue.


2021

2021
Top 5 Cryptocurrency Projects on Cardano (ADA)
Ardana
When it comes to Cardano blockchain, Ardana is undeniably the best crypto-based project. The all-in-one crypto came into focus in April 2021 and continues to benefit from active development. You can utilize Ardana for trading, staking, and minting purposes.
Empowa
Unlike most Cardano projects, Empowa had managed to build the most anticipation and excitement for its release. Empowa is different from other Cardano projects and sets out with long-term goals. The project wants to utilize decentralized finance (DeFi) to make affordable housing accessible in Africa.
SundaeSwap
As far as popularity goes, it is hard to beat the SundaeSwap project on the Cardano platform. In fact, long before the release, SundaeSwap had an innovative and active presence on social media. Like Uniswap, SundaeSwap also runs on AAM or Automated Market Maker mechanism.
RaySwap
RaySwap is a Cardano-based ecosystem that offers a wide range of blockchain solutions. Whether it’s API provisioning, light crypto wallets, or DeFi exchange, RaySwap has become an all-in-one project on the Cardano platform.
World Mobile Token
On the surface, the World Mobile project looks the same as Empowa. However, the focus of this project is on robust mobile connectivity. Mobile World project wants to connect the entire world through the Cardano blockchain. World Mobile project wants to interconnect 4 billion people that are not part of the modern digital space.
@FStell01

🥳

👋


Support JSONC format for jsconfig.json

Closes #7426.
To verify my changes I've used yarn create-react-app my-app inside create-react-app. Then I created jsconfig.json file with comments and run yarn start. I saw this error:

After I run yarn add typescript the error is gone.
Note: I've noticed a problem in getModules. Please check comments

Probably I missed something but as I can see now we assume that typescript is installed based on appTsConfig (tsconfig.json). Is it ok?

I've tagged this for 3.4, and will ask another team member to review.

Can this be merged please? I’ve just

been bitten by the supremely unhelpful SyntaxError: .../jsconfig.json: Unexpected token / in JSON at position 170
found a locked issue marked as duplicate of a PR that fixed this for tsconfig.json only (also locked)
found this

It’s really hard to find this with all the issue locking

Can I circumvent this bug in some way until this is merged? Tell CRA to ignore the file? I don’t want to make my config files worse by deleting perfectly fine comments.

Hi! Thanks for the work!
What is the current state for this PR? It'd be really useful to be able to have nice comments on our json files.


Code refactoring

Typescript
Everything will be rewritten in TypeScript. It means lots of work to do but this time, you can design first and then write code based on what you already have.
UI redesign

[ ] Customisable home screen
[ ] Split IOS and Android UI
[ ] Support tablets (larger screens)
[ ] Better UWP and Mac support

TODO

[ ] Everything data related will be stored inside data
[ ] Personal Rating related will be stored inside rating
[ ] All components will implement WoWsInfoComponent
[ ] Group all utils together
[ ] Think about what features to add in future updates
[ ] Think about tablet related UI (1 : 2)
[ ] Rewrite some classes (too messy now)
[ ] Props will have their own classes (so pass an object to another screen)

There shouldn't be any logic outside these classes
WoWsInfoData

Default value for everything
Get data from local storage
Methods for getting and update value
Safe storage
Singeleton pattern

WoWsData

Checking version update
Download data from WarGaming API and this repo

PlayerData

Singleton
PlayerAchievementData
PlayerShipData
PlayerRankData

There should only be one player at a time so there are methods to set data and clear all saved data to null. This class will also do some basic calculation so UI is simply render what's being return from this class. UI should only render and take care of different situations
WoWsInfoComponent

isProFeature: boolean

CommonProps

showBack?: boolean
showProBanner?: boolean

Support Tablet???

WoWsInfo -> Mobile and Tablet

Util

Static functions in one class

Rating

Calculate personal rating depend on data

Outdated because I am moving to Flutter.


Implement "Notification"

Implement "Notifications"
About

In-App notification

When one user comment to page, notify other users

Notify target users

creator and editor that page
commenter that page

resolve #127

Architecture
Models

Created new Models

Activity
Notification
NotificationStatus

Flow

Supported Activity
Comment

When User_a post comment to page created by user_b.

User_b got a notification.

Not supported this pull request

Notification by Like
Remote notification (such as Slack)
Infinity scroll in notification view

Want to discuss

Notification page path

In this p-r, I used /me/notifications

Is this selection ok?

Screenshot
Notification Status Indicator

Notification List

Notification Page

Thank you for the great PR, I'll check it soon.

あとテストがこける ... (validation not work とかいって

I will modify view of "zero notification" in this p-r.

Added null message.

Is this active?

yes, i'll still working on it.
but, i found that the issue of the design for this implementation.
i haven't found the way to resolve it yet (so it would take a wille ...)

Will be implemented in v1.8
#367
#343


[libsecret] Lack of CMake target

Is your feature request related to a problem? Please describe.
When you install a package you normally get the commands need to be used in your CMakelist.txt to find the installed package but there is nothing when libsecret is installed. Example:
sqlite3 provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(unofficial-sqlite3 CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3)

How should I look for libsecret in CMake if installed using vcpkg?
Proposed solution
Generate a target for libsecret so all its dependencies can be linked into a project using libsecret
Describe alternatives you've considered
Individually link all the dependency libraries from libsecret

@illera88 For libsecret, its building system is not cmake but meson, so cannot be used find_package(provided by cmake).
But you can use the official pkg_check_modules(cmake:https://cmake.org/cmake/help/latest/module/FindPkgConfig.html)
Refer to https://gnome.pages.gitlab.gnome.org/libsecret/libsecret-using.html

Hi @FrankXie05
I've tried but since there is no LibsecretConfig.cmake or  libsecret-config.cmake it fails:
CMake Error at /home/default/code/vcpkg/scripts/buildsystems/vcpkg.cmake:834 (_find_package):
  By not providing "FindLibsecret.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Libsecret", but CMake did not find one.

  Could not find a package configuration file provided by "Libsecret" with
  any of the following names:

    LibsecretConfig.cmake
    libsecret-config.cmake

  Add the installation prefix of "Libsecret" to CMAKE_PREFIX_PATH or set
  "Libsecret_DIR" to a directory containing one of the above files.  If
  "Libsecret" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:38 (find_package)

@illera88 Can you provide your project file?
I've tried multiple things with pkg_check_modules:
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBSECRET REQUIRED libsecret-1)

I've seen this project that uses the same.
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBSECRET libsecret-1 IMPORTED_TARGET ${_FIND_ARGS})

Got this from here
It just doesn't find the package
DESKTOP-BABMP59:~/code/GCC-stealer/build$ cmake .. -DCMAKE_TOOLCHAIN_FILE=/home/default/code/vcpkg/scripts/buildsystems/vcpkg.cmake
-- Checking for module 'libsecret-1'
--   Package 'libsecret-1', required by 'virtual:world', not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:562 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:784 (_pkg_check_modules_internal)
  CMakeLists.txt:39 (pkg_check_modules)

Make sure that your cmake_minimum_required(VERSION ...) is at least 3.1. (Probably much higer for Windows.)

After version 3.1 of cmake, change the environment variable CMAKE_ PREFIX_ PATH、CMAKE_ FRAMEWORK_ PATH and CMAKE_ APPBUNDLE_ PATH, etc. is added to the pkg configuration search path.

You don't want to use legacy CMake behaviours, do you? PKG_CONFIG_USE_CMAKE_PREFIX_PATH, Cf. https://cmake.org/cmake/help/v3.25/module/FindPkgConfig.html?highlight=PKG_CONFIG_USE_CMAKE_PREFIX_PATH

Ohh I see.
So now I can include the headers with:
target_include_directories(target PRIVATE ${LIBSECRET_INCLUDE_DIRS})

And libsecret with its dependencies:
target_link_libraries(target PRIVATE ${LIBSECRET_LIBRARIES})

But for some reason instead of getting the full path to the .a files I get a relative path which CMake is not referencing with -L so it know where to look for all the libs. Shouldn't ${LIBSECRET_LIBRARIES} contain the full path of each library?
Here is the linker command:
/usr/bin/c++ -static CMakeFiles/GCC-stealer.dir/src/GCC-stealer.cpp.o -o GCC-stealer  /home/default/code/vcpkg/installed/x64-linux/debug/lib/libsqlite3.a /home/default/code/vcpkg/installed/x64-linux/lib/libssl.a /home/default/code/vcpkg/installed/x64-linux/lib/libcrypto.a -lsecret-1 -lglib-2.0 -lglib-2.0 -lglib-2.0 -lglib-2.0 -lgio-2.0 -lglib-2.0 -lgobject-2.0 -lglib-2.0 -lffi -lgmodule-2.0 -lglib-2.0 -lm -lpcre2-8 -lz -lgcrypt -lgpg-error -ldl -lgio-2.0 -lgobject-2.0 -lffi -lgmodule-2.0 -lm -lpcre2-8 -lz -lgcrypt -lgpg-error

which fails because all of those libs are at /home/default/code/vcpkg/installed/x64-linux/lib.
I can fix it by passing -L/home/default/code/vcpkg/installed/x64-linux/lib but shouldn't cmake do that for me?

It is easier and more reliable to use the IMPORTED_TARGET argument and just link to the PkgConfig::... target.

That worked fine except that for whatever reason the linker is now trying to link against libintl.so
and it fails with:
attempted static link of dynamic object /usr/lib/libintl.so
which make sense since I'm trying to create a statically compile binary.
/usr/bin/c++ -static /usr/lib/libintl.so -pthread CMakeFiles/GCC-stealer.dir/src/GCC-stealer.cpp.o -o GCC-stealer  /home/default/code/vcpkg/installed/x64-linux/debug/lib/libsqlite3.a -lintl -ldl /home/default/code/vcpkg/installed/x64-linux/lib/libsecret-1.a /home/default/code/vcpkg/installed/x64-linux/lib/libglib-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libgio-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libgobject-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libffi.a /home/default/code/vcpkg/installed/x64-linux/lib/libgmodule-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libglib-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libgio-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libgobject-2.0.a /home/default/code/vcpkg/installed/x64-linux/lib/libffi.a /home/default/code/vcpkg/installed/x64-linux/lib/libgmodule-2.0.a /usr/lib/libm.a /home/default/code/vcpkg/installed/x64-linux/lib/libpcre2-8.a /home/default/code/vcpkg/installed/x64-linux/lib/libz.a /home/default/code/vcpkg/installed/x64-linux/lib/libgcrypt.a /home/default/code/vcpkg/installed/x64-linux/lib/libgpg-error.a

A couple of interesting things:

libintl is required and I don't thing that vcpkg is counting with that
There is no port for libintl AFAIK

I got another less elegant way to make it compile so I guess that I will follow that path


多处swiper自定义renderPagenation 渲染后有的onIndexChanged无法触发底部索引器更新

Which OS ?
Version
Which versions are you using:

react-native-swiper v?
react-native v0.?.?

Expected behaviour
Actual behaviour
How to reproduce it>
To help us, please fork this component, modify one example in examples folder to reproduce your issue and include link here.
Steps to reproduce

Targeting
/node_modules/react-native-swiper/src/index.js
Put this sentence (on line 274)
const offset = this.internals.offset = ()
Changed to
const offset = this.internals.offset = {x: 0, y: 0}


[qwik-pod] Repo folder navigation return a 404

We are able to manage a blob in our url:
.../blob/master/%E2%80%A4github?forkCount=3672&watcherCount=677&stargazerCount=32803&issuesCount=548&prCount=163
but not tree :
.../tree/master/%E2%80%A4github?forkCount=3672&watcherCount=677&stargazerCount=32803&issuesCount=548&prCount=163

Does this exist? I believe you aren't on the main branch

This PR closes this ticket.


[test] Fix up spi_passthru test to check WIP

test_write_status was missing the busy bit check, as there is no SpiFlash helper method for WriteStatus1.

This became required (for realz) after https://github.com/lowRISC/opentitan/pull/23546. Incidentally, those failures also gave us coverage of the command blocking, hehe.


fix(datagrid): fix filter arrow scrolling

ref: DTRSD-123212
Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions

Fix filter arrow in datagrid staying in the same place when scrolling horizontally
Description of the Change

reverting https://github.com/ovh/ovh-ui-kit/pull/823
Benefits

Possible Drawbacks

The datagrid helper tooltip cross can be display on the top left of the tooltip instead of the top right to be fix in another ticket
Applicable Issues

CDS Report yarn-build#2831.0 ✘

build & test

build ✔
test ✘


[proposal] Force async-ness in template rendering methods

There is a long-standing open bug in consolidate - https://github.com/tj/consolidate.js/issues/143 - which causes errors in the callback functions passed to rendering methods to propogate back into the try/catch contained in consolidate and cause the callback to be fired twice. Since this bug has been open in consolidate for over two years, not much hope should be held of having it resolved there.
As such, add protection in Sails against errors in the callback functions being caught inside consolidate and the callback fired twice by forcing the callback to be called asynchronously.
Example:
res.view('template', {}, function (e, result) {
  if (e) {
    // error thrown below causes callback to be fired twice and error caught here
  }
  throw new Error('error');
});

This can cause errors in userland code to be incorrectly attributed to template rendering and makes debugging difficult.
I appreciate that this should be fixed at the root in consolidate, but after 2 years, and with the maintainer insisting it is not a bug, I don't hold much hope for that.

@lennym I've definitely noticed some very strange behavior with this before (as you can probably tell from the shifting sands in the implementation of res.view()).  Finally, we just removed official support for the callback argument to res.view().  But I'd like to have this work (esp because then we could properly support e.g. sails.compileView('stuff/whatever', {}, function (err, compiledHtml){  /* ... */ }) for use with transactional emails)
That said, I don't want to introduce anything that could crash the process...  To clarify, is the issue that:

(A) the third arg here (cb) is throwy?
Or is it (B) that the userland function provided as the third argument to res.view() / res.render() might be throwy, and if it throws it ends up calling itself again?

If it's (B) the latter case (which I think it is, based on your detailed explanation, and also because I'm having some deja vu of breaking bottles and screaming about it), then absolutely, let's get this merged in asap.  If it's (A), the former case, I think we need to figure something else out-- unless (A) and (B) are actually the same thing (i.e. the function is provided from userland as the 3rd arg to res.view() or res.render() in both cases), in which case we're also good to merge this.
In other words, I'm 100% down unless making this change allows view engines to throw uncaught errors where we weren't before.  Which I don't think it does.  But.. yeah, just checking.

Thanks @mikermcneil
Firstly, I would very strongly advocate for preserving methods for detaching template rendering from the response. Such things are fantastically useful in a lot of scenarios. Our current use case is actually a BDD test scenario editing tool where we construct fully formed feature files by building templates out of fragments of user input. The issue became apparent when we were trying to validate the built result with a parser that threw for invalid gherkin syntax and caused all manner of odd behaviour.
Anyway, the issue is very definitely the latter (B). There is a contiguous, synchronous call stack from the user-provided callback (or even sails' callback - this would manifest bugs in sails' implementation of res.view as engine errors) back into the try/catch inside consolidate. It will not allow errors throw inside the engines to be uncaught - this would be thrown before the forced async, and so would be passed as a first arg to the callback as at present.
Thanks again.

I would very strongly advocate for preserving methods for detaching template rendering from the response

Completely with you- I just want to expose a cleaner API that doesn't rely on access to res.

Anyway, the issue is very definitely the latter (B)

Sweet, just checking :+1:

@lennym on a separate note, we added this as an experimental feature a while back.  The issue, as you can see here is that the logic is duplicative.  The stuff about mocking the request and everything is totally fine, I think we should keep that.  Really the only thing that's kept me from cleaning that up and making it official is that I kept running up against problems/complexities with the various intertwined dependencies (e.g. like the one you just addressed.)
As for sails.renderView() itself, the API needs to be cleaned up (ignore most of the comments in there).  What I would suggest is something like this:
// "compile" instead of "render" to avoid confusing folks new to Sails who might think
// "render" involves doing something with the response
sails.compileView('foo/bar', {
  whateverLocals: [{you: 'want', go: 'here'}]
}, function afterwards(err, html){
  if (err) {
    // handle
    return;
  }

  // e.g. now send HTML email
});


GROUP BY without timewindow FAILED

https://github.com/hstreamdb/hstream/runs/2910763462

PR #333 partiallty solved the problem. The full solution requires some notification mechanism to ensure that the task starts successfully before inserting data.


💲[Native Checkout] Sheet Overlay iPad Bugfix

📲 What
Fixes an issue with using the sheet overlay modal on iPad.
🤔 Why
Because we need to be able to show overlays on iPad.
🛠 How
Since iPad has a different presentation style than compact devices, the transition calculations (as well as the sizing of the child view controller's view) were off. After chatting with @dannyalright as to the best approach for displaying overlays on iPad (given that the checkout flow is already presented as a .pageSheet overlay), we decided that instead of using the custom overlay & transition, we should present overlays using the default .formSheet presentation style.
In order to facilitate this logic, I've created a helper function that encompasses the behavior for iPad and other devices.
👀 See
Trello, screenshots, external resources?

Before 🐛
After 🦋

✅ Acceptance criteria
Login Modal
On an iPad device,
Logged out, navigate to the feature flag debug menu and toggle the feature native checkout feature flag ON,
Navigate to any project, select any reward,
Tap Continue on the pledge screen,
You should see the login modal displayed in the "form sheet" presentation (centered in the middle with a transparent black background).
Shipping Modal
On an iPad device,
Navigate to the feature flag debug menu and toggle the feature native checkout feature flag ON,
Navigate to any project, select a reward with a shippable item,
Tap United States on the shipping view in the pledge screen,
You should see the shipping selection modal displayed in the "form sheet" presentation (centered in the middle with a transparent black background).
Checkout Modal
On an iPad device,
Navigate to the feature flag debug menu and toggle the feature native checkout feature flag ON,
Navigate to any project, tap Back this project,
You should see the reward carousel displayed in the "page sheet" presentation style (with a back background peeking out from the top, and the view having rounded corners).
Webview Modals
On an iPad device,
Navigate to the feature flag debug menu and toggle the feature native checkout feature flag ON,
Navigate to any project, select any reward,
Tap any of the links in the pledge screen (trust and safety, accountability, etc),
You should see the info webview links displayed in the "page sheet" presentation style (with a back background peeking out from the top, and the view having rounded corners).

thanks for pairing! Looks good.

 Sheet Overlay Modal does not present content properly on iPad

@dannyalright was chatting to @ifbarrera on Slack but I think the web links should open in the smaller modal:

Current
Suggested


Feature Request : Provide a config in CIS compliance to specify benchmark version

It would be very helpful if a config to specify benchmark version in trivy operator is provided as we used to specify in kube bench by using the -- benchmark parameter.
For now Trivy provides all benchmarks with 1.23 version of CIS Benchmark, I would like to be able to change the config in Trivy operator too

It would also be nice to be able to choose a benchmark for the major cloud provider managed kubernetes offerings. Such as EKS, AKS, GKE, and others provided by CIS.


[ADDED] CustomDialer interface/option setter

We recently added a Dialer option, however, we made it a *net.Dialer,
which is very restrictive (since *net.Dialer is a struct, not an
interface).
One could imagine creating a Dialer that would create pipes between
the client and an embedded server. Since Dial() returns a net.Conn,
which is an interface, everything would work the same.
Resolves #329

Changes Unknown when pulling a2b049bedd9f04e9c033655e7ad7dc8404d44aa2 on add_custom_dialer into ** on master**.

This is also quite useful. For instance, one could create a custom dialer to return a connection that can trace Read (and/or Write), or introduce some delay, errors, etc... that could be useful in tests.
Here is an example of a CustomDialer to create a traceable connection:
type MyDialer struct{}

type TracedConn struct {
	net.Conn
}

func (tc *TracedConn) Read(b []byte) (n int, err error) {
	n, err = tc.Conn.Read(b)
	if err != nil {
		fmt.Printf("@@ conn err: %v\n", err)
	} else {
		fmt.Printf("@@ conn read: %s\n", b[:n])
	}
	return n, err
}

func (md *MyDialer) Dial(network, address string) (net.Conn, error) {
	d := &net.Dialer{}
	c, err := d.Dial(network, address)
	if err != nil {
		return nil, err
	}
	return &TracedConn{Conn: c}, nil
}

func main() {
	myDialer := &MyDialer{}
	nc, err := nats.Connect(*urls, nats.SetCustomDialer(myDialer))
       (...)
}


crawler - issue with crawling fb post<PHONE_NUMBER>76736

https://www.facebook.com/groups/programmatoriCatania/permalink/902906923176736/

difficult to reproduce and fix now. Better reopening on the next crawling failure


gitleaks: 8.22.0 -> 8.22.1

Diff: https://github.com/zricethezav/gitleaks/compare/refs/tags/v8.22.0...v8.22.1
Changelog: https://github.com/zricethezav/gitleaks/releases/tag/v8.22.1

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 369492

x86_64-linux

:fast_forward: 4 packages marked as broken and skipped:

kdePackages.umbrello
kdePackages.umbrello.debug
kdePackages.umbrello.dev
kdePackages.umbrello.devtools

:x: 4 packages failed to build:

ikiwiki-full
isponsorblocktv
isponsorblocktv.dist
looking-glass-client

:white_check_mark: 68 packages built:

anydesk
apacheHttpdPackages.subversion
apacheHttpdPackages.subversion.dev
apacheHttpdPackages.subversion.man
cabal2nix
circt
circt.dev
circt.lib
forgejo-cli
git-doc (git-doc.debug ,git-doc.doc ,gitFull.doc)
gitFull
gitFull.debug
gitSVN
gitSVN.debug
gitSVN.doc
gitleaks
hydra
hydra.doc
kdePackages.kdev-php
kdePackages.kdev-php.debug
kdePackages.kdev-php.dev
kdePackages.kdev-php.devtools
kdePackages.kdev-python
kdePackages.kdev-python.debug
kdePackages.kdev-python.dev
kdePackages.kdev-python.devtools
kdePackages.kdevelop
kdePackages.kdevelop.debug
kdePackages.kdevelop.dev
kdePackages.kdevelop.devtools
kdesvn
lgogdownloader
luarocks-packages-updater
luarocks-packages-updater.dist
nix-prefetch-scripts
nix-prefetch-svn
nix-update-source
nix-update-source.dist
patroni
patroni.dist
perl538Packages.SVNSimple
perl538Packages.SVNSimple.devdoc
perl540Packages.SVNSimple
perl540Packages.SVNSimple.devdoc
python312Packages.async-cache
python312Packages.async-cache.dist
python312Packages.pysvn
ydiff (python312Packages.ydiff)
ydiff.dist (python312Packages.ydiff.dist)
python313Packages.async-cache
python313Packages.async-cache.dist
python313Packages.pysvn
python313Packages.ydiff
python313Packages.ydiff.dist
rapidsvn
subversion
subversion.dev
subversion.man
subversionClient
subversionClient.dev
subversionClient.man
svn-all-fast-export
svn2git
svnfs
thcrap-steam-proton-wrapper
vcstool
vcstool.dist
wp4nix

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 369492

x86_64-linux

:white_check_mark: 1 package built:

gitleaks


Remove unused scripts

The scripts removed in this PR appear to be related to the Jekyll version of the site. The verify-docs-format.sh script is commented out in the Travis configuration and I don't see any use for them. If they are indeed still in use I'm happy to close this.

/assign @chenopis

/lgtm

@tengqm Could you possibly give the /approve as well?

Yup, we don't need these anymore.
/lgtm
/approve


vencord: 1.8.8 -> 1.8.9

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vencord is: Vencord web extension
meta.homepage for vencord is: https://github.com/Vendicated/Vencord
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.8.9 with grep in /nix/store/qz3yva4g77988yk402l1qgg1fx4rad7k-vencord-1.8.9
found 1.8.9 in filename of file in /nix/store/qz3yva4g77988yk402l1qgg1fx4rad7k-vencord-1.8.9

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

vencord
vencord-web-extension
webcord-vencord

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qz3yva4g77988yk402l1qgg1fx4rad7k-vencord-1.8.9 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vencord https://github.com/r-ryantm/nixpkgs/archive/ed21b753bb9cab729a1a846aead138389cd94b33.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ed21b753bb9cab729a1a846aead138389cd94b33#vencord

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qz3yva4g77988yk402l1qgg1fx4rad7k-vencord-1.8.9
ls -la /nix/store/qz3yva4g77988yk402l1qgg1fx4rad7k-vencord-1.8.9/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

3 packages built:

vencord
vencord-web-extension
webcord-vencord

Maintainer pings
cc @FlafyDev @NotAShelf @Scrumplex for testing.

@NixOS/nixpkgs-merge-bot merge

@NixOS/nixpkgs-merge-bot merge

Thank you mergebot :)

you are welcome :)


Add a default network in docker compose template.

The background is, I'll use "extends" to extend the harbor template to harbor+notary template, and add different group of containers in different networks.
So I add the default network so I can append other networks to container like harbor-ui and nginx.

Coverage remained the same at 51.432% when pulling c50b1938af5f4faa4c967044fe8e671809cc06b9 on reasonerjt:dev into 8b8dcc6b179d383a77e8c7b479ef44c816055f27 on vmware:dev.


feature/Add_notes_on_autopeering_and_settings

Description of change
Autopeering is a feature of hornet that allows a node to automatically find peers through the autopeering module.
This PR attempts to clarify the procedure on how to enable and use autopeering in the documentation. Ports like 14626 are explicitly used for autopeering and this is added as part of the docker-compose configuration file.
Type of change
Choose a type of change, and delete any options that are not relevant.

Enhancement (a non-breaking change which adds functionality)
Documentation Fix

How the change has been tested

Clone the one-click-tangle repository
Obtain the latest configuration file from gohornet repo https://github.com/gohornet/hornet/blob/v1.0.4/config.json and replace the existing configuration with it.
Change the dashboard.bindAddress to <IP_ADDRESS>:14265
Change the dashboard.passwordHash and dashboard.passwordSalt to the respective value found in the config file in one-click-tangle/hornet-mainnet folder https://github.com/iotaledger/one-click-tangle/blob/chrysalis/hornet-mainnet/config/config.json
Enable autopeering by adding "Autopeering" to "node.enablePlugins"
Check to see if there are entry nodes listed in the p2p.autopeering.entryNode section of the config file. The gohornet/hornet config file has some entry nodes in it https://github.com/gohornet/hornet/blob/v1.0.4/config.json
Run the private tangle by running ./hornet.sh install -i "gohornet\/hornet:1.0.4"
Check logs to see if autopeering of peers is happening.
Check dashboard to see if the node has connected to any peers.

Change checklist

[x] My code follows the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation

I think for AWS we also need a note on autopeering, similar to the one we have in the regular README