unexpected argument in validate when ./ch57x-keyboard-tool validate test.yaml

Hello people,
I'm feeling quite dumb in this moment (also I'm a noob in these things), but I can't figure it out why when I run
./ch57x-keyboard-tool validate test.yaml
all I got is:
error: Found argument 'test.yaml' which wasn't expected, or isn't valid in this context
Usage: ch57x-keyboard-tool validate
For more information try '--help'

So looking into --help I see I should do ./ch57x-keyboard-tool validate but it gets stuck there.
Also, in the readme.md the suggested command is ./ch57x-keyboard-tool validate your-config.yaml
Any tips? Can it be my poorly written .yaml?
I'm trying a 4x1 without knobs.
I basically commented every line beside these things:
orientation: normal

rows: 1
columns: 4
knobs: 0

layers:
  - buttons:
      - ["1", "2", "3", "4"]

Thanks

same issue.

Well, I solved it by just uploading it skipping the validation step (so it's just ./ch57x-keyboard-tool upload test1.yaml in my case).
If someone may need it, here's my configuration file for 4x1 knobless:
4x1-knobless.yaml.zip

Well, I solved it by just uploading it skipping the validation step (so it's just ./ch57x-keyboard-tool upload test1.yaml in my case).
If someone may need it, here's my configuration file for 4x1 knobless:
4x1-knobless.yaml.zip

yea ik but like the function is broken so its always good to report the bug

hitting same bug here. using v1.4.4
OS: Ubuntu 24.04.1 LTS x86_64
Host: B45M2
Kernel: 6.8.0-44-generic
Uptime: 21 hours, 25 mins
Packages: 4111 (dpkg), 20 (snap)
Shell: zsh 5.9
Resolution: 3440x1440
DE: GNOME 46.0
WM: Mutter
WM Theme: Adwaita
Theme: Yaru-dark [GTK2/3]
Icons: Yaru [GTK2/3]
Terminal: gnome-terminal
CPU: AMD Ryzen 5 3500X (6) @ 3.600GHz
GPU: AMD ATI Radeon RX 5600 OEM/5600 XT / 5700/5700 XT
Memory: 15503MiB / 32032MiB

Ok, the cause is that I simplified usage by accepting file name and pushed new code, but didn't build new release. So README indicated new behavior, while binary was old. Now I published version 1.5.0 which matches README.


Integrate Portuguese sample data

First we have to find it!

I have an email out to Daniel about sample data.
Here's a site for Brazilian lyrics - we would have to figure out which artists are the right ones and scrape this unfortunately:
https://www.vagalume.com.br/jorge-e-mateus/pra-sempre-com-voce.html

Daniel just sent us some great data - will integrate before PT release


Failing on 10.13 due to missing fuse.pc

I'm running your vanilla version of mac-dev-playbook with the default config (have tried my own config with the same result) and hitting this strange error in the homebrew role:
TASK [geerlingguy.homebrew : Ensure proper ownership on homebrew_install_path subdirs.] *************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 2] No such file or directory: '/usr/local/lib/pkgconfig/fuse.pc'
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_zlVUfm/ansible_module_file.py\", line 473, in <module>\n    main()\n  File \"/tmp/ansible_zlVUfm/ansible_module_file.py\", line 350, in main\n    changed |= recursive_set_attributes(module, to_bytes(file_args['path'], errors='surrogate_or_strict'), follow, file_args)\n  File \"/tmp/ansible_zlVUfm/ansible_module_file.py\", line 172, in recursive_set_attributes\n    changed |= module.set_fs_attributes_if_different(tmp_file_args, changed, expand=False)\n  File \"/tmp/ansible_zlVUfm/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1507, in set_fs_attributes_if_different\n  File \"/tmp/ansible_zlVUfm/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1164, in set_owner_if_different\n  File \"/tmp/ansible_zlVUfm/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1059, in user_and_group\nOSError: [Errno 2] No such file or directory: '/usr/local/lib/pkgconfig/fuse.pc'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
    to retry, use: --limit @/Users/jbramley/Code/vanilla-playbook/main.retry

Looks like this is also failing on the mac-dev-playbook Travis CI build. I wonder why/how it is working on the Travis build on this repo.

Just tested with the example playbook from the README and seeing the same failure.

See related: https://github.com/geerlingguy/ansible-role-mas/issues/12

Latest CI tests are broken too: https://travis-ci.org/geerlingguy/ansible-role-homebrew/builds/373041096
I wonder what changed here... tests were passing locally and in Travis CI a week ago!

Got a bunch of new errors in previous fix attempt:
TASK [ansible-role-homebrew : Ensure proper homebrew folders are in place] *****
changed: [localhost] => (item=Cellar)
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 2] No such file or directory: '/usr/local/lib/pkgconfig/fuse.pc'
failed: [localhost] (item=Homebrew) => {"changed": false, "item": "Homebrew", "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_heJqzA/ansible_module_file.py\", line 473, in <module>\n    main()\n  File \"/tmp/ansible_heJqzA/ansible_module_file.py\", line 350, in main\n    changed |= recursive_set_attributes(module, to_bytes(file_args['path'], errors='surrogate_or_strict'), follow, file_args)\n  File \"/tmp/ansible_heJqzA/ansible_module_file.py\", line 172, in recursive_set_attributes\n    changed |= module.set_fs_attributes_if_different(tmp_file_args, changed, expand=False)\n  File \"/tmp/ansible_heJqzA/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1507, in set_fs_attributes_if_different\n  File \"/tmp/ansible_heJqzA/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1164, in set_owner_if_different\n  File \"/tmp/ansible_heJqzA/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1059, in user_and_group\nOSError: [Errno 2] No such file or directory: '/usr/local/lib/pkgconfig/fuse.pc'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
changed: [localhost] => (item=Frameworks)
changed: [localhost] => (item=Caskroom)
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 2] No such file or directory: '/usr/local/Caskroom/oclint/0.11,15.6.0/oclint-0.11/bin/oclint'
failed: [localhost] (item=bin) => {"changed": false, "item": "bin", "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_NBbZPO/ansible_module_file.py\", line 473, in <module>\n    main()\n  File \"/tmp/ansible_NBbZPO/ansible_module_file.py\", line 350, in main\n    changed |= recursive_set_attributes(module, to_bytes(file_args['path'], errors='surrogate_or_strict'), follow, file_args)\n  File \"/tmp/ansible_NBbZPO/ansible_module_file.py\", line 172, in recursive_set_attributes\n    changed |= module.set_fs_attributes_if_different(tmp_file_args, changed, expand=False)\n  File \"/tmp/ansible_NBbZPO/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1507, in set_fs_attributes_if_different\n  File \"/tmp/ansible_NBbZPO/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1164, in set_owner_if_different\n  File \"/tmp/ansible_NBbZPO/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1059, in user_and_group\nOSError: [Errno 2] No such file or directory: '/usr/local/Caskroom/oclint/0.11,15.6.0/oclint-0.11/bin/oclint'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
ok: [localhost] => (item=etc)
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 2] No such file or directory: '/usr/local/Caskroom/oclint/0.11,15.6.0/oclint-0.11/include/c++'
failed: [localhost] (item=include) => {"changed": false, "item": "include", "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_GpG2Hq/ansible_module_file.py\", line 473, in <module>\n    main()\n  File \"/tmp/ansible_GpG2Hq/ansible_module_file.py\", line 350, in main\n    changed |= recursive_set_attributes(module, to_bytes(file_args['path'], errors='surrogate_or_strict'), follow, file_args)\n  File \"/tmp/ansible_GpG2Hq/ansible_module_file.py\", line 172, in recursive_set_attributes\n    changed |= module.set_fs_attributes_if_different(tmp_file_args, changed, expand=False)\n  File \"/tmp/ansible_GpG2Hq/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1507, in set_fs_attributes_if_different\n  File \"/tmp/ansible_GpG2Hq/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1164, in set_owner_if_different\n  File \"/tmp/ansible_GpG2Hq/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1059, in user_and_group\nOSError: [Errno 2] No such file or directory: '/usr/local/Caskroom/oclint/0.11,15.6.0/oclint-0.11/include/c++'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 2] No such file or directory: '/usr/local/Caskroom/oclint/0.11,15.6.0/oclint-0.11/lib/oclint'
failed: [localhost] (item=lib) => {"changed": false, "item": "lib", "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_xRhhdr/ansible_module_file.py\", line 473, in <module>\n    main()\n  File \"/tmp/ansible_xRhhdr/ansible_module_file.py\", line 350, in main\n    changed |= recursive_set_attributes(module, to_bytes(file_args['path'], errors='surrogate_or_strict'), follow, file_args)\n  File \"/tmp/ansible_xRhhdr/ansible_module_file.py\", line 172, in recursive_set_attributes\n    changed |= module.set_fs_attributes_if_different(tmp_file_args, changed, expand=False)\n  File \"/tmp/ansible_xRhhdr/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1507, in set_fs_attributes_if_different\n  File \"/tmp/ansible_xRhhdr/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1164, in set_owner_if_different\n  File \"/tmp/ansible_xRhhdr/ansible_modlib.zip/ansible/module_utils/basic.py\", line 1059, in user_and_group\nOSError: [Errno 2] No such file or directory: '/usr/local/Caskroom/oclint/0.11,15.6.0/oclint-0.11/lib/oclint'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
changed: [localhost] => (item=opt)
changed: [localhost] => (item=sbin)
changed: [localhost] => (item=share)
changed: [localhost] => (item=share/zsh)
changed: [localhost] => (item=share/zsh/site-functions)
ok: [localhost] => (item=var)

Looks like the oclint cask screws some things up too. Trying to remove the recurse flag on that task too and will see what that does...

Fixed via commits above—I just tagged and released 2.4.1, which has the removal of the 'recurse' option that was causing these issues. Still not 100% sure why they crept in, but the role and homebrew itself should still work okay without recursively modifying the attributes—I believe that bit was added during a transitional phase in Homebrew's major release a year or two ago, and shouldn't be needed for new installs.

@elliotweiser - Maybe. Does that mess with idempotence though?


No response when running atom at one side of desktop (Windows)

I have a problem with atom (version 1.2.4) on my Windows 10 laptop. In Windows we can split the view and run applications side by side using Win+LEFT or Win+RIGHT key. When we run atom at one side, even if we keep atom at front, typing keyboard won't have any response until the window is restored or maximized.
Here is the way to reproduce the problem.

Open atom, maximize the window, type some content.
Type Win+RIGHT to set atom to the right of the screen.
Keep atom at front, type keyboard (no response this time).
Maximize the window, the content will now show up.

Same issue for me, Atom 1.2.4, Windows 10 desktop.
Actually all the Atom screen doesn't respond, clicking the tree view has not effect, cannot switch tabs...

cc @zcbenz @raelyard - not sure if this is atom-specific or a general electron issue

I can't seem to make this happen, following the same steps.  Win 10 added an extra step after Win+Right where it wants you to pick a windows for the other side of the screen - did you pick something there?  I tried pressing esc there as well as picking a window and not seeing this.

The extra step in Win 10 can be disabled in System / Multitasking / 'When I snap a window, show what I can snap next it'. I turned that on and off, I haven't seen any significant difference on issue, I leave it off.
I did some more testing, the problem is not systematic actually. These steps seem to reproduce more often:

Open Atom
Maximize the window (Win+Up)
Click and hold the menu bar and go down a bit with the mouse just to "de-maximize" the window
Win+Right or click and hold the menu bar and drag to the right border

I haven't been able to reproduce this either. Like @raelyard I originally hit that extra step where it wants me to select a window so then I disabled the extra step in System/Multtaking like @psallandre mentioned and tried the alternative steps. Still no dice. :confounded:
I'll try to take another stab at it later.

I can't reproduce this on Windows 10 using 1.4.0-dev-f2155fa, and I've always had the extra snap feature disabled.

I've the same problem on Win10:
Win + RIGHT -> no draw until window resize
Really annoying bug. Disabling extra snap is not an option.

I'm having this exact same issue. Also on windows 10.

I'm having this exact same issue. Also on windows 10.

I'm having exact same issues. @50Wliu did you enable the Windows 10 snap feature when you tested?

Odd, I just managed to reproduce this when testing what @LondonAppDev suggested.

Turn on the extra snap feature
Win+right Atom, still responsive
Maximize Atom
Turn off extra snap
Win+right Atom, no redraw

Atom 1.5.0-dev-c34ef24.  I can't tell whether this is due to me running Electron 0.36 or not though.  In addition I can't seem to reproduce it reliably.

I have not reproduced with any of the steps described here - simply snapping to right or left as half-screen does not exhibit the behavior for me.
I did, though, find steps to reliably reproduce (on my machine - seems pretty inconsistent experiences).  Extra snap enabled/disabled makes no difference - it happens either way.
Also happens reliably in Slack, so must be Electron.

Maximize Atom
Win+right Atom, still responsive
Win+down Atom to make quarter-screen on lower right, still responsive
Win+left Atom to move to lower left, no redraw

@raelyard try doing it with two instances of Atom. Load the first instance, snap left, then load the second instance and snap right. 100% of the time my right one freezes until I unsnap it.
I am opening a new instance by right clicking a directory and clicking "Open with Atom"

@LondonAppDev not getting the same result.  Two instances doesn't seem to matter and I have yet to see the problem with following your steps.

Adding my voice - I can definitely confirm this issue, and it happens when I drag or use WIN+arrow, and I only ever have one instance/window open at a time.

I get this issue all the time (Currently<EMAIL_ADDRESS>Windows 10). I think it only happens when the window remains the same size before and after the snapping. Easiest way to get a window of the same size is to snap a window and then use the "Open in Atom" context menu link which opens another window.
@raelyard You should reopen this issue. It is definitly a thing!

This will likely be fixed in https://github.com/atom/atom/pull/9627

@benogle Nice!

@maxbrunsfeld Will this change land in<EMAIL_ADDRESS>

I am getting this problem in 1.6.0
windows 10, side-by-side. I've tried safe mode, no change
can anyone confirm? @maxbrunsfeld will you re-open?

I'm running 1.6.1 and it seems to be working fine now. I'll comment, should I run into the problem again. Everything works now as far as I can tell!

I will upgrade and retest at home to see if there are scenarios (it works fine for me with win7 at work, just win 10). Your earlier comment about it only happening when the window is the same size - thats not the case for me.

No this still happens. As @MajorBreakfast pointed out above it only occurs when the window is not resized. I'll raise a new bug.

This is confirmed fixed in 1.7.0 (& present in 1.6.0,1.6.1, 1.6.2)


trinary:  verify ordering of actual/expected

In the Jasmine testing framework, it is convention to:
expect(actual).fn(expected)

But some test suites have the following:
expect(expected).fn(actual)

This causes the error messages to be confusing.
Please verify the trinary exercise to make sure that the expectations are ordered correctly. If they are, then this can be closed.
This issue will help to close #111

Got it


Writing a a dataset to .zarr in a loop makes all the data NaNs

What happened?
I have lots (61) pickled pandas dataframes that I'm trying to convert from pickle/pandas to zarr/xarray. Since the dataframes are large (10000x2048) I can't load them all into memory. To get around this I'm (MCVE below) looping through the pickle files, reading them into dataframes, constructing DataArrays and then Datasets from the data, concatinating the dataset with the previous dataset and updating the dataset to point to this new concatenated dataset.
Since I didn't want to use up too much memory, I'm also periodically writing the Dataset to .zarr in the loop and reopening it (hoping to make use of dask storing data on disk?).
When I do this however, the final dataset ends up being all NaNs.
What did you expect to happen?
I expected the final dataset to contain all the concatenated data.
Minimal Complete Verifiable Example
import pandas as pd
import numpy as np
import glob
import xarray as xr
from tqdm import tqdm

# Creating pkl files
[pd.DataFrame(np.random.randint(0,10, (1000,500))).astype(object).to_pickle('df{}.pkl'.format(i)) for i in range(4)]

fnames = glob.glob('*.pkl')

df = pd.read_pickle(fnames[0])
df.columns = np.arange(0,500).astype(object) # the real pkl files contain all objects
df.index = np.arange(0,1000).astype(object)
df = df.astype(np.float32)

ds = xr.DataArray(df.values, dims=['fname', 'res_dim'],
                  coords={'fname': df.index.values, 'res_dim': df.columns.values})
ds = ds.to_dataset(name='low_dim')

for idx, fname in enumerate(tqdm(fnames[1:])):
    df = pd.read_pickle(fname)
    df.columns = np.arange(0,500).astype(object)
    df.index = np.arange(0,1000).astype(object)
    df = df.astype(np.float32)

    ds2 = xr.DataArray(df.values, dims=['fname', 'res_dim'],
                  coords={'fname': df.index.values, 'res_dim': df.columns.values})
    ds2 = ds2.to_dataset(name='low_dim')

    ds = xr.concat([ds, ds2], dim='fname')
    ds['fname'] = ds.fname.astype(str)
    if (idx%2 == 0) & (idx !=0):
        ds.to_zarr('zarr_bug.zarr', mode='w')
        ds = xr.open_zarr('zarr_bug.zarr')

ds.to_zarr('zarr_bug.zarr', mode='w')
ds = xr.open_zarr('zarr_bug.zarr')

print(ds.low_dim.values)

Relevant log output
[[nan nan nan ... nan nan nan]
 [nan nan nan ... nan nan nan]
 [nan nan nan ... nan nan nan]
 ...
 [nan nan nan ... nan nan nan]
 [nan nan nan ... nan nan nan]
 [nan nan nan ... nan nan nan]]

Anything else we need to know?
If I get rid of the loop saving, everything works normally.
 Have you considered using mode='a' if you want to write from different processes?
For the example — would it be possible to slim that down a bit further? Does it happen with with one read & write after the initial one?

@tbloch1 following up on Max's suggestion - it looks like you might be overwriting the file with every iteration. See the docs on ds.to_zarr - mode='w' will overwrite the file while mode='a' will append. That said, you still would need your indices to not overlap. How are you distinguishing between the files? is each one a different point in time?
To me, this doesn't seem likely to be a bug, but is more of a usage question. Have you tried asking on stackoverflow with the xarray tag?

Have you tried asking on stackoverflow with the xarray tag?

Or GH Discussions! But it would need a smaller MCVE

@max-sixty - I've tried to slim it down below (no loop, and only one save). From the print statements, it's clear that before overwriting the .zarr ds3 is working correctly, but once ds3 is saved it breaks the data corresponding to the initial save (now all NaNs). I am guessing this is due to trying to read from and save over the same data, but I wouldn't have expected it to be a problem if it was loading the chunks into memory during the saving.
df1 = pd.read_pickle(fnames[0])
df1.columns = np.arange(0,500).astype(object) # the real pkl files contain all objects
df1.index = np.arange(0,1000).astype(object)
df1 = df1.astype(np.float32)

ds = xr.DataArray(df1.values, dims=['fname', 'res_dim'],
                  coords={'fname': df1.index.values, 'res_dim': df1.columns.values})
ds = ds.to_dataset(name='low_dim')

ds.to_zarr('zarr_bug.zarr', mode='w')
ds1 = xr.open_zarr('zarr_bug.zarr')

df2 = pd.read_pickle(fnames[1])
df2.columns = np.arange(0,500).astype(object)
df2.index = np.arange(0,1000).astype(object)
df2 = df2.astype(np.float32)

ds2 = xr.DataArray(df2.values, dims=['fname', 'res_dim'],
                coords={'fname': df2.index.values, 'res_dim': df2.columns.values})
ds2 = ds2.to_dataset(name='low_dim')

ds3 = xr.concat([ds1, ds2], dim='fname')

ds3['fname'] = ds3.fname.astype(str)

print(ds3.low_dim.values)

ds3.to_zarr('zarr_bug.zarr', mode='w')

print(ds3.low_dim.values)

The output:
[[7. 8. 4. ... 9. 6. 7.]
 [0. 4. 5. ... 9. 7. 6.]
 [3. 4. 3. ... 1. 6. 1.]
 ...
 [4. 0. 4. ... 5. 6. 9.]
 [5. 2. 5. ... 1. 7. 1.]
 [8. 9. 7. ... 4.
 [ 4.  0.  4. ...  5.  6.  9.]
 [ 5.  2.  5. ...  1.  7.  1.]
 [ 8.  9.  7. ...  4.  4.  1.]]

@delgadom - In the example it's saving every iteration, but in my actual code it's much less frequent. I figured there was probably a better way to achieve the same thing, but it still doesn't seem like the expected behaviour, which is why I thought I should raise the issue here.
The files are just sequentially names (as in my example), but the indices of the resulting dataframes are a bunch of unique strings (file-paths, not dates).
If I try mode='a', append_dim='fname' in my MCVE I get a TypeError:
TypeError: ufunc 'rint' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

@tbloch1 it doesn't copy in to someone else's python atm — that's the "C" part of MCVE...

@max-sixty could you explain which bit isn't working for you? The initial example I shared works fine in colab for me, so that might be a you problem. The second one required specifying the chunks when making the datasets (I've editted above).
Here's a link to the colab.
It's worth noting that the way in which the dataset is broken does seem to be slightly different in each of these examples - in the former example all data becomes NaN, in the latter example only the initially saved data becomes NaN.

In the example it's saving every iteration, but in my actual code it's much less frequent

when I said "you're overwriting the file every iteration" I meant to put the emphasis on  overwiting. by using mode='w' instead of mode='a' you're telling zarr to delete the file if it exists and the re-create it every time to_zarr is executed.
See the docs on xr.Dataset.to_zarr:

mode ({"w", "w-", "a", "r+", None}, optional) – Persistence mode: “w” means create (overwrite if exists); “w-” means create (fail if exists); “a” means override existing variables (create if does not exist); “r+” means modify existing array values only (raise an error if any metadata or shapes would change). The default mode is “a” if append_dim is set. Otherwise, it is “r+” if region is set and w- otherwise.

This interpretation of mode is consistent across all of python - see the docs for python builtins: open
Change your writes to ds3.to_zarr('zarr_bug.zarr', mode='a') as Max suggested :)

@delgadom thanks! This did help with my actual code, and I've now done my processing.
But this bug report was more about the fact that overwriting was converting data to NaNs (in two different ways depending on the code apparently).
In my case there is no longer any need to do the overwriting, but this doesn't seem like the expected behaviour of overwriting, and I'm sure there are some valid reasons to overwrite data - hence me opening the bug report.
If overwriting is supposed to convert data to NaNs then I guess we could close this issue, but I'm not sure that's intended?

@max-sixty could you explain which bit isn't working for you? The initial example I shared works fine in colab for me, so that might be a you problem. The second one required specifying the chunks when making the datasets (I've editted above).

Right, you changed the example after I responded

But this bug report was more about the fact that overwriting was converting data to NaNs (in two different ways depending on the code apparently).
In my case there is no longer any need to do the overwriting, but this doesn't seem like the expected behaviour of overwriting, and I'm sure there are some valid reasons to overwrite data - hence me opening the bug report.

Something surprising is indeed going on here. To focus on the surprising part;
print(ds3.low_dim.values)

ds3.to_zarr('zarr_bug.zarr', mode='w')

print(ds3.low_dim.values)

returns:
[[2. 3. 2. ... 8. 0. 9.]
 [6. 2. 6. ... 2. 4. 3.]
 [0. 8. 8. ... 6. 5. 4.]
 ...
 [1. 0. 5. ... 2. 0. 3.]
 [5. 5. 7. ... 9. 6. 2.]
 [5. 7. 8. ... 4.
 [ 1.  0.  5. ...  2.  0.  3.]
 [ 5.  5.  7. ...  9.  6.  2.]
 [ 5.  7.  8. ...  4.  8.  9.]]

Similarly:

In [50]: ds3.low_dim.count().compute()
Out[50]:
<xarray.DataArray 'low_dim' ()>
array(1000000)

In [51]: ds3.to_zarr('zarr_bug.zarr', mode='w')
Out[51]: <xarray.backends.zarr.ZarrStore at 0x16a27c6d0>

In [55]: ds3.low_dim.count().compute()
Out[55]:
<xarray.DataArray 'low_dim' ()>
array(500000)

So it's changing the result in memory just from writing to the Zarr store. I'm not sure what the cause is.
We can still massively reduce the size of this example — it's currently doing pickling, got a bunch of repeated code, etc. Does it work without the pickling? What if ds3 = xr.concat([ds1, ds1.copy(deep=True)]), etc.

Closing as no MCVE, but feel free to reopen with one


How to open agenda in other file(not org file)

@kristijanhusak I'm sorry. I'm a novice at org. I try to learn org mode here, but I find it difficult to learn. I misunderstand the concept of agenda. I think defining an agenda can be opened in any file and anywhere. I urgently need someone to use orgmode.nvim blog or YouTube

Try checking this: https://www.youtube.com/watch?v=nsv33iOnH34


Spanner context leak fix 1.1.x

same fix as #1476  but for 1.1 branch
fixes #1474

Codecov Report

Merging #1477 into 1.1.x will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##              1.1.x    #1477   +/-   ##
=========================================
  Coverage     68.31%   68.31%
  Complexity     1429     1429
=========================================
  Files           203      203
  Lines          5726     5726
  Branches        577      577
=========================================
  Hits           3912     3912
  Misses         1578     1578
  Partials        236      236

Flag
Coverage Δ
Complexity Δ

#integration
?
?

#unittests
68.31% <100%> (ø)
1429 <0> (ø)
:arrow_down:

Impacted Files
Coverage Δ
Complexity Δ

...k/cloud/gcp/data/spanner/core/SpannerTemplate.java
66.82% <100%> (ø)
60 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


fix:Fixing webpack5 cache invalidation

Currently, webpack5 caching is not working
If the cache was in effect, it would generate files with a '.pack' suffix, like ：

And now, the generated result looks like this：

The reason is that 'compiler.close()' is not called
webpack will generate the cache in 'compiler.close()'
Run 'npm run build' to verify the effect
has a huge impact on compilation speed in a project

Currently, webpack5 caching is not working
If the cache was in effect, it would generate files with a '.pack' suffix, like ：

And now, the generated result looks like this：

The reason is that 'compiler.close()' is not called
webpack will generate the cache in 'compiler.close()'
Run 'npm run build' to verify the effect
has a huge impact on compilation speed in a project

Did not join CLA at that time, so close


RE7

I am unable to start the game in my headset. It displays in VR, but then just loads forever. I am using a Quest 2 via Link cable. RTX 3070 Ti, Windows 11. Anyone able to help me?

Have you tried using virtual desktop on the quest and the virtual desktop client on the PC?  That seems to be the most performante way to run quest on PC from my experience and also tends to solve things like this although I may be wrong since every project is different.
It essentially allows you to bypass the oculus runtime which transcodes the GPU output into a video.  Virtual desktop also sends you a video but it doesn't have as many issues when it comes to a game running on steam vr.


CI/CD GH Actions

Enable CI/CD with GitHub actions

Commit: https://github.com/Pytlicek/hamradio_functions/commit/e4d2d86b1ab51c2ef161c97d6de924f366385aca


[Breaking change]: ConfigurationBinder raises exceptions if ErrorOnUnknownConfiguration is set

Description
If BinderOptions.ErrorOnUnknownConfiguration is set and a value in specified in config that cannot be bound to the corresponding property in the bound model, an InvalidOperationException is now thrown.
Previously, BinderOptions.ErrorOnUnknownConfiguration was solely used to raise an exception if a value existed in config but didn't exist in the model being bound to.
As part of PR https://github.com/dotnet/runtime/pull/77708 (which fixes #73915), this property is now also used to throw exceptions if the value in config cannot be converted to the type of value in the model being bound to.
Version
.NET 8 Preview 1
Previous behavior
Previously, this would silently swallow the exceptions for the fields containing invalid enums:
public enum TestSettingsEnum
{
    Option1,
    Option2,
}

public class MyModelContainingArray
{
    public TestSettingsEnum[] Enums { get; set; }
}

public void SilentlySwallowsInvalidItems()
{
    var dic = new Dictionary<string, string>
        {
            {"Section:Enums:0", "Option1"},
            {"Section:Enums:1", "Option3"}, // invalid - ignored
            {"Section:Enums:2", "Option4"}, // invalid - ignored
            {"Section:Enums:3", "Option2"},
        };

    var configurationBuilder = new ConfigurationBuilder();
    configurationBuilder.AddInMemoryCollection(dic);
    var config = configurationBuilder.Build();
    var configSection = config.GetSection("Section");

    var model = configSection.Get<MyModelContainingArray>(o => o.ErrorOnUnknownConfiguration = true);

    // we previously would end up with just Option1 and Option2 in the bound collection
}

New behavior
Now, if the value cannot be converted to the type of the value in the model, an InvalidOperationException is thrown.
Type of breaking change

[X] Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load/execute or different run-time behavior.
[ ] Source incompatible: Source code may encounter a breaking change in behavior when targeting the new runtime/component/SDK, such as compile errors or different run-time behavior.

Reason for change
In the bug report, users were setting BinderOptions.ErrorOnUnknownConfiguration and expecting that to throw if there were any issues in binding configuration.
But the original intention of it was to just throw if something was missing from the bound model.
Perhaps if I'd originally chosen a clearer name, this might've avoided this confusion. I suggested adding another property in BinderOptions, but we went instead with making the existing property dual purpose.
Recommended action
The recommended action is to change or remove the configuration values that cannot be converted to the properties in the bound model.
Alternatively, change BinderOptions.ErrorOnUnknownConfiguration from true to false
Feature area
Core .NET libraries, Serialization
Affected APIs
All of the following in ConfigurationBinder:

public static T? Get<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(this IConfiguration configuration, Action<BinderOptions>? configureOptions)
public static object? Get(this IConfiguration configuration, Type type, Action<BinderOptions>? configureOptions)
public static void Bind(this IConfiguration configuration, object? instance, Action<BinderOptions>? configureOptions)

Associated WorkItem - 61240

I'd like to challenge the repurposing of the ErrorOnUnknownConfiguration property to control whether an exception must be thrown when a conversion fails. I think the swallowing should never have happened and the exception should be thrown unconditionally.
Surprisingly the exception swallowing was introduced on August 26, 2015 but only reported 7 years later in https://github.com/dotnet/runtime/issues/73915. And I happen to discover it today!
Another option could be to throw an AggregateException since the try/catch happens in a loop.
Any thoughts, @SteveDunn, @tarekgh ?

What I meant by unconditionally is that the exception should always be thrown, no matter the value of ErrorOnUnknownConfiguration.

This will be a big concern for app compatibility. This breaking change will not be trivial. Many working apps may start to experience such unhandled exceptions. This is why we are doing the throwing behavior with the option ErrorOnUnknownConfiguration. Any reason you cannot opt-in to ErrorOnUnknownConfiguration if you want the exceptions?


Restoration on a fresh node fails to verify hash for node using the node password file

Environmental Info:
K3s Version: master HEAD commit ID 2afa3dbe1ce833938e1b39e1b51fd22d7b87ccec
Node(s) CPU architecture, OS, and Version:
dev-shell environment
Cluster Configuration:
1 node
Describe the bug:
After cluster restoration on a fresh node, k3s shows an error:
INFO[2021-06-10T20:43:52.568960427Z] Cluster-Http-Server 2021/06/10 20:43:52 http: TLS handshake error from <IP_ADDRESS>:60600: remote error: tls: bad certificate
ERRO[2021-06-10T20:43:52.688701585Z] unable to verify hash for node 'rke2-server': hash does not match
ERRO[2021-06-10T20:43:52.688933347Z] Failed to configure agent: Node password rejected, duplicate hostname or contents of '/etc/rancher/node/password' may not match server node-passwd entry, try enabling a unique node name with the --with-node-id flag

Steps To Reproduce:

start k3s on 1 node with custom token
take a snapshot using etcd-snapshot subcommand
copy the snapshot to a fresh node
restore the snapshot with the same custom token and the same node name
start k3s server

Expected behavior:
for k3s to start normally
Actual behavior:
k3s shows the above error and kubelet fails to start successfully

Validated using commit ID : k3s version v1.21.2+k3s-4be912b9
Restoration on a fresh node was successful following the steps to reproduce.

@galal-hussein this issue has no milestone - can you set it please? If it's master, then should be v1.22.0 milestone.

This has previously been validated so I am closing.


Fixed a crash when digits keys have been remapped

To be able to efficiently use vim with an AZERTY keyboard (where by default digits can only be used in caps mode or with shift), I remapped some keys in my vimrc, like that:
noremap & 1
noremap é 2
noremap " 3
noremap ' 4
noremap ( 5
noremap - 6
noremap è 7
noremap _ 8
noremap ç 9
noremap à 0

noremap 1 &
noremap 2 é
noremap 3 "
noremap 4 '
noremap 5 (
noremap 6 -
noremap 7 è
noremap 8 _
noremap 9 ç
noremap 0 à

However, this causes a crash in vdebug since it tries to move to a line using the XXgg command.
I fixed this crash by using the alternative syntax (:XX) to move to the required line.

thanks this fix is added in v2-integration


Capacitor 5

Closes #162

It would be really helpful if it was possible to get the release out for the Capacitor 5 upgrade some time soon!


Expose more redis-py configuration options

There are a number of redis-py configuration options that are useful and should be exposed by asgi_redis. Some of them can already be configured via a connection URL, but there are others which cannot.

socket_connect_timeout: Integer. Number of seconds to wait for the connection to be established.
socket_timeout: Integer. Number of seconds to wait for a response to a Redis command. Has to be higher than 5 otherwise the BLPOP operation used by the workers will always timeout.
socket_keepalive: Boolean. Wether to turn on TCP keepalives.
socket_keepalive_options: Dict with values used to configure the keepalive mechanism. It is supposed to use as keys the socket options (socket.TCP_KEEPIDLE, socket.TCP_KEEPCNT, socket.TCP_KEEPINTVL) however, in MacOS, the socket.TCP_KEEPIDLE constant does not exist. According to https://opensource.apple.com/source/xnu/xnu-2422.115.4/bsd/netinet/tcp.h the constant that we need is TCP_KEEPALIVE, which has a value of 0x10, so in theory we can pass that value as key in the dict to set the correct value. But maybe it's better to hide this mess from users.

Related to #26.

Made all four of these configurable via the config dictionary, with a check for timeout being long enough.

Thanks!


2 selected vertices visible while editing spots.

2 selected vertices visible while editing spots.

Fixed by @NathanNovak using commit 586fa2d0aa451d7258b6cc17071b42f83a385f4b


Use tensor.Dense in similarity

Overview

Change vector/ to tensor.Dense

Coverage decreased (-2.7%) to 52.308% when pulling a026047c7ea8228502ed813fc34d4dbd042b01c4 on usetensor into fe45ffc19e4d1f74574e4db8a45f2d282cfc8621 on develop.

Coverage decreased (-3.8%) to 51.188% when pulling bc9ae8fb1a6a26e6cffbb87229a0a6a88c79f0c9 on usetensor into fe45ffc19e4d1f74574e4db8a45f2d282cfc8621 on develop.


Add FindSequenceDiagram.puml file

Describe your changes

Add FindSequenceDiagram.puml for illustration of sequence diagram for find command
Update DG

Issue ticket number and link
closes #148
Checklist before requesting a review

[X] I have performed a self-review of my code.
[X] If it is a core feature, I have added thorough tests.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:


Parallel test running in testng and selenide

The problem
Parallel test runs in Selenide uses one global configuration
Details
https://github.com/selenide/selenide/issues/354 and a couple of other issues, I've seen already.  It seems as though this feature is now implemented but I don't know how it works.  In the following code, only one type of browser is opened for ALL tests.  Whichever thread manages to set the browser configuration last, sets it for ALL tests.
Tell us about your environment

Selenide Version:  5.5
Chrome\Firefox\IE Version:  Latest chrome/firefox
Browser Driver Version:
Selenium Version:
OS Version:  macosx

Code To Reproduce Issue [ Good To Have ]
package org.selenide.examples;
import com.codeborne.selenide.Configuration;
import org.openqa.selenium.By;
import org.testng.annotations.*;

import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;
import com.codeborne.selenide.testng.ScreenShooter;

@Listeners({ ScreenShooter.class})
public class GoogleTest {
    @BeforeGroups
    public void setUpTest() {
        open("https://www.facebook.com");
    }

    @Test
    public void testSelenide( ) {
        Configuration.reportsFolder = "test-result/reports";
        ScreenShooter.captureSuccessfulTests = true;
        Configuration.browser = "chrome";
        open("http://google.com");
    }

    @Test
    public void testParallel() {
        Configuration.reportsFolder = "test-result/reports";
        ScreenShooter.captureSuccessfulTests = true;
        Configuration.browser = "firefox";
        open("http://google.com");
    }

    @Test
    public void testAnotherParallel() {
        Configuration.reportsFolder = "test-result/reports";
        ScreenShooter.captureSuccessfulTests = true;
        Configuration.browser = "firefox";
        open("http://google.com");
    }
}

@lsdkjflasjflkdasj  In that sense, this feature is not implement in Selenide. Configuration.browser is still a static field.
You have 2 options:

As described in https://github.com/selenide/selenide/issues/354, you can create a separate SelenideDriver instance in every test, and you it instead of static methods Selenide.open and Selenide.$. You will get thread-safe configurations, but code of your tests will be more polluted.
(I recommend) to keep your tests as is, but parallelize differently. Just remove lines with Configuration.browser from your tests.

As long as I see, the only setting which is different in your tests is Configuration.browser.
I think that it's a misuse of test parallelization. Instead, I recommend to create 2 different profiles (in Maven) or tasks (in Gradle): one for Firefox and other for Chrome. Then you will have 2 jobs in Jenkins: one for Firefox and other for Chrome. And the you will be able to run those jobs in parallel.


build error using logger in test case

The following trivial patch:
diff --git a/tests/kernel/fatal/src/main.c b/tests/kernel/fatal/src/main.c
index b6f6922c70..e71445a028 100644
--- a/tests/kernel/fatal/src/main.c
+++ b/tests/kernel/fatal/src/main.c
@@ -11,6 +11,9 @@
 #include <irq_offload.h>
 #include <kswap.h>

+#include <logging/log.h>
+LOG_MODULE_DECLARE(fatal);
+
 #if defined(CONFIG_USERSPACE)
 #include <syscall_handler.h>
 #include "test_syscalls.h"
@@ -360,6 +363,7 @@ void test_fatal(void)
 /*test case main entry*/
 void test_main(void)
 {
+       LOG_ERR("hi there");
        ztest_test_suite(fatal,
                        ztest_unit_test(test_fatal));
        ztest_run_test_suite(fatal);

Is expected to work, but results in a build error at link time:
/opt/zephyr-sdk/i586-zephyr-elf/bin/../lib/gcc/i586-zephyr-elf/8.3.0/../../../../i586-zephyr-elf/bin/ld: ../app/libapp.a(main.c.obj): in function `log_const_source_id':
/home/apboie/projects/zephyr4/zephyr/include/logging/log_core.h:388: undefined reference to `log_const_fatal'
collect2: error: ld returned 1 exit status
zephyr/CMakeFiles/app_smem_unaligned_prebuilt.dir/build.make:94: recipe for target 'zephyr/app_smem_unaligned_prebuilt.elf' failed
make[2]: *** [zephyr/app_smem_unaligned_prebuilt.elf] Error 1
CMakeFiles/Makefile2:528: recipe for target 'zephyr/CMakeFiles/app_smem_unaligned_prebuilt.dir/all' failed
make[1]: *** [zephyr/CMakeFiles/app_smem_unaligned_prebuilt.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

I reviewed the documentation at https://docs.zephyrproject.org/latest/reference/logging/index.html and I don't see what I'm missing, if this is a problem on my end.
In this scenario CONFIG_LOG and CONFIG_LOG_IMMEDIATE are enabled. I reproduced this on qemu_x86.
Just to rule out any issues with user mode, I tried this on some tests which don't enable user mode, and got the same result, it broke in the same way building tests/kernel/spinlock on qemu_x86_64.

@andrewboie now sample builds because LOG_MINIMAL is enabled which is not using module registration. If LOG_MINIMAL is not set then sample in fact does not build because LOG_MODULE_DECLARE(fatal) expects that somewhere in the build there is LOG_MODULE_REGISTER(fatal) call and there is no such logging module registered. kernel/fatal.c is using os module.


Add Swift icon for Spring project

Project URL

Description

Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 8 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

Good catch! Thanks @jasonke!


Improvement of Transform Animation docs

Enhancement proposal

It would be nice if we improve the Transform animation docs, because some don't even have what they do, so by doing that Manim would become a lot more "newbie" friendly.

Additional comments

No further comments

I would add it as a good first issue


Add check to see if chart was actually installed.

Helm fails to return an error code when it times out connecting to tiller and fails to install the chart.
Note the result code is 0. The chart was not installed.
    "rc": 0,
    "start": "2017-07-21 16:10:52.460977",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "E0721 16:11:04.722688   13271 portforward.go:212] Unable to create listener: Error listen tcp6 [::1]:34107: bind: cannot assign requested address\nError: context deadline exceeded",
    "stdout_lines": [
        "E0721 16:11:04.722688   13271 portforward.go:212] Unable to create listener: Error listen tcp6 [::1]:34107: bind: cannot assign requested address",
        "Error: context deadline exceeded"
    ]

A rudimentary test directly from my mac to a non-existent tiller does return a error code of 1.
mikeln-bender:k2 Mikel_Nelson$ helm ls
Error: Get https://<IP_ADDRESS>/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: dial tcp <IP_ADDRESS>:443: i/o timeout
mikeln-bender:k2 Mikel_Nelson$ echo $?
1

ok, wait, not the same error.

Can you assist with this?

This should be an upstream bug. If helm errors when installing a chart, the result code should be non-zero.

Can y'all give me a little more context so that I can reproduce? What commands on what chart was run to produce something that returned a 0 exit code but an error. I've tried several combinations and have not been able to reproduce this situation.


"Problems" popup has ambiguous x icons

This is somewhere between a feature request, a suggestion and a UX bug. I searched open issues and didn't find a dupe, but please close this if it exists somewhere.
The "Problems" popup icon and the close icon are too similar. Especially for Mac users, I always click on the icon on the left to try to close it. I am not sure if this can be changed by a theme/skin.

I'm on the following version but this has been lightly bothering me for quite some time:
Version: 1.45.1
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:33:47.663Z (1 wk ago)
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.4.0

Thanks!

Please see https://github.com/microsoft/vscode/issues/92791 where you should be able to overwrite the default icons. I'm not sure whether the problems panel has these in yet but subscribe to that issue to get updates. cc @aeschli


MockDispatcher to not accidentally run on other threads

Commit Message: MockDispatcher to not accidentally run on other threads
Additional Description: Several issues have been found recently where the MockDispatcher's default behavior of just running the callback immediately causes tests to pass, but asan/tsan/release tests fail, because it ends up running the callback on a different thread, exactly the opposite of almost the whole point of posting things on a dispatcher which is to put them on a specific thread. This change makes MockDispatcher insist on being on whichever thread created the dispatcher, most likely the main thread in tests. This is still not great because the behavior of running the callback immediately is still quite different from the behavior of a dispatcher in production, e.g.
auto x = std::make_shared<int>(0);
this_thread_dispatcher.post([x]() { *x += 5; });
*x += 1;
std::cerr << *x << std::endl;

would always output 6 with a default MockDispatcher, and would always output 1 with a production dispatcher, but at least cases like that can be debugged linearly and will be the same in all test environments, versus the running on a different (and incorrect) thread problem is very difficult to debug and sometimes only shows up (and sometimes flakily) in the harder to run test contexts.
(But still pretty bad in that test coverage would say a thing works, then in production it could do a different thing than it did in tests.)
Since it's a mock the behavior can also be manually overridden to be the old way. Arguably it should have just always required explicit manual interception because it's supposed to be a mock not a fake.
Risk Level: Should be safe since it's test-only.
Testing: This is test-only.
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

/retest


mapping: invalid add_response_headers causes pod crash

I have been running Ambassador version 3.3.0 for more than a month without issue. Today, I tried to restart the edge-stack deployment after updating our SSL certificate, as I wasn't getting the new cert when making an HTTP request.
The pods would start, crash, and repeat, without ever going into a healthy state. I decided to upgrade to 3.3.1 to see if that would fix it. Still, the pods start, crash, and repeat. It appears that the pod cannot download the file "github.com/datawire/apro/v3/cmd/amb-sidecar/devportal/server/http.go:75". Not sure if this is the root issue though. I have attached a log of one of the pods trying to start up.
ambass.txt

Turns out leaving the "value" property blank in add_response_headers, and including the "append" property was causing this issue. I've attached what the yaml looks like that's causing the problem. It would be nice if this was handled more gracefully.

@tcomben , it seems Ambassador would not be expecting an empty string when set to true, although agreed we'd not want the pod to crash in that case.  I imagine the solution would be something like the pod would enter healthy state regardless but would fail to append your response header and perhaps ideally inform you of the empty string error in the logs?

@tcomben , it seems Ambassador would not be expecting an empty string when set to true, although agreed we'd not want the pod to crash in that case. I imagine the solution would be something like the pod would enter healthy state regardless but would fail to append your response header and perhaps ideally inform you of the empty string error in the logs?

That sounds great; thank you.

It was accidental.

@tcomben - Thanks! This is what I thought, I just wanted to make sure there wasn't a feature request in there as well. So, we definitely want to see what we can do to force better validation sooner and also ensure we are not crashing.
What version of K8s are you using?

At the time I logged the ticket, I believe it was 1.24.6.

For reproduction:

Follow emissary-ingress quick-start  - https://www.getambassador.io/docs/edge-stack/latest/tutorials/getting-started
Edit mapping to include:

add_response_headers:
    cache-control:
       append: true

ideas

For newer K8s clusters we can leverage CEL to enforce there being a value but this was only enabled in k1.25 by default.
Remove omitempty from json struct tag so that when deserialized it will be Value: "". This might be unexpected behavior, is potentially a breaking change and not sure it provides the appropriate behavior.
Add validation in the IR processing of these headers to ensure they are valid when adding them to an Envoy Route. This is probably the best path forward since it would work in all supported K8s versions and wouldn't be a breaking change but rather a bug fix. The downside is that the user feedback loop is lazy and they would have to look in the logs or diagnostic UI to find out why the mapping was dropped.

I will work on this.


Export test failure investigation

Codecov Report

Merging #535 into 7.x will increase coverage by 0.00%.
The diff coverage is 54.16%.

@@            Coverage Diff            @@
##                7.x     #535   +/-   ##
=========================================
  Coverage     52.71%   52.72%
- Complexity    13432    13434    +2
=========================================
  Files          1787     1787
  Lines         85588    85589    +1
  Branches      11234    11233    -1
=========================================
+ Hits          45115    45124    +9
+ Misses        35737    35736    -1
+ Partials       4736     4729    -7

Impacted Files
Coverage Δ
Complexity Δ

...wowl/snomed/core/rest/SnomedExportRestService.java
3.26% <0.00%> (ø)
1.00 <0.00> (ø)

...ore/request/rf2/SnomedRf2ExportRequestBuilder.java
90.90% <ø> (ø)
16.00 <0.00> (ø)

...rnational/snowowl/core/attachments/Attachment.java
33.33% <35.71%> (+33.33%)
3.00 <3.00> (+3.00)

...l/snomed/core/rest/SnomedRf2ExportRestService.java
91.66% <100.00%> (ø)
2.00 <0.00> (ø)

.../datastore/request/rf2/SnomedRf2ExportRequest.java
77.75% <100.00%> (+0.09%)
87.00 <5.00> (-1.00)
:arrow_up:

...nternational/snowowl/core/request/LockRequest.java
0.00% <0.00%> (ø)
0.00% <0.00%> (?%)

...d/ecl/parser/antlr/internal/InternalEclParser.java
56.57% <0.00%> (+0.05%)
368.00% <0.00%> (ø%)

.../snomed/core/ecl/SnomedEclRefinementEvaluator.java
88.04% <0.00%> (+0.29%)
110.00% <0.00%> (ø%)

.../b2international/index/es/client/EsClientBase.java
66.66% <0.00%> (+1.19%)
14.00% <0.00%> (ø%)

...index/src/com/b2international/index/es/EsNode.java
85.54% <0.00%> (+1.20%)
16.00% <0.00%> (+1.00%)

... and 2 more

Continue to review full report at Codecov.

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


feat: Addedfollowing pointer on Homepage (PR #856)

Pull Request Details
Description
To make the website more appealing I used user's avatar on homepage to pop up when hovered over a specific area.
Fixes
PR #856
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Refactoring
[ ] Other (specify): _______________

Summary
Added the feature to see your name and avatar when your cursor is over a specific area.
Screenshots (if applicable)

Additional Notes

Dependencies installed:
npm i framer-motion clsx tailwind-merge
npm install random-avatar-generator
npm install unique-names-generator

Also I linted the codebase

Checklist

[x] I have read and followed the Pull Requests and Issues guidelines.
[x] The code has been properly linted and formatted using npm run lint:fix and npm run format:fix.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, snapshots, and videos after making the changes.
[x] I have not borrowed code without disclosing it, if applicable.
[x] This pull request is not a Work In Progress (WIP), and only completed and tested changes are included.
[x] I have tested these changes locally.
[x] My code follows the project's style guidelines.
[x] I have updated the documentation accordingly.
[x] This PR has a corresponding issue in the issue tracker.

Summary by CodeRabbit

New Features

Introduced a follow pointer card component that tracks mouse movements and displays dynamic content on the home page.
Added utility functions for combining class names and dynamic Tailwind CSS configurations.

Enhancements

Improved code readability, consistency, and formatting across multiple backend controllers and models.
Enhanced error handling mechanisms in various backend controllers.
Updated and added new dependencies in the client package.

Bug Fixes

Corrected indentation, spacing, and syntax errors in multiple backend files to ensure better code quality and maintainability.

Refactor

Refactored several backend controllers for better structure and readability.
Reordered properties and adjusted formatting in various backend models and utility files.

Style

Adjusted formatting, added semicolons, and improved code alignment in several backend files.

Chores

Updated Tailwind CSS configuration to include new properties and dynamic color handling functions.
Added new dependencies to the client package for avatar generation and unique name generation.

Please check CodeRabbit's suggestions

@pranshugupta54 just resolved them


NBT: "CustomDisplayTile" of "summon minecart" and "DisplayState" of "Name" throw unknown key

Handled in Yurihaia/mc-nbtdoc#3.


Feat: ReduceLogSum

Implement ReduceLogSum operator.

I'll take this

https://github.com/gizatechxyz/orion/pull/486


[Plugin Proposal]: suggest_issues: Suggest issues as per difficulty level

Bot will randomly select 5 unassigned issues from all coala repositories and suggest it based on the asked difficulty level.
corobo suggest issue <newcomer/low/medium/high>

@nvzard is this feature already implemented?

@nvzard this plugin has not yet been implemented.Are you planning to work on it or can it be assigned to someone else?


Clarify meaning of "free"

"FLOSS" is a neutral term, whereas "FOSS" is biased towards open-source; the former explains that "free" is actually referring to freedom, not price, whereas the latter leaves it ambiguous to the detriment of free software; most people will probably assume that "free" means "gratis", and not "libre".

I appreciate the pull request, but I don't think we need to make a distinction in the marketing text.

Please may you consider reading the entry on "FOSS" in this GNU article?


Implement global attributes basic(no locking)

Why make this pull request?
[Explain why you are making this pull request and what problem it solves.]
What has changed
[Summarize what components of the repo is updated]
[Link to xdb-apis/xdb-golang-sdk PRs if it's on top of any API changes]

API change: ...
Golang SDK change: ...
Server Component 1: ...
Server Component 2: ...

How to test this pull request?
[If writing Integration test in Golang SDK repo, please provide link to the pull request of Golang SDK Repo]
Checklist before merge
[ ] If applicable, merge the xdb-apis/xdb-golang-sdk PRs to main branch
[ ] If applicable, merge the xdb-apis/xdb-apis PRs to main branch
[ ] Update go.mod to use the commitID of the main branches for xdb-apis/xdb-golang-sdk

@duoertai @zklgame not completed yet, but open to any early review 😂 (sorry it took me a long time to get here)


add support for missing SIMD float intrinsics

These are being exposed by core::simd  with https://github.com/rust-lang/rust/pull/122905.

@bors r+

:pushpin: Commit 9509f21f615d3b8da396438dca044f7229fbbc2a has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 9509f21f615d3b8da396438dca044f7229fbbc2a with merge 33e93f75b4388090c9d57d1b72cbc7e36ba707f0...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 33e93f75b4388090c9d57d1b72cbc7e36ba707f0 to master...


Documentation for draw()

On page for draw() API method
replace

Please note that the string options require or newer

with

Please note that the string options require DataTables 1.10.8 or newer

Thanks. Fix committed and will be pushed out soon.


Tab completion falls back to inserting tab-character

Issue Type: Bug
Open a blank file
set 'indent using spaces'
set 'editor.renderWhitespace' to all
type 'test'
press the tab key twice
type 'tabs'
a hard tab is inserted between the words instead of all spaces.
next, 'convert indentation to tabs'
the errant hard tab does not go away
This is unexpected behavior.  When indent using spaces is set, I assume the document will contain no tabs.  I made a dozen new files and only discovered the secret tabs after checking the files into a git repo and noticing horrendous indentation problems.  Files are filled with tabs that seem to be stuck to whatever came before them, and 'convert indentation to tabs' does nothing.  :(
relevant user settings:
"editor.detectIndentation": false,
"editor.tabSize": 4,
"editor.insertSpaces": true,
VS Code version: Code 1.30.1 (dea8705087adb1b5e5ae1d9123278e178656186a, 2018-12-18T18:05:00.654Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (8 x 4009)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: unavailable_softwarevideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
64.00GB (56.59GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

cpptools
ms-
0.20.1

platformio-ide
pla
1.6.0

(1 theme extensions excluded)

Forgot to mention:
This was happening with "editor.tabCompletion": "on",
It stops with "editor.tabCompletion": "off",

Even i faced the same issue. But it's fixed after disabling Vim emulator (vscodevim).

+1. It prints <tab>


Pull request #12 with a fix that makes tests pass

This is build request https://github.com/apache/fineract-cn-fims-web-app/pull/12 with fix to make build pass again and travis is configured to build all branches.
Only accept this build request if https://github.com/kengneruphine/fineract-cn-fims-web-app/pull/1 will have no response. This Pull request is to demonstrate that it fixes the build (which is desperately needed)

We just merge this PR and close this: https://github.com/apache/fineract-cn-fims-web-app/pull/12
@kengneruphine , @aasaru Thank you very much


Bitwise operators question

Hello,
I'm here just to ask what is the main usage of the bit operators here? in the off function you're using >>> at line 40
all[type].splice(all[type].indexOf(handler) >>> 0, 1);

And in the old source code you used ~ also inside the off function at line 34
I just want to know why because I can't see a reason to use them and thank you in advance

I'll take a stab at this.
Short answer
The short answer is that the current version of this function gzips slightly better than the older one. Every byte matters when you only have 200 to work with.
Longer answer
Both versions of the function are functionally identical. The reason for the change is size. gzip works by finding redundant strings and replacing them with a pointer to a previous occurrence of that sequence of characters.
For example, the current version uses the string all[type] 6 times. That sequence of characters takes (I believe) 9 bytes to store, so raw all 6 appearances would take 54 bytes. But with gzip encoding they only take 19 bytes (I think).
Bitwise Operations
Now if you're interested in how these implementations work, I'll do my best to give a quick rundown.
Bitwise Not
The older version of the code uses a bitwise not (~) as a shorthand way of checking if indexOf returns a valid index.
See, you can't just use the value returned by indexOf() in an if statement. indexOf returns 0 for the first index of an array, but 0 is falsy so it would fail the if-check. Similarly, indexOf returns -1 to indicate that the value is not in the array, but -1 is a truthy value, so it would pass an if-check.
You can work around this by performing a bitwise not on the return value.  This transforms 0 into a truthy value (~0 === -1) and -1 into a falsy one (~ -1 === 0). All other values will continue to be truthy.
Zero-fill right shift
The new algorithm uses a zero-fill right shift (>>>) in a splice call on an array. Splice is used here to mutate the source array by removing a specific callback function from the list of callbacks. Before getting into how >>> works, first note now splice treats it's first argument:

Index at which to start changing the array (with origin 0). If greater than the length of the array, actual starting index will be set to the length of the array. If negative, will begin that many elements from the end of the array (with origin 1).

As previously discussed indexOf will return -1 when the value isn't found in the array, but this will lead to unexpected behavior. And because of the strict byte limit we can't add additional if-checks or we'll bloat the file size. As such, we need to find a way to always call splice, but have it noop when the specified callback isn't found. That's where >>> comes in.
In the context of array indices, the most important thing to note a zero-fill right shift of 0 is that it's effectively does nothing to positive values (24 >>> 0 === 24 and 0 >>> 0 === 0), but it it completely changes the 'not found' return value (-1 >>> 0 ===<PHONE_NUMBER>). 4,294,967,295 is important here because it's the maximum possible index of an array in JavaScript.
In other words, if the supplied callback isn't found in the callback list, the splice call will try to remove the last possible value in the array. If no such value exists, then the operation completes without mutating the callback list.
Sources

0: Bitwise Operators
1: Bitwise NOT on MDN
2: Zero-fill_right_shift on MDN
3: Why is a Javascript Array index at most<PHONE_NUMBER> but not<PHONE_NUMBER>? on StackOverflow
4: Section 9.4.2 of ECMA-262 7th Edition states that "A String property name P is an array index if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 ‑ 1."

@KhaledElAnsari Did my previous comment answer your question? If so, please close this issue. If not, I'd be happy to try again 😄

@svincent Thank you man I really appreciate it but let me get this straight the bit operator here is used just to avoid the non-existing element issue? nothing more?

@KhaledElAnsari yup - it's a shortcut for this:
let e = list(type),
    i = e.indexOf(handler);
if (i!==-1) e.splice(i, 1);

Just saves a few bytes.

I did some tests on Opera/Chrome and FireFox for the splice function with and without the bit operator and it turned out that it's faster with a bit operator! Almost half the time!!
Thank you guys for your help :D


linktest.c:(.text.startup+0x6e47): undefined reference to `LAPACKE_csyr'

At the link stage of compilation using make, I get undefined reference errors to all LAPACKE_ functions. Should linking be done against a particular library not mentioned in GotoBLAS_02QuickInstall.txt?

I too am seeing the same error message. I'm building using the following:
make CC=/home/user/bin/gcc FC=/home/user/bin/gfortran NO_STATIC=1 NO_AFFINITY=1 USE_OPENMP=1 DYNAMIC_ARCH=0 TARGET=HASWELL NUM_THREADS=20 MAJOR_VERSION=3 libs shared
I'm using a custom compiler, and not the one that came with the system.

The issue does not occur when I do a static build:
make CC=/home/user/bin/gcc FC=/home/user/bin/gfortran NO_STATIC=0 NO_AFFINITY=1 USE_OPENMP=1 DYNAMIC_ARCH=0 TARGET=HASWELL NUM_THREADS=20

@physkets I suspect the actual difference is in if you tell make to execute specific targets (libs shared) or if you do a complete build. (But linktest is only run to make sure that the dynamic library was built correctly, so you would not see it when building just the static library by setting NO_SHARED=1)


spiderman head change size, change colour + use of iamdani midi controls

Hey I did a bit more work on it and swapped out the model because it has too many vertices and slows down the program


Hydra demo docker-compose up -d

I am trying to follow the Hydra: Head Protocol demo ( https://hydra.family/head-protocol/docs/getting-started/demo/with-docker/ ). When I do docker-compose up - d I get the following errors:
WARNING: The PWD variable is not set. Defaulting to a blank string.
Starting demo_cardano-node_1 ...
Starting prometheus          ...
Creating demo_hydra-node-2_1 ...
Creating demo_hydra-node-1_1 ... error
Creating demo_hydra-node-3_1 ...
Creating demo_hydra-node-2_1 ... error
ERROR: for demo_hydra-node-1_1  Cannot create container for service hydra-node-1: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for demo_hydra-node-2_1  Cannot create container for service hydra-node-2: create .: volume name is too short, naStarting prometheus          ... error

ERROR: for demo_hydra-node-3_1  Cannot create container for service hydra-node-3: create .: volume name is too short, names should be at least two alphanumeric characters

Starting demo_cardano-node_1 ... done
x.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:75: mounting "/prometheus.yml" to rootfs at "/etc/prometheus/prometheus.yml" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for hydra-node-1  Cannot create container for service hydra-node-1: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for hydra-node-2  Cannot create container for service hydra-node-2: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for hydra-node-3  Cannot create container for service hydra-node-3: create .: volume name is too short, names should be at least two alphanumeric characters

ERROR: for prometheus  Cannot start service prometheus: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:75: mounting "/prometheus.yml" to rootfs at "/etc/prometheus/prometheus.yml" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

I am on a proxy server, if that is of any significance.

It looks like you are not starting from the demo/ directory as it cannot find the required files

It looks like you are not starting from the demo/ directory as it cannot find the required files. Also, seems like you are missing PWD environment variable, which admittedly is never mentioned in the docs.

I'm positive i'm in the demo directory.

It's the PWD that's causing issues. #288 removes it and should fix your problem.

It's the PWD that's causing issues. #288 removes it and should fix your problem.

Okay I'll try

It's the PWD that's causing issues. #288 removes it and should fix your problem.

Thanks a lot. It did.


Source maps having wrong paths

Describe the bug
I am developing a cross-platform application, and part of that is using @capacitor-community/electron for desktop.
The build and export itself works fine, and the electron application is functioning, but I cannot get the source maps to work.
I am updating the electron build like this:
ionic cap sync
And then run it by going to the electron directory and:
npm run build && electron ./
It seems to me that the .map files are just blindly copied from root/build/static/js to root/electron/app/static/js.
Naturally, the paths inside of the .map files won’t work in that location, as an additional “…/” (or even “…/…/”?) would be required.
The errors all look like this:
devtools failed to load sourcemap could not load content for “capacitor-electron://-/static/js/16.45739f90.chunk.js.map”
Is there a way to tell ionic (or capacitor) to change the paths so that the source maps will work with the electron target?
I'm not entirely sure if this is a bug or something additional I'd need to do to make it work properly.
Desktop (please complete the following information):

OS: Manjaro Linux

First, if you are using the @capacitor-community/electron please use the capacitor cli features of Capacitor v2.3.0+, for example npx cap sync @capactior-community/electron
As for the source map issue, what kind of project are you build (ionic angular/react, vuejs, ect..)?

I experience this with an Ionic react app.

This stems from an issue with Electron itself which may be inherently from a Chrome v80+ bug.
Read more here: https://github.com/electron/electron/issues/22996

I also experience this with an Ionic react app.

@IT-MikeS However, I don't think this is the error I am seeing.
In the one you linked, Electron is unable to find a correct path.
In my case, the path itself is incorrect, because the .map files are actually created by ionic (I assume?) and then just copied to their new destination in the electron folder. In their new locations, their paths are not correct anymore.
I'll try with the suggested CLI tomorrow. And I'll also try to manually correct the paths to be sure that is the issue.

What I did to recreate the issue is to create a basic starter app through the ionic cli ionic start testapp tabs --type=react.
I do get the warning about the source maps in dev tools, they are warnings and the app functions correctly without the maps, and the paths of mine are correct capacitor-electron://-/static/js/27.f5e6c67c.chunk.js.map but electron still can not resolve them. This is due to that bug/issue I linked.
If you are getting something else, would it be possible to post up a repo or even screen captures of the issue?

I think there might be a misunderstanding here.
The error message doesn't say that the .map file cannot be found. The path capacitor-electron://-/static/js/27.f5e6c67c.chunk.js.map is correct (assuming that capacitor-electron://-/ leads to root/electron/app).
However, the path inside of the .map file is incorrect.
For example, one of my .map files begins like this:
<EMAIL_ADDRESS>...
That path<EMAIL_ADDRESS>works if you assume the root to be the working directory.
However, it does not work if the working directory is root/electron, as that would require the path to become "../../node_modules/...".
The error says could not load content for ... - it doesn't say that it cannot find the file itself.

Either way, I did adjust some of the paths inside of the .map files to point to the correct location (assuming it starts looking in root/electron/app), but the error message remains the same.
While I do think there is an error here with the paths inside of the .map files, there is also the bug inside of Chromium itself which prevents loading of source-maps from custom schemes as you mentioned.
Both would have to be resolved, but one is obviously out of this repo's hands.

Having the same issue here (albeit with ionic-angular).
As a workaround I switched to 'cheap-module-eval-source-map' in webpack.

Downgrading electron all the way to version 7 removes the issue.  I'm a total noob to electron, do electron versions correlate with ChromeVXX versions?

This is an issue in electron it self but should be resolved with the new versions, and will be part of v3 of the platform.

This is resolved in v3 so I will close this for now


partialPivLu: rework OpenMP workaround.

The explicitly named partialPivLuN(...) functions still seem to be
required, but by providing specialisations of partialPivLu(...) in
the header then we seem to be able to revert one change to the code
generation and allow usage of nmodl::newton::newton_solver(...) in code
compiled with OpenMP. This includes the reduced dentate model after the
changes made in #804.
So far only tested locally with OpenMP and NVHPC 22.1. Being tested in the CI of https://github.com/BlueBrain/CoreNeuron/pull/766.
Closes https://github.com/BlueBrain/CoreNeuron/issues/767.

CoreNEURON CI also passed with this branch: https://github.com/BlueBrain/CoreNeuron/pull/766#issuecomment-1024405524


Update component properties at runtime? (reverse of @onResize/@onDrag)

I'm able to correctly synchronize data with the resizing/dragging events,
however is there a way to do the reverse?
If I update the data manually, is there a way to update the component's properties ?
Binding x, y, w, h only sets the default values on mount, I want to be able to edit the data properties (x, y, w, h) through a function and have the component visually update.

This is a duplicate of #14.
In short, use v2 from dev branch.
npm install https://github.com/mauricius/vue-draggable-resizable#develop --save
Then in your main.js:
import VueDraggableResizable from 'vue-draggable-resizable/src/index'
import 'vue-draggable-resizable/src/components/vue-draggable-resizable.css'
Vue.component('vue-draggable-resizable', VueDraggableResizable)

Thanks


fix imageRepo field

/kind bug
What this PR does / why we need it:
fix spec.localService.imageRepo field, add omitempty
Special notes for your reviewer:
I0227 10:58:24.756617   27988 controller.go:214] InfoManifest Controller receive event kubeaninfomanifest-v0-4-4
W0227 10:58:24.795944   27988 controller.go:222] Manifest.kubean.io "manifest-global" is invalid: spec.localService.imageRepo: Invalid value: "null": spec.localService.imageRepo in body must be of type object: "null"

/lgtm

/lgtm


Add missing cases in core::syscalls::syscall_info::get_syscall_size_from_name

The function is missing cases for various syscall names, causing the unreachable case to panick when running cairo 1 contracts with syscalls

This was already done


This is another fake issue to show I know how to post issues

see title

This is a fake answer acknowledging your fake issue for the Part Studios Assignment


Crash when using EssentialCmds with PermissionManager

Whenever i use those 2 together the server crashes
I'm not really sure if this is an EssentialCmds issue or a PermissionManager issue
(Theres also a forestry error but i don't really see how forestry can interfere with EssentialCmds)
Error Log
Full Server Log

Permission manager


[Tour of Beam] [Task] Support Github authentication for ToB (Frontend)

What needs to happen?
Need to add support for Firebase github authentication for ToB frontend
Issue Priority
Priority: 3
Components:
tour-of-beam

.take-issue


feat: merge insert requests group by physical region id

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
As the title said
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)

Close this as it is duplicate with #3399


Focus and default value

I'm submitting a
Support request
Current behavior
I'm having two issues/questions:

One regarding the focus of the input fields, both the focussing on editMode, and the blurring when switching back to viewMode.
Second, making it so that the input field has a default value filled in when switching to editMode (The regular value property of the input field does not have an effect weirdly enough)

Regarding the first issue, I'm not sure what the expected behaviour should be? Because it seems quite obvious that it should focus on the input field you have just switched to?
I've set the editableFocusable (since that seems related, however its not really clear how this would work exactly), I've tried manually focusing using (modeChange)="", but to no avail.
Thanks in advance.
Expected behavior
No response
Minimal reproduction of the problem with instructions
<editable (modeChange)="focus($event, 'fieldName')">
  <ng-template viewMode>fieldValue</ng-template>
  <ng-template editMode>
    <input
      editableOnEnter
      editableOnEscape
      editableFocusable
      [formControl]="this.fieldControl"
      value="fieldValue" />
  </ng-template>
</editable>

What is the motivation / use case for changing the behavior?
No response
Environment
Angular 17.0.6
Ionic 7.1.5

Hello,
About the first question, it would indeed be a great user experience improvement to focus on the switch from viewMode to editMode if that's the question.
About the second question, that's about Angular, not this library.
You can't use value='fieldValue with Reactive Forms to expect an initial value. Do it on form initialization or with setValue/patchValuefunctions.

Hi, yes that was indeed what I meant for the first question. Do I understand correctly from your answer that this is not yet available functionality?

Okay did not know that, I will look into that.

Okay, removed them

Thanks for the quick response and tips!

Managed to get a focus working using the modeChange. The solution is pretty straightforward. The issue was that it needed the setTimeout for it to work, even if it's with 0 delay.

<editable
  (save)="update(aboutControl, 'about')"
  (modeChange)="focus($event, 'about')">
  <ng-template viewMode>
    {{ model.about }}
    <ion-icon class="edit" name="pencil"></ion-icon>
  </ng-template>
  <ng-template editMode>
    <input
      id="about"
      type="textarea"
      editableOnEnter
      editableOnEscape
      editableFocusable
      (keyup.enter)="update(aboutControl, 'about')"
      [formControl]="aboutControl" />
  </ng-template>
</editable>

  focus(event$: string, field: string) {
    setTimeout(() => {
      // Focus on selected field when in edit mode.
      if (event$ === 'edit') {
        document.getElementById(field)?.focus();
      }
    }, 0);
  }

Also managed  to get the default value working using the FormController constructor thanks to your tip.


Can't run with python

Created .venv with python3.11
Tried to install requirements.txt
ERROR: Cannot install PyQt6_sip==13.5.2 and PyQt6_sip==13.6.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested PyQt6_sip==13.5.2
    The user requested PyQt6_sip==13.6.0

Removed ==<version> from requirements.txt
Installed requirements.txt
Run the script
(.venv) (username@kuroneko) - (~\GIT\Youtility\youtility) $ python -m .\main.py
C:\Users\username\GIT\Youtility\.venv\Scripts\python.exe: Relative module names not supported

(.venv) (username@kuroneko) - (~\GIT\Youtility\youtility) $ python -m main

📢 Tips: QFluentWidgets Pro is now released. Click https://qfluentwidgets.com/pages/pro to learn more about it.

QWidget: Must construct a QApplication before a QWidget

Issue 1: python -m main.py in docu won't run the app.
Issue 2: requirements.txt conflicts
Issue 3: can't run, not sure why

Same result with pyenv virtualenv using 3.10.9:
(Youtility) doug@Dougs-MacBook-Pro-2 Youtility % python -m pip install -r requirements.txt
Collecting PyQt6==6.6.1 (from -r requirements.txt (line 1))
  Downloading PyQt6-6.6.1-cp38-abi3-macosx_10_14_universal2.whl.metadata (2.1 kB)
Collecting PyQt6_Fluent_Widgets==1.5.1 (from -r requirements.txt (line 2))
  Downloading PyQt6_Fluent_Widgets-1.5.1-py3-none-any.whl.metadata (5.2 kB)
Collecting PyQt6_Frameless_Window==0.3.8 (from -r requirements.txt (line 3))
  Downloading PyQt6_Frameless_Window-0.3.8-py3-none-any.whl.metadata (5.8 kB)
Collecting PyQt6_sip==13.5.2 (from -r requirements.txt (line 4))
  Downloading PyQt6_sip-13.5.2-cp310-cp310-macosx_10_9_universal2.whl.metadata (503 bytes)
ERROR: Cannot install PyQt6_sip==13.5.2 and PyQt6_sip==13.6.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested PyQt6_sip==13.5.2
    The user requested PyQt6_sip==13.6.0

I'd say, try running main.py via any IDE. Also, i've removed contradicting packages from requirements.txt.
If it was with exe, then the issue is most prolly with firewall, as solved in #6

I'm sorry but argument run it with IDE is... How? If I set my VSCode to run I like python module, it will end up with the same error. The same if I set it to run the python file. This is a different problem in my opinion.

Here are few steps.

I've updated the main.py in the repo (Now I'm not importing QWidget directly from the files) (That might not be the fix tho)
Remove super.init() statement from functions.

Please try these and tell me the results. I've suggest downloading the latest code too in case you're in an older version.
Thank You
rohankishore

Installation is OK now. No requirements.txt bugs. but the start of the program still results in QWidget: Must construct a QApplication before a QWidget

Damn.  It's running well in my PC tho.

Did you try what we had?
Create venv, activate, install requirements, run through python -m main and you should have the same problem?

I'll check it right now and update the progress. Thank you

Funnily enough, I'm getting an entirely different error now.
from PyQt6.QtCore import Qt, pyqtSignal, QEasingCurve, QUrl
ImportError: DLL load failed while importing QtCore: The specified procedure could not be found.

But mine works when trying to run the main.py using PyCharm though.

Interesting.
Well, I haven't use PyCharm for many years mainly because is has it self ecosystem of some kind. I like the things more raw, when I connect VSCode to a script I'm writing, it will call venv and the command I want. But I have to specify that.
I don't know if PyCharm has anything automatic. Or if you have more pip packages (global) installed and it's conflicting with the virtual env version.

Hey! I have a new fix (this might be trial and error so sorry for that).
Try replacing the last section of the main.py from:
QApplication.setHighDpiScaleFactorRoundingPolicy(
        Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
    qdarktheme.enable_hi_dpi()
    app = QApplication(sys.argv)
    w = Window()
    qdarktheme.setup_theme("dark", custom_colors={"primary": theme_color})
    w.show()
    app.exec()

to:
    QApplication.setHighDpiScaleFactorRoundingPolicy(
        Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)

    qdarktheme.enable_hi_dpi()
    app = QApplication(sys.argv)
    w = Window()
    qdarktheme.setup_theme("dark", custom_colors={"primary": theme_color})
    w.show()
    sys.exit(app.exec())

I guess it might be the missing of sys.exit() statement that caused all the issues since the sys.exit() is necessary to ensure proper cleanup and termination of the application event loop when the main window is closed. But the question " then how tf did it run in my PC " still stands tho


feat: added trigger chars

This change makes cmp trigger on trigger characters configured from the debug adapter and '.' since nvim-dap configures commands starting with '.'
This behavior is implemented in nvim-dap omnifunc.

Nice, thanks for the PR!


ci: Disable aliyun drive test until #5163 addressed

Which issue does this PR close?
Part of https://github.com/apache/opendal/issues/5163
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

It makes main branch tests continue to fail, Thanks, merged


[Dev] Add styled-components

I tried also including https://github.com/orta/jest-snapshots-svg/ but I got blocked on https://github.com/charto/nbind/issues/78
Will see where that goes to, in theory I could add a postinstall hook that removes @types/node but that's a last case scenario. Will see how that goes.

Fails

:no_entry_sign:
Please assign someone to merge this PR, and optionally include people who should review.

  Generated by :no_entry_sign: dangerJS


REQ: Asset dropdown list with filtering and tagging

Hello,
It would be nice to add somekind of filtering and tagging for bad coins as kepr has on it's inactive/jailed validators so people should be warned before trading the "bad" assets. The bad coins should go below the "good" coins.
and extra field on token_list.json should be added to make things easier to change eg. eg "type" or "reputation"
{
"id": "",
.....
"reputation_id": 0
....
reputation values: 0 (normal/good), 1 (warning/suspected coin), 2 (scam/bad coin) and so on ...
Keprl's dropdown screenshot:

Thank you

Another ideas is using stars instead of tag/labels (as keprl) which anyone could vote per wallet or per swap!
eg. after the swap it should popup (hide after 3 secs) a little banner from below asking if he wants to rate that coin or something.
Thank you


Leader election mechanism does not call all the time the stopLeading action

Bug Report

What did you do?
We are currently running the flink apache operator which rely on the java-operator-sdk v4.3.5
We have configured it to run 3 operators relying on the leader mechanism based on k8s lease.
During some slownesses faced on a k8s cluster we have reached a point where 2 of the running operator were acting as leader.
From the log we can see that a new leader has acquired the lock while the "old" leader has not been killed as expected from the stopLeading callback
What did you expect to see?
I would expect to see the "old" leader to be killed reaching the System.exit(1) in stopLeading callback
What did you see instead? Under which circumstances?
The leader has not been stopped and has continue to act as a leader taking decision on events for the flink apache operator while a new one was also running.
Also from k8s audit logs we can see that the "old" leader is not anymore checking the lease (no get request issue on the lease)
Environment
Kubernetes cluster type:
vanilla
$ Mention java-operator-sdk version from pom.xml file
v4.3.5
$ java -version
openjdk version "<IP_ADDRESS>" 2023-08-22 LTS
OpenJDK Runtime Environment Corretto-<IP_ADDRESS>.1 (build <IP_ADDRESS>+9-LTS)
OpenJDK 64-Bit Server VM Corretto-<IP_ADDRESS>.1 (build <IP_ADDRESS>+9-LTS, mixed mode)
$ kubectl version
N/A
Possible Solution
From LeaderElectionManager source code the the LeaderElector is build with releaseOnCancel at true.
This option was indeed not used on  fabric.io:kubernetes-client-api v6.0.0
But with the version which is now use(fabric.io:kubernetes-client-api v6.7.2) this parameter change the behaviour of the stop leading by calling the release method instead of directly call the stopLeading callback.
This release method first get the current leader and check if it is the current leader
If it is not it just return.
During the slownesses faced on the k8s cluster the get and patch request where slower/timeout.
We reach a point where:

old leader took too many time to patch the lease
new leader take the lead and patch the lease
old leader face a 409 http code while patching (expected as the lease has already been updated)
old leader reach renew deadline reached after
old leader execute release method which get the leader from lease and check if it is the leader (which is not the case anymore). Finally just stop the leader election mechanism and kept the pod up

One solution would be to enforce releaseOnCancel to false
Additional context

sounds right @ashangit , made a PR accordingly.

cc @shawkins

There is an upstream fix for this now.

thx @shawkins , I think either way this can still stay false.

thx @shawkins , I think either way this can still stay false.

If you are not using cancel, then yes it won't make a difference.


Add API for querying the current user's submissions

Unlike the other APIs so far, this one isn't going through GraphQL, but it gives a lot of useful data.

Some positive feedback for @colinhacks 😄


Disable etcd persistence at install time.

In a previous issue I had asked to make etcd persistent so that it could be used without worrying about data loss in the event of an outage in our cluster (thanks for implementing this so quickly, by the way). The problem I have now is not all of our Kube clusters have persistent volume provisioning, so I can't install this there anymore. Is there a way to disable etcd persistence during install? Again, I'm really glad the feature exists, but certain environments we're trying to deploy don't currently support this functionality.
If this isn't possible, I can try to revert to an older version for the time-being. Thanks

Hi @rahmnathan, you can specify the size of the volume to 0, so this will be disabled, but a better solution will be coming in #325, so you just don't have to specify the etcdPVCSpec at all! :)

Thanks @bonifaido! I pulled in the latest 'master' images of vault-operator and bank-vaults and my issue appears to be resolved. As always, I appreciate the quick fix!

Very welcome @rahmnathan, keep posting! :)


Stencil Mobile - Setup Phase

Stencil Mobile
Stencil Mobile is an initiative to create a comprehensive design library for mobile that encapsulates various components, referred to as "molecules". Each molecule is a small, self-contained component that integrates multiple mobile features. When combined, these molecules can be used to build fully functional features, referred to as "pages". The library will rely on native mobile widgets wrapped in Material3 components, and it will be packaged as a mobile SDK, making it easy to integrate into any existing or new project.
Stencil Mobile draws inspiration from the existing web version of Stencil, which includes a front-end design library (Stencil-UI) and a back-end service (Stencil). The complete documentation for which is mentioned here.
Repositories
Stencil Mobile will be divided into two main repositories:

Stencil Mobile Molecules: This repository will contain individual molecules, each representing a small component that performs a specific function.
Stencil Mobile Pages: This repository will compile various molecules to create complete pages or sections of an app.

Next Steps

[ ] Identify tech stack: Should work on both Android and iOS.
[ ] Identify configurability
[ ] Scope molecules relevant for mobile: Identify and list the molecules that are most relevant and useful.
[ ] Stencil Mobile in NL/NisAI
[ ] Create a structure for the library
[ ] Create 1-2 base components for community to replicate
[ ] Create list of components for the community to contribute
[ ] Start documentation
[ ] Make changes to stencil-repo to allow mobile repo
[ ] Community contribution: Steps to make it available to the community for contribution. Also, what are the pre-requisites.

We will set up the base of Stencil Mobile internally before the community can contribute functionality/molecules to it.
By following these steps, Stencil Mobile aims to provide a robust, reusable, and scalable set of design components that streamline the development process and enhance the consistency and quality of mobile applications.

Compose vs React Native vs Flutter
Web to update the docs with the latest Configurations, Mobile to follow the doc and give suggestions if required
Documentation to be fixed for Web pages, new category for pages to be created,
To create a plan if it will be possible to be implement in NisAI
Depends on 1
Identify a list of molecules/pages relevant to NisAI,  Create work on 2 initial pages and dependent molecules of new NL design

I have renamed stencil ui repository to stencil-web. Also, I have deleted redundant repositories except molecules-cli.
I would like to wait until the new turborepo structure gets merged in dev branch before deleting it.
@ankitmlesmagico will be picking up documentation restructuring in the next sprint.
cc: @ChakshuGautam

Charanpreet to break the ticket down into specific sprints

React Native <> Flutter <> Jetpack Compose
Language analysis on Multi-Platform Projects

Criteria
React Native
Flutter
Jetpack Compose

Community Support
Large, active, many resources.
Growing, strong Google support.
Smaller, strong Kotlin and Google support.

Performance
Overall good, however lags for complex graphics. Performance gets weaker if architecturally not defined well
High, near-native performance. Slower startup.
Improved over XML, deep Android integration.  Faster startup because of AOT compilation

Ease of Use
Easy for JavaScript/React devs, hot reload.  Web developers can also contribute
Easy with good docs, hot reload.  Dart knowledge required
Simplifies UI, may have higher learning curve.

Code Reusability
High between iOS and Android. Can check if web NextJs code can be reused as well
High across iOS, Android, web, desktop.
More focus on Android with jetpack. iOS still under Beta

UI Consistency
Varies, needs extra effort for uniformity.
Consistent across platforms.
Consistent within Android. Not much about iOS checked

Ecosystem and Libraries
Extensive JavaScript Closed/ Open source libraries, some native modules.
Good set of libraries, still growing. Major contribution by Google itself
Growing, benefits from Android/Kotlin ecosystem.

Learning Curve
Moderate, easier for JavaScript devs.
Moderate, good docs and simple model.
Steeper for new to Kotlin/declarative UI.  iOS not known yet

App Size
Larger, especially with many libraries.
Larger, includes Dart runtime/Skia engine.  Results AOT
Comparable to traditional Android apps.

Development Speed
Fast, hot reloading, reusable components.
Rapid, hot reload, pre-designed widgets.
Fast with pre-knowledge of kotlin

Integration with Native Code
Allows, but can add complexity.
Supports platform channels, need bridging.
Seamless with existing Android code/libraries.

Currently, looking on compose approach
Checking on IOS

For now moving ahead with the KMM Compose approach. The sample was successfully implemented for iOS and Android. The experience was smooth.
Next action item

[ ] Export a composable view in the form of a module from compose KMM
[ ] Implement embedding a view from the library as a dependency in Android by a module-based approach
[ ] Check for how to implement composable in native iOS code and embed the  view directly in existing screens

Harsh to pick this today

@TheNPDev was able to embed the composable views in the XML as well as code on the Android front. IoS is to be checked next.
@TheNPDev to give the devbox

We attempted to create a Compose Multiplatform library to be used in both Android and iOS projects. While the library was successfully published, we encountered compatibility issues when integrating it into an Android project. Specifically, the library was deemed incompatible due to differences in build configurations and platform-specific attributes.
Github repo of library: https://github.com/TheNPDev/ComposeStencilsTest
Given the current challenges, we have decided to proceed with an Android-only library for now. This approach will ensure that we can continue to develop and integrate our components seamlessly within Android projects.

To be continued via child tickets