[New Feature]: User flag for adaptive_base_syscalls as extension to base_syscalls config overriding default sinsp state enforcement

Motivation
At the time of writing Falco's default libsinsp state enforcement activates a static set of system calls [see additional note 1] that are associated with the EF_MODIFIES_STATE flag in the libs event_table. The entirety of these system calls are activated regardless of the system calls used in Falco rules.
Compute overhead budgets typically are not unlimited plus Falco's rules event evaluation runs single threaded and eventually drops events kernel side once one entire CPU is consumed. Therefore, the default libsinsp state enforcement can have severe production degradation impacts, especially for configurations that do not activate most system calls and/or when running Falco on very active servers w/ 96 CPUs (see https://github.com/falcosecurity/libs/issues/855).
We introduced base_syscalls (see https://github.com/falcosecurity/falco/issues/2373) (scheduled for 0.35 release, see https://github.com/falcosecurity/falco/commit/d6421d4e67fd4a058ccb3b448291767f6b5a6992) which provides the end user with a config option to pass their own set of syscalls that will be activated in addition to the system calls from each Falco rule. The recommendations given for this new option are based on the concept of adaptive_base_syscalls introduced here https://github.com/falcosecurity/libs/pull/826.
The question of what the system calls are that are truly needed for Falco's state engine given the rules sets remains open. Plus ideally there would also be such an automated adaptive_base_syscalls in addition to base_syscalls so that end users do not have to keep a manual set of base syscalls correct and can rely on automatic resourceful syscalls activation that ensures that both (1) data is correct and (2) state engine remains healthy.
The intended outcome of this issue is to derive a clear understanding of what the system call dependencies of libsinsp are given x input filter system calls.
Notes:

[1] This is current master view as of Feb 27, 2023 -> latest release defines a much larger static simple set on top of the libsinsp state set, see the static simple set reflective of Falco 0.34.x releases.

Describing current approach of https://github.com/falcosecurity/libs/pull/826
Regardless of the input filter system calls a fair approach seems to activate all system calls that are explicitly used to build the core sinsp state engine, that is, the process or thread cache table. Code review of parsers surfaced that all below system calls can add or alter the table plus these are typically more low volume system calls comparatively.
libsinsp::events::set<ppm_sc_code> adaptive_sinsp_state_sc_set = {
		PPM_SC_CLONE,
		PPM_SC_CLONE3,
		PPM_SC_FORK,
		PPM_SC_VFORK,
		PPM_SC_EXECVE,
		PPM_SC_EXECVEAT,
		PPM_SC_FCHDIR,
		PPM_SC_CHDIR,
		PPM_SC_CHROOT,
		PPM_SC_CAPSET,
		PPM_SC_SETGID,
		PPM_SC_SETGID32,
		PPM_SC_SETPGID,
		PPM_SC_SETRESGID,
		PPM_SC_SETRESGID32,
		PPM_SC_SETRESUID,
		PPM_SC_SETRESUID32,
		PPM_SC_SETSID,
		PPM_SC_SETUID,
	};

Now the conditioning by input filter syscalls starts:

For any network related input filter system calls also activate the following system calls to ensure ip tuple logging:

adaptive_sinsp_state_sc_set.insert(PPM_SC_SOCKET)
adaptive_sinsp_state_sc_set.insert(PPM_SC_GETSOCKOPT)
special cases, for accept* and listen also activate bind adaptive_sinsp_state_sc_set.insert(PPM_SC_BIND)

For any system call related to fds, add the close system call that would purge the fd from the thread struct:

adaptive_sinsp_state_sc_set.insert(PPM_SC_CLOSE)

Lastly, it is worth mentioning that Falco also hooks into the scheduler process exit and the associated procexit event takes care of removing threads / processes from the state engine again -> Thereforce,  so this is not dependent on any system call.

In aboves approach https://github.com/falcosecurity/libs/pull/826 what else are we missing?
Below is a list of the static set of system calls that are associated with the EF_MODIFIES_STATE flag in the libs event_table that the new adaptive approach does NOT consider a libsinsp state dependency.
We could all collectively review the parser? Would appreciate help from the community. Thanks a bunch in advance!
PPM_SC_ACCEPT,
PPM_SC_ACCEPT4,
PPM_SC_CONNECT,
PPM_SC_CREAT,
PPM_SC_DUP,
PPM_SC_DUP2,
PPM_SC_DUP3,
PPM_SC_EVENTFD,
PPM_SC_EVENTFD2,
PPM_SC_FCNTL,
PPM_SC_FCNTL64,
PPM_SC_FORK,
PPM_SC_INOTIFY_INIT,
PPM_SC_INOTIFY_INIT1,
PPM_SC_IO_URING_SETUP,
PPM_SC_MOUNT,
PPM_SC_OPEN,
PPM_SC_OPEN_BY_HANDLE_AT,
PPM_SC_OPENAT,
PPM_SC_OPENAT2,
PPM_SC_PIPE,
PPM_SC_PIPE2,
PPM_SC_PRLIMIT64,
PPM_SC_RECVFROM,
PPM_SC_RECVMSG,
PPM_SC_SENDMSG,
PPM_SC_SENDTO,
PPM_SC_SETRLIMIT,
PPM_SC_SHUTDOWN,
PPM_SC_SIGNALFD,
PPM_SC_SIGNALFD4,
PPM_SC_SOCKET,
PPM_SC_SOCKETPAIR,
PPM_SC_TIMERFD_CREATE,
PPM_SC_UMOUNT2,
PPM_SC_USERFAULTFD,
PPM_SC_VFORK,
PPM_SC_EPOLL_CREATE,
PPM_SC_EPOLL_CREATE1,

Hey @incertum -- awesome work and excited to see the progress!
There's some new terminology being used here that I'm not exactly caught up with.
From reading the related links in the description,

base_syscalls allows the user to pass on their own set of syscalls to activate
new default (per https://github.com/falcosecurity/libs/pull/826#issuecomment-1381436081) is that adaptive is enabled, but heavy syscalls is disallowed
-A flag will enable heavy syscalls (still adaptive)

Can I get a bit of clarification regarding:

what adaptive means in this context?
why being "sinsp state compliant" is important?
how this yields performance improvements? (a before/after comparison of how Falco is tracing syscalls would probably help me here.)

Hey @incertum -- awesome work and excited to see the progress!
There's some new terminology being used here that I'm not exactly caught up with.

Absolutely, trying my best to help clarify and please feel free to ask more follow up questions. This is exactly the type of feedback we need to improve this feature! Thanks a bunch!
Re the wording open to change adaptive to something else ...

From reading the related links in the description,

base_syscalls allows the user to pass on their own set of syscalls to activate

It allows the end user to tell Falco to also activate system calls that are not defined in any Falco rule. The end result will be all system calls from each Falco rules plus the ones passed over base_syscalls. This puts you 100% in control to tell Falco what to trace in the kernel.

new default (per [new(libsinsp): feature adaptive base syscalls option in ppm sc API libs#826 (comment)]

adaptive base syscalls option would be opt-in, the current default is adding a hard-coded static set of system calls to the system calls from each Falco rule. So no matter how you change Falco rules, this static set will always be activated in the kernel.

-A flag will enable heavy syscalls (still adaptive)

-A flag is unrelated and was introduced as a safeguard to remove I/O system calls unless you explicitly allow them, perhaps the latest related Falco PR helps clarifying this feature more? See @jasondellaluce write up here

Can I get a bit of clarification regarding:

what adaptive means in this context?
why being "sinsp state compliant" is important?
how this yields performance improvements? (a before/after comparison of how Falco is tracing syscalls would probably help me here.)

Please let me try a fresh explanation in a follow up comment for all these.

What does Falco <= 0.34.x do?
Falco <= 0.34.x does not offer much configurability wrt to system calls. The work Falco does in the kernel is either a static set of hard-coded system calls or all system calls (old -A flag behavior) regardless of Falco rules.
What is new in Falco >= 0.35?
Falco now gives end users control over how much work Falco does in the kernel. This can directly influence CPU utilization and possible kernel side event drops on servers with a lot of activity. In summary, you can control Falco's resource utilization in ways you could not do before.

With Falco >= 0.35 there are several options and the end user can choose the option that best fits the use case at hand.
Option 1: The default option -> use if you do not need Option 2 or Option 3

Falco activates each system call from Falco rules w/ the exception of I/O system calls (allow via -A flag)
Plus Falco will also activate a static set of system calls deemed useful to build up Falco's state engine (the end user has no control over this static set)

Option 2: base_syscalls user config (set) -> use with caution

Falco activates each system call from Falco rules w/ the exception of I/O system calls (allow via -A flag)
The system calls you pass over the base_syscalls set will be activated in addition to the system calls from each Falco rule, hence the final set of system calls is the union of Falco rules and base_syscalls
Falco does not activate any system call you do not provide (100% end user control)
If not used correctly you can break Falco or cause Falco logs to be incomplete or wrong

Option 3: adaptive_base_syscalls user config (bool) -> use if you want Falco to be more resourceful and smarter in an automated manner aka the Falco "only takes what you can eat" option (what this ticket is about)

Falco activates each system call from Falco rules w/ the exception of I/O system calls (allow via -A flag)
Plus Falco will be smarter about activating the system calls that are needed to build build up Falco's state engine for you in an automated manner, that is, Falco will scan the system calls from each Falco rule and then decide automatically which system calls you actually need in addition to the Falco rules in order to get complete and correct Falco logs and also ensure Falco runs without problems.

What is Falco's state engine:
Falco creates a struct in memory to cache all processes so that you can for example look up parent processes. Internally Falco calls this the thread table and there are more details to it. Some system calls can modify the information of a process in that struct, e.g. setuid. Then there are other cases more related to file descriptors. For instance, network system calls like connect do not know about ips on their own, the place to retrieve ip tuples is the socket system calls. Furthermore, the process table in memory also keeps track of fds, so you would want to monitor the close system call as well so that the state engine knows to remove the fd from memory ...
Scenarios:

Suppose you only want to monitor spawned processes, because you are very resource constraint. Option 1 will not allow you to accomplish this goal. Option 2 and Option 3 however do. Option 3 would make sure all data fields are automatically correct vs for Option 2 you would need to understand that for example some data fields for a spawned process were retrieved from the respective clone*/fork syscall.
Suppose you only want to monitor spawned processes and network activity, but no file opens, because you notice that you see too many kernel side event drops. Option 1 again will not allow you to do this, but Option 2 and Option 3 will, same distinction.
... there could be endless scenarios why such configurability can be useful. For example, it may not be limited to resource constraints, but you could also decide to use Falco only for x and use other tools to do y ... and don't want Falco to also duplicate work y ...
... or you realize L3/4 network monitoring for backend servers is limited and you want to free resources and rather enhance network monitoring in your ecosystem elsewhere ...
If you want to monitor all system calls, each option can give you an equivalent solution.

Plus we would need to convey that this is a boolean option that reasons automatically and as mentioned above follows the principle of "only take what you can eat", which also aligns with https://github.com/cncf/tag-env-sustainability (tag environmental sustainability). So it could be regarded as the best of Option 1 and Option 2 sort of ... also still thinking about a name that conveys all this better. Will post again once I have ideas.
Since I mention tag-env-sustainability, perhaps it would be of interest to tag up with them on the tough challenges we also face with the single thread issues and their security monitoring degradation implications Ali pointed out? But if so let's quickly pivot to a new issue for that.

Since I mention tag-env-sustainability, perhaps it would be of interest to tag up with them on the tough challenges we also face with the single thread issues and the security monitoring degradation implications Ali pointed out? But if so let's quickly pivot to a new issue for that.

I think this would be very cool! I love their initiative and I think our case would be a good candidate for tagging up with them. @incertum, would you like to drive this?

Regarding a name suggestions for adaptive_base_syscalls, I was wondering if there was something that can convey that it is related to building the Falco sinsp state engine 🤔 ?

My proposal would be to call the flag base_syscalls_repair, because effectively we interact with libsinsp to “fix-up” the custom set making sure it contains some necessary syscalls and prevent mistakes. Alternatively (if you like), we could rework the Falco config field (since we haven’t released it yet), to be:
base_syscalls:
  repair: true
  custom_set: [...]

My proposal would be to call the flag base_syscalls_repair, because effectively we interact with libsinsp to “fix-up” the custom set making sure it contains some necessary syscalls and prevent mistakes. Alternatively (if you like), we could rework the Falco config field (since we haven’t released it yet), to be:
base_syscalls:
  repair: true
  custom_set: [...]

I like this a lot, because it also adds the option to actually fix up the custom_set which I hadn't thought of. Furthermore, if we do something when repair is true, but custom_set is empty we would effectively get the what I just keep calling "Option 3" here in this ticket.
Under the hood in libs I can then rename things accordingly as well.
@Happy-Dude what are your thoughts?

@Happy-Dude what are your thoughts?

I'm a fan of this suggestion! Makes the configuration cleaner/clearer.
By doing this, I think it also eliminates fewer misconfiguration by users who misunderstand the option (as opposed to the original 2 config options/variables).

v1 of this feature has been finalized.


New package: SetBuilders v0.1.1

Registering package: SetBuilders
Repository: https://github.com/grnydawn/SetBuilders.jl
Created by: @grnydawn
Version: v0.1.1
Commit: 1a43b7454061a42fc94f8c87fa8786c0d663d441
Reviewed by: @grnydawn
Reference: https://github.com/grnydawn/SetBuilders.jl/commit/1a43b7454061a42fc94f8c87fa8786c0d663d441#commitcomment-135978753
Description: Julia Predicate Set Package

[noblock]
I updated this package to resolve the automerge issues. However, I got the following error message when I re-register it using the Registrator:
Error while trying to register: Unexpected error in registration
How can I resolve this new issue?

I'm not sure about the error. Maybe the bot is just having some kind of outage? In general, you should not change the version number when you fix the compat issue, though. That way, you'll update the existing PR.
Beyond the compat issues, though, I would ask that you add some documentation before registering. At the very least, the README should be expanded to explain the purpose of the package and to provide a basic usage example. You may also consider making the package name more specific, e.g., PredicateSetBuilders. See https://github.com/JuliaRegistries/General#what-to-do-when-asked-to-reconsiderupdate-the-package-name

[noblock]
Thanks for the info. Now, I created another commits and pushed the commits to my master branch. But, it seems that it does not trigger the update of this PR. How can I update this PR with the additional commits?

[noblock]
There was a bug in my compat filed of Project.toml, and it is fixed now. But the CI test is still failed due to Registry dirty error:
Error: Some registries failed to update:

How can I update this PR with the additional commits?

You just comment @JuliaRegistrator register on the new commit

Error: Some registries failed to update:

That's not actually an error (just a log message with an error label). There is no need to look at the CI logs: these are for internal use by the registry maintainers. If there is something wrong with the registration, the bot will leave a comment.

[noblock]
Happy New Year!
Per your comment, is this PR going to be merged to this General Registry or is there something that I need to do further for the registration?

[noblock]
You still have to fix this:

The compat entry for julia is unbounded.

In your Project.toml, you have to change
julia = ">= 1.2"

The >= cannot be used in the [compat] section for registered packages. Also: are you really using this package with Julia 1.2? If so, you should make sure that it's being automatically tested against that version.
You probably want the LTS version
julia = "1.6"

Or maybe even something newer.

[noblock]
Hi, I think that I have fixed the issues for auto-merging and saw that all checks have passed. Is there anything else that I need to do for this merging? How long does it take to merge a new package into this General Registry?


Fix xml issues

Fixed a couple of unparseable crossref xmls. This is exhaustive for these files.

Thanks for this @majensen. I'm curious how you unearthed these issues?


Hashrate is WRONG !!!

I get in the dynexsolve window in hiveos:
[GPU *] DYNEX CHIPS 3032 | LOCAL MINIMA 19505 | LOWEST ENERGY 41838 | TOTAL HASHRATE 2365 | UPTIME 500
In the main hiveos window  is get 740H/s
At the pool i get 840h/s (  700-860 max)
Why is the hashrate so chaotic ???    I should get ~ 2350h/s   shown also in the pool also in the hiveos main window.

Use srb miner


Enable Text widget

There was already a text widget in the repository. This PR:

Enables the text view and widget modules
Fixes them up so they compile with latest Xilem
Implements compute_max_intrinsic for text

I'm not sure that having String for the view makes sense because:

Strings are not string literals, so the DX isn't that great anyway as you have to wrap in String::from, which is longer than some hypothetical text function for a custom text type.
We're almost certainly going to want modifiers on text like font size, color, etc. And we'll need to store those somewhere.

But I've left it as String for now.

Strings are not string literals, so the DX isn't that great anyway as you have to wrap in String::from, which is longer than some hypothetical text function for a custom text type.

We'll likely need all kinds View impls for string based views (&str, Cow<str> etc.), and I think they may share all the same widget, and maybe even wrap the same text view.

We're almost certainly going to want modifiers on text like font size, color, etc. And we'll need to store those somewhere.

I think a few composing style views probably make sense for such views (and maybe in general). Something like StyledText<String> or StyledText<&'static str>.
I'll try to review this later (or in the following few days).


Add a flag to use the old C++ ABI when compiled with newer GCC.

This adds a compile flag which specifies that newer GCC version should use the old ABI when compiling the Tensorflow extension.

@jaredcasper Can you please take a look?

Looks okay to me, only suggestion may be to only add the flag if g++ version 5+ is being used.  However, I no longer have write access to this repo (I don't work at Baidu anymore).

@jaredcasper  Do you know somebody who could be able to review and merge it?

Hello, I can confirm this works on Ubuntu 16.04 and fixes the issue raised in #59. Is anybody able to merge this fix so we can install from official master?

I used this PR to build with gcc-5 on Ubuntu 17.04 and Cuda 8. The following is the errors I received:
-- Generating /home/morteza/Experiments/warp-ctc-g++5/build/CMakeFiles/test_gpu.dir/tests/./test_gpu_generated_test_gpu.cu.o
/usr/bin/nvcc /home/morteza/Experiments/warp-ctc-g++5/tests/test_gpu.cu -c -o /home/morteza/Experiments/warp-ctc-g++5/build/CMakeFiles/test_gpu.dir/tests/./test_gpu_generated_test_gpu.cu.o -ccbin /usr/bin/cc -m64 -Xcompiler ,\"-fopenmp\",\"-O2\",\"-g\" -
gencode arch=compute_30,code=sm_30 -O2 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 --std=c++11 -Xcompiler -fopenmp -DNVCC -I/usr/include -I/home/morteza/Experiments/warp-ctc-g++5/include
/usr/lib/gcc/x86_64-linux-gnu/5/include/avx512fintrin.h(9218): error: argument of type "const void *" is incompatible with parameter of type "const float *"

/usr/lib/gcc/x86_64-linux-gnu/5/include/avx512fintrin.h(9229): error: argument of type "const void *" is incompatible with parameter of type "const float *"

and the list of errors goes on all with the same description.


[question] will setting ZMQ_SNDTIMEO to 0 cause throws?

I know on ZMQ's end it will throw, but I'm not sure how errors get propagated here / what to check for.
What I'm looking to do is sock.setsockopt(zmq. ZMQ_SNDTIMEO, 0) so that send()s will never block.
In this case will the JS send() API throw an EACCESS? Are there better ways to do this?

cc @ronkorving

I have honestly no idea. Try and find out?


Infinite loop during another test case from the puff.c Makefile

Reproduction:
const std = @import("std");
const flate = @import("flate");

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    defer std.debug.assert(gpa.deinit() == .ok);
    const allocator = gpa.allocator();

    const data = "\x04\x00\xfe\xff";

    var fbs = std.io.fixedBufferStream(data);
    const reader = fbs.reader();
    var inflate = flate.raw.decompressor(reader);

    const inflated = inflate.reader().readAllAlloc(allocator, std.math.maxInt(usize)) catch {
        return;
    };
    defer allocator.free(inflated);
}

This test comes from a puff.c (deflate reference implementation) test case within its Makefile: https://github.com/madler/zlib/blob/504403f3e468bca2dc85c055d96ad392e9c7aae0/contrib/puff/Makefile#L34. It's used as part of the input corpus for fuzz testing the deflate implementation here: https://github.com/squeek502/zig-std-lib-fuzzing/blob/master/inputs/deflate/puff13

Thanks for pointing to this corpus of fuzzing tests.
I copied them here. Hope that is OK?
And make them all pass without panicking.


Update navbar "Reference" link

We will update this link to a dropdown with one link to the reference page and one to the admiraldiscovery table. This will occur after admiraldiscovery has made it's first release

What about in User Guides at the top?  Just so we don't deviate too much from other pkgdown sites with a Reference tab as a dropdown?
Also, maybe link to the Cheatsheet should go in under it as well.

@ddsjoberg and @bms63 met to discuss

[ ] Get Started will be a drop down with the getting started vignette, admiral discovery link, and the cheatsheet
[ ] Remove the community drop down menu form nav bar

@ashachakma  are you all good with working on this update?  We need it a week before Dec 4th

Hey @ashachakma  can you confirm that you can work on this issue.  I think deadline is end of this week/early next week.
One thing is I want to make sure the contribution vignette is linked on the Readme.  Can discuss more once you get started.

Hi Ben, sorry for replying late, didn't check gmail notification for long. I am starting to work on it today and I will try to finish it by early next week.

@bms63 @ddsjoberg for the community drop down, are we entirely removing the community from the nav bar or just the drop downs of community? If Its only the drop down, then which link will go with this nav bar?? Is the contribution-model or slack or the pharmaverse one?

We want to remove the community drop down from the top.


Clear LuaSnip cache on reload/snippets added

Fixes #662 - Ensure the internal snippet cache is cleared whenever snippets are added or modified. This allows updated snippets to be reflected immediately without requiring a nvim restart, addressing the current behavior.
Hey, I think this piece of code fits well in source.new(opts). It works as intended, but if you believe there's a better place for it, let me know, and I’ll make the necessary changes!
Feel free to tell me if I need to make any other changes to this.

Thank you! Generating the items cache is fast enough so I've reset all of the filetypes whenever a snippet is added just to be safe


Doc Count ccn of method parseEntry

From Lizard:
NLOC: 262     CCN: 79   token: 1754      PARAM: 1     length: 369
location: GvkParser::parseEntry<EMAIL_ADDRESS>

My calculation:
if-statements: 68
loops: 1
|| (or): 2
&& (and): 7
return: 1
throw: 0
pi = 68 + 1 + 2 + 7 = 78
s = 1
M = pi - s + 2 = 78 - 1 + 2 = 79
My cyclomatic complexity calculation gave the same result as the Lizard calculation.

My calculation:
if-statements: 71
loops: 1
|| (or): 2
&& (and): 6
return: 1
throw: 0
pi = 71 +1 +2 +6 =80
s = 1
M = pi - s + 2 = 80 - 1 +2 = 81.
I counted a if else construct as + 2. My calculations differs from sebveij it is possible i made some error as his calculation matches the Lixard calculation


Text might not align properly

Describe the bug
When i use zh_CN.UTF-8 for terminal,some of the text might not align properly;Change to en_US display correctly

@tomato0613 Hello! This may not be fixable at this time :/
more detail: https://github.com/yorukot/superfile/issues/132

okey


Empty xrdp login window

I have an empty login window when I use xrdp to connect to my debian buster...

Then, nothing happens. I can not enter my password so I can not log in...
Here is the content of /var/log/xrdp.log
[20191105-17:39:46] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 46046
[20191105-17:39:46] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20191105-17:39:46] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20191105-17:39:46] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20191105-17:39:46] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20191105-17:39:46] [DEBUG] TLSv1.3 enabled
[20191105-17:39:46] [DEBUG] TLSv1.2 enabled
[20191105-17:39:46] [DEBUG] Security layer: requested 3, selected 1
[20191105-17:39:46] [INFO ] connected client computer name: mirabelle
[20191105-17:39:46] [INFO ] TLS connection established from ::ffff:<IP_ADDRESS> port 46046: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
[20191105-17:39:46] [DEBUG] xrdp_0000310e_wm_login_mode_event_00000001
[20191105-17:39:46] [INFO ] Cannot find keymap file /etc/xrdp/km-00000000.ini
[20191105-17:39:46] [INFO ] Cannot find keymap file /etc/xrdp/km-00000000.ini
[20191105-17:39:46] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20191105-17:39:46] [WARN ] local keymap file for 0x00000000 found and doesn't match built in keymap, using local keymap file
[20191105-17:40:32] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20191105-17:40:32] [DEBUG] xrdp_mm_module_cleanup

Do you have any idea what is the cause of this bug?

Why not reveal information about xrdp version and client?

Sorry. I am using the version which is in the debian package repository.
$/usr/sbin/xrdp --version
The log reference is NULL - log not initialized properly
xrdp 0.9.9
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2018 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/var/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -fdebug-prefix-map=/build/xrdp-GQ2R2u/xrdp-0.9.9=. -fstack-protector-strong -Wformat -Werror=format-security
      LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
      PKG_CONFIG_PATH=/build/xrdp-GQ2R2u/xrdp-0.9.9/pkgconfig

  Compiled with OpenSSL 1.1.1d  10 Sep 2019

Please try to open edit /etc/xrdp/startwm.sh.
Add the following lines before the last two lines.
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

So att the end the file should look liket his

I do not know technical details about this solution. It is based on this blog entry and worked for me (in Debian 11 bullseye).
https://serverspace.io/support/help/how-to-configure-xrdp-server-on-ubuntu-18-04/
Please report back if this works.

@Codeberg-AsGithubAlternative-buhtz Thanks for the answer. I succeeded into connecting to my computer using Remmina  instead of Vinagre (without adding the two lines you propose, it worked).
It worked when I was on Debian Buster. A few days ago, I updated my computer to Debian Bullseye. It still works with Remmina and I have another problem with Vinagre (the logging windows appears, but the connection fails).
In my opinion, this issue can be closed as the problem seems to be related to the connection software more than to XRDP itself.

@benoit9126 - could you post more info on your Bullseye Vinagre issue connection failure? It might clarify what's going on here.

Sure. I have the correct login windows

Then, after entering my password:

In /var/log/xrdp-sesman.log
[20210825-14:58:57] [INFO ] A connection received from ::1 port 50070
[20210825-14:58:59] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)

in /var/log/xrdp.log:
[20210825-14:58:51] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 33108
[20210825-14:58:51] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20210825-14:58:51] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20210825-14:58:51] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20210825-14:58:51] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20210825-14:58:51] [DEBUG] TLSv1.3 enabled
[20210825-14:58:51] [DEBUG] TLSv1.2 enabled
[20210825-14:58:51] [DEBUG] Security layer: requested 3, selected 1
[20210825-14:58:51] [INFO ] connected client computer name: mirabelle
[20210825-14:58:51] [INFO ] TLS connection established from ::ffff:<IP_ADDRESS> port 33108: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
[20210825-14:58:52] [DEBUG] xrdp_00003765_wm_login_mode_event_00000001
[20210825-14:58:52] [INFO ] Cannot find keymap file /etc/xrdp/km-00000000.ini
[20210825-14:58:52] [INFO ] Cannot find keymap file /etc/xrdp/km-00000000.ini
[20210825-14:58:52] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20210825-14:58:52] [WARN ] local keymap file for 0x00000000 found and doesn't match built in keymap, using local keymap file
[20210825-14:58:57] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip <IP_ADDRESS> port 3350
[20210825-14:58:57] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20210825-14:58:57] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20210825-14:58:57] [DEBUG] return value from xrdp_mm_connect 0
[20210825-14:58:59] [INFO ] xrdp_wm_log_msg: login failed for display 0
[20210825-14:58:59] [DEBUG] xrdp_mm_module_cleanup
[20210825-14:58:59] [DEBUG] Closed socket 18 (AF_INET6 ::1 port 50070)
[20210825-14:59:03] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<IP_ADDRESS> port 3389)
[20210825-14:59:03] [DEBUG] xrdp_mm_module_cleanup

Here, I try to connect to a computer under Ubuntu 20.04 LTS:
$ uname -a
Linux madeleine 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal

with xrdp 0.9.12
from my Debian Bullseye
$ uname -a
Linux mirabelle 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye

using Vinagre 3.22.0
@matt335672 If you need something else, do not hesitate.

hello, I have the similar issue to this one. If I provide you with logs xrdp-sesman.log and xrdp.log could you please have a look?

@matt335672

@kenanrustemlee - this is a closed issue. Feel free to open a new one with details of your platform and the client you're using.

I opened new one @matt335672
https://github.com/neutrinolabs/xrdp/issues/2154#issue-1147920783
Thanks a lot :)


typescript support?

Any typescript support?

For those using Typescript that want to use this plugin without warning, consider doing this:
npm install --save-dev @types/vuex-i18n
Source: https://www.npmjs.com/package/@types/vuex-i18n


⚠ Home NAS has degraded performance

In c782419, Home NAS ($MY_NAS_URL) experienced degraded performance:

HTTP code: 200
Response time: 26738 ms

Resolved: Home NAS performance has improved in e3de40d after 7 minutes.


All feature

In this PR:

Missions fetch from mission API missions Api and display
Rockets fetch from mission API Rockets Api and display
My profile: shows a list of reserved and joined missions if not it will indicate with Empty
Testing
Rockets is the default view,
 used for the page navigation links and style active class to indicate which section/page user is currently on (underlined active navigation link).

Hello @JuliCarracedo , We were told to use the Gitfow  using the dev as the default branch


fix: Handle timeout for exited containers in docker discover process

fix #1934

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


How to enable breadcrumbs only for custom editor

We can enable/disable file location bar(Breadcrumbs) in vscode using settings(setting >breadcrumbs).

Screenshot:

Requirement:
"breadcrumbs.enabled": false option will enable/disable Breadcrumbs for all editors. I want to disable Breadcrumbs for my custom editor but I need Breadcrumbs for other editors.
Is this feature is available in vscode(configure breadcrumbs, font etc  specific to custom editors) ? If yes, where we can configure it?

Duplicate of #146067

@mjbvz ,
Even though #146067 is not a bug, we have to fix it. We are using custom editors to show diagram but breadcrumbs acts like window's system explorer and we can open any file in a custom editor and diagrams will be lost.
Font size, font type etc we configure at global level(common for all editors) but we will have many use cases where we have to configure each custom editors based on requirement.
So, vscode show allow us to contribute these fileds in package.json(inside custom editor's contribution).


Feature/docs

Documentation for the ooni-pipeline tasks

@joelanders can you see if this makes sense and if so sign off on it?


Suggestion: Show a tooltip on each field

Currently I can't see the data type of the fields unless I actually select it, which means new mapping is created anyway. This is annoying when I'm just looking around the data type. I think It helps if a tooltip shows type and path.

@igarashitm is this issue still relevant?

Yes, but we haven't yet agreed to implement it


--extract_msi doesn't work anymore 8at least since PowerToysSetup-0.53.3-x64.exe

Microsoft PowerToys version
0.55.0
Running as admin

[X] Yes

Area(s) with issue?
Installer
Steps to reproduce
"PowerToysSetup-*-x64.exe --extract_msi"
✔ Expected Behavior
"PowerToysSetup-*-x64.exe --extract_msi" should extract the msi installer.
❌ Actual Behavior
"PowerToysSetup-*-x64.exe --extract_msi" doesn't work anymore.
Was this function removed on purpose? Don't forget there are people using the server function of deploying msi packages via GPO. ist a Microsoft Windows feature.
Repairing that, would be nice and very useful. Thank you.
Other Software
No response

Bootstrapper has been updated. See documents: https://docs.microsoft.com/en-us/windows/powertoys/install#extracting-out-the-msi-from-the-bundle

@Textator we discussed this in our change log with 0.53 regarding the swapping of the bootstrapper to a standard WIX bootstrapper.

Obviously I didn't see that! Sorry. Thanks @franky920920!


importing defined-but-not-exposed symbol crashes debug compiler

# A.roc
interface A exposes [] imports []

foo = ""

# B.roc
interface B exposes [] imports [A.{foo}]

bar = foo

Checking B.roc hits a debug_assertion. We should fix that.

With the code as given above, roc check B.roc gives the correct error:
── UNRECOGNIZED NAME ─────────────────────────────────────────────────── B.roc ─
The A module does not expose anything by the name foo.
─────────────────────────────────────────────────────
1 error and 2 warnings found in 21 ms.
When A.roc is changed to:
interface A exposes [foo] imports []
foo = ""
roc check gives an UNUSED DEFINITION and
0 errors and 1 warning found in 20 ms.
So it seems this issue is fixed?  @Anton-4 ?


examples/windowsize: the window size is not restored from fullscreen correctly when the window is resizable

Only on macOS?

Press [R] to make the window resizabe
Press [F] to make the window fullscreen
Press [F] to restore it

This seems a regression. v2.3.0-alpha.1 worked as expected.

git-bisect says 12c144070f27a086cf80c6742e34c128cba5dbff was the regression.


Support mac app  notarize hardenedRuntime

My Setup

Operating System: macOS 10.14.5
App Version: 2.15.3
Installation type: dmg, pkg,app

[ x] I have tested with the latest version
[ x] I can simulate the issue easily

Description
using notarize doesn't works
following all the steps to notarize the app from https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/
Current Behavior
App crash when hardenedRuntime is set to true
Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x0000189e19502040
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x2

kernel messages:

VM Regions Near 0x189e19502040:
    Memory Tag<PHONE_NUMBER>e19501000-0000189e19502000 [    4K] ---/rwx SM=NUL
--> Memory Tag<PHONE_NUMBER>e19502000-0000189e1957f000 [  500K] r-x/rwx SM=COW
    Memory Tag<PHONE_NUMBER>e1957f000-0000189e21428000 [126.7M] ---/rwx SM=NUL

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   ???                           	0x0000189e19502040 0 +<PHONE_NUMBER>0928
1   com.github.Electron.framework 	0x000000010d8c5148 0x10c003000 + 25960776
2   com.github.Electron.framework 	0x000000010d8c3d3e 0x10c003000 + 25955646

Expected Behavior
App should work fine with hardenedRuntime

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!


Fix login with current peloton API

The current response only provides the following paramters:
'session_id', 'user_id', 'pubsub_session'

thank you for this.
Could you instead have the self.GetMe() call happen inside the if statement?
So:
         if num_workouts is None:
             self.GetMe()
             num_workouts = self.total_workouts

the reasoning is so that the extra call only happens if needed

Sure, just fixed it up.


Spurious failure for enum with array data

I tried this code:

#[derive(Clone, PartialEq, Eq)]
enum Foo {
    A,
    B([u8; 65])
}

#[kani::proof]
fn main() {
    let x: Foo = Foo::B(kani::any());
    let b = x.clone();
    assert_eq!(b, x);
}

using the following command line invocation:
kani test.rs

with Kani version:
I expected to see this happen: Verification successful

Instead, this happened: Verification failed:
SUMMARY:
 ** 1 of 52 failed
Failed Checks: assertion failed: b == x
 File: "/home/ubuntu/examples/enum_bug/test.rs", line 11, in main

VERIFICATION:- FAILED

Weird enough, this only happens if the array size is 65 or larger! If I make the array size 64 or less, verification passes!

SUMMARY:
 ** 0 of 52 failed

VERIFICATION:- SUCCESSFUL
Verification Time: 0.27921867s

I created a similar test with unions and I get the same failure:
union Foo {
    buf: [u8; 65],
}

#[kani::proof]
unsafe fn main() {
    let buf = [0; 65];
    let x: Foo = Foo { buf : buf };
    unsafe { assert_eq!(x.buf, buf) };
}

I could not reproduce the failure with other integer types (not even i8). The error also doesn't happen with an intermediate read:
#[kani::proof]
unsafe fn main() {
    let buf = [0; 65];
    let x: Foo = Foo { buf : buf };
    let buf2 = unsafe { x.buf };
    assert_eq!(buf2, buf);             // --> SUCCESS
    unsafe { assert_eq!(x.buf, buf) }; // --> FAILURE
}


Notes from meeting with Tim

I met with @timkpaine today to see they are up to at JP Morgan in exposing SQL databases and virtual filesystems in JupyterLab.
Currently, they are using something like this multi contents manager (I can't remember if they are using that exactly or an internal fork of it). My impression from it is that the Jupyter server supports only one contents manager. So this project lets you combine multiple contents managers into one contents manager. You still specify a default that shows up normally, so the filebrowser looks the same in JL. But, you add some special root paths, like /s3:// to redirect to other content managers under the hood.
Then in JL, using https://github.com/youngthejames/jupyterlab_filetree/, they display these other roots in different browsers in JL. They wanna use this to make a "SQL" contents manager that shows different tables as files.
My takeaways was that building a good tree view UI is a PITA and so the data registry should be the place we do that and then others don't have to re-implement it. Tim pointed out a bunch of subtle behavior that they copied from the Finder on mac in terms of single and double clicking on files and folders. Also it would be nice to have both a tree view and a multipanel view the user could switch between.
We should support the contents manager API in the data registry, with the end goal of replacing JL's existing file browser with the data browser. A bunch of things need to happen before that's feasible including:

Recreate right click menu from filebrowser in data register, move views to "open with" submenu.
Add priority and icons for views so we have a default one
Fix tree view UI so it isn't as ugly with "show/hide" button.
Add mutation features, including renaming, adding folder, uploads, and drag and drop.

I also got a nice demo of perspective. In our world, it functions a bit like voyager or plotly. However, it is much more performant for large datasets. So we discussed how it could use the data registry mimetypes to represent different pointers to different types of data like parquet, and use that.

Might it be worthwhile to look into making a generic tree-widget, that is agnostic about what it is showing? If we are having multiple such tree views, we might save some effort?

If you're interested, I've written a tree control to address some of these use cases that's being used internally. We're about to open-source a larger dashboarding project that encompasses it, but I can separate out the tree control and open-source that sooner.
There's some rough edges that need to be cleaned up, but it was designed to address a lot of the shortcomings of other tree controls (inflexibility, no async support, bad drag UX, no tree-to-tree, etc). It's written in React, but wraps nicely in a Phosphor widget.
Here it is in action, with a backend making updates to the tree asynchronously (in this case, doing some tree pruning to remove useless containers)

@quigleyj-mavenomics Oh man that would be perfect! If you do release it, I will definitely try integrating it here. It would be great to share this as a nice reusable react component.

@saulshanabrook I remember seeing somewhere that you were considering reusing the tree viewer from VS Code. Any chance making it work in JupyterLab?

I started looking into it but found it hard to separate from vscodes build system.
That would be nice though! Maybe I'll have another go at it.

FYI starting to work on some of the perspective stuff for data
https://github.com/finos/perspective/pull/824

@quigleyj-mavenomics What's the status of React tree component? Have you open sourced it anywhere?
For context, I'm starting to work on a refactor of the filebrowser UI and underlying stack in jlab core. One of my goals is to make the file listing a tree view. I'm deciding right now whether to use an existing React component for the tree, or if I should roll a new one. And then I remembered this thread, and thought I'd check in with you


KAFKA-15498: bump snappy-java version to <IP_ADDRESS>

bump snappy-java version to <IP_ADDRESS>
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Also, we should create a JIRA for this and associate this PR with it so that release notes can properly capture that the CVE has been fixed.

Some snappy related tests are failing: https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14434/1/testReport/junit/kafka.log/LogCleanerParameterizedIntegrationTest/Build___JDK_20_and_Scala_2_13____3__codec_snappy_2/

@divijvaidya the link you pasted states "Passed", maybe it was on one of the other runs that failed?

This one seems to be a failing one: https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14434/1/testReport/junit/kafka.log/LogCleanerParameterizedIntegrationTest/Build___JDK_11_and_Scala_2_13____3__codec_snappy/

Looks like this regressed? So we'll have to work with upstream to figure out what happened.

If it read the tests right, it seems it is now flaky

@jlprat The fact that the snappy variant is failing is suspicious though - I suspect we're running into the newly introduced limit in that test. Perhaps during compaction? I haven't checked though.

@ijuma I agree that it is extremely suspicious that is starting to fail now, I just wanted to point out, that it seems the failure is not 100% reproducible if I look at the CI test results:

To add an extra data point, it seems I can reproduce this failure consistently on my machine. I'll try to allocate some time tomorrow to find the root cause. But if somebody on other timezones wants to take a stab at it, go ahead!

The failed tests should be this one: testCleanerWithMessageFormatV0, which sets the maxMessageSize to 202, and matches the error messages:
Message batch size is 203 bytes in append topartition log-0 which exceeds the maximum configured size of 202.

I spent some little time, but I couldn't find the root cause of why this is failing.

One question I'd like to get your thoughts. This test is doing:

Generate a 2 byte key, and 128 byte value.
Create a record using snappy codec compressed.
Get the size of the record, which is 197.
Add hardcoded 5 for decompression, so, set the max message size to 202.
After decompressed, the record size is 203, throw exception, while before bumping snappy version, it'll always be 202.

Here's my question:
If the decompressed recodes can be read correctly in the consumer side(I haven't tested it, yet), then should we still worry about the additional 1byte after decompression?
@divijvaidya @ijuma @jlprat , thoughts?

Hey @showuon

Add hardcoded 5 for decompression, so, set the max message size to 202.
After decompressed, the record size is 203, throw exception, while before bumping snappy version, it'll always be 202.

If size of original decompressed message is 197, how is the size of message obtained after decompression 203? Doesn't this mean that the decompressed message later is not equal to original message?

I think the problem is in the details, why this extra byte? Also, 1 extra byte might not be relevant, but at some point the overhead of extra bytes might cause performance regressions (overhead on network traffic + increased memory footprint).
I did a bit of debugging on UnifiedLog.scala line 826 and found out that all the dups are in theory written with the same Snappy codec but they seem to have the same size with the previous snappy version and the newer one.

The extra byte may be ok since the underlying snappy library was also upgraded in this new version https://github.com/xerial/snappy-java/commit/f2e97f27be0dc6c691369040ba8a673bface484c
Our test looks to rely on implementation details of the compression library.

We don't know, but it's the nature of compression libraries - there can be some variations as the algorithms are  tweaked for performance.

Since @showuon is asleep, I took the liberty of adding an extra byte to the assumed size of compressed message produced by snappy. Let's see if the test passes now. Will run it multiple times.

I have the run the test ~200 times locally using the command below and they all succeeded. Also, the CI build on jenkins has succeeded twice [1] and [2]. IMO, we can safely merge this one.
I=0; while ./gradlew :core:test --tests kafka.log.LogCleanerParameterizedIntegrationTest.testCleanerWithMessageFormatV0 --rerun --fail-fast; do (( I=$I+1 )); echo "Completed run: $I"; sleep 1; done

[1] https://ci-builds.apache.org/blue/organizations/jenkins/Kafka%2Fkafka-pr/detail/PR-14434/3/pipeline/
[2] https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14434/4/

One question I'd like to get your thoughts. This test is doing:

Generate a 2 byte key, and 128 byte value.
Create a record using snappy codec compressed.
Get the size of the record, which is 197.
Add hardcoded 5 for decompression, so, set the max message size to 202.
After decompressed, the record size is 203, throw exception, while before bumping snappy version, it'll always be 202.

Here's my question:
If the decompressed recodes can be read correctly in the consumer side(I haven't tested it, yet), then should we still worry about the additional 1byte after decompression?
@divijvaidya @ijuma @jlprat , thoughts?

Thanks all. (Sorry, pressing the wrong button on phone). Will verify the decompressed results are able to be correctly read today.

PR updated to add more tests to verify the compressed data can be correctly decompressed and read. Also update the PR description.

@jlprat , thanks for the comments. PR updated in https://github.com/apache/kafka/pull/14434/commits/c21e79e5ecf46f34b38fa6c1547c615c4d11fe1d .

A new Snappy-Java version was just released:
This is the diff between <IP_ADDRESS> and <IP_ADDRESS> https://github.com/xerial/snappy-java/compare/v<IP_ADDRESS>...v<IP_ADDRESS>
Release announcement:
https://github.com/xerial/snappy-java/releases/tag/v<IP_ADDRESS>
Do we want to update to <IP_ADDRESS> or leave it at <IP_ADDRESS>?

A new Snappy-Java version was just released: This is the diff between <IP_ADDRESS> and <IP_ADDRESS><EMAIL_ADDRESS>Release announcement: https://github.com/xerial/snappy-java/releases/tag/v<IP_ADDRESS>
Do we want to update to <IP_ADDRESS> or leave it at <IP_ADDRESS>?

Interesting! Let's do that in parallel. I've created another PR: https://github.com/apache/kafka/pull/14458 for upgrading to <IP_ADDRESS>. Let's wait for the CI build results and decide which one we want to merge into v3.6. Thanks for the info.

Failed tests are unrelated.

@showuon and others: I know this PR is already merged now, but I see that version <IP_ADDRESS> of snappy-java has been released now. Perhaps include that version as well, before releasing kafka-clients version 3.6.0?

Hi @volkert-fastned see https://github.com/apache/kafka/pull/14458 for this :)

That new version should stick to master, I don't see anything there that should be considered a release blocker.


kuttl: switch reports to JUnitXML instead of JSON

JUnitXML is the de-facto standard format for test reporting and widely supported by all tools which post-process test results.

/retest

/test images

/test manila-operator-build-deploy-kuttl

I see the xml artifact has been produced here [1]. I'm good to merge this change as it is.
[1] https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/openstack-k8s-operators_manila-operator/338/pull-ci-openstack-k8s-operators-manila-operator-main-manila-operator-build-deploy-kuttl/1838219858840391680/artifacts/


Error: Cannot find module 'lodash'

Error: Cannot find module 'lodash'
Require stack:
-<EMAIL_ADDRESS>
This happens when using pnpm. lodash should be explicit dep - not rely on hoisting - which I assume is issue.

Duplicate of #1870


Wall doesn't work until refresh for user who creates wall

When a user creates a wall, then tries to draw on the wall, the server seems to be unable to find the wall. However when the user refreshes it then works.
It's likely an issue with what the server sends back, however as it only sends a name and a bunch of empty arrays it's odd that would be an issue.

Have added logging for wall creation to see what is going on.


1.3.0 does not work on windows 7 now

as above shows
And I test 1.2.1 in same envirenment, it works

This project currently uses Go v1.23, which is provided by Fedora 41, the latest Fedora release at this time. As Go discontinued support for Windows 7 starting from v1.21, this project no longer supports Windows 7.
So I'm closing this issue as it falls outside the supported environments for the project.


Please add ZS 6 im. Mikołaja Kopernika

Institution/School Name
ZS 6 im. Mikołaja Kopernika
Instiution/School Website
<EMAIL_ADDRESS>Email Users
Please place an x between the square brackets if yes

[x ] Students
[ ] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[ ] Post-graduate research
[ ] Graduate School
[ ] College (University) or Undergraduate School or equivalent
[ ] Community College or equivalent
[ ] High School or equivalent
[x ] Elementary School or equivalent

@Yagatoshi Pull request merged. Thank you!


Not finding an face in the image, why?

Issue Description
No face is found in this image:
https://www.jordanharbinger.com/wp-content/uploads/2018/09/be-the-most-interesting.jpg
My config
const myConfig = {    backend: 'tensorflow',    console: true,    videoOptimized: false,    async: true,    warmup: 'face',    filter: {       enabled: true,           // enable image pre-processing filters       width: 256,                // resize input width       height: 256,               // resize input height       // if both width and height are set to 0, there is no resizing       // if just one is set, second one is scaled automatically       // if both are set, values are used as-is       return: true,            // return processed canvas imagedata in result       brightness: 1,           // range: -1 (darken) to 1 (lighten)       contrast: 0,             // range: -1 (reduce contrast) to 1 (increase contrast)       sharpness: 0,            // range: 0 (no sharpening) to 1 (maximum sharpening)       blur: 0,                 // range: 0 (no blur) to N (blur radius in pixels)       saturation: 0,           // range: -1 (reduce saturation) to 1 (increase saturation)       hue: 0,                // range: 0 (no change) to 360 (hue rotation in degrees)       pixelate: 0,             // range: 0 (no pixelate) to N (number of pixels to pixelate)    },    mesh: {       enabled: false,       modelPath: file://src/models/facemesh.json,       inputSize: 192, // fixed value,       returnRawData: false // in addition to standard mesh and box values, return raw normalized values as well     },    detector: {       modelPath: file://src/models/blazeface-back.json`, // can be 'front' or 'back'.
// 'front' is optimized for large faces
// such as front-facing camera and
// 'back' is optimized for distanct faces.
inputSize: 256, // fixed value: 128 for front and 256 for 'back'
rotation: false, // use best-guess rotated face image or just box with rotation as-is
maxFaces: 1, // maximum number of faces detected in the input
// should be set to the minimum number for performance
skipFrames: 11, // how many frames to go without re-running the face bounding box detector
// only used for video inputs
// e.g., if model is running st 25 FPS, we can re-use existing bounding
// box for updated face analysis as the head probably hasn't moved much
// in short time (10 * 1/25 = 0.25 sec)
minConfidence: 0.3, // threshold for discarding a prediction
iouThreshold: 0.2, // threshold for deciding whether boxes overlap too much in
// non-maximum suppression (0.1 means drop if overlap 10%)
scoreThreshold: 0.5 // threshold for deciding when to remove boxes based on score
// in non-maximum suppression,
// this is applied on detection objects only and before minConfidence
},
face: {
enabled: true,
detector: { modelPath: 'file://src/models/blazeface-front.json', enabled: true, rotation: true, return: true },
mesh: { modelPath: 'file://src/models/facemesh.json', enabled: true },
iris: { modelPath: 'file://src/models/iris.json', enabled: false },
description: { modelPath: 'file://src/models/faceres.json', enabled: true },
emotion: { modelPath: 'file://src/models/emotion.json', enabled: false },
age: { modelPath: 'file://src/models/age.json', enabled: false },
gender: { modelPath: 'file://src/models/gender.json', enabled: false },
embedding: { modelPath: 'file://src/models/mobileface.json', enabled: true },
},
// body: { modelPath: 'file://models/blazepose.json', enabled: true },
body: { modelPath: 'file://src/models/posenet.json', enabled: false },
hand: {
enabled: false,
detector: { modelPath: 'file://src/models/handdetect.json' },
skeleton: { modelPath: 'file://src/models/handskeleton.json' },
},
object: { modelPath: 'file://src/models/nanodet.json', enabled: false },
};`
The result:
{   face: [],   body: [],   hand: [],   gesture: [],   object: [],   performance: { backend: 1, load: 212, image: 0, total: 291 },   canvas: null }
Why is not finding an face in that image?
**Environment

Module version: 1.2.1
Built-in demo or custom code? Custom
Browser or NodeJS and version (e.g. NodeJS 14.15 or Chrome 89)? 14.15.4
OS and Hardware platform (e.g. Windows 10, Ubuntu Linux on x64, Android 10)? windows 10

using blazeface-front model it doesn't detect a person as that model is trained for center-aligned faces,
this photo is too far to the edge. and in general blazeface-front model is good only for webcam input, not for photos.
use blazeface-back model (which is default for a good reason) and it works fine:
# node demo/node.js /tmp/be-the-most-interesting.jpg
2021-04-12 20:53:42 INFO:  @vladmandic/human version 1.4.3
...
2021-04-12 20:53:42 STATE:  Processing: [ 1, 1400, 1400, 3, [length]: 4 ]
2021-04-12 20:53:44 DATA:  Results:
2021-04-12 20:53:44 DATA:    Face: #0 boxConfidence:0.69 faceConfidence:0.69 age:48.3 genderConfidence:0.84 gender:male emotionScore:0.92 emotion:sad iris:4.89
2021-04-12 20:53:44 DATA:    Gesture: face#0 gesture:facing camera
2021-04-12 20:53:44 DATA:    Gesture: iris#0 gesture:looking at camera
2021-04-12 20:53:44 DATA:    Object: #0 score:0.36 label:person


Convert without clone

Could you add an option to convert without creating a copy? copying destroys prefabbed based avatars that are based on the original fbx or .blend file which is nice to have for auto updating your scenes avatar when you modify externally within blender.

Will add it as a toggle next release


pull request for e2e test at 01/13/2017 00:56:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add service graph metrics

Enable service graph metrics. The service graph can be viewed in the "Service Graph" tab in the Explore view for the Tempo data source.

:+1:


Portfolio details popup window

Portfolio details popup window

Added a popup window for projects cards
Cards are generated dynamically
popup window shows the information of the selected project

Hello @shahadat3669, thanks for the feedback, all the changes were applied


[TwitterBridge] Get cookies before sending request

Twitter now requires cookies to be set before requesting a page. This will fetch the cookies and send them to getSimpleHTMLDOM().
Fixes #1225 #1231
Supersedes PR #1226
Function to get cookies borrowed from @teromene / FB2Bridge

This may be the better approach yes, I didn't realize file_get_contents() was used in getContents()!
A slight downside with this is that as far as I can tell it doesn't take proxy settings into account, which could be problematic in some cases. Though I suppose if the FB2Bridge is already doing it this way maybe it's fine.

Thanks for the fix !

@Roliga file_get_contents() is a fallback method added some months ago for systems running CLI without a curl cainfo certificate bundle specified, due to certificate peer failures. Unlike the curl module, file_get_contents() automatically reads in the system's root certificates.
The function doesn't currently respect headers passed in (such as the cookie one just added) so I'll need to add that in.


Decompiler: add input parameter from pseudo code

It would be great to add ability to add unaff variables as function input parameters from context menu.

Change to feature, please!

Also, it may be usefull to add not assigned registers as Custom Storage input parameters automatically during analysis.


WIP: experimenting with mapping perf improvements for core schemas

Putting this on hold until the end of the day. Wasted enough time with permutations for now.

Feels like this isn't worth it from a readability perspective - I don't think it'll affect things by more than 5% in the best case, and it increases the complexity of understanding significantly. Wdyt @adriangb? I can close if you agree...

Closing for now, more than happy to revisit


Adds a page for integration with Entrust KeyControl.

Closes #35.
To build locally, follow the steps in the branch's README.

You'll need to have Node 16.9.x or later installed, plus Hugo for your OS.
If this is your first time to work with the KES Hugo docs, complete the Initial Setup steps in the README.
To serve locally, use hugo server, then go tohttps://localhost:1313 in your browser.

I'm not able to run hugo with this branch, although it was fine yesterday with DirectPV. I installed the latest versions of everything, does this theme need an older one?
$ hugo server
WARN 2023/08/02 14:32:08 Module "kes-docs-theme" is not compatible with this Hugo version; run "hugo mod graph" for more information.
Start building sites …
hugo v0.92.2+extended linux/amd64 BuildDate=2023-01-31T11:11:57Z VendorInfo=ubuntu:0.92.2-1ubuntu0.1
Error: Error building site: "/home/feorlen/repos/kes-docs/content/cli/kes-key/rm.md:43:1": failed to render shortcode "include": failed to process shortcode: "/home/feorlen/repos/kes-docs/themes/kes-docs-theme/layouts/shortcodes/include.html:1:3": execute of template failed: template: shortcodes/include.html:1:3: executing "shortcodes/include.html" at <readFile (.Get 0)>: error calling readFile: stat /home/feorlen/repos/kes-docs/_includes/params/include.md: no such file or directory
Built in 153 ms


First step of Conductor contracts can't be back-dated

Options:

Can specify date in the past when starting work on a contract
Go through data and manually set date to something in the past

@dormansteph brought this to our attention! Do add a spec # or item # of the contracts you're having trouble with, Steph, in the comments below

can you update Item 2107 Street Lighting Services (CD Areas) the expiration date should be 6/30/2016 everything else is good.

@dormansteph Riley should be able to do that for you -- sorry I didn't see this until now!


Cannot find module 'regenerator-runtime'

I use Sudoer with Vanila JS, but it will report error Cannot find module 'regenerator-runtime', when I install this package, it running normal.
I find in dist/index.js, require("regenerator-runtime") in secod line.

Same issue - https://github.com/automation-stack/electron-sudo/issues/33, fixed


[BEAM-2147] Re-enable UsesTimersInParDo tests on Dataflow, by fixing TestDataflowRunner and PAssertTest

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify.
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

run dataflow validatesrunner

run dataflow validatesrunner

Sad face - the build needed is not actually queued. Presumably it was killed because known breakage in master doomed it anyhow. Rebasing and re-triggering.

run dataflow validatesrunner

Noting that this PR has already been validated against Dataflow's integration suite in both batch and streaming, but we should get clear Jenkins signal on it.

Coverage increased (+0.02%) to 70.503% when pulling 898731b19a630ffc8ec8062acb0fd53bd4995635 on kennknowles:DataflowRunner-timers into 3a09ed5757c0e7a5f171350731403524c5d339fb on apache:master.

R: @tgroh finally green!


Add CONTRIBUTION.md file

Is your feature request related to a problem? Please describe.
CONTRIBUTION.md file  missing..
Describe the solution you'd like
i wanna make a CONTRIBUTION.md file for this repo

Can u assign me with this issue under SWOC'24

Hey @AbhineshJha , there is already a contribution.md file in the docs directory .
https://github.com/Arbtrage/Enigma/blob/main/docs/CONTRIBUTING.md

oohk sir , sorry for inconvenience !


Allow custom HTTP client for Connection

I've added the ability to specify a custom HTTP client when creating a Connection. This is important because the various Azure DevOps clients make requests during construction to get the resource area info. This meant that some requests would be made with the default HTTP client even when specifying a custom one for the git client.

@microsoft-github-policy-service agree company="Spacelift"


Separate service config from service install.

Flintrock version: 0.9.0
Python version: 3.6
OS: aws linux / windows

As a user of flintrock, I would like to shave a lot of time off of spinning up new clusters.
To do so, I would like to copy an AMI from a previous flintrock install and reuse that.
Expected: without installing HDFS and Spark again, the new AMI is instantiated, the slaves files are updated, the master IP is updated in the appropriate config files and HDFS/Spark is launched.
Bonus expectation: I would love to tell Flintrock that I've already configured the drives correctly and be able to skip the ephemeral drive allocation step as well.
Actual: Today, I have to turn on the installation of each service to get them configured.  No time savings for using an AMI with the software pre-installed.

Quick thought:
As a shorter path to this, it might be feasible to say that if the service directory exists (as Flintrock would name it) on the instance then Flintrock considers it installed.  E.g., /home/ec2-user/hadoop folder exists means skip the install.  It's up to the AMI owner at that point to be sure that hadoop is correctly installed.  All Flintrock does is move config files and start the services.
The same could be done for drive configuration.  If (assuming we can't just look at df for /media/ephemeral0, /media/ephemeral1) a file exists with a specific name (e.g., FlintrockDrivesInstalledDontBotherDoingItAgain) then skip that as well.

Service installation and configuration are already separated in Flintrock. We leverage this separation when adding new nodes to a cluster, for example, since when that happens all existing nodes need to have their services reconfigured but not reinstalled.
I believe what you're asking for is that installation be idempotent. One easy example of Flintrock implementing a declarative-style method of managing software is ensure_java8().
To accomplish what you're looking for, we'd need to do a few things, some of which you touched on:

Add a new method to FlintrockService, maybe called _is_installed(), which takes the same input as install() and returns a boolean saying whether or not that particular service is installed. That's where we'd capture the logic defining what "installed" means for each service. We'd call _is_installed() somewhere to figure out if we need to do anything. (Maybe this is a good use case for a decorator? I'm not sure.) It may also be better to just add the appropriate logic directly to each install() method.

We need to do something similar for the ephemeral drives. The "proper" way to do it is probably to convert that code into a FlintrockService and follow the _is_installed() pattern, but we can also get away with just updating this code to make the check we want and skip setup when appropriate.
Detecting when a drive is already setup and doesn't need any work is tricky because EC2 behavior in this regard is, to quote myself, "haphazard". Maybe your idea of having a marker file would work, but I'm concerned about adding a lot of clutter to handle this and muddying the logic for formatting ephemeral vs. EBS volumes.

This is a good request, and discussing it reminds me again just how close Flintrock comes to reinventing other tools (like Ansible). 😄 Since Flintrock is strictly limited to Apache Spark and Hadoop, I'm fine with refining how we do things as long as it doesn't add a lot of complexity.
It'll take a bit of work here to implement this in a non-hacky way, but I think it's possible, especially for the main services like Spark and Hadoop.


Deploy from an existing github pages repo

Hi team, I hope to write blogs in my previous personal pages built on my old laptop. I installed hugo on my mac and cloned my github pages repo into the public directory under hugo site folder. But I didn't have post files and couldnot rebuild the website, based on the repo. Will any tool be added by hugo to solve this kind of problems? Thanks.

Please use https://discourse.gohugo.io/ for questions/troubleshooting. Also see  Hugo Documentation.


Circular gridlines

Addition of a feature to show circular grid lines in addition to or as a replacement for the regular perpendicular grid:

Will provide an extended version


pass on environment variables between actions

currently you have to write to disc for this.
asked github about it.

I'm having a bit of a hard time passing on state between different actions in a workflow.
I know the disc persists, but it's really cumbersome to write simple would-be environment variables to disc, and to read them in again in later actions. Just feels weird.
I understand that not sharing just random environment variables and other states between actions is very much the point of github actions, but perhaps there can be some elegant way to export environment variables from one action to the other.
Perhaps with some additional syntax in the main.workflow, where I'd mark whatever env vars I'd like to export from an action to persist for downstream actions? (importing is already a feature, of course).
That'd be nice.
Or maybe I'm just using it wrong, in which case: please enlighten me!
Writing to disc just feels weird.

don't think this is going to happen.

Probably irrelevant forever already, but since I randomly stumbled upon this from Google, I'll leave a trace.
You can use:
echo ::set-env name=ENV_VAR_NAME::"env-var-value"

to set variable that's available from the next step onwards.
src: https://help.github.com/en/articles/development-tools-for-github-actions#set-an-environment-variable-set-env

thanks! This was actually about the old GitHub Actions (based on HCL).


incorrect local reference

Hi @bbdaniels ,
Is there a missing local reference tick on this line?
https://github.com/bbdaniels/sumstats/blob/ebd48c8fc894251cf8ea323ee491e480b38dbc7f/sumstats.ado#L60

No, this is a transpose operator. Thanks though!


datastore null property fix

related #1673
allows null values in arrays and test.

@meltsufin  my bad, it turns out I had to remove an existing test that specifically checks for this situation haha... could you re-approve?


intercept or a variant should thrown unexpected exceptions

When using intercept to check that a block of code throws an exception, it fails gracefully when no exception is thrown at all. But when an unexpected exception is thrown, the error message is not useful at all, since the details of the exception actually thrown and its stack trace are lost.
In my opinion, intercept itself (or a variant of it) should throw any unexpected exception, as any other test usually does when an unexpected exception is produced. This method should only cause a specific failure when no exception is thrown at all.
One such a method could be (note that the error message should be propery internationalized):
def interceptOrThrow[T <: AnyRef](f: => Any)(implicit manifest: Manifest[T]): T = {
    val clazz = manifest.runtimeClass.asInstanceOf[Class[T]]
     try {
      f
      fail(s"An exception of type ${clazz.getName} was expected")
    }
    catch {
      case u: Throwable if clazz.isAssignableFrom(u.getClass) => u.asInstanceOf[T]
    }
  }

If there is interest, I could issue a pull request with a completed version of this method.

Hi Jordi,
The original exception is included as the cause of the thrown TFE. The TFE gives you a stack depth that points to the failing line of code:
scala> intercept[ArrayIndexOutOfBoundsException] { "hi".charAt(-1) }
org.scalatest.exceptions.TestFailedException: Expected exception java.lang.ArrayIndexOutOfBoundsException to be thrown, but java.lang.StringIndexOutOfBoundsException was thrown
at org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:503)
at org.scalatest.Matchers$.newAssertionFailedException(Matchers.scala:7694)
at org.scalatest.Assertions$class.intercept(Assertions.scala:797)
at org.scalatest.Matchers$.intercept(Matchers.scala:7694)
... 43 elided
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.charAt(String.java:686)
at $anonfun$1.apply$mcC$sp(:23)
at $anonfun$1.apply(:23)
at $anonfun$1.apply(:23)
at org.scalatest.Assertions$class.intercept(Assertions.scala:790)
... 44 more
Are you able to look at this cause in the report? If not, please let me know how you are getting a report.
Thanks.
Bill

Hello Bill,
Sorry for not replying earlier, I was out for some weeks.
You are completely right in that I can have the stack trace of the original
exception, and I had missed it completely.
I'd still throw the exception instead of reporting a failed assertion.
After all, any other unexpected exception thrown in any  other test would
behave differently compared to an unexpected exception thrown inside an
intercept. But this is just a minor difference in opinion, and not that
important once I realized the original stack trace is not lost.
Thank you very much for your prompt response!
Jordi Pradel
@agile_jordi

| agilogy
Carrer Zamora 46-48, 4rt 4a
08005 Barcelona
+34 93 354 11 78

2015-09-15 13:36 GMT+02:00 Bill Venners<EMAIL_ADDRESS>
Hi Jordi,
The original exception is included as the cause of the thrown TFE. The TFE
gives you a stack depth that points to the failing line of code:
scala> intercept[ArrayIndexOutOfBoundsException] { "hi".charAt(-1) }
org.scalatest.exceptions.TestFailedException: Expected exception
java.lang.ArrayIndexOutOfBoundsException to be thrown, but
java.lang.StringIndexOutOfBoundsException was thrown
at
org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:503)
at org.scalatest.Matchers$.newAssertionFailedException(Matchers.scala:7694)
at org.scalatest.Assertions$class.intercept(Assertions.scala:797)
at org.scalatest.Matchers$.intercept(Matchers.scala:7694)
... 43 elided
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of
range: -1
at java.lang.String.charAt(String.java:686)
at $anonfun$1.apply$mcC$sp(:23)
at $anonfun$1.apply(:23)
at $anonfun$1.apply(:23)
at org.scalatest.Assertions$class.intercept(Assertions.scala:790)
... 44 more
Are you able to look at this cause in the report? If not, please let me
know how you are getting a report.
Thanks.
Bill
—
Reply to this email directly or view it on GitHub
https://github.com/scalatest/scalatest/issues/702#issuecomment-140360887
.

No worries. Closing.


Statistics about the known and unknown gnu's in the range [1,50000]

The statistics are based on the currently known gnu's in the range [1,50000]
known gnu's    : 48 991
unknown gnu's  :  1 009

group-deficient numbers (gnu(n)<n) : 48 826
group-perfect numbers   (gnu(n)=n) :      1
group-abundant numbers  (gnu(n)>n) :    164

Number of gnu's with given number of digits :
1  33969
2  10932
3   3184
4    746
5    110
6      2
7     44
8      2
9      1
10     0
11     1

Number of unknown gnu's, such that the lower bound lb(n) has the given number of digits :
1     0
2    12
3   151
4   462
5   200
6    31
7    49
8    42
9    15
10    0
11   46
12    1

largest exponent in the prime factorization of the unknown values :
<=2             0
<=3            27
<=4           231
<=5           471
<=6           726
<=7           856

odd unknown values
[ 10935, 11907, 15309, 16875, 18225, 18711, 19683, 21609, 22113, 24057,
  25515, 27783, 28125, 28431, 30375, 32805, 35721, 36015, 37179, 39375,
  40095, 41067, 41553, 42525, 43659, 43923, 45927, 46305, 46875, 47385, 49005
 ]

single even unknown values ( residue class 2 modulo 4)
[ 4374, 7290, 10206, 11250, 12150, 13122, 14406, 16038, 17010, 18750, 18954,
  20250, 21870, 23814, 24010, 24786, 26250, 26730, 27702, 28350, 29282,
  30618, 31250, 31590, 33534, 33614, 33750, 36450, 37422, 39366, 39546,
  39690, 41250, 41310, 42282, 43218, 43750, 44226, 44550, 45198, 46170,
  47142, 48114, 48438, 48750 ]

@gnufinder nice! what do you mean by "largest exponent in the prime factorization of the unknown values" - I'd expect to see there, for, example, 11 for 2048.

For example, 856 of the numbers n in the range [1,50000] , for which gnu(n) is unknown, have no exponent larger than 7 in the prime factorization. I did not complete this table, if you want , I can do it.

Number of unknown values with given maximal exponent in the prime factorization :
1     0
2     0
3    27
4   204
5   240
6   255
7   130
8    57
9    49
10   23
11   12
12    6
13    3
14    2
15    1

@gnufinder this is nice! If you have a GAP function that generates this report, please consider submitting it as a pull request. I suggest to have a file lib/stats.g and a function there called GnuStatistics, which accepts a list, in the same way like GnuWishlist does.
With such report generator, we could publish the overview periodically on wiki at https://github.com/alex-konovalov/gnu/wiki (it has already one page where I've collected some bibliography) - that would be a better place for such table than an issue which should be eventually closed...


Publish to NPM

I want to be able to publish these docs to NPM so I can build out the documentation section on trailsjs/trailsjs.io and have it mirror these docs.

You can simply clone the repo and build the doc right ? Like smokesignals repo do with the tests. Because for now there only this repo but later all trailpacks will embed it's own documentation so deploy this doc on npm will not help for building the doc later. What do you think ?

My goal is to have the docs section on trailsjs.io update itself automatically with the latest documentation from these (and other) markdown files whenever we redeploy the site.  If we at least add package.json to this repo, trailsjs.io can grab updates when we deploy.

Hum I see, that's mean that this repo need to retrieve all markdown from trailpack and build file structure of the doc before publishing on npm.
TravisCI is disabled on this repo. Only @tjwebb can configure it in order to publish the repo on npm.

:) I agree, my next update of docs will be soon.
@jaumard can you check routing concept in my forked repo ?


Is that correct the  effect dependencies are not exhaustive

In the use-swr file, I found some effect dependencies not exhaustive, I want to konw it is correct or not.

If add eslint-plugin-react-hooks, and  add "react-hooks/exhaustive-deps": "warn" in your .eslintrc  It will warn that React Hook useEffect has missing dependencies: 'config. suspense'
the same as below code
const revalidate = useCallback(() => {
  // ...
if (fnArgs !== null) {
            CONCURRENT_PROMISES[key] = fn(...fnArgs)
          } else {
            CONCURRENT_PROMISES[key] = fn(key)
          }
// ...
}, [key]) // the  fn args also not add the dependencies

anybody could make sense for me is that conrrect or not.  thanks a lot

I've created a PR to fix this.

I've created a PR to fix this.

This has been fixed via #886, so we could close this.

This has been fixed via #886, so we could close this.

Close this as the warning has been disabled in latest commits. config.suspense is required to be static during the swr lifecycle.

Close this as the warning has been disabled in latest commits. config.suspense is required to be static during the swr lifecycle.


[BUG] Search doesn't work in DOCS, if version set to 1.4

To Reproduce
Steps to reproduce the behavior:

https://docs.harvesterhci.io/search?q=boot
Select version v1.4

Actual behavior

No results were found

All other versions are working without issue.

Fixed with https://github.com/harvester/harvester/issues/6623


[WIP] Test CI for cross-build

This is a PR to test the CI

@gigiblender is this PR related to why every other PR has suddenly failed the build?

@gigiblender is this PR related to why every other PR has suddenly failed the build?

@Mousius  I am not sure I see a correlation --- Could you please share the build error? I think the Jenkinsfile in this PR should not be picked up by Jenkins yet.

@gigiblender I just noticed that the minimal build appeared in a bunch of PRs and has failed without any Jenkins link - example https://github.com/apache/tvm/pull/13706

thanks @gigiblender! code looks good but since Docker image updates happen only merging the docker/* changes need to be split out into a separate PR that we merge first

Thanks @driazati. I opened #13776 for the docker image update.

Looks like it causes the main branch to fail. Is it expected?

No for some reason Jenkins is ignoring the filter on that job which is supposed to keep it from running on anything but this PR. https://github.com/apache/tvm/pull/13800 should fix it though


android [nfc]: Move some non-notifications-specific code out of notifications/

Toward #5693.
This code is useful for the notifications subsystem, but it's not specialized to it. It's also used in our share-to-Zulip code. We want these functions to behave the same whether or not the build supports notifications, and ideally we don't want to repeat their definitions in different build variants.
So, move them out of notifications/.

Thanks for the review! Revision pushed.

Thanks! Merging.


Update dev branch mrtk version to the next release version.

Now that we've created a 2.5 stabilization branch, we're updating the version associated with the mainline dev branch to the next version (2.6). Note that this change will affect the following release (i.e. not the upcoming, but the one after that).
Doing this early on so that it's one less thing for us to think about in the future.

/azp run


Create Genetic Constraint summary widget and detail view

With the new target ETL pipeline and API response, we can now display the genetic constraint data from gnomAD.
query targetInfo {
  target(ensemblId: "ENSG00000170509") {
    id
    approvedSymbol
    geneticConstraint{
      constraintType
      exp
      obs
      oe
      oeLower
      oeUpper
      score
      upperBin
      upperBin6
      upperRank

    }
  }
}

Sample query for HSD17B13
Please note that if a target does not have Genetic Constraint data, the API responds with an empty array - [] - instead of null.
Can we please create a Genetic Constraint summary widget and detail view?
Summary widget

[ ] Use the target.geneticConstraint array to display up to 3 terms separated by bullets (similar to how we separate out categories in the Gene Ontology, Tractability, and Baseline Expression widgets)

geneticConstraint.constraintType
Label to display

"syn"
"Synonymous"

"mis"
"Missense"

"lof"
"pLoF"

Detail view

[ ] For the section description, please display the following placeholder text:

Pathogenicity metrics for the Ensembl canonical transcript of TARGET-SYMBOL. Source: gnomAD

[ ] Display a table similar to what is available in gnomAD (e.g. HSD17B13)

Category
Expected SNVs
Observed SNVs
Constraint metrics

geneticConstraint.constraintType
geneticConstraint.exp
geneticConstraint.obs
Z = geneticConstraint.score  o/e = geneticConstraint.oe (geneticConstraint.oeLower - geneticConstraintc.oeUpper)

Synonymous
64.285
59
Z = 0.51812  o/e = 0.91779 (0.743 - 1.14)

@d0choa, as a placeholder for the description I have used:

Pathogenicity metrics for the Ensembl canonical transcript of TARGET-SYMBOL. Source: gnomAD

Please feel free to the description.

About the description:

Mutational constraint observed in TARGET-SYMBOL canonical transcript in natural populations. Source: gnomAD

About the Constraint assessment tooltip:

Binned representation of {target.approvedSymbol} rank in the loss-of-function observed/expected upper bound fraction (LOEUF) distribution. Higher scored assessments correspond to strong selection against predicted loss-of-function (pLoF) variation in the particular gene.

@mirandaio, the widget looks great! 👍
After discussing with @d0choa, can we please make the following adjustment?

Rename the "TARGET-SYMBOL constraint report" to the number of blue circles and a mapped term — see table below. The hyperlink address can remain, linking users to the gnomAD website

Number of blue circles
Display label

5
5/5 - very high constraint

4
4/5 - high constraint

3
3/5 - medium constraint

2
2/5 - low constraint

1
1/5 - very low constraint

0
0/5 - very low constraint


Long operations seem to timeout - e.g get-alerts.py when there are a lot of alerts

Could we have a timeout parameter, as it appears to affect quite a lot of operations when we have a substantial oneview estate.

Have run the same script again and sometimes it works. Is there any sort of timeout in the connection code when waiting for a response from oneview?

There is a timeout for some longer operations. Exactly, what calls is the script making and where/how is it failing?


Added support for MacOS HighSierra

Changed XPC Id's that are being sent to CoreBluetooth on MacOS HighSierra
Tested everything besides:

discoverIncludedServices
broadcast
writeValue (on descriptor)
readHandle
writeHandle

Additionaly it looks like after registering on notifications, we're CoreBluetooth is sending the same ID as after requesting for characteristic value (single value, not continuous notifications). This may lead to some problems with notification registration on some characteristics.
Fixes #679 and #680

any ETL on this please?

Works for me, although running with DEBUG=* prints messages from yosemite-bindings instead of highsierra-bindings - this line needs changing.

Thanks @achingbrain - I've changed these debug messages accordingly to your suggestion

Okay testing this branch!

Can also verify that this works 👍

Seems to be working good enough, as good enough, still loosing samples and we hope a switch to core Bluetooth could help!

Can confirm that this is working. However like @aj-ptw mentioned above it appears to be losing a lot of samples. My latency has gone from an average of 30 ms per update to 150 ms.

I've gone some hours to put towards using core bluetooth as the underlying lib, is there any work on that yet?

Any idea when will this get merged?

This is working for me too, but it's a bit laggy. On simple scripts, it works ok with some minor lag, but with a UI, you can definitely feel it.

This works for me on macOS High Sierra

I runned peripheral-explorer.js, and I obtained an error on line 376 of highsierra.js:
TypeError: Cannot read property 'uuid' of undefined

The line is the following:
var serviceUuid = this._peripherals[deviceUuid].services[serviceStartHandle].uuid;

I debugged a bit, and serviceStartHandle is undefined, because the args passed to that callback don't contain a kCBMsgArgServiceStartHandle
Args:
{ kCBMsgArgDescriptors:
   [ { kCBMsgArgUUID: <Buffer 29 02>, kCBMsgArgDescriptorHandle: 15 } ],
  kCBMsgArgCharacteristicHandle: 13,
  kCBMsgArgDeviceUUID: <Buffer 6e dd ... 27 e9> }

Am I doing something wrong?

Works for me on 2017 MacBook pro running high sierra version 10.13.1. Thanks!

Works on iMac 2015, using 10.13. Also checks out with my MacBook Pro 2017 running 10.13. Could we please merge this?

Works for me on MacBook Pro (mid 2014) running macOS version 10.13.1.
Thanks for your work !

I'm testing this PR on macOS 10.13, I'am able to discover my device (nRF52832) and from the logs I can see that the library sends the event 45 and 46 then receives 48 but it doesn't receive 49 to change the state of the device to connected. No other events are being logged.
When using gatttool on Debian I'm able to connect to the device without any errors.
I've been looking for a dictionary to get more details about all the possible events but I couldn't find any, could you please point me somewhere to get this data?

I spent many hours trying to get the library to connect to a device on macOS 10.13 using node 8.2.1/7.10.2/4.1.2 but I couldn't find any way. The peripheral object gets blocked in connecting state (no other xpc events are being emitted after that). Also, the default bluetooth device from my computer is broken (it's not recognised) so I'm using a bluetooth dongle (Asus BT400)

I'm testing this PR on 10.13.1 High Sierra.
I run peripheral-explorer.js, and I obtained an error on: core-bluetooth/lib/peripheral-manager.js:41
Log is the following:
$.CBPeripheralManager.getInstanceMethod('xpcConnection:didReceiveMsg:args:').exchangeImplementations($.CBPeripheralManager.getInstanceMethod('xpcConnection:didReceiveMsg:argsSwizzled:'));

TypeError: Cannot read property 'exchangeImplementations' of null
    at Object.<anonymous> (/Users/aromajoin-mac/AromajoinProjects/controller-sdk-nodejs/node_modules/core-bluetooth/lib/peripheral-manager.js:41:77)
    at Module._compile (module.js:635:30)

What am I doing wrong?

Bit of a noob.  But, how do I apply this specific branch.  I installed the more-test branch, but i am getting yosemite-bindings.  do I just modify the bindings.js and add the highsierra.js file.  I appreciate the help and insight.  I am trying to add the bluetooth module for the ceiling fan on 10.13.2 instead of Linux.  Thanks!

@Guzmandius npm install git+https://github.com/PolideaInternal/noble.git#macos_highsierra

when can we expect this to be merged into noble ?


Timezone selection in Maintenance schedule is ignored - we are all living in Africa/Abidjan   now

Changing the Timezone of the maintenance schedule of a cluster in the gardener webUI  has  no effect.
Lifecycle
Hibernation
Waking up Cluster...
Maintenance
Start time: 01:00 Africa/Abidjan
Maybe also it would be meaningful to clarify how the maintenance happens when the cluster is hibernating?!?
Or if that is not working maybe the UI should try to limit the maintenance schedule to the wake times?

I'm moving this to the gardener/dashboard repository as it seems to be a bug in the Dashboard only, not in the Gardener itself (API), please correct me if I'm wrong.


*^ memory/vector._refs host pointer

fixing seg-faults seen under WSL2 docker runs by @radonnachie

of course, happy to discuss/adjust...
Any strong reason to have a single U64 reside on the GPU, especially when it's just a counter and not an obvious bottleneck?
Not sure why it failed for me, but I think it's quite reasonable to keep the _refs on the host.
Only thing I thought you'd prefer is a static_cast<U64*> instead of the new, but maybe you agree it's more inline with C++ standards this way.

ah, I had bumped the wrong thing in the wrong place... please squash commits 👍

The runner appears to be down. Investigating...

Thanks for this! Had a problem with the CI but I patched it.


Invalid name for CAF naming azurerm_key_vault vmsecrets, the pattern ^[a-zA-Z][a-zA-Z0-9-]{1,22}[a-zA-Z0-9]$ doesn't match 5-kv-vmsecrets

Error when setting the prefix value to "5"

Can you attach the code to reproduce?

Keyvault cannot start with a numeric value and doesn't accept 5 as a prefix
Vault name must only contain alphanumeric characters and dashes and cannot start with a number.
Vault name must be between 3-24 alphanumeric characters. The name must begin with a letter, end with a letter or digit, and not contain consecutive hyphens

Re-opening for discussion.
The prefix is not valid and the error message is expected. Two option :

leave the error message as this is expected
prevent prefix starting with a number

Open to discussion @LaurentLesle, @Nepomuceno,

Closing as expired.


Wildcard imports trip up module discovery? not a known attribute of module

Type: Bug
Hello Pylance crew! I know "Wildcard imports ... should be avoided" but we use them in some selected places for constants and common stuff.
Found
I'm experiencing some problems finding explicitly imported modules and their functions using wildcard imports.

So, I'm basically:

importing a module.submodule1
do a wildcard import (from a file also importing module.submodule2)
try to use module.submodule1
Pylance(reportAttributeAccessIssue)"submodule1" is not a known attribute of module "module"

cannot goto definition in submodule1
cannot goto definition of submodule1

(is that a separate issue?)

goto submodule function definition and hover popup works right away as soon as the wildcard import is commented out or import module.submodule2 is removed from the wildcard imported file, or when I explicitly define __all__.
Expected
The module should be found as it is in the live code or when stepping through with the debugger (Or when the * import is commented out), (Or when __all__ is set up in the wildcard imported module)
Or there should be some information on the Pylance error on WHY this is the case like "wildcard imports make it impossible to guess how members of module are mangled. Use __all__ declaration."? 🤷♀
Repro
I was able to cook it down to this setup:

__init__.py - root script importing mylib.a and * from my_common_stuffs
my_common_stuffs.py - importing mylib.b
mylib

__init__.py - can be empty
a.py - defining some function
b.py - can be empty

Where the code in my_common_stuffs.py is as simple as:
import mylib.b
BLA = '123'

and in the root file it's like:
import mylib.a

from my_common_stuffs import *

mylib.a.do_something(BLA)

Extra
So while cooking the report I found that I should probably make use of __all__ :)
But still it seems broken with this simple setup especially as it's actually running fine at runtime and debug!
Info
Extension version: 2024.9.100 (pre-release)
VS Code version: Code 1.93.1 (38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40, 2024-09-11T17:20:05.685Z)
OS version: Windows_NT x64 10.0.19045
Python Debugger: 2024.11.2024082901 (pre-release)
Modes:

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
vscaat:30438848
c4g48928:30535728
azure-dev_surveyonecf:30548226
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonnoceb:30805159
asynctok:30898717
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
724cj586:31013169
a69g1124:31058053
dvdeprecation:31068756
dwnewjupytercf:31046870
newcmakeconfigv2:31071590
impr_priority:31102340
refactort:31108082
pythonrstrctxt:31112756
flightc:31134773
wkspc-onlycs-t:31132770
wkspc-ranged-t:31125599
autoexpandse:31133494
ei213698:31121563
iacca1:31138162

Same here. Moreover this happens with wildcard imports in libraries (I can't do anything about that), for example:

where django.contrib.gis.forms contains:
from django.forms import *  # NOQA
...

Thanks for reporting this issue, I can repro it as well.

so, the bug is from my_common_stuffs import * removing a from myLib for the file when my_common_stuffs contains import myLib.xx without __all__.
and that is different than from django.forms import *  # NOQA not exporting CharField
that's because pyi for geoforms doesn't have from django.forms import *.  for that one, we either need to update django-stubs (if it is public api), or you could delete our bundled django-stubs from ...\.vscode\extensions\ms-python.vscode-pylance-2024.9.101\dist\bundled\stubs\django-stubs