Liger Kernel Integration

Liger (Linkedin GPU Efficient Runtime) Kernel is a collection of Triton kernels designed specifically for LLM training. It can effectively increase multi-GPU training throughput by 20% and reduces memory usage by 60%. We have implemented Hugging Face Compatible RMSNorm, RoPE, SwiGLU, CrossEntropy, FusedLinearCrossEntropy, and more to come. The kernel works out of the box with Flash Attention, PyTorch FSDP, and Microsoft DeepSpeed. We welcome contributions from the community to gather the best kernels for LLM training.
We are excited to integrate with litgpt and ask for volunteers here!
Related issue: https://github.com/linkedin/Liger-Kernel/issues/139

I quickly replaced 2 lines for RMSNorm in config.py for toy example of lora finetuning and even on a single RTX 4090 I see a speedup, so it's definitely worth exploring. The problem I see is that litgpt does not directly use transformers and has own blocks for loading weight, which may require more work than a simple monkey patch... but better authors provide their feedback on this.
Lines I replaced:
from litgpt.model import RMSNorm
return partial(RMSNorm, add_unit_offset="Gemma" in self.name)

with
from liger_kernel.transformers.rms_norm import LigerRMSNorm
return partial(LigerRMSNorm)

Great! We do want to add a litgpt/ interface under our repo https://github.com/linkedin/Liger-Kernel/tree/main/src/liger_kernel given the popularity of litgpt.

@ByronHsu I did some investigation and seems some of liger kernels are already being integrated through Lightning Thunder, see [https://github.com/Lightning-AI/lightning-thunder/pull/1105] (url). Similarly for RoPE. What concerns RMSNorm, there have to be refactoring done in litgpt, otherwise it throws errors due to current code design in case of monkey patching. So, I would rather expect Thunder to be more intergrated / aligned with Liger Kernel

Looking forward to the integration!

Thanks for raising that! I just spoke to some of my colleagues, and we will offer the integration through Thunder (as @merryHunter  mentioned); so in that case, LitGPT doesn't need to be updated directly. I am closing it now here since it's being addressed over in Thunder, but I appreciate the note, and I am looking forward to the integration!


use armv6s-m instead of armv6-m

This allows use of the SVC instruction and matches what rustc gets from LLVM with thumbv6m.
From the GCC manual

-march=armv6s-m is the ‘armv6-m’ architecture with support for the (now mandatory) SVC instruction.

I have also added a commit to specify the minimum FPU for the thumbv7em hard float target.

cc @japaric, look good to you?

:+1: LGTM


The app is laggy (constant low frame rate) dosen't happends with file v2

Description
The app is bellow 30fps and feels laggy (i have 165hz monitor i feel it). V2 didn't have this issue. I'm in windows canary and i have the same issue on all NON SYYSTEM APPS (settings, paint, notepa, ms store not affected) apps that have the new fluent ui like power toys, in the new home section of the file explorer, in phone link apps, in firecube fluent app if you know what is it. Maybe this is due yo the type of app ? (uwp vs win32 idk because files v2 didn't have this issue) and this is maybe a windows bug because sometimes after an update or a restart this bug sometimes diseapear for a little time until next restart or i dont know. (din't test with files but worked with ones i mentioned to have same issue earlier)
Steps To Reproduce

use file v3
see that it is laggy (low fps)

Requirements

everytime everywhere

Files Version
<IP_ADDRESS>
Windows Version
25987.1000
Log File
debug.log

Thanks for the report. Files wasn't a UWP on v2 either. Since you are having this issue with many other programs it likely due to a bug in Windows canary and/or WinUI and not something Files can fix.

Thanks but have you changed anything under the hood because this issue affects all affected apps at the same time and before v3, v2 didn't have this issue but the app mentioned had it. after the update it has the issue

Thank you for the feedback, the only change that I can think of was updating the WinAppSdk dependency. Can you report this on the WinUI repo so that they are aware of the issue?


mypy errors in generated types

Running mypy  1.11.2 on https://github.com/KrisThielemans/PRDdefinition/commit/2cf9e5c5d4ef2e90ff396484e628aadbc7f473c8 gives
prd/yardl_types.py:273: error: No overload variant of "zip" matches argument types "void", "void"  [call-overload]
prd/yardl_types.py:273: note: Possible overload variants:
prd/yardl_types.py:273: note:     def [_T_co] zip(*, strict: bool = ...) -> zip[Any]
prd/yardl_types.py:273: note:     def [_T_co, _T1] zip(Iterable[_T1], /, *, strict: bool = ...) -> zip[tuple[_T1]]
prd/yardl_types.py:273: note:     def [_T_co, _T1, _T2] zip(Iterable[_T1], Iterable[_T2], /, *, strict: bool = ...) -> zip[tuple[_T1, _T2]]
prd/yardl_types.py:273: note:     def [_T_co, _T1, _T2, _T3] zip(Iterable[_T1], Iterable[_T2], Iterable[_T3], /, *, strict: bool = ...) -> zip[tuple[_T1, _T2, _T3]]
prd/yardl_types.py:273: note:     def [_T_co, _T1, _T2, _T3, _T4] zip(Iterable[_T1], Iterable[_T2], Iterable[_T3], Iterable[_T4], /, *, strict: bool = ...) -> zip[tuple[_T1, _T2, _T3, _T4]]
prd/yardl_types.py:273: note:     def [_T_co, _T1, _T2, _T3, _T4, _T5] zip(Iterable[_T1], Iterable[_T2], Iterable[_T3], Iterable[_T4], Iterable[_T5], /, *, strict: bool = ...) -> zip[tuple[_T1, _T2, _T3, _T4, _T5]]
prd/yardl_types.py:273: note:     def [_T_co] zip(Iterable[Any], Iterable[Any], Iterable[Any], Iterable[Any], Iterable[Any], Iterable[Any], /, *iterables: Iterable[Any], strict: bool = ...) -> zip[tuple[Any, ...]]
prd/yardl_types.py:302: error: "object" has no attribute "value"  [attr-defined]
prd/_ndjson.py:52: error: Incompatible types in assignment (expression has type "TextIO", variable has type "TextIOWrapper")  [assignment]
prd/_ndjson.py:90: error: Incompatible types in assignment (expression has type "BufferedReader | TextIO", variable has type "TextIOWrapper")  [assignment]
prd/_ndjson.py:1002: error: Incompatible types in assignment (expression has type "None", variable has type "tuple[int, ...]")  [assignment]
prd/_ndjson.py:1033: error: Need type annotation for "result"  [var-annotated]
prd/_binary.py:1100: error: Incompatible types in assignment (expression has type "None", variable has type "tuple[int, ...]")  [assignment]
prd/_binary.py:1107: error: "Never" has no attribute "element_serializer"  [attr-defined]
prd/types.py:261: error: Variable "prd.types.ReplicatedObject.object" is not valid as a type  [valid-type]
prd/types.py:261: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases
prd/types.py:264: error: object? has no attribute "object"  [attr-defined]
prd/types.py:265: error: object? has no attribute "transforms"  [attr-defined]
prd/types.py:266: error: object? has no attribute "ids"  [attr-defined]
prd/types.py:882: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
prd/ndjson.py:346: error: Need type annotation for "_non_detecting_elements_converter"  [var-annotated]
prd/ndjson.py:396: error: Need type annotation for "_non_detecting_volumes_converter"  [var-annotated]
prd/ndjson.py:832: error: Need type annotation for "_coincidence_policy_converter"  [var-annotated]
prd_generator.py:30: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:31: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:32: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:33: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:34: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:35: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:36: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_generator.py:37: error: Argument "c" to "Coordinate" has incompatible type "tuple[int, int, int]"; expected "list[float] | None"  [arg-type]
prd_plot_scanner.py:34: error: Argument "c" to "Coordinate" has incompatible type "ndarray[Any, dtype[floating[_32Bit]]]"; expected "list[float] | None"  [arg-type]

The last ones might be my fault (although the code does work).

As discussed in this earlier issue, we run Pyright instead of mypy on yardl. Have you tried Pyright?

oops. sorry.


Fix issues causing us to use envoy-centos binaries

Fixes https://github.com/istio/istio/issues/31038

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-multicluster-k8s-tests_istio
608267c92bb3bd18dc3eb8ac4cf00aa878f60e59
link
/test integ-multicluster-k8s-tests_istio

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

/retest

In response to a cherrypick label: new pull request created: #31043

In response to a cherrypick label: new pull request created: #31044


VScode testing tree doesn't list additional sections

I don't see this documented anywhere, so I'm not sure if it is intended to work.
Give a tox.ini in a directory, the testing tree will show specific entries in the ini but not everything environment available (e.f. tox -l)

Additionally, when the specific entry is used, the command line generated is not correct.
For instance, using the p27 entry the following command is run in the terminal:
tox -e py27 /home/bthornto/github/tox_bug

Can the test tree be generated by a tox -l command ?
Can the command line run simply be tox -e <envname>?
Being able to run any tox environment from the test tree would be incredibly powerful and useful.
Thanks!
Brad (cidrblock)

(venv) m910x ➜  tox_bug tox -l
py27
py36

sample output from tox -l for the above

With a little more "complex" envlist like
[tox]
envlist = {py38,py39,py310}-{lint,test,doc,requirements}

, the testing tree is completely empty, although tox -l lists them correctly:
py38-lint
py38-test
py38-doc
py38-requirements
py39-lint
py39-test
py39-doc
py39-requirements
py310-lint
py310-test
py310-doc
py310-requirements

@The-Compiler Any chance you could avoid parsing the tox.ini file yourself and use tox "api" (tox -la) to gather the list of available environments? The way expansion works makes it close to impossible to re-implement by anyone else than tox itself, as plugins can add their own contributions.

Any chance you could avoid parsing the tox.ini file yourself

That's what we already do in general

https://github.com/The-Compiler/vscode-python-tox/blob/34b8f0d139110f46c00d553d61c3ce866b60120d/src/testController.ts#L111-L120
Here, an own parsing happens?! And this does explicitly
https://github.com/The-Compiler/vscode-python-tox/blob/34b8f0d139110f46c00d553d61c3ce866b60120d/src/testController.ts#L131

I'd suggest to use the newer tox list command (with --no-desc) here. -a and -l are legacy. tox list --no-desc -d would be the replacement for -l

As long as it still works in tox 4, I'll continue to use -a. Everything else would just drop support for tox 4 with no benefits, while tox 3 still is rather widespread (currently still e.g. the default even on Archlinux, and certainly on things like Debian/Ubuntu too).

Don't know if it works on tox 4, I am on Ubuntu 22.04 with tox 3.21.4 and the new variants work.

You're not running tox 3 then, because this quite simply didn't exist with tox 3:
$ tox --version
3.26.0 imported from /usr/lib/python3.10/site-packages/tox/__init__.py

$ tox list --no-desc
usage: tox [--version] [-h] [--help-ini] [-v] [-q] [--showconfig] [-l] [-a] [-c CONFIGFILE] [-e envlist] [--devenv ENVDIR] [--notest] [--sdistonly] [--skip-pkg-install] [-p [VAL]] [-o]
           [--parallel--safe-build] [--installpkg PATH] [--develop] [-i URL] [--pre] [-r] [--result-json PATH] [--discover PATH [PATH ...]] [--hashseed SEED] [--force-dep REQ]
           [--sitepackages] [--alwayscopy] [--no-provision [REQUIRES_JSON]] [-s [val]] [--workdir PATH]
           [args ...]
tox: error: unrecognized arguments: --no-desc

$ tox list
GLOB sdist-make: ...
python inst-nodeps: ...
python installed: ...
python run-test-pre: ...
python run-test: commands[0] | pytest

As I  wrote, no venv active:
$ tox list --no-desc
py38-lint
py38-test
py38-doc
py38-requirements
py39-lint
py39-test
py39-doc
py39-requirements
py310-lint
py310-test
py310-doc
py310-requirements
$ tox --version
3.21.4 imported from /usr/lib/python3/dist-packages/tox/__init__.py
$ apt-cache madison tox
       tox | 3.21.4-1ubuntu1 | http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

But indeed, while trying to solve the issue, I stumple upon a strange behavior of the plugin within VSCode (need to investigate deeper): some calls seem to work fine and some calls seem to use another, old version of tox (error messages listing the help similiar to yours).

Ok, forget about what I just wrote:
There exists a .tox/.tox/lib/python3.10/site-packages/tox/ which looks like of version 4.4.11.

Agreed that toxTaskProvider.ts should probably reuse getToxEnvs. There were a lot of contributions to this extension in parallel, in a relatively short amount of time - while I tried my best to refactor and clean up things afterwards, I might have missed that one.
But again, "getting all test environments" and "getting the test environment corresponding to a given header line in a tox.ini" are two different beasts. From what I understand, the aim of the testing integration was the latter.
It's unclear to me whether VS Code allows creating a test item without specifying a range where in the file it is. If that's possible, then we could use tox -a in addition to the manual parsing to add "dummy" items for all tox environments we can't clearly associate with a place in the tox.ini. If that's not possible, I feel like this is a wontfix, and the task/command interface should just be used for cases like this instead.

I totally got that. Testing integration from #11 did exclude the handling of  "tox permutations for now" (see the comment in testController.ts:133) and this would be exactly the point to attack: retrieve lines of the environments definitions from tox -a. For the first shot, I would try to add them to line 0 if I can't find them directly with the regex as is (then they are at least listed in the tree overview hopefully). Second would be a correct resolution of the permutations of course.
This way we can ensure that it doesn't find testenv:s that tox would refuse to run (which relates for me also to the security note in run about injecting malicious commands, doesn't it?).

Ah, you mean starting from tox -a and then basically searching for [envname] in the file instead to find the line for it? That does seem like a great approach actually. Seems like an improvement over the status quo even without handling permutations, I suppose.
If adding them to line 0 if not found works, sure, that seems fine. I'm just not sure what VS Code does in situations like that.
As for the security note, I don't think it affects much. All of the justifications there still hold from what I can see. I'm assuming you mean the last one there, but the intention there was more to say "it's unlikely that this would break things (rather than be a security issue) in normal day to day usage".

I also do not see it very critical, yet it is one stage more, the tox-internal parsing, in between, and not just the envName found via the regex that may be run through the testController. Short: if tox can't parse it, it also won't run it and vice versa: if it can parse it, it may be safe to also run it.

I may need some time but I think I will come up with a suggestion soon.

But indeed, while trying to solve the issue, I stumbled upon a strange behavior of the plugin within VSCode: some calls seem to work fine and some calls seem to use another version of tox.

When your system tox is v3, yet your tox.ini wants i.e. minversion=v4.0 (and installs one, i.e. 4.4.x to .tox), it gets problematic as some parts of the plugin (can) just use the system version but others like the test calls in the project need to run/automatically run with the version present in .tox. Seems that I need to somehow add a check for the minversion in tox.ini

But indeed, while trying to solve the issue, I stumbled upon a strange behavior of the plugin within VSCode: some calls seem to work fine and some calls seem to use another version of tox.

When your system tox is v3, yet your tox.ini wants i.e. minversion=v4.0 (and installs one, i.e. 4.4.x to .tox), it gets problematic as some parts of the plugin (can) just use the system version but others like the test calls in the project need to run/automatically run with the version present in .tox. Seems that I need to somehow add a check for the minversion in tox.ini

That seems like an odd approach to me - as mentioned, even the system-wide tox can be either v3 or v4.
I'd really encourage you to try and keep compatibilty with both versions rather than introducing this much additional complexity which is almost bound to break in some way.

Especially, running environments from/on a specific folder, with v3 tox -e <env> <path>, does not work for v4 and needs to be tox run -e <env> --root <path>. tox -e <env> --root <path> works for v4 but not for v3, so at least for adding the path, a switch is needed.

Those do wildly different things. The former simply passes the path as {posargs} to the underlying command.
It's unclear to me what you're aiming at with the latter, or why it's needed - can you elaborate? There is --workdir that works with both, or you could use the cwd option of exec presumably. But I don't follow at all how any of this is connected to a fix for this issue.

That seems like an odd approach to me - as mentioned, even the system-wide tox can be either v3 or v4.

An odd approach from tox to just silently install its own updated version? Agree. The minversion is not under my control.

I'd really encourage you to try and keep compatibility with both versions

Definitively, yet this is what introduces this problem. I need to be able to get the environments from both tox versions (in parallel) as the plugin generates the (inital) list with the system version (that works with tox -l for both still), for the test tree it may already use the one from project's .tox, and the test runs then definitively use the one from .tox (if present).

It's unclear to me what you're aiming at with the latter, or why it's needed - can you elaborate?

The code of the plugin right now contains some calls like v3 tox -e <env> <path>, yet due to tox potentially installing a v4 where this does not work anymore, it needs the compatibility with both versions, so either a call that works for both, or a switch.
--workdir is not working (in terms of giving the path as in the v3 call above), cmp tox v4 help:
 --workdir dir               tox working directory (if not specified will be the folder of the config file) (default:<path>/.tox -> from env var TOX_WORK_DIR)

Running the tox tests is not done with exec but with sending a command to terminal (either with vscode.Terminal.sendText() or vscode.ShellExecution.
I will try to clean up my stuff, then you may see from the code.

That seems like an odd approach to me - as mentioned, even the system-wide tox can be either v3 or v4.

An odd approach from tox to just silently install its own updated version? Agree. The minversion is not under my control.

No, anything involving parsing minversion from the extension. A discussion about whether that behavior from tox makes sense or not seems vastly off-topic here.

I'd really encourage you to try and keep compatibility with both versions

Definitively, yet this is what introduces this problem. I need to be able to get the environments from both tox versions (in parallel) as the plugin generates the (inital) list with the system version (that works with tox -l for both still), for the test tree it may already use the one from project's .tox, and the test runs then definitively use the one from .tox (if present).

In what scenario would the two differ, and in which scenario would the system-wide one get the environment list? I tried both tox -a and tox -l with a system-wide tox 3 and minversion = 4, and they did provision tox 4 in .tox before printing the list.

It's unclear to me what you're aiming at with the latter, or why it's needed - can you elaborate?

The code of the plugin right now contains some calls like v3 tox -e <env> <path>, yet due to tox potentially installing a v4 where this does not work anymore, it needs the compatibility with both versions, so either a call that works for both, or a switch.

It never worked. It's a bug in the extension caused by a bad merge, see #31. It does not do what you think it does with tox 3.

--workdir is not working (in terms of giving the path as in the v3 call above), cmp tox v4 help:
 --workdir dir               tox working directory (if not specified will be the folder of the config file) (default:<path>/.tox -> from env var TOX_WORK_DIR)

My bad. My tox 4.4.12 only says "tox working directory (if not specified will be the folder of the config file) (default: None)" which then seems both confusing and wrong.
There is also -c which we might be able to use, though not sure what that will do to relative paths in the tox.ini.

Running the tox tests is not done with exec but with sending a command to terminal (either with vscode.Terminal.sendText() or vscode.ShellExecution.

Same idea then, the vscode.createTerminal function has a shellPath argument which we already use:
https://github.com/The-Compiler/vscode-python-tox/blob/34b8f0d139110f46c00d553d61c3ce866b60120d/src/utils.ts#L35
Though I don't know your code in detail, so...

I will try to clean up my stuff, then you may see from the code.

...I'[l indeed wait for that until I say more. For what it's worth, I'd really appreciate having a simple but working version in first (less code -> much easier to review), and then we can take it from there. It seems like it'd be an improvement over the status quo either way.

Well, here it is. Last commit is just the state that "works for me" and potentially work with bot v3 and v4 tox. As basis for discussions.

No, anything involving parsing minversion

I'd also like to circumvent that. Discussing any "oddness" is just relevant as long we have to deal with that. Truly odd is that tox does not give a hint when calling --version (which made me believe that I am on v3 all the time, resulting in this elongated discussion now hidden :smile: ).

In what scenario would the two differ, and in which scenario would the system-wide one get the environment list?

I do not remember how/when I had that impression, yet this made me dig deeper. Otherwise just using v4 commands would have worked. But maybe it just was a strange constellation. Try to cover that in a test setup.

It never worked.

Ok. Then it truly misled me. If default is none for --workdir (which I used now but giving the path to .tox); I need to investigate where TOX_WORK_DIR was set in my setup.

Ah, well, first simple test showed that this is not the final solution :disappointed:


js_try(J) isn't C++-safe: fails in the C++ compiler: no matching function for call to 'setjmp'

This testcase:
#include <mujs.h>

void x() {
  js_State *J = js_newstate(0, 0, JS_STRICT);
  if (js_try(J)) {
  }
  js_endtry(J);
}

fails to compile on FreeBSD:
test.c:6:7: error: no matching function for call to 'setjmp'
  if (js_try(J)) {
      ^~~~~~~~~
/usr/local/include/mujs.h:65:2: note: expanded from macro 'js_try'
        setjmp(js_savetry(J))
        ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/setjmp.h:40:21: note: expanded from macro 'setjmp'
#define setjmp(env) setjmp(env)
                    ^~~~~~
/usr/include/setjmp.h:57:5: note: candidate function not viable: cannot convert argument of incomplete type 'void *' to 'struct _jmp_buf *' for 1st argument
int     setjmp(jmp_buf) __returns_twice;
        ^

The rest seems to be C++-safe, but js_try is not.

It works for me on Linux in both GCC and clang. Which compiler version are you using?

$ c++ --version
FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 8.0.0)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin

MuJS is a C project. There are many other things that don't work if you try to compile it as C++.

You can use the js_try() macro on C++ if you pass the -fpermissive flag to the C++ compiler. Unfortunately the typedef and C language voodoo for setjmp make it very difficult to return a jmp_buf with portable code that also builds as C++. If you can think of a way, I'm all ears.


'Catch Up with Zulip' keeps appearing in different tabs even if I give the response once.

When I open chat.zulip.org, the popup will ask me to enter the response for I have missed some messages(the conversations). Now, again after I open another tab, I will get the same popup again.

This is the bankrupcty prompt for when you're more than 500 messages behind?
I think this is sorta a duplicate of #3347, which is that the popup is probably more annoying than it should be.

(I'm going to close this as duplicate; correct me if you disagree @avisrivastava254084!)


1.1.0 Updates

PR checklist
This PR contains the following updates for v1.1.0 of the pipeline:

Input to IsoQuant is split on chromosome to allow for faster processing
IsoQuant version has been upgraded
The Read Counts table can now use NanoStats
Fixes to the BLAZE custom config section in README
Fixes to metro for 'Post Extract QC' and 'Post Trim QC' nodes

@atrull314 : this is good to go.


pip install not working

When i am trying to install via the provided pip command everything seems fine, but when i execute
HiveMind-cli --help
i get this error. Am i missing something?
Traceback (most recent call last):   File "/home/mschotte/.local/bin/HiveMind-cli", line 5, in <module>     from cli_satellite.__main__ import main   File "/home/mschotte/.local/lib/python3.8/site-packages/cli_satellite/__init__.py", line 2, in <module>     from jarbas_utils.log import LOG ModuleNotFoundError: No module named 'jarbas_utils'

also, if you build from the source the name argument is missing which then crashes the cli as well.

also, if you build from the source the --name argument is missing which then crashes the cli as well.

nvm i was being stoooopid. i used ws:\ instead of ws://
Also, need to ensure that the hivemind dire under you XDG CONFIG (likely ~/.config) is present or else it will give you an error about not being able to find a .asc file


Random move generator

Implement a function like this which will work for any board.
template <Board B, Move m>
static Move random_move(Board& B);

Implemented


BUG: Vault share import not possible due to incorrect naming

Describe the bug
It is not possible to import a Vault share that got backed up twice. If you create two backups, first one will be "backup.bak" and second one will be "backup.bak (2)" .. this renders it impossible to import until the user manually changes the name.
To Reproduce
Steps to reproduce the behavior:

Do a backup
Do a second backup
See error

Expected behavior
Have the backup created that is called "backup(2).bak" instead
-v17

@yvebe should that fix already be in version v18?


Language Overview

This is an overview issue, which examines the language coverage of MTEB. It is intended to simply be a link to other issues.

[x] #365

Regions:

[x] #361
[ ] #367
[ ] #368

This overview issue was intended for MMTEB, I believe we can close it for now.


Wrong type of string output port

In the following example
module top(output string o);
   initial begin
      o = "abcd";
   end
endmodule

the type of output port is logic net.
Here is uhdm:
slpp_all/surelog.uhdm: Restored design Pre-Elab:
design: (work@top)
|vpiName:work@top
|uhdmallModules:
\_module: work@top (work@top) string.sv:1:1: , endln:5:10, parent:work@top
  |vpiDefName:work@top
  |vpiFullName:work@top
  |vpiPort:
  \_port: (o), line:1:26, parent:work@top
    |vpiName:o
    |vpiDirection:2
    |vpiLowConn:
    \_ref_obj:
      |vpiActual:
      \_logic_net: (work@top.o), line:1:26, parent:work@top
        |vpiName:o
<EMAIL_ADDRESS>  |vpiProcess:
  \_initial: , parent:work@top
    |vpiStmt:
    \_begin: (work@top), line:2:12, endln:4:7
      |vpiFullName:work@top
      |vpiStmt:
      \_assignment: , line:3:7, endln:3:17, parent:work@top
        |vpiOpType:82
        |vpiBlocking:1
        |vpiRhs:
        \_constant: , line:3:11, endln:3:17
          |vpiConstType:6
          |vpiDecompile:abcd
          |vpiSize:4
          |STRING:abcd
        |vpiLhs:
        \_ref_obj: (work@top.o), line:3:7, endln:3:8, parent:work@top
          |vpiName:o
<EMAIL_ADDRESS>          |vpiActual:
          \_logic_net: (work@top.o), line:1:26, endln:1:27, parent:work@top
            |vpiName:o
<EMAIL_ADDRESS>  |vpiNet:
  \_logic_net: (work@top.o), line:1:26, parent:work@top
|uhdmtopModules:
\_module: work@top (work@top) string.sv:1:1: , endln:5:10
  |vpiDefName:work@top
  |vpiName:work@top
  |vpiPort:
  \_port: (o), line:1:26, endln:1:27, parent:work@top
    |vpiName:o
    |vpiDirection:2
    |vpiLowConn:
    \_ref_obj<EMAIL_ADDRESS>      |vpiName:o
<EMAIL_ADDRESS>      |vpiActual:
      \_logic_net: (work@top.o), line:1:26, endln:1:27, parent:work@top
        |vpiName:o
<EMAIL_ADDRESS>  |vpiNet:
  \_logic_net: (work@top.o), line:1:26, endln:1:27, parent:work@top

Fixed by #2466


Closes #17504. Fix upsert

Fix upsert when $updateColumns = true but there is no columns to update in the tale.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
#17504

Thank you!


Ability to search backups by destination

Is there a way to search backups at a given location? We are currently creating snapshots and backing them up to S3 using a cron job. The script that cron runs uses titles the snapshot ${SERVICE}_${INSTANCE_ID}_${TIMESTAMP}. When looking to restore from a backup, its really difficult to recreate this name because the timestamp is formatted TIMESTAMP=$(date +%Y%m%d%H%M%S) and the instance ID is some arbitrary ID created by AWS.
Ideally, we would want to point to our S3 backend and be given a list of backups to restore from. Is this a feature that exists today?

Hi @djenriquez,
We don't support list with EBS driver, but for VFS and Device Mapper, you can use "convoy backup list " for list all the backups, though, it may take quite a while. See here for details.

Thank you @yasker, this is exactly what I was looking for!


chore: update go-ftw version used for tests

Note that the tests can't run until this PR has been merged.


Can I put ads using this uamp?

can I put my ads like admob using this uamp?
how to do that? application forced close after I implements admob as usual

You are permitted to modify the code however you'd like, according to the license.
How to add additional SDKs, including AdMob, is beyond the scope of the issue tracker here, however. I'd recommend asking on Stack Overflow or reaching out to the SDK's community. Sorry.


fix: page crash if preferred language is not available

The installation instructions fail to render if the default language
configured by the user is not available for the current package (i.e:
this particulkar target is not present for the jsii assembly thereof).
Instead of crashing, this renders a message telling the user this
language is not available, and that they should enagge the author if
they are interested in it.
Fixes #305

Feature preview as of https://github.com/cdklabs/construct-hub-webapp/pull/306/commits/8ccdd74ad3d14550f2450b35b3afd05b2ca56f50

Updated screenshot as of https://github.com/cdklabs/construct-hub-webapp/pull/306/commits/1f362a1a9444ee8b20b24d7d6da682bcff28a97e:


Freaze on switch

Freazes any time you try to edit anyone besides the pc

My pull request #17 fixes this issue.


Testing result is poor

I trained a CRNN model from scratch using the generator . Each word has a pattern it always starts with a keyword followed by some characters and numbers (eg. PATTERN xy123) . The training loss is great but during testing if I read from an image and try prediction the results are really poor. What could be the probable reason.

Are your test images comparable to the training images?
The training generator will create samples that resemble printed characters on paper, this will be unsuitable if your test data is scene text.
I am a little bit limited in GPU time right now due to another project, but I can try to train a model next week if you can provide specific specs.

Yes I saved the images of the generator as jpgs and tested on them.
Secondly my original data is scene text and since I didn't have much scene text data in the first place, so used the generator to generate data. The training is converging properly but testing on jpgs are not giving good results.
In order to verify it I generated around 10k images and saved them and trained the model on them training had conveged but on testing on the same 10k was giving around 85 percent accuracy.
I am trying to predict from a patch what is the price of a commodity. The patch follows a standard pattern of mrp followed by the price (eg MRP. 375.00) It would be great if you could help


Tracking(streaming): EMIT ON WINDOW CLOSE

RFC: https://github.com/risingwavelabs/rfcs/pull/51

user facing

[x] Enable queries with EMIT ON WINDOW CLOSE

https://github.com/risingwavelabs/risingwave/pull/9622

optimizer

[x] StreamSort plan node

https://github.com/risingwavelabs/risingwave/pull/9510

[ ] StreamEowcHashAgg
[ ] StreamEowcGroupTopN

executors

[x] SortBuffer as a stateTable's read wrapper
[x] Sort as a SortBuffer wrapper

https://github.com/risingwavelabs/risingwave/pull/8891

[x] EMIT ON WINDOW CLOSE GroupAgg

https://github.com/risingwavelabs/risingwave/pull/8750
https://github.com/risingwavelabs/risingwave/pull/9971

[ ] EMIT ON WINDOW CLOSE GroupTopN

assignee @xxchan

[ ] EMIT ON WINDOW CLOSE SortAgg
[ ] EMIT ON WINDOW CLOSE EqJoin
[x] SortBuffer internal cache

https://github.com/risingwavelabs/risingwave/pull/8963

put on hold

[ ] intervalJoin, waiting for a normal version's interval join implementation

Hello, do we not support EMIT ON WINDOW CLOSE in HopWindow?

@st1page I understand the clause is not fully implemented, so it's ready to be documented. Correct? Thanks.

@st1page I understand the clause is not fully implemented, so it's ready to be documented. Correct? Thanks.

If document it, I guess we'd better mark it as an experimental feature.

@st1page I understand the clause is not fully implemented, so it's ready to be documented. Correct? Thanks.

I think yes.

https://github.com/risingwavelabs/risingwave-docs/pull/2586


White page after deploying the Build

on dev it looks great,
but after running pnpm build it shows only a white page with no errors in the console.
(I didn't touch the code, I just downloaded, built, and running on local live server)

BTW, the pnpm validate command get an error:
./scripts/validate
'.' is not recognized as an internal or external command

solved by changing createBrowserHistory in store.ts to createHashHistory

@ikonovations I'm afraid slow response, and thanks your reporting.
But pnpm validate is working fine my local.


can I use this model to train my custom dataset? how to set up the class_weights?

thank you !

Did you solve the problem? I have the same question. The class weights seems to be very important.


Add inReverse variable to UICircularProgressRing class

Add inReverse variable to UICircularProgressRing class to all the user to determine which direction the value label is counting.

Could you also add some tests to make sure inReverse works as expected.

Is there any way to countdown (from 10 to 0) instead of counting up (from 0 to 10)?


Unable to edit edit Page metadata or workflow a page with duplicate categories #1185

Couple notes:
* Remove the logging on the default cases

* Verify what happens on upgrade if there are existing duplicate category entries in the table ie. does the server fail to start / baseline package fail to install? what happens?

Hi Nate, Removed logging on the default cases as suggested.


Color text plugin does not work how I would like it to.

I have just started to use Joplin. It think it is the best lists app I have seen. I installed your text plugin plugin. The only way I can make it work is to use the shortcut on text in markdown. I would just like to use it in the text editor, because it would be quicker and easier. Is this a bug, or a limitation or did I do something wrong? Please tell me how to correct this without writing any code. It's not that I cannot write code (I did a lot of programming in several different languages years ago); it's just that I'm an old geezer and, while I am pretty good with Windows and MS products, I just don't want to go back to school again at my age.
Please help me. Thanks.

I've added toolbar button in v1.2.4


Update controller-api.stub

Formatted.

If I may ask, why was this PR closed without being merged?
We need an explanation, please.


MY NAME IS NOT HTMLInputElement

Welcome to our server, [object HTMLInputElement] !

Fixed, also updated text.
Changes below:
server.coffee
www/index.coffee


Cannot read property '_t' of null when switching layouts

Version
v6.6.0
Reproduction link
https://gitlab.com/musiciansbass/musiciansbass-app
Steps to reproduce
I am using a modal plugin called Sweetalert2. This is the method I use to instantiate the popup:
    showLogin(bus) {
      if (process.client) {
        // popup =
        this.$swal({
          ...this.popupOpts,
          title: this.$t('login.cta.login'),
          html: '

',
          onOpen() {
            bus.emit('loadLoginForm')
          },
          onClose() {
            bus.emit('closePwForm')
          }
        })
      }
    },

This works just fine if I load my homepage (which uses one layout) or I enter from a different URL (a page using a different layout) and click the login button. If I click between internal pages which use the same layout and click login, everything works as expected.
If, however, I am on an internal page and click to return to the homepage (which switches layouts), or if I am on the homepage and click to an internal page (again, switching layouts) and I click the login button, I get the following error:
TypeError: Cannot read property '_t' of null
    at VueComponent.Vue.$t (vue-i18n.esm.js?a925:178)
    at VueComponent.showLogin (Login.vue?7463:65)
    at eval (Login.vue?7463:47)
    at eval (mitt.es.js?14b7:57)
    at Array.map (<anonymous>)
    at Object.emit (mitt.es.js?14b7:57)
    at click (Buttons.global.vue?e4ea:27)
    at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
    at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179)
    at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917)
    at HTMLButtonElement.sentryWrapped (helpers.js?bf37:71)

And indeed, if I console.log the component, _i18n and $i18n are null:
VueComponent {_uid: 22, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: VueComponent, …}
[...]
_i18n: null
[...]
$i18n: null
[...]
__proto__: Vue

My navigation URLs are all variations of:
<nuxt-link class="hoverline" :to="localePath(item.slug)">{{ item.title }}</nuxt-link>

Oddly, none of the components outside of the modal are having any trouble using the $t method. Only the modal has the problem. And I'm not doing anything asynchronously in terms of loading the modal itself, which I saw in a related issue as one proposed pain point.
Any help would be greatly appreciated.
Thanks
What is expected ?
For the i18n object to not vanish from my Vue component when invoked in a modal window after changing layout contexts.
What is actually happening?
The i18n object is vanishing from my Vue component when invoked in a modal window after changing layout contexts.

This bug report is available on Nuxt community (#c406)

I was thinking that the component might be in a destroyed state already but stack trace doesn't really support that suspicion, I think...
But still, please check this:
You could add destroyed hook (or beforeDestroy, or both) to that component and check if it's triggered just before showLogin` is called. vue-i18n is clearing all its APIs from the component when the component is destroying. Other things that you are using might not be doing the cleanup (maybe because they are sloppy or it's just not needed), so you might be getting away with those working.
Your repo is private so I can't check manually.

This is what I get after loading a page, clicking to another page, and clicking login.

I also noticed my login button is firing twice for some reason

That is probably related to the issues. Maybe you can fork my codesanbox at https://codesandbox.io/s/nuxt-i18n-sweetaler2-issue-621-g29nw and try to reproduce your issue there. It seems to work for me in a simple case.

Yeah I don't see anything so different between your configuration and my own and I see yours is working.
It looks like I have two different instances of my components instantiating for some reason. You can see two different components with different UIDs here. So my guess is, one is receiving the correct this and one is not. So this may not be an i18n issue at all then but an issue with Nuxt double-rendering components?

Oh it's because I'm loading the component twice, in the main nav and the mobile nav. Duh.

Ok, so I figured that the issue was that I had two instances of a component, both of which had the same event listener in it, listening for a command to open the modal. So I moved the event listeners into a separate component that is only invoked once so there aren't two copies of the event listeners. Sadly: No change.

Why is your click handler going through "mitt"? I don't think that's part of Vue/Nuxt/Sweetalert2? If your click handler doesn't execute in correct "this" context then it will fail.

I use Mitt as an event bus on the main Vue prototype so I don't have to deal with bubbling up events from component to component.

Well, it's probably related to the problem.
If you are able to create repro then I'll have a look. Otherwise, I'm just guessing.
But you have to make sure that your showLogin method is invoked with this being the vue component instance. Maybe you have to bind it manually when adding event listener on mitt or use arrow function.

Since you said that it only fails after the layout has changed, it's probably because Vue component is recreated and you are not re-creating the event listener so the one set for the old component is triggering on "dead" component instance.
It would maybe be a better idea to create a Nuxt plugin that injects your "showModel" function into Vue so that you can call it from everywhere.
But again, that's without seeing your code so I'm just speculating that it might work.

Thanks for all your help. Dropping Mitt and passing i18n tags as props instead of invoking $t in  seemed to do the trick.

Wait, no it didn't. FFFFFFUUUUUUUU.

Ok, if I take the $t's out of my component methods and put them in as data, I can access them through this. Better than nothing!


How to add ubuntu terminal support to my windows terminal ? & Solution that can't open

I've got windows executable files from Internet so I can install successfully by steps that follows:

Install CascadiaPackage*.cer with option Trusted Institutional Certificate
Double click the execuable file and then start

To get platform_x64 execuable files, contact me at<EMAIL_ADDRESS>
I'd like to firgure out solution about how to add ubuntu terminal support to my windows terminal. Great thanks !
What's more, you may find that if you modified profile.json uncorrectly before unable to reopen it.
Solution to *unable to open windows terminal` is :

Delete C:\Users\YourName\AppData\Local\Packages\Microsoft.WindowsTerminal_* . Then click Windows Terminal Icon. (Directory varies according to Your Account and computer)

You'll see it works again !

Don't use random executables from random sources! And don't give them away if they ask you on your contact. You could help spread a virus.
To get Linux, you have to use Windows Subsystem for Linux (https://docs.microsoft.com/en-us/windows/wsl/install-win10). This has nothing to do with the Windows Terminal.

Don't use random executables from random sources! And don't give them away if they ask you on your contact. You could help spread a virus.
To get Linux, you have to use Windows Subsystem for Linux (https://docs.microsoft.com/en-us/windows/wsl/install-win10). This has nothing to do with the Windows Terminal.

Thanks for your care. But I have pick a new problem as I running bash.exe in Windows Terminal :
/mnt/c/WINDOWS/system32$
sudo chmod -R 777 /mnt/c/Users/nestripo/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/home/nestripo/                                                  chmod: cannot access '/mnt/c/Users/nestripo/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/home/nestripo/': Permission denied

And I've given absolutely control permission to that DIRECTORY in windows 10. When I try to source .bashrc, I got :
/mnt/c/WINDOWS/system32$
source /mnt/c/Users/nestripo/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/home/nestripo/.bashrc                                                      -bash: /mnt/c/Users/nestripo/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc/LocalState/rootfs/home/nestripo/.bashrc: Permission denied

I have no idea about it.

As I said, this has nothing to do with Windows Terminal and belongs to https://github.com/microsoft/WSL

As I said, this has nothing to do with Windows Terminal and belongs to https://github.com/microsoft/WSL

I just installed the Windows Subsystem for Linux . I've found the final solution that is :
cd $HOME

And then command source .bashrc runs properly !

I'm gonna re-emphasize this here, because some people aren't getting the picture.
DO NOT install binaries from untrusted 3rd party sources.
There's no way for you to guarantee that the application you installed from them did not also secretly include some sort of virus, compiled in by the distributor of the binary.
If you don't want to build the terminal from source, please be patient as we continue polishing the terminal for a preview release this summer.


cilium/operator: Replace gocheck with built-in go test

Please refer to individual commits for more details, this PR is focusing on files owned by cilium/operator team.

/ci-integration

/test


Poor performance on Power-9 hardware with GCC and SMT enabled

Hello,
I benchmarked the simple following dgemm call using 4096x4096 matrices (thus n=4096 and a, b and c are matrices) on a IBM LC922 machine with 2 POWER-9 processors (of each 22 cores and 88 hardware threads):
cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, n, n, n, 1.0, a, n, b, n, 1.0, c, n);
While the performance is great when using exactly 1 thread per core (and specifying threads places and binding). The performance strongly drop to the sequential performance if 2 or 4 threads per core are used with gcc and we can see that only one thread is actually computing. Note that with clang there is also a drop but clearly less significant and more than threads is running.
With GCC 8.3.0:
$ OMP_NUM_THREADS=44 OMP_PLACES="cores(44)" OMP_PROC_BIND=close ./a.out
462.493 Gflops (time: 0.29717 s)
$ OMP_NUM_THREADS=176 OMP_PLACES="threads(176)" OMP_PROC_BIND=close ./a.out
22.1915 Gflops (time: 6.1933 s)
$ OMP_NUM_THREADS=1 OMP_PLACES="cores(1)" OMP_PROC_BIND=close ./a.out
22.6448 Gflops (time: 6.06934 s)

With Clang 9.0.0-2:
$ OMP_NUM_THREADS=176 OMP_PLACES="threads(176)" OMP_PROC_BIND=close ./a.out
219.556 Gflops (time: 0.625986 s)
$ OMP_NUM_THREADS=176 OMP_PLACES="threads(176)" OMP_PROC_BIND=close ./a.out
221.271 Gflops (time: 0.621134 s)
$ OMP_NUM_THREADS=88 OMP_PLACES="threads(88)" OMP_PROC_BIND=close ./a.out
138.701 Gflops (time: 0.990901 s)
$ OMP_NUM_THREADS=88 OMP_PLACES="threads(88)" OMP_PROC_BIND=spread ./a.out
135.868 Gflops (time: 1.01156 s)
$ OMP_NUM_THREADS=44 OMP_PLACES="threads(44)" OMP_PROC_BIND=spread ./a.out
160.299 Gflops (time: 0.857392 s)
$ OMP_NUM_THREADS=44 OMP_PLACES="cores(44)" OMP_PROC_BIND=spread ./a.out
381.88 Gflops (time: 0.359901 s)

All test are runned on a ubuntu18.04.1 system.
Here is the command used to compile the basic example code:
g++ -O3 -mcpu=native -ffast-math main.cpp -I./OpenBLAS -L./OpenBLAS -lopenblas -fopenmp
The commit of the OpenBLAS git used is quite up to date: 8d2a796 (on origin/develop).
Note that this problem could also be related to possible issues in the OpenMP runtime implementation.
main.txt

It could be that SMT is microcoded so that you get worse performance employing both (or is it four nowadays) false CPUs at once.
GOMP is quite NUMA-aware, try experimenting around OPMP_PLACES to get to the sweet spot.

@brada4 I doubt that hardware threads on power9 have restrictions similar to x86 HT that would warrant calling them "false" cores ? Apart from the thread placement issue, I wonder if defining
a GEMM_PREFERRED_SIZE to guide workload distribution as introduced in 5b708e5 would improve performance.

What would be interesting to know if default thread placement policy gets  any regression or no change when it starts using 2nd thread in physical core.

Using GCC
The number of threads actually created is always one for GCC-8.3 when OMP_PLACES is not set to "cores(...)". This is not the case with Clang-9.0 (the number of threads created seems correct).
By looking OMP_DISPLAY_ENV when OMP_PLACES="cores(8)" (a configuration that gives 160 Gflops) we can see that:
OMP_PLACES = '{0:4},{4:4},{8:4},{12:4},{16:4},{20:4},{24:4},{28:4}'

This configuration give good performance while the following does not (it gives 22 Gflops):
OMP_PLACES = '{0},{4},{8},{12},{16},{20},{24},{28}'

And surprisingly this one is good (it gives 160 Gflops):
OMP_PLACES = '{0:2},{4},{8},{12},{16},{20},{24},{28}'

Thus, the place of the first thread is important in GCC/libGOMP and causes the issue.
Thus, this is most probably an issue in libgomp.
Note that this can also be reproduced with GCC-9.2.
So I will contact the libGOMP community for this issue.
Using Clang
On Clang-9, there is still a non-negligible drop in term of performance when SMT is enabled (using a manual thread placement).
While this is not as critical as for the GCC/libGOMP issue, it seems strange to me.
Indeed, for 4096x4096 matrices, the performance difference is 1.2x~1.6x (SMT-1 vs SMT-4). For huge matrices like 16Kx16K, the difference is around 1.1x between SMT-1 and SMT-4 but SMT-2 is strangely around 1.45x slower than SMT-1. Does it seems normal for you ?
I tried to build commit 5b708e5 as @martin-frbg proposed, but the build fail with the following errors:
getarch_2nd.c: In function ‘main’:
getarch_2nd.c:12:35: error: ‘SGEMM_DEFAULT_UNROLL_M’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_M’?
     printf("SGEMM_UNROLL_M=%d\n", SGEMM_DEFAULT_UNROLL_M);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_M
getarch_2nd.c:12:35: note: each undeclared identifier is reported only once for each function it appears in
getarch_2nd.c:13:35: error: ‘SGEMM_DEFAULT_UNROLL_N’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_N’?
     printf("SGEMM_UNROLL_N=%d\n", SGEMM_DEFAULT_UNROLL_N);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_N
getarch_2nd.c:14:35: error: ‘DGEMM_DEFAULT_UNROLL_M’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_M’?
     printf("DGEMM_UNROLL_M=%d\n", DGEMM_DEFAULT_UNROLL_M);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_M
getarch_2nd.c:15:35: error: ‘DGEMM_DEFAULT_UNROLL_N’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_N’?
     printf("DGEMM_UNROLL_N=%d\n", DGEMM_DEFAULT_UNROLL_N);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_N
getarch_2nd.c:19:35: error: ‘CGEMM_DEFAULT_UNROLL_M’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_M’?
     printf("CGEMM_UNROLL_M=%d\n", CGEMM_DEFAULT_UNROLL_M);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_M
getarch_2nd.c:20:35: error: ‘CGEMM_DEFAULT_UNROLL_N’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_N’?
     printf("CGEMM_UNROLL_N=%d\n", CGEMM_DEFAULT_UNROLL_N);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_N
getarch_2nd.c:21:35: error: ‘ZGEMM_DEFAULT_UNROLL_M’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_M’?
     printf("ZGEMM_UNROLL_M=%d\n", ZGEMM_DEFAULT_UNROLL_M);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_M
getarch_2nd.c:22:35: error: ‘ZGEMM_DEFAULT_UNROLL_N’ undeclared (first use in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_N’?
     printf("ZGEMM_UNROLL_N=%d\n", ZGEMM_DEFAULT_UNROLL_N);
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   XGEMM_DEFAULT_UNROLL_N
make: *** [getarch_2nd] Error 1
In file included from ../common.h:536,
                 from lapack/zpotf2.c:40:
lapack/zpotf2.c: In function ‘cpotf2_’:
../common_param.h:971:23: error: ‘GEMM_DEFAULT_OFFSET_A’ undeclared (first use in this function); did you mean ‘GEMM_DEFAULT_UNROLL_M’?
 #define GEMM_OFFSET_A GEMM_DEFAULT_OFFSET_A
                       ^~~~~~~~~~~~~~~~~~~~~
lapack/zpotf2.c:110:37: note: in expansion of macro ‘GEMM_OFFSET_A’
   sa = (FLOAT *)((BLASLONG)buffer + GEMM_OFFSET_A);
                                     ^~~~~~~~~~~~~
../common_param.h:971:23: note: each undeclared identifier is reported only once for each function it appears in
 #define GEMM_OFFSET_A GEMM_DEFAULT_OFFSET_A
                       ^~~~~~~~~~~~~~~~~~~~~
lapack/zpotf2.c:110:37: note: in expansion of macro ‘GEMM_OFFSET_A’
   sa = (FLOAT *)((BLASLONG)buffer + GEMM_OFFSET_A);
                                     ^~~~~~~~~~~~~
../common_param.h:1010:18: error: ‘CGEMM_DEFAULT_P’ undeclared (first use in this function); did you mean ‘CGEMM_DEFAULT_R’?
 #define CGEMM_P  CGEMM_DEFAULT_P
                  ^~~~~~~~~~~~~~~
[...]

Is there anything special to do in order to build this branch ? (note that the 8 first errors also appear when building the master branch but not the develop branch).

Sorry that's a misunderstanding - the develop branch at that stage (more than a year ago) probably did not recognize Power9 at all (and master has been gathering dust a good while longer). What I meant was that it might be worthwile to copy the idea behind that commit #1846 and add a GEMM_PREFERRED_SIZE for POWER8/POWER9 in param.h as well. (Could be that PPC is much less disadvantaged by non-power-of-two vector lengths than x86 though)

Specifying GEMM_PREFERRED_SIZE in param.h for ppc does not make any difference for the above testcase. However I will check using GEMM_PREFERRED_SIZE in general for common usecase and add it for POWER, if it improves performance.


Integrate the "boring" avatars

Found an interesting package boringavatars. Try to integrate this package?
https://boringavatars.com/
app version: v1.10.0

https://github.com/hackjutsu/Lepton/commit/1c4b9f0bf0c6dd0cf1085a98a8f06a18cbd6349f


how to use this packacge?

This thread helped me alot:
https://github.com/HearthSim/dj-paypal/issues/5


Please work on next version on a feature branch, so that README is accurate

Currently the README docs do not represent what is available when you npm install redis.
IMO it would be cleaner to work on the next version on a separate branch, and keep master as whatever was last released. This is so that users coming to Github and reading the README aren't viewing docs for features that are not yet available.
I've just been stung by this, thinking that I could use the db parameter on the Redis URL, when this isn't yet available on the current npm release (2.4.2).
Thanks!

This is definitly right and it was a mistake to merge the things as they were. But there was more to do until I felt it is right to releae that. Right now there is a 2.5 branch and I have to fix some tests not running on windows and add some more docs but besides that everything is looking good and this is going to be released very soon.

Great, thanks! 😀

2.5.0-1 is out :)


Difference between url and uri bael 864 hariprasad

Difference URI URL REST project has been moved from spring-starter module to spring-rest.


Support reading metadata from metadata.json

Currently, if you try to publish a cookbook that you retrieved from the public supermarket via stove to an internal supermarket it fails.  This PR adds support for hydrating the metadata from metadata.json if the metadata.rb is not present.

LGTM, but I think we should actually prefer JSON over rb. What do you think?

@sethvargo you've been thinking about this problem a lot longer than I have (was reading some of your commentary on preferring .json over .rb), but I think the user will expect .rb to be preferred.  Maybe ship it this way now with a minor bump and have the discussion about preferring json in another thread?  I'm not tied down to either position.

Thanks @sethvargo


Erkinai contributions

Checklist:

[x] I put ticket number in the name
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I attached screenshot of the ui work (if its UI)

Commit Tag (types ) you should use in your commits

build : Changes related to building the code (e.g. adding npm dependencies or external libraries).
chore: Changes that do not affect the external user (e.g. updating the .gitignore file or .prettierrc file).
feat: A new feature.
fix: A bug fix. - docs: Documentation a related changes.
refactor: A code that neither fix bug nor adds a feature. (eg: You can use this when there is semantic changes like renaming a variable/ function name).
perf: A code that improves performance style: A code that is related to styling.
test: Adding new test or making changes to existing test

please do PR to dev branch


Slider cannot be changed programmatically

When I attempt to change the value of a slider programatically(for example, in a music player), part of it updates and part of it does not. I have attached a video of the issue in action. The code for this is:
  const duration = document.getElementById("duration");
  duration.max = audio.duration;
  audio.addEventListener("timeupdate", () => {
    duration.value = audio.currentTime;
  });

Great project!
https://github.com/beercss/beercss/assets/111166669/62b4cc3d-9486-4f0d-b9ce-aab2780f36b6

Hello @kattschan i made some tests here:
https://codepen.io/kickerbnu/pen/MWdGMoE
the Slider looks okay for me, maybe you have some issue with the logic to track the audio.
I hope this codepen helps you. 🍺
Credits: tasmagirl https://codepen.io/tasmagirl/pen/jOoVxKN

@kattschan in your case, you need to call the ui() function to update the slider, because when you change the value by JS, it doesn't updates the DOM (except if you are using a JS framework).
Try this:
https://codepen.io/leo-bnu/pen/MWdGNoZ

That makes sense! I normally use a framework but I'm writing a desktop app with Tauri, so I've never encountered this before. Running ui() like you suggested works great, the only problem remaining is that the slider really doesn't like it when you drag it. Clicking is fine, but if you drag it the audio skips around seemingly at random and oftentimes appears to keep playing but has stopped playing in the page. Is there any insight to this? This is probably an issue with my script's logic. This play function runs when the user clicks the play button above:
async function play() {
  const contents = await readFile("test.mp3", { baseDir: BaseDirectory.Audio });
  console.debug("read file");
  const blob = new Blob([contents], { type: "audio/mpeg" });
  console.debug("created blob");
  const url = URL.createObjectURL(blob);
  console.debug("created url");
  const audio = new Audio(url);
  console.debug("created audio");
  document.body.appendChild(audio);
  document.querySelector("audio").controls = true;
  console.debug("appended audio");
  audio.play();
  audio.addEventListener("timeupdate", () => {
    duration.value = audio.currentTime;
    ui();
    duration.max = Math.floor(audio.duration);
    ui();
  });
}

and the input part of the slider is:
          <input
            type="range"
            id="duration"
            oninput="document.querySelector('audio').currentTime = this.value;"
          />

Thanks again!
https://github.com/beercss/beercss/assets/111166669/091cf803-6264-4dcd-bc36-90d949f1423f


Only !random works the rest of the command aren't working

Hi everyone. so currently we have an issue where the only piece of code we can execute is !random can you figure out what's wrong? :) happy debugging!

Already fixed it in commit 2005689. The other commands are working fine now.


Fix for peer dependencies (Due to CI architecture)

Whoever wants to know what exactly happened, let me know :-)

Reviewer - this PR has made changes to one or more package.json files.

Snapshot stored with reference name:
refs/pull/13769/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13769/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13769/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13769/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13769/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13769/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13769/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13769/merge#BCU1XR#0


Add techwolf12.nl as user of the theme

Thanks for the great theme!

Thanks for using Congo, @Techwolf12! I'll merge this change in and your site will appear on the public list when the next theme release is published.


Add chip tool Darwin description to classes.

Problem
When logging a structure class, it does not log any of the attributes. This makes it difficult to validate responses using darwin-framework-tool.

Fixes #18634
Fixes #16148

Change overview

Updated ZAP files that create the structure classes to include a description function.
Update darwin-framework-tool to iterated and log

Testing

Validated that the darwin-framework-tool display values in classes, even within a list.

Fast tracking platform changes


Require atomic updates for await/yield expressions

What is to be discussed?
This is a good one to discuss. There can be subtle race condition bugs when one is using async/await or yield together with another variable or expression.
Incorrect code:
let totalLength = 0;

async function addLengthOfSinglePage(pageNum) {
  totalLength += await getPageLength(pageNum);
}

Promise.all([addLengthOfSinglePage(1), addLengthOfSinglePage(2)]).then(() => {
  console.log('The combined length of both pages is', totalLength);
});

The totalLength value is read before the fulfillment of the getPageLength promise. Running those two addLengthOfSinglePage in parallel will lead to unexpected behaviour. For a complete explanation check the reference link.
One possible correct code:
async function addLengthOfSinglePage(pageNum) {
  const lengthOfThisPage = await getPageLength(pageNum);

  totalLength += lengthOfThisPage;
}

Currently, this rule is off for us.
Describe the solution you'd like
I think it's very reasonable to turn this on. It can catch very subtle behaviors that a lot of inexperienced developers don't know about. However, it'd be a pain for some existing projects, such as builder-hub, which would have tens of these warnings. If we decide to turn it on, each project could turn it off in their .eslintrc if it's not humanly possible to refactor the code.
Additional context
Reference: https://eslint.org/docs/rules/require-atomic-updates

This one would be the hardest to turn on right now. Will close it for now.


creating a renderer in qt fails for some axes types

When embedding a plotter in a qt application, plotter.show() needs to be called to create a renderer instance.
This call fails for some axes types, among which the default axes=4.

import sys
from PyQt5 import Qt
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor

from vtkplotter import Plotter, Cube, Torus, Cone, settings

settings.usingQt = True

class MainWindow(Qt.QMainWindow):
    def __init__(self, parent=None):

        Qt.QMainWindow.__init__(self, parent)
        self.frame = Qt.QFrame()
        self.vl = Qt.QVBoxLayout()
        self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
        self.vl.addWidget(self.vtkWidget)

        # vp = Plotter(offscreen=True, interactive=False, axes=2) # <== works
        vp = Plotter(offscreen=True, interactive=False, axes=4) # <== fails

        vp += Cone()

        vp.show()  # to create renderer

        # further setup here - omitted for clarity

        self.show() # <-- just to be able to close the application

if __name__ == "__main__":
    app = Qt.QApplication(sys.argv)
    window = MainWindow()
app.exec_()

some more information:
The error occurs in addons.py in the function addIcon()
The root cause is that the orientation type widget can not be enabled without a interactor set. (line 637: widget.EnabledOn()
Also, the interactor needs to have a the rendered assigned.
A work-around is to skip the creation of axis on creation and add them manually later.
This needs to be done after adding the renderer to the widget.

        self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()  # create interactor here

        vp = Plotter(offscreen=True, interactive=False, axes=0) # <== No axes
        vp += Cone()
        vp.show()  # to create renderer

        # assign the renderer
        self.vtkWidget.GetRenderWindow().AddRenderer(vp.renderer)

        # set interactor and create axes "manually"
        vp.interactor = self.iren
        vp.addAxes(4)

Idea:
pass the
vtkWidget (QVTKRenderWindowInteractor) as an argument when creating the Plotter.
vp = Plotter(qtWidget = vtkWidget)
then the plotter can

override of "offscreen" and "interactive" settings
set self.interactor

in Plotter.show():

assign the newly created renderer to the widget
add the axis :-)

Marco, if you like this then I can implement it and create a merge request for it.

Yup! That is a very nice idea!


Fix dependency versions for net8 target

Addresses https://github.com/dotnet/SqlClient/pull/3063#discussion_r1874029699

/azp run


So I put all the stuff Questin and I did into one pull request

So I put all the stuff Questin and I did into one pull request.
It's a lot, so I wrote a poem.
Aidan, your spacing was less bad than anticipated.
(Although it was pretty bad.)
Now, there exist interfaces up to SevenParamFunc!
Because you needed that capability!
Also, regeneration only occurs while neither hungry nor thirsty.
idk what Questin did but it compiles.

One known issue: "Attack man with brick" crashes the game.
Nothing I can do about that, it just doesn't accept four words of input.
//Some say the world will end in fire, some say in ice.
//I say end it with a comment, and it's really just as nice.
//So farewell to you my friend, you who have ventured brave and bold
//through the convoluted forests of Aidan's story, in code, told.
//What you have read may yet escape you, as it once did for me,
//but rest assured, the holy Lambda is something men can learn to see.
//I rest my case with the finality of the ending close paren —
//And I swear I'll never, EVER set Aidan's lambdas free again.
// — Nico Mantione, 11 December 2018

There are still some conflicts. Need to "git pull --rebase" then resolve the issues, either by hand or with a "git mergetool"

Why did you replace pieces of code with their outdated counterparts and in some cases completely delete them for no reason?

That's called what happens when you don't "git pull --rebase" enough.

nah fam I have no idea what any of the code does I just fixed spacing
ignore any and all code changes and let me know where they are
also there should DEFINITELY not be merge conflicts that is a HUGE problem what are you talking about?

haha lmao i see the problem I merged with Questin's commits instead of master and I did it in the wrong order

big oof; trying again


Stacked columns hover incorrect

Checklist

[x] I updated the card to the latest version available
[x] I cleared the cache of my browser
[x] I verified that I'm really running the lastest version in my browser console
[x] I checked if there is another issue opened with the same problem

Describe the bug
When the chart is shown as stacked columns (I'm fetching data from statistics but was the same when I loaded them from entity history) the hover of the mouse is totally screwed. It will show the wrong serie of data in the popup.
That's not only a cosmetical bug as the popup contain even the value of that portion of data, that is available only in that way.
This could be related to the stacked issue when you hide a seie clicking on the legend that I can confirm: https://github.com/RomRider/apexcharts-card/issues/254
Version of the card
Version: 2.0.1
To Reproduce
This is the configuration I used:
title: Grafico consumi
theme: Backend-selected
path: grafico-consumi
icon: mdi:chart-areaspline
type: panel
badges: []
cards:
  - type: custom:apexcharts-card
    stacked: true
    graph_span: 24h
    update_interval: 1min
    all_series_config:
      type: column
      statistics:
        type: mean
        period: hour
        align: middle
    series:
      - entity: sensor.altro_power
        name: Altro
      - entity: sensor.luci_power
        name: Luci
      - entity: sensor.lavanderia_power
        name: Lavanderia
      - entity: sensor.cucina_power
        name: Cucina
      - entity: sensor.condizionatori_power
        name: Condizionatori
      - entity: sensor.pompa_piscina_power
        name: Piscina
      - entity: sensor.tv_power
        name: TV
      - entity: sensor.tapparelle_power
        name: Tapparelle
    apex_config:
      chart:
        height: 940px

Screenshots

Expected behavior
the popup must show the correct data the mouse is over
Desktop (please complete the following information):

Browser Chrome
Version 101

Please see my issue on the same topic: https://github.com/RomRider/apexcharts-card/issues/341
Unfortunately it was closed due to no reaction!


smartphone

Hi, could you please advise a trusted casino where I can play a slot with the ability to install it on my smartphone?

While exploring online games in the UK, I came across https://plinko.app. Its straightforward design and engaging gameplay make it perfect for quick breaks. I’ve already had some lucky rounds and even managed to secure a decent win. This game is a fantastic way to relax and have fun without overcomplicating things.


Make it possible to customize the default config file path

I found it cumbersome having to define my own configuration file every time. So I made it configurable.
So before this PR I had to run:
artisan code:analyse --configuration=$PWD/phpstan.neon
The solution is adding a customizable Laravel config file that you can publish by running:
artisan vendor:publish --tag=larastan-config
And now I simply change the default:
'configuration' => base_path('vendor/nunomaduro/larastan/extension.neon'),
To:
'configuration' => base_path('phpstan.neon'),
Now I can just run:
artisan code:analyse
I made it backward compatible, so people without the larastan.php config file do not run into issues.
Fixes #134

@johanvanhelden Please next expose your idea before coding it. It's better.

@nunomaduro That does not work automatically. The custom configuration is not automatically detected in my application.
If I place a phpstan.neon.dist in the root of my project, it still looks at the default file inside your package because that file is hardcoded.
Just to be clear: I've got a Laravel application with a custom config file. I am not making a package.

But you can specify a configurationoption.
Such: artisan code:analyse --configuration="phpstan.neon".

Yes, I know, and that is not user friendly to do that each and every time because it is a lot to type out. So that's why I made it configurable via a Laravel config file.
You can simply define the path to your custom configuration 1 time, and you can simply run artisan code:analyse. That is way less typing and remembering and it's easier for other people who work on our projects as well.

@johanvanhelden Ok. Could you develop a POC where you could define the phpstan configuration inside that same php file?

Parameters such as ignoreErrors etc?

I am not sure if that is even possible. I know PHPStan would support the passing of a level, but I am not sure on the other things. But why should all those options be in a PHP config file?
Because that would also involve new documentation that would be Larastan specific, and right now, people can just look at the PHPStan documentation on how to override things and create their own custom config.
And it's not just ignoreErrors, you would have to support all parameters. Like level and excludes_analyse. And that is a lot of work for something that just works as it is if people can just look at the PHPStan documentation. I'm not even sure how that would be done.
In my opinion, this PR is the best of both worlds. People can use the regular, documented, PHPStan configuration syntax and just set the path to their configuration file without having to append anything to the artisan code:analyse command.

@johanvanhelden You are right. We shouldn't support phpstan options in a configuration file. I am to tired today. 😅
I would suggest a Pull Request that automatically detects a phpstan.neon or a phpstan.neon.dist in the root of the project. I really would like to avoid the php configuration file.

@nunomaduro Auto detection sounds even better and would of course also solve my issue. If you would be willing to merge that, I'll work on that tomorrow and make a PR.

Yes! Thanks for being so cool. 👍

Yes, I know, that is what I said. And that is, in my opinion, not user friendly to do that each and every time because it is a lot to type out. So that's why I made it configurable via a Laravel config file.

Try adding a composer script:
    "scripts": {
        "analyze": "artisan code:analyse --configuration=$(pwd)/phpstan.neon",
        "lint": "parallel-lint --blame --exclude vendor/ .",
        "sniff": "vendor/bin/phpcs",
    }

and issue composer run-script analyze

Will be making a new PR with autodetection.


Check client certificate file in BMC is not found after deleting client certificate

Check that client certificate file(/etc/nslcd/certs/cert.pem) in BMC is not found after deleting client certificate

https://gerrit.openbmc-project.xyz/#/c/openbmc/openbmc-test-automation/+/14652/


Riscv64 support

Add support for riscv64-unknown-linux-gnu

Hey @krsh, thanks for the PR!
Let's do this in stages:

Open a PR with just the changes to src/xtask/codegen and please also include a change to our CI workflow that generates the bindings - https://github.com/aya-rs/aya/blob/3262f85925459bdc636afccadc3ae3fc926dc9ac/.github/workflows/gen.yml#L26

Once merged, I'll trigger the workflow and CI will generate the bindings

Then you can open a final PR to make sure that the generated bindings are included in the right mod.rs/lib.rs.

Lastly, please make sure to run cargo +nightly fmt and cargo +nightly clippy against your patches to make sure the linter is happy!


block scanning should use block acceleration features of the TCT

clients stream compact blocks and construct a filtered instance of the SCT. Currently, we're trial-decrypting every payload for every block retrieved from the full node. However, our wasm view server implementation doesn't yet take advantage of the TCT acceleration features detailed in Penumbra issue #842. In that context, we can use the fact that penumbra commits the intermediate root hash of every block, and client synchronization can stream the root hashes of each block without needing to know the individual commitments. This approach would reduce the number of Merkle hashing operations needed to insert a block into the SCT.
our scan_block implementation was built using mock_client as a template. Instead, we should employ the TCT's API, specifically the insert_block and insert_epoch methods, to accelerate block syncing.
we've essentially built this highly optimized merkle tree (Tierd Commitment Tree) designed for efficient client sync, but we're not taking advantage of it's fundamental properties.

the relevant code in the rust view server is here: https://github.com/penumbra-zone/penumbra/blob/main/crates/view/src/sync.rs#L111-L117
the optimization is: if the result of scanning the block is that there were no decryptions, use insert_block.
there's no need to use the epoch-level insertion features at this time as that is more complicated to employ (scanning goes block by block).

this optimization isn't completely trivial to port to the wasm view server, because it inlines together the trial decryption and the SCT insertions into one sequence of operations:
https://github.com/penumbra-zone/web/blob/main/packages/wasm/crate/src/view_server.rs#L123-L130
instead, these operations can be cleanly separated by using in-memory advice, as in the native code: https://github.com/penumbra-zone/penumbra/blob/main/crates/view/src/sync.rs#L86-L109 : first, build a lookup table of successful decryptions (the "advice"), then use it when processing each note payload. that way, it's easy to write code that skips over an empty block, as all the trial decryption is done up-front.

Added some code that ports the native rust code's advice mechanism to the wasm crate in #1716 but it needs testing to check that it doesn't mess up the SCT synchronization


How to install

what is the meaning of
pip install -e .[examples]

The README needs to be cleaned up a little bit, but this is an editable local install:
https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-from-a-local-src-tree
that specifically includes the extra dependencies used by the examples:
https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-extras
These extra dependencies are specified here:
https://github.com/nerfstudio-project/viser/blob/65cd9a2d2a448e570f9ae2bac2a080ee6ace473c/pyproject.toml#L46-L49


New addon for k2s which deals with logging

Is your feature request related to a problem? Please describe.
Many users need a way to search for logs which are produced inside the K8s cluster.
The logs are needed in order to analyze errors and different behaviors in the cluster,
in the logging addon also a web UI shall be integrated which allows an easy search in all the logs
produced by the K8s entities (nodes, K8s components, ...) and the K8s workflows from all of the namespaces.
Describe the solution you'd like
A solution based on fluentd would be great, since fluentd seems to be very popular and stable at the CNCF.
But maybe other projects could also fit in here.
Additional context
With this issue it should be analyzed besides fluentd which other open source project would fit best for such an logging addon.

First approach:

use Fluentbit as log collector, for windows nodes create host process container, for Linux create manifest files from helm charts
running as Daemonsets on Windows and Linux nodes
use Opensearch as database and Opensearch Dashboards for visualization (fork of elasticsearch and kibana when it still was under Apache 2.0 license)

support for linux only and multi-vm missing

Remove old solution in monitoring addon: Vali and Valitail (not needed anymore since fluent, opensearch and plutono integration of opensearch)

Add support for OpenTelemetry


pod 下来，运行crash

1、如图，不知道什么原因，iOS 11 ，iPhone 6和7p都是一样的问题

Due to [UIFont fontWithName: size:] return nil! It's same to me.

看起来是第三方库的问题

try this , in your project's info.plist, add a new entry for "octicons.ttf" with the key "Fonts provided by application". I do this to fix [UIFont fontWithName: size:] return nil.


[REQUEST] Investigate decompression times in AWS Lambda

What would you like to have implemented?
Clarification on the decompression times
Why would it be useful?
The README has a table showing various inflation times. However, when this inflation is run in AWS Lambda the time is significantly slower. I'm guessing the benchmark is run on a local machine? For me, with a 512 MB Lambda the inflation can take up to 10 seconds. Increasing the memory to 2 GB can cut the time to half but I wasn't able to get any lower than that. Is this to be expected?
If I wanted to avoid the decompression step altogether should I consider another approach completely? Such as running Lambda with a custom Docker image with Chrome included?

I'm not sure, that whole table is from alixaxel's repo, so I don't know what the testing times are from. Personally, I get around 5 seconds during testing, and around 4 seconds if I disable the swiftshader extract, which seems to track from what you are saying. (I run 3gb, maybe I can drop it down to 2gb).
Regardless, that slowdown should only be on cold starts. I'm not sure whether the slowdown is from lambda grabbing the code to run it during a cold start, or whether it's this package extracting the brotli files. I suppose it's probably both.
To solve the problem of avoiding decompression altogether, there are a few options.

As you suggest, a custom lambda image with a browser included. This will also affect cold start times.
Keep the lambda container warm using Provisioned Capacity, thus only affecting the absolute first call to the function.

Probably others, maybe allow for an uncompressed chromium binary, but that's 150mb, which might be slower than the brotli file.

Another option may be to mount a VFS, which seems to not incur that much of a hit on starts. Then have the chromium binary already there and extracted. LMK if you do this and I'll add instructions

Thanks for the response! In my use case the provisioned concurrency approach doesn't sound like the best choice. I tried building a custom image but ended up getting incomprehensible failures from the browser launch. I will to look into this more.
The file system approach sounds interesting as well. I suppose it will have the same pitfalls as my trials with the custom image, that is, getting the browser running.

The problem we might run into eventually is layer size. When I get some time, I might look into building an already decompressed layer and see if it's feasible

Does anyone have tried the VFS solution?

The problem we might run into eventually is layer size. When I get some time, I might look into building an already decompressed layer and see if it's feasible

+1

@pranavburnwal Do you have any findings on this topic?

@pranavburnwal Do you have any findings on this topic?

Nope didn't investigate a lot after that, Solved this via https://github.com/Sparticuz/chromium/blob/master/examples/remote-min-binary/index.js#L9 to pull from S3 for cold start and saved to /tmp to use.

Just FYI, a Lambda layer backed by S3 storage works well for me, size not an issue.


fix compile issue for non-android jni.h

add sample-java test
update Android gradle plugin version

fix issue https://github.com/LanderlYoung/Jenny/issues/15


Clean up Compose

Our current Compose is just one large file and is prone to breakage.
We should utilize the patterns from mob.enar/widget/MainPage.N.Compose and mob.near/widget/MainPage.N.Compose.Common. Notice how this Common "wrapper" is able to take in a custom markdown editor from props, and then passes these functionalities to it.
For context, the goal is that we can use these features in whatever editor we plan to swap it out for. The implementation should be style agnostic.
Bonus: we can also adopt the advanced vs plain textbox editor pattern in common compose as well.

@itexpert120 it looks like we did lose account id autocomplete w/ apply on click. What I mean by this, is that when you do auto complete and click the account it should autocomplete the text in the compose. Right now if you click it, nothing happens.
Also, we should make sure that the compose clears after posting (post with #test); there was a Toast that had been put in last week, now removed

I think the autocomplete can be attributed to iframe issue. And I'll implement rest of these features too.

Fixed, please check new PR


Fixed #76 bug where id is repeating

I think that as soon as our React developer is back from the vacation we'd be able to pull the changes.


PLAT-134298: Fix configuration for react17

Add a babel plugin for new JSX transform to support react17
Enact-DCO-1.0-Signed-off-by: Jeongran Jang<EMAIL_ADDRESS>

Closing this in favor of #12.


Auth

Add some level of authentication to the system, allowing not just users but also teams.
Suggested options here are to either implement this ourselves using HTTP Basic auth, or spend a little more time in this area and use something like Keycloak. Advantage to basic auth is that it's simple but we'll have to manage users and teams ourselves, whereas if we use Keycloak it's more complicated, but much more secure and we don't need to worry about users or teams as that'll all be handled by Keycloak.

For Multitenancy in Keycloak, this article will be of interest.
Note we'll need an automated way of setting up a Keycloak instance, both for local dev within Docker compose, but also for anyone wishing to run Cron Mon themselves (we'll probably want to document this setup too, so they can configure their Keycloak instance themselves in whatever way they want to do it.
Also need to figure out where we get these custom fields from. Using the email domain is simple but it means you can only belong to a tennant based on your email, which could be quite limiting outside of corporate and professional environments.
Maybe signup requires invitation from a tenant? Then do we need a tenant signup flow?

https://www.keycloak.org/getting-started/getting-started-docker

https://github.com/dexidp/dex might also be worth looking at.


Can some one help me run this on ec2 instance ubuntu server

I've tried a lot..
any steps to go through, please help me out.

Does it show any error message on the terminal?


[DO NOT MERGE] HBASE-28898. Use reflection to access recoverLease(), setSafeMode() APIs, built with Hadoop 3.3.6

Verify the change in PR #6342 does not have regression with Hadoop 3.3.6.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 29s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ master Compile Tests _

+0 :ok:
mvndep
0m 16s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 13s

master passed

+1 :green_heart:
compile
8m  1s

master passed

+1 :green_heart:
checkstyle
1m 15s

master passed

+1 :green_heart:
spotbugs
9m 25s

master passed

+1 :green_heart:
spotless
0m 44s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 26s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m  0s

the patch passed

+1 :green_heart:
compile
8m  3s

the patch passed

-0 :warning:
javac
8m  3s
/results-compile-javac-root.txt
root generated 1 new + 1215 unchanged - 0 fixed = 1216 total (was 1215)

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 13s

root: The patch generated 0 new + 10 unchanged - 1 fixed = 10 total (was 11)

+1 :green_heart:
xmllint
0m  0s

No new issues.

+1 :green_heart:
spotbugs
9m 50s

the patch passed

+1 :green_heart:
hadoopcheck
11m 31s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
spotless
0m 44s

patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 28s

The patch does not generate ASF License warnings.

66m 10s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6346/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6346

Optional Tests
dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless xmllint

uname
Linux 9628b6052390 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8760d23516a95ffc6293cf9e47c818df269316af

Default Java
Eclipse Adoptium-17.0.11+9

Max. process+thread count
190 (vs. ulimit of 30000)

modules
C: hbase-asyncfs hbase-server . U: .

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 17s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m  0s

the patch passed

+1 :green_heart:
compile
2m 11s

the patch passed

+1 :green_heart:
javac
2m 11s

the patch passed

+1 :green_heart:
javadoc
2m 47s

the patch passed

+1 :green_heart:
shadedjars
5m 23s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
300m 30s

root in the patch passed.

335m 18s

Subsystem
Report/Notes

Docker
ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6346/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6346

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 4c3b32bf0b76 5.4.0-195-generic #215-Ubuntu SMP Fri Aug 2 18:28:05 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 8760d23516a95ffc6293cf9e47c818df269316af

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6346/1/testReport/

Max. process+thread count
8722 (vs. ulimit of 30000)

modules
C: hbase-asyncfs hbase-server . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6346/1/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.


allow modifier field to be optional

Looks good, needs specs, changelog, docs.

Changes Unknown when pulling 50f4bfb70ab822332e323da8472bcd7f38b73b28 on yads:master into ** on mongoid:master**.

@dblock it looks like the optional association option is only available in Mongoid 6. Which this feature needs to work properly on Mongoid 6. Are you aware of how to do feature/version detection on which version of Mongoid this would be running against? I supposed I could also do something like:
begin
        belongs_to :modifier, class_name: Mongoid::History.modifier_class_name, optional: true
rescue
        belongs_to :modifier, class_name: Mongoid::History.modifier_class_name
end

Do you have any thoughts on how to handle this situation so that this feature works on mongoid versions < 6 and > 6?

You can use checks in Mongoid::Compatibility to see what version is being used in both the implementation and the specs, so no rescue please.

Changes Unknown when pulling 13063fac269c8dd6150ef1898a64ae4884f8ff23 on yads:master into ** on mongoid:master**.

@dblock added some specs and using mongoid-compatibility for feature detection. The only thing I had to up the rubocop module size as tracker.rb was right on the cusp of exceeding 176.

Coverage decreased (-8.8%) to 90.996% when pulling 1b3c42d10f6d40854905a801f7006d88ae1c931b on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Coverage increased (+0.002%) to 99.762% when pulling 103dcb357021145c72ab585378b8abcfb8b4b53b on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Coverage increased (+0.002%) to 99.762% when pulling 103dcb357021145c72ab585378b8abcfb8b4b53b on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Coverage increased (+0.002%) to 99.763% when pulling 01fd3c8301e2fb98d647bd4062a8c9abab243009 on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Coverage increased (+0.002%) to 99.763% when pulling 01fd3c8301e2fb98d647bd4062a8c9abab243009 on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Coverage increased (+0.002%) to 99.763% when pulling 01fd3c8301e2fb98d647bd4062a8c9abab243009 on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Coverage increased (+0.002%) to 99.763% when pulling 01fd3c8301e2fb98d647bd4062a8c9abab243009 on yads:master into d6102a16423be25e892c5e5b47e32506e3295782 on mongoid:master.

Yay, finally passing!

Merging this, thanks!

Coming from #221.
Is the modifier still not actually enforced in Mongoid 6? A spec like https://github.com/mongoid/mongoid-history/blob/master/spec/unit/attributes/destroy_spec.rb never uses a modifier but succeeds in 6 and now fails in 7 saying a modifier is required.


Merge feature-branch RFQ fixedpoint commits into main

This PR will merge approved commits from approved-rfq-fixedpoint into main.
The commits in this PR have already been approved and reviewed here:
https://github.com/lightninglabs/taproot-assets/pull/1136
https://github.com/lightninglabs/taproot-assets/pull/1141

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

127 of 560 (22.68%)  changed or added relevant lines in 17 files are covered.
32 unchanged lines in 13 files lost coverage.
Overall coverage decreased (-0.03%) to 40.442%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tapcfg/server.go
0
1
0.0%

rfqmsg/messages.go
22
28
78.57%

tapchannel/aux_traffic_shaper.go
0
12
0.0%

rfqmsg/records.go
30
43
69.77%

tapchannel/aux_invoice_manager.go
0
14
0.0%

rfqmsg/buy_accept.go
0
21
0.0%

rfqmsg/sell_accept.go
0
23
0.0%

rfq/order.go
0
26
0.0%

rfq/oracle.go
34
63
53.97%

rfqmsg/buy_request.go
0
31
0.0%

Files with Coverage Reduction
New Missed Lines
%

rfq/oracle.go
1
59.85%

tapchannel/aux_traffic_shaper.go
1
0.0%

rfqmsg/buy_accept.go
1
4.76%

rfqmsg/accept.go
2
29.66%

rfqmsg/sell_request.go
2
0.0%

rfqmsg/buy_request.go
2
0.0%

commitment/tap.go
2
84.43%

asset/asset.go
2
81.8%

rfq/negotiator.go
2
0.0%

universe/interface.go
4
50.22%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.03%

Covered Lines:
24381

Relevant Lines:
60286

💛  - Coveralls

Will merge once @roasbeef reviews


Remove unused Twitter account from README

As discussed last Wednesday at HQ.

Maybe we should add a link to @tenzir_company?