map mini-keyboard with mouse to virtual gamepad

I have a mini-keyboard with mouse pad (amazon link: https://www.amazon.com/gp/product/B071FT92F8/ref=oh_aui_detailpage_o02_s01?ie=UTF8&psc=1). I want to use this in my raspberry pi with retropie. The problem is that retropie's default mapping doesn't support the four keys on the top-right of the keyboard (volume up, volume down, homepage, and compose).
I ahve MoltenGamepad installed in my raspberry pi working with a wiimote. I would like to know if there is a way to make a gendevices .cfg file to map the keyboard and mouse events to a virtual gamepad.
Any help will be greatly appreciated.
Thanks!

Should be possible -- although don't get your hopes up with doing anything fancy with the touchpad.
Step one should be connecting the device and then using evtest in a terminal. Since it is a keyboard, you might need to run evtest as root in order to see this particular device.
This is the info you want to take note of:

The name that the device presents for evtest.
The vendor/product IDs, if available. evtest will print them at the top like Input device ID: bus 0x3 vendor 0x413c product 0x2107 version 0x111
A list of all the events you care about, like "event the device emits -> event I'd like it to emit"

Once you have this info, you are halfway there. You should be good to base it off of this gendev file, just substituting in the appropriate information.

Some considerations:

Keyboards by default can only be read by root -- a mild protection against keyloggers. To use it in MG without giving MG root permissions, you'll likely need to add a udev rule.
You should be fine with exclusive = true without needing change_permissions, since most games will ignore the original device as just a keyboard
For the [match line] in the gendev file, you should be good with just [name= ...], but if it is too generic you might want to add in the vendor/product stuff so that MG doesn't grab all your keyboards.

Finally, if you still want to use the keyboard part, MG unfortunately doesn't have a good way of selectively blocking/passing through the original events. Either set exclusive=false to allow all the original events to be emitted, or spend some tediously adding all the keyboard buttons to your gendev file and then telling MG to map those keys back to their standard keyboard events.
Another unfortunate missing function here is the ability to tell the gendev driver to temporarily set exclusive to false. Depending on your setup, this might call for a situation where you only launch MG when you launch your gaming interface.

Feel free to ask for any further help, be it the gendev file writing, the udev stuff, or how to handle getting a good mapping in MG once MG can read the device.

Thanks for pointing me in the right direction. This is what I have done so far:

Created a file in the gendevices folder: "keyboard.cfg". (Sample below)
Created profile: "h9_keyboard". (Sample below)

Results so far:

MG can read the device and output as v_gamepad and v_keyboard events
MG can't read the mouse events
While on desktop the v_keyboard events are registered using evtest. But it doesn't work on applications like Mousepad or the console itself. It does work on the console when the desktop is not running.

Note:
This device shows as two separate devices in evtest, one for keyboard and one for mouse events. Both have the same product and vendor id's. I guess this is why MG can't read the mouse events.
Also, I'm having problems with multiple keys press at the same time. This could be the device itself.
I will keep trying different settings to see if  I can get MG to read the mouse events and to see if I can optimize the multiple key press issues.
Thanks for the help!
keyboard.cfg
["USB USB Device" vendor=0xc45 product=0x800a]

# Options
name = "h9keyboard"
devname = "kb_"
exclusive = "true"
change_permissions = "false"
flatten = "true"
rumble = "false"

# Event mapping
key_compose = "compose", "Compose face button"
key_homepage = "homepage", "Homepage face button"
key_volumeup = "volumeup", "V+ face button"
key_volumedown = "volumedown", "V- face button"
key_up = "up", "Up Arow"
key_down = "down", "Down Arow"
key_left = "left", "Left Arow"
key_right = "right", "Right Arow"
key_esc = "esc", "escape key"
key_1 = "1", "Number 1"
key_2 = "2", "Number 2"
key_3 = "3", "Number 3
key_4 = "4", "Number 4"
key_5 = "5", "Number 5"
key_6 = "6", "Number 6"
key_7 = "7", "Number 7"
key_8 = "8", "Number 8"
key_9 = "9", "Number 9"
key_0 = "0", "Number 0"
key_minus = "minus", "Key Minus"
key_equal = "equal", "Key Equal"
key_backspace = "backspace", "Key Backspace"
key_tab = "tab", "Key Tab"
key_q = "q", "Key Q"
btn_left = "mouse_leftbtn", "Mouse Left Button"
btn_right = "mouse_rightbtn", "Mouse Right Button"
rel_x = "mousepad_x", "MousePad X Axis"
rel_y = "mousepad_y", "MousePad Y Axis"

h9_keyboard
[h9keyboard]
compose = primary
volumedown = secondary
volumeup = third
homepage = fourth
space = start
leftalt = select
up = up
down = down
left = left
right = right
mouse_leftbtn = lt
mouse_rightbtn = rt
mousepad_x = left_x
mousepad_y = left_y
esc = key(key_esc)
1 = key(key_1)
2 = key(key_2)
3 = key(key_3)
4 = key(key_4)
5 = key(key_5)
6 = key(key_6)
7 = key(key_7)
8 = key(key_8)
9 = key(key_9)
0 = key(key_0)
minus = key(key_minus)
equal = key(key_equal)
backspace = key(key_backspace)
tab = key(key_tab)
q = key(key_q)

That looks good. Here's some thoughts about the issues you mention.

For the multiple presses, you should try to use evtest to diagnose whether you see the multiple presses on the original raw device node, or only on the MG v_device. You might want to launch MG temporally with exclusive = false in the gendev file. This'll let you open two evtest instances to watch both at once (otherwise MG will block the original events).

You are saying the v_keyboard events only show up when running in the raw console, but not when in a graphical session? That's weird. It might be an X thing.
If you are seeing the keyboard events get emitted on the v_keyboard, I don't currently have any ideas for why X might ignore them. The v_keyboard seems to be autodetected pretty smoothly over here.

The fact that the mouse events appears on a different device is a hurdle for MG. There is a way to try to get over it, but it limits you to only having one of these keyboard pads connected.
That way is to use the flatten = true feature to have MG flatten multiple devices into one. With this, just have two [match lines] in your gendev.
["USB USB Device" vendor=0xc45 product=0x800a]
["<mouse name>" vendor=0xc45 product=0x800a]

... the rest of the gendev file ...

This should recognize both devices, and flatten them into one input source for MG. If you had two of these keyboard things though, they'd be flattened down to just one as well!


Bug in array.map_blocks when providing chunks and UDF adjusts shape

In [79]: import dask.array as da; import numpy as np; import operator

In [80]: a = da.from_array(['a', 'b', 'c'], 3)

In [81]: b = da.from_array(np.array([0, 1, 2, 0, 1, 2]), chunks=3)

The following doesn't raise, but has incorrect metadata.
In [82]: da.map_blocks(operator.getitem, a, b, dtype=a.dtype)
Out[82]: dask.array<getitem, shape=(3,), dtype=<U1, chunksize=(3,)>

But providing the chunks, as I do in my real application, causes a ValueError.
In [83]: da.map_blocks(operator.getitem, a, b, dtype=a.dtype, chunks=b.chunks)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-83-9e6750ba1bf4> in <module>
----> 1 da.map_blocks(operator.getitem, a, b, dtype=a.dtype, chunks=b.chunks)

~/sandbox/dask/dask/array/core.py in map_blocks(func, *args, **kwargs)
    654                     raise ValueError("Dimension {0} has {1} blocks, "
    655                                      "chunks specified with "
--> 656                                      "{2} blocks".format(i, nb, len(c)))
    657                 chunks2.append(c)
    658             else:

ValueError: Dimension 0 has 1 blocks, chunks specified with 2 blocks

In my case, a really has unknown chunks.  That doesn't affect the error though
In [84]: a._chunks = ((np.nan,),)

In [85]: da.map_blocks(operator.getitem, a, b, dtype=a.dtype, chunks=b.chunks)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-85-9e6750ba1bf4> in <module>
----> 1 da.map_blocks(operator.getitem, a, b, dtype=a.dtype, chunks=b.chunks)

~/sandbox/dask/dask/array/core.py in map_blocks(func, *args, **kwargs)
    654                     raise ValueError("Dimension {0} has {1} blocks, "
    655                                      "chunks specified with "
--> 656                                      "{2} blocks".format(i, nb, len(c)))
    657                 chunks2.append(c)
    658             else:

ValueError: Dimension 0 has 1 blocks, chunks specified with 2 blocks

Looking at this again, I'm a little confused about how / why this worked before. Do my two arrays meet map_blocks's broadcasting rules? We have numblocks of (1,) and (2,).
And not sure if this is expected, but here's what top returned inside map_blocks.
ipdb> out
dask.array<getitem, shape=(3,), dtype=<U1, chunksize=(3,)>
ipdb> out.numblocks
(1,)

Whereas I think that should have shape (6,) and chunks (3, 3).
BTW, is the chunksize being include in the dtype<> in the repr a (known) bug?

@mrocklin can you verify that my understanding of map_blocks's broadcasting of blocks is correct? I think it is, as demonstrated by the following:
import numpy as np
import dask.array as da
import operator

a = da.from_array([1, 2, 3], 3)
b = da.from_array(np.array([0, 1, 2, 0, 1, 2]), chunks=3)
da.map_blocks(operator.add, a, b, chunks=b.chunks)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-6a06a372383e> in <module>
      5 a = da.from_array([1, 2, 3], 3)
      6 b = da.from_array(np.array([0, 1, 2, 0, 1, 2]), chunks=3)
----> 7 da.map_blocks(operator.add, a, b, chunks=b.chunks).compute()

~/sandbox/dask/dask/array/core.py in map_blocks(func, *args, **kwargs)
    654                     raise ValueError("Dimension {0} has {1} blocks, "
    655                                      "chunks specified with "
--> 656                                      "{2} blocks".format(i, nb, len(c)))
    657                 chunks2.append(c)
    658             else:

ValueError: Dimension 0 has 1 blocks, chunks specified with 2 blocks

Previously, that would have broadcast the blocks so that the one block in a was added to each block in b, and the output would be Out[3]: array([1, 3, 5, 1, 3, 5]).

And, interesting, if I just comment out the check that's raising the ValueError, things look fine. The output is correct, and the numblocks, chunks, and shape are all correct.
At the point of the check, however, the out.numblocks is incorrect. out came straight out of atop, so I don't know if the bug is in what we pass to atop, in atop itself, or whether the fact that map_blocks has some extra user-provided information means that we can just safely ignore what atop thinks the block / chunk structure should be before we overwrite the chunks. I'm leaning towards the latter right now.

Yes, I think that the example you gave here should work and produce a six-element array as you say above:
import numpy as np
import dask.array as da
import operator

a = da.from_array([1, 2, 3], 3)
b = da.from_array(np.array([0, 1, 2, 0, 1, 2]), chunks=3)
da.map_blocks(operator.add, a, b, chunks=b.chunks)

We probably want to keep the ValueError, but maybe special case it in the case of a single chunk?

BTW, is the chunksize being include in the dtype<> in the repr a (known) bug?

I think that things are fine.  It's slightly confusing because the dtype includes a < in it.

This is tested in dask/array/tests/test_array_core.py::test_map_blocks_with_changed_dimension.
x = np.arange(56).reshape((7, 8))
d = da.from_array(x, chunks=(7, 4))
with pytest.raises(ValueError):
    d.map_blocks(lambda b: b.sum(axis=0), chunks=((4, 4, 4),), drop_axis=0)

the user provides the incorrect chunks ((4, 4, 4),). There should only be two chunks on axis 0.

In either case, we have user-provided input that is a tuple of tuples. The difference between to two seems to be that we can trust out.numblocks in the unit test case. But in my example, out.numblocks is incorrect. So unless I'm missing something, it seems like we do need to change atop / what we're passing to atop so that the output has the correct number of blocks.

I think that things are fine. It's slightly confusing because the dtype includes a < in it.

Oh, that's exactly what tripped me up :)

In either case, we have user-provided input that is a tuple of tuples. The difference between to two seems to be that we can trust out.numblocks in the unit test case.

I think that in this case 1 is a special number.  A mismatch between 2 and 3 is worth reporting.  A mismatch between 1 and another number may not be.  I'm curious how well atop will handle this though.   It might be worth checking out the graph produced and verifying that it is what we expect.

Generally I may not have as much expertise here as is desired.  Unfortunately it's hard to hold all of the expectations for map_blocks in personal memory :)

:)
With that  change, I think everything in the dask graph looks good.
In [8]: a = da.from_array([1, 2, 3], 3, name='a')
   ...: b = da.from_array(np.array([0, 1, 2, 0, 1, 2]), chunks=3, name='b')
   ...: r = da.map_blocks(operator.getitem, a, b, chunks=b.chunks, dtype=a.dtype)

In [9]: dict(r.dask)
Out[9]:
{('getitem-eb6835e1d913f57f7d62cbd102411824', 0): (subgraph_callable,
  ('a', 0),
  ('b', 0)),
 ('getitem-eb6835e1d913f57f7d62cbd102411824', 1): (subgraph_callable,
  ('a', 0),
  ('b', 1)),
 ('a', 0): array([1, 2, 3]),
 ('b', 0): (<function _operator.getitem(a, b, /)>, 'b', (slice(0, 3, None),)),
 ('b', 1): (<function _operator.getitem(a, b, /)>, 'b', (slice(3, 6, None),)),
 'b': array([0, 1, 2, 0, 1, 2])}

was there ever a solution for this? I got bit by this error while using the Regridder class of the xesmf package on dask-backed xarrays

@zoj613 It's surprising that you'd still run into this. Which version of dask are you using? My guess is that, if a fix is needed, a fix would go into xesmf

Im using dask==2022.9.2 and xesmf==0.6.3, both packages installed using conda.

@zoj613 Can you create a new issue with a minimal reproducer?

I can reproduce the error from an example in the xemsf documentation: https://xesmf.readthedocs.io/en/latest/notebooks/Dask.html. I simply copied the content of ipython cells:
import os

prefix = f"{os.path.dirname(os.environ['CONDA_PREFIX'])}/icec"
os.environ["ESMFMKFILE"] = f"{prefix}/lib/esmf.mk"
os.environ["PROJ_DATA"] = f"{prefix}/share/proj"

import numpy as np
import dask.array as da  # need to have dask.array installed, although not directly using it here.
import xarray as xr
import xesmf as xe

ds = xr.tutorial.open_dataset("air_temperature", chunks={"time": 500})
ds
ds_out = xr.Dataset(
    {
        "lat": (["lat"], np.arange(16, 75, 1.0)),
        "lon": (["lon"], np.arange(200, 330, 1.5)),
    }
)

regridder = xe.Regridder(ds, ds_out, "bilinear")
regridder
%time ds_out = regridder(ds)
ds_out
ds_out["air"].data
%time result = ds_out['air'].compute()
'Spatial rechunking'
ds_spatial = ds.chunk({"lat": 25, "lon": 25, "time": -1})
ds_spatial
# Fails here
ds_spatial_out = regridder(ds_spatial)  # Regridding ds_spatial
ds_spatial_out["air"].data
ds_spatial_out = regridder(ds_spatial, output_chunks={"lat": 10, "lon": 10})
ds_spatial_out["air"].data

This results in a traceback
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[3], line 31
     29 ds_spatial
     30 # Fails here
---> 31 ds_spatial_out = regridder(ds_spatial)  # Regridding ds_spatial
     32 ds_spatial_out["air"].data
     33 ds_spatial_out = regridder(ds_spatial, output_chunks={"lat": 10, "lon": 10})

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xesmf/frontend.py:463, in BaseRegridder.__call__(self, indata, keep_attrs, skipna, na_thres)
    459     return self.regrid_dataarray(
    460         indata, keep_attrs=keep_attrs, skipna=skipna, na_thres=na_thres
    461     )
    462 elif isinstance(indata, xr.Dataset):
--> 463     return self.regrid_dataset(
    464         indata, keep_attrs=keep_attrs, skipna=skipna, na_thres=na_thres
    465     )
    466 else:
    467     raise TypeError('input must be numpy array, dask array, xarray DataArray or Dataset!')

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xesmf/frontend.py:567, in BaseRegridder.regrid_dataset(self, ds_in, keep_attrs, skipna, na_thres)
    560 non_regriddable = [
    561     name
    562     for name, data in ds_in.data_vars.items()
    563     if not set(input_horiz_dims).issubset(data.dims)
    564 ]
    565 ds_in = ds_in.drop_vars(non_regriddable)
--> 567 ds_out = xr.apply_ufunc(
    568     self.regrid_array,
    569     ds_in,
    570     self.weights,
    571     kwargs=kwargs,
    572     input_core_dims=[input_horiz_dims, ('out_dim', 'in_dim')],
    573     output_core_dims=[temp_horiz_dims],
    574     dask='allowed',
    575     keep_attrs=keep_attrs,
    576 )
    578 return self._format_xroutput(ds_out, temp_horiz_dims)

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xarray/core/computation.py:1185, in apply_ufunc(func, input_core_dims, output_core_dims, exclude_dims, vectorize, join, dataset_join, dataset_fill_value, keep_attrs, kwargs, dask, output_dtypes, output_sizes, meta, dask_gufunc_kwargs, *args)
   1183 # feed datasets apply_variable_ufunc through apply_dataset_vfunc
   1184 elif any(is_dict_like(a) for a in args):
-> 1185     return apply_dataset_vfunc(
   1186         variables_vfunc,
   1187         *args,
   1188         signature=signature,
   1189         join=join,
   1190         exclude_dims=exclude_dims,
   1191         dataset_join=dataset_join,
   1192         fill_value=dataset_fill_value,
   1193         keep_attrs=keep_attrs,
   1194     )
   1195 # feed DataArray apply_variable_ufunc through apply_dataarray_vfunc
   1196 elif any(isinstance(a, DataArray) for a in args):

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xarray/core/computation.py:469, in apply_dataset_vfunc(func, signature, join, dataset_join, fill_value, exclude_dims, keep_attrs, *args)
    464 list_of_coords, list_of_indexes = build_output_coords_and_indexes(
    465     args, signature, exclude_dims, combine_attrs=keep_attrs
    466 )
    467 args = tuple(getattr(arg, "data_vars", arg) for arg in args)
--> 469 result_vars = apply_dict_of_variables_vfunc(
    470     func, *args, signature=signature, join=dataset_join, fill_value=fill_value
    471 )
    473 out: Dataset | tuple[Dataset, ...]
    474 if signature.num_outputs > 1:

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xarray/core/computation.py:411, in apply_dict_of_variables_vfunc(func, signature, join, fill_value, *args)
    409 result_vars = {}
    410 for name, variable_args in zip(names, grouped_by_name):
--> 411     result_vars[name] = func(*variable_args)
    413 if signature.num_outputs > 1:
    414     return _unpack_dict_tuples(result_vars, signature.num_outputs)

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xarray/core/computation.py:761, in apply_variable_ufunc(func, signature, exclude_dims, dask, output_dtypes, vectorize, keep_attrs, dask_gufunc_kwargs, *args)
    756     if vectorize:
    757         func = _vectorize(
    758             func, signature, output_dtypes=output_dtypes, exclude_dims=exclude_dims
    759         )
--> 761 result_data = func(*input_data)
    763 if signature.num_outputs == 1:
    764     result_data = (result_data,)

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/xesmf/frontend.py:507, in BaseRegridder.regrid_array(self, indata, weights, skipna, na_thres)
    504     weights = da.from_array(weights, chunks=weights.shape)
    505     output_chunks = indata.chunks[:-2] + ((self.shape_out[0],), (self.shape_out[1],))
--> 507     outdata = da.map_blocks(
    508         self._regrid,
    509         indata,
    510         weights,
    511         dtype=indata.dtype,
    512         chunks=output_chunks,
    513         meta=np.array((), dtype=indata.dtype),
    514         **kwargs,
    515     )
    516 else:  # numpy
    517     outdata = self._regrid(indata, weights, **kwargs)

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/dask/array/core.py:872, in map_blocks(func, name, token, dtype, chunks, drop_axis, new_axis, enforce_ndim, meta, *args, **kwargs)
    856     out = blockwise(
    857         apply_and_enforce,
    858         out_ind,
   (...)
    869         **kwargs,
    870     )
    871 else:
--> 872     out = blockwise(
    873         func,
    874         out_ind,
    875         *concat(argpairs),
    876         name=name,
    877         new_axes=new_axes,
    878         dtype=dtype,
    879         concatenate=True,
    880         align_arrays=False,
    881         adjust_chunks=adjust_chunks,
    882         meta=meta,
    883         **kwargs,
    884     )
    886 extra_argpairs = []
    887 extra_names = []

File ~/mambaforge/envs/icec/lib/python3.10/site-packages/dask/array/blockwise.py:272, in blockwise(func, out_ind, name, token, dtype, adjust_chunks, new_axes, align_arrays, concatenate, meta, *args, **kwargs)
    270 elif isinstance(adjust_chunks[ind], (tuple, list)):
    271     if len(adjust_chunks[ind]) != len(chunks[i]):
--> 272         raise ValueError(
    273             f"Dimension {i} has {len(chunks[i])} blocks, adjust_chunks "
    274             f"specified with {len(adjust_chunks[ind])} blocks"
    275         )
    276     chunks[i] = tuple(adjust_chunks[ind])
    277 else:

ValueError: Dimension 2 has 3 blocks, adjust_chunks specified with 1 blocks

Should I open a new issue? Here, or is it an xemsf bug?


Other: Sign in Sign up buttons in Navbar

What would you like to share?
I would like to propose some style changes to the Sign in/Sign up buttons in the navbar.

Change "Sign in" to "Log in" for better UI/UX experience, also to match the footer
Change the style of the Log in button to only have an underline (on hover), so it differentiates from the Sign up button
Align all nav items

Issues:
Funny looking button behavior:
https://github.com/MilanCommunity/Milan/assets/42038008/6ced48af-4d12-4ce3-9015-5328961447aa
Misalignment:

Solution:

🥦 Browser
Google Chrome
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (blank for no)

Sounds good to me however, I would also like to suggest some changes too.

The buttons can be changed, instead of having two, we can have one.
We just keep a main button, which says Sign In or something like that (check the screenshot below)
Also the line height probably is probably causing some issues with the misalignment.

@tamalCodes Just to clarify, are you suggesting completely removing the Sign up button from the navbar and only having a log in button that keeps the current style?

sir can you please assign this issue to me ?

Can i work on this?

@tamalCodes Just to clarify, are you suggesting completely removing the Sign up button from the navbar and only having a log in button that keeps the current style?

Yes

can i work on it as it available i know it

Hi there @tamalCodes i went through the conversation above. I guess i can the fix this issue.

Hey @tamalCodes , Made the changes in the local, Can i make PR request?

Hey I would love to work on this issue.


[gl] basic GLES version check

Closes #160 (basic support, more fixes might be needed later on)
Image from @ozkriff:

LGTM

To make this more complete, we need GLES support to gfx_app, so that the examples (or at least some of them) could be run out of the box.

@kvark does it require a new backend or can it run on the OpenGL one with Capabilities restricting it to GLES features?

No, it's the same backend, fortunately :)

On Jun 18, 2016, at 9:58, Felix Kaaman<EMAIL_ADDRESS>wrote:
@kvark does it require a new backend or can it run on the OpenGL one with Capabilities restricting it to GLES features?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok, I got the cube example working with the example launcher without any modifications now. I consider Android/ES done, at least for now. Feel free to add more features in other PRs!

@csherratt review again please?

Looks good! This looks ready to merge, if there is anything else I can put hold off.

@homu r+

@homu r+


Need a proper read me file

Need install and usage instructions on the readme.

Updated readme file complete.


fix(pkg): added Blesta version in the user enviroment

ty

:tada: This PR is included in version 1.1.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Rule lingui/no-unlocalized-strings: TypeError: Cannot destructure property 'esTreeNodeToTSNodeMap' of 'parserServices' as it is undefined.

This error only happens for lingui/no-unlocalized-strings, other rules are fine.

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
TypeError: Error while loading rule 'lingui/no-unlocalized-strings': Cannot destructure property 'esTreeNodeToTSNodeMap' of 'parserServices' as it is undefined.
Occurred while linting ...
    at Object.create (eslint-plugin-lingui/lib/rules/no-unlocalized-strings.js:136:17)
    at createRuleListeners (eslint/lib/linter/linter.js:977:21)
    at eslint/lib/linter/linter.js:1108:84
    at Array.forEach (<anonymous>)
    at runRules (eslint/lib/linter/linter.js:1039:34)
    at Linter._verifyWithFlatConfigArrayAndWithoutProcessors (eslint/lib/linter/linter.js:1947:31)
    at Linter._verifyWithFlatConfigArray (eslint/lib/linter/linter.js:2086:21)
    at Linter.verify (eslint/lib/linter/linter.js:1547:61)
    at Linter.verifyAndFix (eslint/lib/linter/linter.js:2323:29)
    at verifyText (eslint/lib/eslint/eslint.js:498:48)

@Jack-Works @andrii-bodnar Can I give it a shot?

@itsarijitray sure, thank you!

Are there any updates here? This rule would be the most useful one

This seems to solve it, around line 71 in no-unlocalized-strings.ts. Not sure how to open a pull request though
    const {
      options: [option],
    } = context
    const parserServices = context.parserServices || context.sourceCode.parserServices

@Arthur944 thank you, we'd be happy to accept the PR. Please see the Creating a pull request article for more information on that.


Encoding problem

Thanks a lot！ But I cannot use Chinese in rules. Encoding problem ?  How can I correct it ?

I got it. The config file resaved in ntf-8 formatting helps.

@caozhq i will close this issue since this issue is resolved. You can reopen the issue if the problem persists


pathname using the mailto scheme defers to native URL

In Chrome pathname of a mailto URL outputs the e-mail address.
console.log(new URL('mailto:some.name@somehost.com').pathname);
// -><EMAIL_ADDRESS>
But using the url-polyfill it's prefixed with /.
console.log(new URL('mailto:some.name@somehost.com').pathname);
// -><EMAIL_ADDRESS>

As specified in the readme, the polyfill is not indented for all cases (to keep it light), but for the most generic. The full implementation is available here: https://github.com/lifaon74/url-polyfill/files/1572997/url.zip


Re-write the checkpoint list generation scripts in Rust

In PR #674, I wrote some bash scripts that get block info using zcash-cli, then generate a list of checkpoints.
We should re-write these scripts in Rust, as a bin target in zebra-utils. We'll still have to call zcash-cli, but we can parse the output using a Rust json library.
We should be able to re-use some of the CheckpointList and zebrad revhex code. We might want to move the revhex code to zebra-consensus, and then zebrad and zebra-utils can use it from there.

@oxarbitrage you might enjoy this ticket.

Nice one, will take it. Thanks.


fix Fix not check column name when create or alter view

Proposed changes
This is brought by https://github.com/apache/doris/pull/32743
set enable_unicode_name_support = true;
If run create view sql should fail beausel_shipdate column name  contains invalid char '(' and ')', but now success
this pr fix this and throw exception
ERROR 1105 (HY000): errCode = 2, detailMessage = Incorrect column name '(日期)'. Column regex is '^[_a-zA-Z@0-9\s/][.a-zA-Z0-9_+-/?@#$%^&*"\s,:]{0,255}$'
CREATE VIEW view1
AS
SELECT "零售公司", l_shipdate as '(日期)', l_receiptdate as k2
FROM lineitem;

and if run create view sql as following, should success:
CREATE VIEW view2
AS
SELECT "零售公司", l_shipdate as '日期', l_receiptdate as k2
FROM lineitem;

and the schema of view2 should be
mysql> desc view2;
+-------------+-------------+------+-------+---------+-------+
| Field       | Type        | Null | Key   | Default | Extra |
+-------------+-------------+------+-------+---------+-------+
| __literal_0 | varchar(16) | No   | false | NULL    |       |
| 日期        | date        | No   | false | NULL    |       |
| k2          | date        | No   | false | NULL    |       |
+-------------+-------------+------+-------+---------+-------+
3 rows in set (0.01 sec)

run buildall


unclear whether i should use non thread safe set instead of thread safe

Can you please elaborate and add it to the README and godoc?

I think it's very clear. Using thread safe set, you comprise performance (because of mutex overhead). With the non thread safe you don't have that.

After digging around a bit, i found #7 . In addition that's the reason I thought there are two versions of the set. However, I still think a small sentences e.g. "Thread-safe performance can be slower than non-thread-safe" could help some. Feel free to close unfixed if you feel I'm wrong, that's fine.


Explicit use signed char for included font data to enable cross-compile

I'm trying to cross compile sfml for an arm based board, which failed due to a different
default behavior for char.
From ISO/IEC 9899:1999, <IP_ADDRESS> (p. 49):
The implementation shall define char to have the same range,
representation, and behavior as either signed char or unsigned char.

Can you give more details about the failure?

Arial.hpp consists of numbers in the range -128 to 127 (which is the signed char range).
I've always seen char as a signed char, but I guess the arm compiler uses char as unsigned char.
So my guess of the problem is that the compiler is clamping the negative values to 0, which is weird but would certainly cause issues.
Considering that array is only used once and immediately cast to void*, I see no reason not to accept the pull request.

By the way, is everything else working on your ARM-based system? What kind of hardware is it?


Support passing inline credentials to the Provider struct

Description
The only way to pass credentials to the Provider struct is by using CredentialsFilePath field. This makes it really inconvenient to use when operating on just the file contents.
Reasons
Passing path to the credentials is very inconvenient to use when working with only the contents of such file. It requires the library user to create some file only for a time of provisioning.
There should be the ability to pass credentials in the form of credentials file content as a byte array.
Attachments

Hi @Szymongib,
thanks for the feedback. It is definitely something we would like to add to hydroform, I will add this to our backlog.

Hi @clebs,
Thanks for the response, looking forward to that feature.

We will not work on that


fixed prop names to be consistent with propTypes

Codecov Report

Merging #83 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #83   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          20     20
  Lines         232    232
  Branches       65     65
=====================================
  Hits          232    232

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 830ee96...d71d20b. Read the comment docs.

I think we should do the opposite: fix propTypes.


[TASK] Update Balance Display on Transaction Inputs on Hubble Bridge

Description
Currently, the balance display on Hubble Bridge is inconsistent from design. Updates are required for balance display on transaction input component across deposit, transfer, and withdrawal flows on Hubble Bridge to show shielded balance from user's available shielded balance (fetched from spend notes) instead of wallet balance in certain touchpoints.
Flows
Deposit Flow:

Replace wallet balance with shielded balance in destination transaction input; fetch shielded balance from user's available spend notes (e.g., 1.00webbETH on Polygon Mumbai).
Display shielded balance for reference only (disabled); as destination amount input should be disabled.

Transfer Flow:

Replace wallet balance with shielded balance in source transaction input; fetch shielded balance from user's available spend notes (e.g., 1.45webbETH on Polygon Mumbai).
Enable input of entire shielded balance amount on selection, akin to wallet amount button functionality in deposit flow.

Withdrawal Flow:

Replace wallet balance with shielded balance in source transaction input, fetched from user's available spend notes (e.g., 1.45webbETH on Polygon Mumbai).
Disable in fixed amount; enable only for custom amount input.

Please consider adding tooltips to the balance buttons when they're enabled. These could potentially include external links to our documentation, explaining the concepts of both the 'shielded balance' and 'wallet balance'. cc @monaiuu.


runtime: Clarify ociVersion as based on the state schema

The old wording was ambiguous.  For example, if the configuration had ociVersion set to 1.0.0 and the container was created with a 1.1.0 runtime, which version should show up in the state?
With this commit, we use the version which matches the state schema, because the config/runtime versions used for creation don't seem particularly important once the container has been created, while the state schema version is important for state consumers.  For example, if new properties were added to the state spec between 1.0.0 and 1.1.0, a consumer would want to see 1.1.0 in the state's ociVersion so it could decide whether it could rely on those new properties.

LGTM

LGTM


Remove unnecessary stuff that wont needed...

Should be like that without any unneeded stuff in it.

[19:03:16] Loading resource lr
ReferenceError: require is not defined
at Object.293 (file:///C:/Users/Kamil/Documents/GitHub/TypeScript-Login-Register-7f27897f00bf572184577cdc722541fc3a18b6b9/resources/lr/client.js:1:1665)
at o (file:///C:/Users/Kamil/Documents/GitHub/TypeScript-Login-Register-7f27897f00bf572184577cdc722541fc3a18b6b9/resources/lr/client.js:1:1834)
at Object.731 (file:///C:/Users/Kamil/Documents/GitHub/TypeScript-Login-Register-7f27897f00bf572184577cdc722541fc3a18b6b9/resources/lr/client.js:1:65)
at o (file:///C:/Users/Kamil/Documents/GitHub/TypeScript-Login-Register-7f27897f00bf572184577cdc722541fc3a18b6b9/resources/lr/client.js:1:1834)
at file:///C:/Users/Kamil/Documents/GitHub/TypeScript-Login-Register-7f27897f00bf572184577cdc722541fc3a18b6b9/resources/lr/client.js:1:1860
at file:///C:/Users/Kamil/Documents/GitHub/TypeScript-Login-Register-7f27897f00bf572184577cdc722541fc3a18b6b9/resources/lr/client.js:1:1867
at ModuleJob.run (internal/modules/esm/module_job.js:152:23)
at async Loader.import (internal/modules/esm/loader.js:166:24)
at async embedder_main_2.js:30:16
[19:03:16][Error] Failed to load resource lr


[RPM M5] The RPM packages can only be installed on RedHat-Based LINUX distros stated in our compatibility chart

Tasks
Estimate
Status
Notes
Dependencies

According to the chart, we will only support RHEL/CentOS 7 & 8 + Amazon Linux 2 for RPM
1
Not Started
They all have systemd as process manager

We have tested on centos and al2 for installation and the packages runs now.


Enums get analyzed as types automatically, but also their members aren't renamed prior to said analysis

Is there an existing issue for this?

[X] I have searched the existing issues

Product
Hot Chocolate
Describe the bug
This issue is in part related to this one.
The problem manifests itself in my case in that HotChocolate fails to initialize my schema, because the original names of enum fields are invalid by its standards.
Steps to reproduce
I somewhat inflate the issue here by naming the fields and the enum type in Russian, using Cyrillic letters, but at the same time providing an adequate HotChocolate EnumType wrapper that renames them:
public enum Статус
{
    Активный,
    Завершенный,
}

public class StatusType : EnumType<Статус>
{
    protected override void Configure(IEnumTypeDescriptor<Статус> descriptor)
    {
        descriptor.Name("Status");
        descriptor.Value(Статус.Активный).Name("ACTIVE");
        descriptor.Value(Статус.Завершенный).Name("COMPLETED");
    }
}

// ...

builder.Services.AddEndpointsApiExplorer();
{
    var graph = builder.Services.AddGraphQLServer();
    graph.InitializeOnStartup();
    graph.AddQueryType<QueryType>();
    graph.AddType<StatusType>();
    graph.AddType<Thing>();
    graph.ModifyOptions(o =>
    {
        o.DefaultBindingBehavior = BindingBehavior.Explicit;
    });
}

See the entire setup here.
In contrast, configuration like this works fine with normal types, regardless of whether the property names are Cyrillic or not, given you rename them. See an example here
Relevant log output
The error happens because the system ends up checking if the enum names in the original enum definition are valid GraphQL symbol names.
System.ArgumentException: The specified name is not a valid GraphQL name. (Parameter 'value')
   at HotChocolate.Utilities.NameUtils.EnsureGraphQLName(String name, String argumentName)
   at HotChocolate.Types.Descriptors.Definitions.DefinitionBase.set_Name(String value)
   at HotChocolate.Types.Descriptors.EnumValueDescriptor..ctor(IDescriptorContext context, Object runtimeValue)
   at HotChocolate.Types.Descriptors.EnumValueDescriptor.New(IDescriptorContext context, Object value)
   at HotChocolate.Types.Descriptors.EnumTypeDescriptor.Value[T](T value)
   at HotChocolate.Types.Descriptors.EnumTypeDescriptor`1.Value(T value)
   at efcore_transactions.StatusType.Configure(IEnumTypeDescriptor`1 descriptor) in E:\Coding\work\efcore_transactions\GraphQL.cs:line 14
   at HotChocolate.Types.EnumType`1.CreateDefinition(ITypeDiscoveryContext context)
   at HotChocolate.Types.TypeSystemObjectBase`1.Initialize(ITypeDiscoveryContext context)
   at HotChocolate.Configuration.TypeRegistrar.InitializeType(TypeSystemObjectBase typeSystemObject, String scope, Boolean isInferred)

Additional Context?
I realize that the existence of Cyrillic names for symbols might seem unrealistic, but I think fixing this would be valuable.
For example, I'm working on a code base where a programmer accidentally wrote the Russian 'С' instead of the English 'C' in the name of an enum value, which ended up producing that incomprehensible error and threw me off the loop for some time.
Though improving the error message would be valuable, the problem with enums described in the linked issue should take priority, I think.
Version
13.0.5

Also if EnumType used with T that overrides ToString() and returns text that is invalid GraphQL name.


Vietnamese

Forwarding below some feedback re Vietnamese traineddata for 4.00.00

Vietnamese lang data for tess 4.00 seems to have better accuracy, but still sometimes mixes up between acute and hook above marks when they appear on top of circumflex mark (stack diacritics).

While testing some Seven Segment Display images, I noted that vie gives better result compared to eng.

With 4.00alpha vie language pack, many non-Viet alphabets appear in the output text, such as: öïäåů€†čµñÎīšçðßęě

Thanks! I will put them in forbidden_characters.


Preview variable is not availabe

Hello,
preview seems missing in context type.

Thanks for reporting! Fixed in 2.5.5


Loading ImageBind got Killed

When running
python3 app.py --cfg-path eval_configs/mmgpt4_eval.yaml --gpu-id 0
It gets this far but it gets killed
Initializing Chat
Loading ImageBind
Killed
Do you know how I can solve this?

fix: should make sure that your GPU has the required amount of ram to run


Rewrite SuperInterfaces to use Elements

This PR has two commits:

The first adds failing tests for #14 , #15 , and #22.
The second fixes those failing tests and those, through a rewrite of SuperInterfaces.kt. The initial implementation made too many assumptions, and in particular went straight to a Kotlin-only representation via TypeSpec. This broke Java interoperability, and also prevented analyzing the visibility of interfaces. The new implementation can traverse both Java and Kotlin base classes and interfaces, and supports mixes of both to flesh out edge cases.

🧛 Project Code Coverage: 100.00%
Coverage of Modified Files:

File
Coverage

Modified Files Not Found In Coverage Report:
Compilation.kt
JavaBaseClasses.kt
JavaBaseClassesTests.kt
JavaFirstBaseClass.java
JavaInterface1.java
JavaInterface2.java
JavaInterface3.java
JavaInterface4.java
JavaInterface5.java
JavaPrivateInterfaceOuterClass.java
JavaPrivateInterfaceSubclass.java
JavaProtectedInterfaceBaseClass.java
JavaProtectedInterfaceSubclass.java
JavaSecondBaseClass.java
NonVisibleInterfaces.kt
NonVisibleInterfacesTests.kt
SealedEnumProcessor.kt
SealedEnumWithAbstractBaseClasses.kt
SealedEnumWithAbstractBaseClassesTests.kt
SuperInterfaces.kt

Codebase cunningly covered by count Shroud 🧛

🧛 Project Code Coverage: 97.42%
Coverage of Modified Files:

File
Coverage

SealedEnumProcessor.kt
97.04%

SuperInterfaces.kt
89.59%

Modified Files Not Found In Coverage Report:
Compilation.kt
JavaBaseClasses.kt
JavaBaseClassesTests.kt
JavaFirstBaseClass.java
JavaInterface1.java
JavaInterface2.java
JavaInterface3.java
JavaInterface4.java
JavaInterface5.java
JavaPrivateInterfaceOuterClass.java
JavaPrivateInterfaceSubclass.java
JavaProtectedInterfaceBaseClass.java
JavaProtectedInterfaceSubclass.java
JavaSecondBaseClass.java
NonVisibleInterfaces.kt
NonVisibleInterfacesTests.kt
SealedEnumWithAbstractBaseClasses.kt
SealedEnumWithAbstractBaseClassesTests.kt

Codebase cunningly covered by count Shroud 🧛

  Generated by :no_entry_sign: Danger

Thanks @cdflynn !


Can button receive events on UIWidget ?

No, use Link to detect touch.
https://stackoverflow.com/questions/64230355/perform-a-deeplink-from-swiftui-widget-on-tap/64230963

No, use Link to detect touch.
https://stackoverflow.com/questions/64230355/perform-a-deeplink-from-swiftui-widget-on-tap/64230963

thanks ! but i am using android, what should I do?

I'm afraid that I don't develop Android widgets.

I'm afraid that I don't develop Android widgets.

thanks anyway !

No, use Link to detect touch.
https://stackoverflow.com/questions/64230355/perform-a-deeplink-from-swiftui-widget-on-tap/64230963

thanks ! but i am using android, what should I do?

Similar to iOS, by using PendingIntent, please read the documents of Android Widget.


Refactor Duplicated Type Based Logic

Various parts of the code base has duplicated logical code to accommodate different type data. With the incoming support for Generics there's a scope of removal of lot of redundant code. This issue will act as a meta issue to collect/note/verify such parts of the code base and eventually refactor them.
Please submit permalinks to parts of the code which you think can be refactored in the thread. We can discuss it out and eventually convert them into a seperate issue.
Ref https://go.dev/doc/tutorial/generics
cc @nyrahul

[ ] GenerateHostProfileBody() in enforcer/appArmorHostProfile.go

go.18 is released. Can we adopt the generics?


[WIP] Geometry testsystems

I'm adding additional tests for the GeometryEngine here. I've added tests that propose all lysozyme ligands to each other, as well as all kinase inhibitor ligands to each other.

Are all of these proposals intended to be valid?  Can we really propose transitions from any kinase inhibitor to any other one?  That would be awesome, but seems like it might be overly strict.

Are all of these proposals intended to be valid? Can we really propose transitions from any kinase inhibitor to any other one? That would be awesome, but seems like it might be overly strict.

I'm trying it out--you could be correct.

Ok I think we'll have to restrict transformations. Also, the setup phase is extremely slow--profiling suggests it's the AM1 calculation. Should I somehow restrict the list of inhibitors that we are running, or should we run this test elsewhere?

Ok I think we'll have to restrict transformations. Also, the setup phase is extremely slow--profiling suggests it's the AM1 calculation. Should I somehow restrict the list of inhibitors that we are running, or should we run this test elsewhere?

I think we just need to pre-parameterize the list of inhibitors to ffxml, store it in data/, and preload that ffxml file.  That should work now using openmoltools.forcefield_generators.generateForceFieldFromMolecules.

Yeah, that sounds like a good plan.

Ok, these tests are extremely slow. I think now is probably the time to make GeometryEngine faster. Working on that now.

Sounds good.  We can probably pare back other tests too if that would help.

Well, it might help, but these tests take > 2 hours each (!!!!!!!!).

Holy crap! Which tests in particular?
Also, why is travis still failing with No module named perses?

The T4 lysozyme and kinase inhibitor tests in this PR--basically it's purely a function of how slow the geometry engine is, since that's the only component being tested here.
As for the Travis error, I'm not sure. I haven't had a chance to look more closely but it's on the menu.

I have several ideas for speeding this up. I'm going to try the most straightforward ones here and talk about the rest Wednesday.

I have a numba version of coordinate conversion now (gets completely compiled to native code). I have to clean up a few more things (mostly involving casting float32 arrays to float64), but it seems to be quite a bit faster. Will rebenchmark once the loose ends are tied up.

Cool!

Hm, I seem to be unable to profile with numba (though everything runs fine). Will come up with a minimal example and post on their issue tracker.

The proposals have gotten faster but are not as fast as I would have liked--I want to see what the remaining sticking points are.

Issue raised, will continue with tests.

Might still be useful to brainstorm if some OpenMM functionality might help
speed things up on the opennm issue tracker.

Yep, doing that now. A bit of "poor man's profiling" to see which parts specifically are slow, then going to brainstorm a bit. Will include info in the talk tomorrow.

Preliminary tinkering shows that with the new coordinate conversion code, that step is likely no longer the bottleneck. Proposals take ~10s to go from one kinase inhibitor to another (this means over an hour for the kinase inhibitor -> kinase inhibitor test in both directions). The breakdown for an entire proposal of 45 atoms is approximately:
These things happen once per proposal:
Processing growth order/torsion selection: 34ms
Growth system generation: 514ms
These happen once per atom, but I'm providing the sum of each after proposing 45 atoms.
(total) Torsion scan coordinate conversion: 122ms (note that this is less than 3ms per torsion scan, so the switch to numba definitely helped--this used to be the biggest component).
(total) Energy calculation in the torsion scan: ~7.55s (~167ms/atom).
So clearly, the slowest factor here is the energy computation. Will think more about how to speed this up.

Growth system generation: 514ms

We can probably do some optimization of this code at the Python level before going to an inline C++ function that dodges the unit conversion overhead.

(total) Energy calculation in the torsion scan: ~7.55s (~167ms/atom).

If we can perform the torsion scan on the GPU, I bet we can greatly reduce the overhead here and also position ourselves to add more interactions during the torsion scan to increase RJMC acceptance rates.

Worst case: We write a C++ Integrator plugin that does the torsion scan
Best case: We work out some way to incorporate torsion scans into a fast CustomIntegrator scheme
Intermediate case: We come up with a more efficient sampling scheme that uses CustomIntegrator.
For now: We can just halve the number of points in the torsion scan, or use a lookup table that places more density in the most likely torsion angles.

For the energy computation, it would also help to know if it is the actual energy computation part or other parts (stripping of coordinates from positions when context.setPositions() is called, etc.).

I was actually in the process of looking at that--will post in a moment.

The time that context.setPositions() takes is about 20-25% of the time that context.getState(getEnergy=True) takes. However, on OpenCL, position set time is something like 50% of the energy calculation time (which is also longer--however, I'm not sure what device this is using on my laptop).

How about we post a description and timing breakdown to the OpenMM issue tracker? I have my own ideas as to the best way to proceed (via an Integrator plugin that would handle all of the torsion proposals in one shot) but it will be very helpful to get more ideas, especially from Peter.

I might prefer to save that for a bit later. At the very least, I'd like to see what the numba folks have to say about the profiling problem (I've already raised that issue)--if that can be easily resolved, I'd rather give Peter and the OpenMM crew more reliable numbers*.
Furthermore, I think it might be worthwhile to explore what other algorithms we might use here that could be less demanding. I imagine that writing a plugin for OpenMM as you describe could be a pretty complex engineering task. Although exploring other proposal mechanisms is also complex, it might provide us with more insight into the problem at hand, and is easier to try once we have an algorithm.
Finally, we should set a goal for how fast the GeometryEngine actually has to be to be useful. Obviously, I'll have to pare back the tests a bit here so that they run in a reasonable amount of time on travis, but once we've done that, maybe it'd be worthwhile to have the users in the lab start using perses and from there we can decide the best path forward.
I'd like to chat about this at the group meeting tomorrow to get insight into priorities, goals, etc., if that's ok with you. If it's ultimately the case that we need to write some CUDA plugins for OpenMM, I'm definitely happy to do that. I'd just like to exhaust a few other options first.

There may be options that don't require writing plugins, but we won't necessarily know about all the possibilities (including those which take little work from our end) without picking the brains of other OpenMM developers/users.  Let's do that as soon as you get reliable benchmark numbers.
I could imagine there are many possibilities that do not involve writing platform-specific plugins but instead simply require a C++-level function but still get us the speed increase we need or use a feature that could be implemented on the OpenMM end that multiple people could use.
Let's brainstorm/discuss more at your group meeting tomorrow.

One other thought on "how fast does this have to be?": The primary criteria is how much computer effort is required to decorrelate in chemical space once the optimal relative free energies of different compounds are known. The metric of merit is the statistical inefficiency for hopping in compound space times the wall clock time per expanded ensemble iteration.  There are many ways to speed things up---including making the geometry proposal moves take longer but have higher acceptance probabilities via including more of the local environmental interactions in torsion proposals, parallel Monte Carlo, more clever NCMC pathways, etc.  But it there is low-hanging fruit---and a straightforward approach to speeding up torsion proposals might be one of them---this might be worth pursuing.

Don't forget to add numba to devtools/conda-recipe/meta.yaml and the setup.py if you are going to require it.

Hm, going to have to resolve conflicts, otherwise this is almost done.

Going to make the meta.yaml change in a quick PR after this. Conflict resolution was otherwise a bit of a pain.


omni_funded_send execution error

I try to use omni_funded_send for fund collecting, but only executed 25 transactions. and then report the following error,  my transaction fee is enough for fee_address, I don't know where the problem is now, please help me, thank you.
# my using command
omnicore-cli omni_funded_send  from_address to_address 31 100 fee_address
# error infomation
 {"code"=>-211, "message"=>"Error creating transaction (wallet may be locked or fees may not be sufficient)"}

My omnicore version is v0.3.1. I tried increasing txconfirmtarget to 12, but it didn't work.
But after I restart the omnicored, I can execute 25 tx again.

I think the wallet was locked due to an error, so I can continue working after I restart omnicored，but the reason for the error could not be found.

+1

@dexX7

The latest version 0.6.0 has the same problem @dexX7

You can try the following two methods, which may have an effect.

Unspents may be locked, run omnicore-cli lockunspent true to unlock.
Deposit some bitcoin to your address from wallet or exchange.

Hello guys,
we are aware of the issue and a fix is coming no later than Monday. Sorry.


Update the udn-density-pods metadata

Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[x] Optimization
[ ] Documentation Update

Description
This PR updates the job's metadata for L2/L3 according to ENABLE_LAYER_3
Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

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

@rsevilla87 If this looks good, can you merge this?


custom http header support

when using http proxy there is no option to send custom header like
Host: softether.com
X-Online-Host: softether.com

Since VPN works on IP layer, not Application Layer, I think your idea has no use.
You can play any online PC games when VPN is connected, and those games usually use TCP/UDP connection directly instead of a HTTP request.

You can achieve that by a program that mingle with network layer 4-7. For example squid is able to add whatever headers to http requests


Das_Geek: Watch xn--fhrerschein-online-kaufen.com

Das_Geek requests the watch of the watch_keyword xn--fhrerschein-online-kaufen\.com. See the MS search here and the Stack Exchange search here.

xn--fhrerschein-online-kaufen\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Link to tp: https://metasmoke.erwaysoftware.com/post/210377

Duplicate (modulo IDNA normalization) of #3522; see also https://chat.stackexchange.com/transcript/message/54381444#54381444


fix: restore remote standard list use

Codecov Report

Merging #350 (5251fe8) into main (9cfda59) will decrease coverage by 0.65%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #350      +/-   ##
==========================================
- Coverage   82.56%   81.91%   -0.66%
==========================================
  Files          21       21
  Lines        1371     1382      +11
==========================================
  Hits         1132     1132
- Misses        239      250      +11

Impacted Files
Coverage Δ

splunk_connect_for_snmp/snmp/manager.py
83.17% <0.00%> (-3.08%)
: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 9cfda59...5251fe8. Read the comment docs.


roc run crashes with called Option::unwrap() on a None value'

I've tried to minimise this as much as I can.
% roc run test.roc
thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', crates/compiler/mono/src/ir.rs:5640:56
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

app "aoc-2022"
    packages { pf: "https://github.com/roc-lang/basic-cli/releases/download/0.1.2/3bKbbmgtIfOyC6FviJ9o8F8xqKutmXgjCJx3bMfVTSo.tar.br" }
    imports [
        pf.Stdout,
        pf.Task.{ Task },
        pf.File,
        pf.Path.{ Path },
    ]
    provides [main] to pf

main : Task {} []
main =

    task =
        fsSample = buildDirectoryListing []
        fileInput <- File.readUtf8 (Path.fromStr "") |> Task.map Str.toUtf8 |> Task.await
        _ = part1 fsSample
        Stdout.line ""

    Task.onFail task \_ -> crash "Oops, something went wrong."

part1 : FileSystem -> U64
part1 = \fs ->
    fs
    |> Dict.keys
    |> List.keepOks \path -> dirSize fs path
    |> List.keepIf \size -> size <= 100_000
    |> List.sum

FileSystem : Dict (List Str) Entry
Entry : [ File U64, Folder U64 ]

buildDirectoryListing : List LineOutput -> FileSystem
buildDirectoryListing = \lo ->
    List.walk lo {cwd:List.withCapacity 10, fs : Dict.empty} \{cwd, fs}, line ->
        when line is
            FileListing size name ->
                path = List.append cwd name |> Str.joinWith "/"
                entry = File size
                xfs =
                    fs
                    |> Dict.insert path entry
                    |> updateParentSizes (Str.joinWith cwd "/") size

                {cwd, fs : xfs}
            _ ->
                {cwd, fs}
    |> .fs

updateParentSizes : FileSystem, List Str, U64 -> FileSystem
updateParentSizes = \fs, path, size ->

    xfs = Dict.insert fs path (Folder 0)

    when List.dropLast path is
        [] -> xfs
        parent -> updateParentSizes xfs parent size

dirSize : FileSystem, List Str -> Result U64 [NotFolder]
dirSize = \fs, path ->
    when Dict.get fs path is
        Ok (Folder currentSize) -> Ok currentSize
        _ -> Err NotFolder

LineOutput : [ FileListing U64 Str ]

sampleInput = Str.toUtf8 ""

Maybe this might be related?
app "bug"
    packages {
        pf: "https://github.com/roc-lang/basic-cli/releases/download/0.7.0/bkGby8jb0tmZYsy2hg1E_B2QrCgcSTxdUlHtETwm5m4.tar.br",
    }
    imports [
        pf.Stdout,
    ]
    provides [main] to pf

main =
    dbg List.withCapacity 10

    Stdout.line
        """
        done
        """

thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', crates/compiler/mono/src/ir.rs:6156:56
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Duplicate of https://github.com/roc-lang/roc/issues/4776
They crash on the same line, though the line number changed between the two reports. The code at the time this issue was filed:
https://github.com/roc-lang/roc/blob/ea53a50447c0cf9a1c5f9c66bf9cab79e71f0866/crates/compiler/mono/src/ir.rs#L5640
The code at the time that issue was filed:
https://github.com/roc-lang/roc/blob/4315a36e905218f85291172bbf9c07a7079ca216/crates/compiler/mono/src/ir.rs#L5714


GCC versus AOCC optimization

 	Total Frames |   Bitrate     Y-PSNR    U-PSNR    V-PSNR    YUV-PSNR
-	      500    a   69383.0744   36.6916   39.6481   40.8076   37.5261
-finished @ Sat Jan 22 21:21:27 2022
+	      500    a   69383.2840   36.6916   39.6481   40.8076   37.5261
+finished @ Sun Jan 23 11:44:28 2022

-Total Time: 14645.331 sec. Fps(avg): 0.034 encoded Frames 500
+Total Time: 12097.595 sec. Fps(avg): 0.041 encoded Frames 500

GCC flags: -flto -O3
1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP22.266.log
AOCC flags: -march=znver3 -flto -Ofast -mllvm -enable-strided-vectorization
1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP22.266.log

In other words, AOCC produced 21% faster code than GCC.

Interesting. Are both bitstreams decodable? You are encoding with the DPH SEI enabled. Is it correctly reconstructed by the decoder?
It would be interesting to know where the difference comes from. Could you check if the AOCC executable provides the same result with --SIMD=SCALAR. If not, there is an implementation problem somewhere. If yes, the difference is probably caused by some floating point calculation instability, which would be annoying but acceptable.

All bitstreams with QP equal to 22, 27, 32, 37, 42, 47 are perfectly decodable with the VVdeC version 1.3.0.
I will restart the encoding with SIMD scalar and check the results later today.

[peter.kovar@vmi728485 ~]$ VVenC.sh
+ COMPILER=GCC
+ VERSION=8.5.0
+ CONFIGURATION=GCC/8.5.0
+ ENCODER=/usr/local/GCC/8.5.0/bin/vvencFFapp
+ OUTPUT_PATH=/home/peter.kovar/Video/VVC/GCC/8.5.0
+ mkdir -p /home/peter.kovar/Video/VVC/GCC/8.5.0
+ HORIZONTAL=3840
+ VERTICAL=2160
+ SIZE=3840x2160
+ RATE=50
+ NAME=1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_
+ for QP in 32
+ INPUT=/home/peter.kovar/Video/YUV/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.yuv
+ OUTPUT=/home/peter.kovar/Video/VVC/GCC/8.5.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266
+ LOG=/home/peter.kovar/Video/VVC/GCC/8.5.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266.log
+ nice /usr/local/GCC/8.5.0/bin/vvencFFapp --InputFile /home/peter.kovar/Video/YUV/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.yuv --Size 3840x2160 --framerate 50 --InputBitDepth 10 --QP 32 --SIMD=SCALAR --Threads 8 --BitstreamFile /home/peter.kovar/Video/VVC/GCC/8.5.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266

real	178m35,012s
user	1031m1,738s
sys	3m47,406s
[peter.kovar@vmi728485 ~]$ vim Scripts/VVenC.sh
[peter.kovar@vmi728485 ~]$ VVenC.sh
+ COMPILER=AOCC
+ VERSION=3.2.0
+ CONFIGURATION=AOCC/3.2.0
+ ENCODER=/usr/local/AOCC/3.2.0/bin/vvencFFapp
+ OUTPUT_PATH=/home/peter.kovar/Video/VVC/AOCC/3.2.0
+ mkdir -p /home/peter.kovar/Video/VVC/AOCC/3.2.0
+ HORIZONTAL=3840
+ VERTICAL=2160
+ SIZE=3840x2160
+ RATE=50
+ NAME=1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_
+ for QP in 32
+ INPUT=/home/peter.kovar/Video/YUV/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.yuv
+ OUTPUT=/home/peter.kovar/Video/VVC/AOCC/3.2.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266
+ LOG=/home/peter.kovar/Video/VVC/AOCC/3.2.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266.log
+ nice /usr/local/AOCC/3.2.0/bin/vvencFFapp --InputFile /home/peter.kovar/Video/YUV/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.yuv --Size 3840x2160 --framerate 50 --InputBitDepth 10 --QP 32 --SIMD=SCALAR --Threads 8 --BitstreamFile /home/peter.kovar/Video/VVC/AOCC/3.2.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266

real	144m1,126s
user	864m45,966s
sys	2m23,265s

€ diff -u '/run/user/1001/gvfs/sftp:host=düsseldorf.reflexion.tv/home/peter.kovar/Video/VVC/GCC/8.5.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266.log' '/run/user/1001/gvfs/sftp:host=düsseldorf.reflexion.tv/home/peter.kovar/Video/VVC/AOCC/3.2.0/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_.QP32.266.log' > ~/"GCC 8.5.0 versus AOCC 3.2.0 comparison.diff.txt"
GCC 8.5.0 versus AOCC 3.2.0 comparison.diff.txt

AOCC generated encoder was 24% faster.!?

Thanks for checking for conformance. Without SIMD the results seems to be the same, but there is actually some floating point SIMD in the encoder. So even so, the difference could also potentially be uncritical. I'll try to track it down sometime, but it seems uncritical - probably floating point operation influencing an encoding decision.
The speed-up really is impressive. Thanks for sharing! I'm actually surprised because with the amount of manual optimization we did, I didn't think an architecture optimizing compiler would matter so much. It'd be interesting to see the profiling to get an idea where AOCC was able to optimize so much (e.g. with ENABLE_TIME_PROFILING). I might have a look sometime.
We cannot really act on it though.
If you want to simplify your build process to utilize this, you can specify the target arch directly in the make-cmd as:
$ make clean
$ make release ... enable-arch=znver3

There is not utilized AVX3-512 yet. I will try PGO during this week and share the measured results.

AVX2 brings max 10% over SSE42, so I wouldnt get my hopes up for AVX512.
If you find a way to automate PGO as a part of our CMake build process, feel free to make a pull request. Looking forward to the results.

It is not easy.
ccmake ../../../../..

CCACHE_FOUND                     /usr/bin/ccache
CMAKE_ADDR2LINE                  /usr/bin/addr2line
CMAKE_AR TALL_PREFIX             /usr/bin/ar OCC/3.2.0
CMAKE_BUILD_TYPE BLE_ITT         Debug
CMAKE_COLOR_MAKEFILE ON
CMAKE_CXX_COMPILER               /opt/AMD/aocc-compiler-3.2.0/bin/clang++
CMAKE_CXX_COMPILER_AR            /opt/AMD/aocc-compiler-3.2.0/bin/llvm-ar
CMAKE_CXX_COMPILER_RANLIB /opt/AMD/aocc-compiler-3.2.0/bin/llvm-ranlib
CMAKE_CXX_FLAGS                  -march=znver3 -flto -Ofast -mllvm -enable-strided-vectorization
CMAKE_CXX_FLAGS_DEBUG            -g -fprofile-instr-generate
CMAKE_CXX_FLAGS_MINSIZEREL       -Os -DNDEBUG
CMAKE_CXX_FLAGS_PROFILE          -O0 -fprofile-instr-generate
CMAKE_CXX_FLAGS_RELEASE          -O3 -DNDEBUG -fprofile-instr-use
CMAKE_CXX_FLAGS_RELWITHDEBINFO   -O2 -g -DNDEBUG

time make --jobs 8

real    9m1,768s
user    36m5,663s
sys     0m55,690s

/opt/AMD/aocc-compiler-3.2.0/bin/llvm-profdata merge -output=default.profdata default.profraw

CMAKE_CXX_FLAGS_RELEASE          -O3 -fprofile-instr-use=/usr/src/github.com/1div0/vvenc/Linux/x86-64/EPYC/AOCC/3.2.0/default.profdata

[peter.kovar@vmi728485 3.2.0]$ VVenC.sh
+ COMPILER=AOCC
+ VERSION=3.2.0
+ CONFIGURATION=AOCC/3.2.0
+ ENCODER=/usr/local/AOCC/3.2.0/bin/vvencFFapp
+ OUTPUT_PATH=/home/peter.kovar/Video/VVC/AOCC/3.2.0
+ mkdir -p /home/peter.kovar/Video/VVC/AOCC/3.2.0
+ HORIZONTAL=1920
+ VERTICAL=1080
+ SIZE=1920x1080
+ RATE=24
+ NAME=Kimono1_1920x1080_24
+ for QP in 32
+ INPUT=/home/peter.kovar/Video/YUV/Kimono1_1920x1080_24.yuv
+ OUTPUT=/home/peter.kovar/Video/VVC/AOCC/3.2.0/Kimono1_1920x1080_24.QP32.266
+ LOG=/home/peter.kovar/Video/VVC/AOCC/3.2.0/Kimono1_1920x1080_24.QP32.266.log
+ nice /usr/local/AOCC/3.2.0/bin/vvencFFapp --InputFile /home/peter.kovar/Video/YUV/Kimono1_1920x1080_24.yuv --Size 1920x1080 --framerate 24 --InputBitDepth 8 --QP 32 --Threads 8 --BitstreamFile /home/peter.kovar/Video/VVC/AOCC/3.2.0/Kimono1_1920x1080_24.QP32.266

real    405m3,083s
user    2877m46,438s
sys     1m20,165s

/opt/AMD/aocc-compiler-3.2.0/bin/llvm-profdata merge -output=default.profdata default.profraw

[peter.kovar@vmi728485 3.2.0]$ file default.prof*
default.profdata: LLVM indexed profile data, version 7
default.profraw:  LLVM raw profile data, version 7

[peter.kovar@vmi728485 3.2.0]$ time make --jobs 8
[  1%] Building CXX object source/Lib/apputils/CMakeFiles/apputils.dir/ParseArg.cpp.o
[  1%] Building CXX object source/Lib/apputils/CMakeFiles/apputils.dir/YuvFileIO.cpp.o
[  2%] Building CXX object source/Lib/apputils/CMakeFiles/apputils.dir/VVEncAppCfg.cpp.o
[  3%] Linking CXX static library ../../../../../../../../lib/release-static/libapputils.a
[  3%] Built target apputils
[  3%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/AdaptiveLoopFilter.cpp.o
[  4%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/AffineGradientSearch.cpp.o
[  5%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/BitStream.cpp.o
[  5%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/CodingStructure.cpp.o
[  7%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/ContextModelling.cpp.o
[  7%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Buffer.cpp.o
[  8%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Contexts.cpp.o
[  9%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/DepQuant.cpp.o
[  9%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/InterPrediction.cpp.o
[ 10%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/InterpolationFilter.cpp.o
[ 11%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/IntraPrediction.cpp.o
[ 12%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/LoopFilter.cpp.o
[ 12%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/MCTF.cpp.o
[ 13%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/MatrixIntraPrediction.cpp.o
[ 14%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Mv.cpp.o
[ 15%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/PicYuvMD5.cpp.o
[ 15%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Picture.cpp.o
[ 16%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/ProfileLevelTier.cpp.o
[ 17%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Quant.cpp.o
[ 18%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/QuantRDOQ.cpp.o
[ 18%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/QuantRDOQ2.cpp.o
[ 19%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/RdCost.cpp.o
[ 20%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Reshape.cpp.o
[ 21%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Rom.cpp.o
[ 21%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/RomTr.cpp.o
[ 22%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/SEI.cpp.o
[ 23%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/SampleAdaptiveOffset.cpp.o
[ 24%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/SearchSpaceCounter.cpp.o
[ 24%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Slice.cpp.o
[ 25%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/StatCounter.cpp.o
[ 26%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/TimeProfiler.cpp.o
[ 27%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/TrQuant.cpp.o
[ 27%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/TrQuant_EMT.cpp.o
[ 28%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Unit.cpp.o
[ 29%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/UnitPartitioner.cpp.o
error: no profile data available for file "StatCounter.cpp" [-Werror,-Wprofile-instr-unprofiled]
1 error generated.
make[2]: *** [source/Lib/vvenc/CMakeFiles/vvenc.dir/build.make:482: source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/StatCounter.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:188: source/Lib/vvenc/CMakeFiles/vvenc.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

real    0m50,479s
user    3m9,502s
sys     0m22,095s

@adamjw24 Am I doing something wrong here?

Hmm... from the log files I understand that to do a profile based build, you need profiling info for every object? This will not be possible with vvenc for following reason:

the tracing and instrumentation functionalities are disabled per default, so the object would be empty. Also, no one care about the performance of the tracing and the instrumentation.
the decoding functionality is not used most of the time, it would be inpractical to generate profiling data for it only because of the build
stuff like weighted prediction is only used with specific configs, so the files might also not be used (i.e. no profiling data for those files)

Oh, wait, I just had a second look, and found the following:
[ 29%] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/UnitPartitioner.cpp.o
error: no profile data available for file "StatCounter.cpp" [-Werror,-Wprofile-instr-unprofiled]
1 error generated.
make[2]: *** [source/Lib/vvenc/CMakeFiles/vvenc.dir/build.make:482: source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/StatCounter.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

It looks like you should add the following flag to the build: -Wnoprofile-instr-unprofiled

Dziękuję.
-Wno-profile-instr-unprofiled
And compiler frontend just exploded.
Going to report that to the AMD.
EncCu-daf955.cpp.txt
EncCu-daf955.sh.txt

Proszę.
You might try with an older clang version. We had some some issues with bleeding edge compilers a few times already.

Closed accidentally. I misread the issue number to close.

AOCC 3.1.0 based on LLVM 12.0.0 just compiled OK.
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-Ofast -flto -mllvm -enable-strided-vectorization -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -fprofile-instr-use=/usr/src/github.com/1div0/vvenc/Linux/x86-64/EPYC/AOCC/3.1.0/default.profdata

Result in https://düsseldorf.reflexion.tv/nextcloud/index.php/s/Y9E884z6wAkNNSZ

Recently, I have compiled the LLVM v15 Clang compiler and discovered this:
/usr/src/github.com/1div0/vvenc/source/Lib/EncoderLib/IntraSearch.cpp:2509:27: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]       currTU.jointCbCr = (TU::getCbf(currTU, COMP_Cb) | TU::getCbf(currTU, COMP_Cr)) ? bestJointCbCr : 0;                          ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                       || /usr/src/github.com/1div0/vvenc/source/Lib/EncoderLib/IntraSearch.cpp:2509:27: note: cast one or both operands to int to silence this warning

I think clang v15 is way too early to take its warnings seriously. We had a lot of problems with early compiler version, and I'd rather wait out for those to mature a bit.
Might pull in the PR tho, since it seems logical (no pun intended).

So far no word from the AMD about compiler crash. However, these results are confirming my observation.
https://www.phoronix.com/scan.php?page=article&item=amd-aocc-milanx&num=4

Closing for now, as not really actionable. This is more informative.


Rename Photographer entity to User

Codecov Report

Merging #58 (9baacc9) into master (dd25d05) will decrease coverage by 0.21%.
The diff coverage is 88.31%.

@@            Coverage Diff             @@
##           master      #58      +/-   ##
==========================================
- Coverage   93.71%   93.50%   -0.22%
==========================================
  Files          92       92
  Lines         955      924      -31
  Branches       44       43       -1
==========================================
- Hits          895      864      -31
  Misses         60       60

Impacted Files
Coverage Δ

.../Application/School/Command/CreateSchoolCommand.ts
100.00% <ø> (ø)

...ation/School/Command/CreateSchoolCommandHandler.ts
100.00% <ø> (ø)

.../Application/School/Command/UpdateSchoolCommand.ts
100.00% <ø> (ø)

...ation/School/Command/UpdateSchoolCommandHandler.ts
100.00% <ø> (ø)

...lication/School/Query/GetSchoolByIdQueryHandler.ts
100.00% <ø> (ø)

.../Query/Product/GetSchoolProductByIdQueryHandler.ts
100.00% <ø> (ø)

...ool/Query/Product/GetSchoolProductsQueryHandler.ts
100.00% <ø> (ø)

...pi/src/Application/School/View/SchoolDetailView.ts
100.00% <ø> (ø)

api/src/Domain/School/School.entity.ts
97.05% <ø> (-0.62%)
:arrow_down:

...cture/School/Repository/SchoolProductRepository.ts
27.77% <ø> (ø)

... and 24 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 dd25d05...9baacc9. Read the comment docs.


Add support for SOCKS5 proxy protocol

Requested in #746.
VPN Command Line Management Utility:
# VPN Client
AccountProxySocks5	Set Connection Method of VPN Connection Setting to be via a SOCKS5 Proxy Server

# VPN Server
CascadeProxySocks5	Set Connection Method of Cascade Connection to be via a SOCKS5 Proxy Server

VPN Client Manager:

VPN Server Manager:

SoftEther VPN Patch Acceptance Policy:
http://www.softether.org/5-download/src/9.patch
I choose option 1.

can we change Proxy Type with dropdown box ?

Good idea, but I would do it in another pull request.

no problem

radio button is good to two option choice. we can check all the interface, how many choices do we have

After reading your code, I realized that sockes5 is a very complicated implementation method. I think you must spend a lot of time to deal with this function. Thank you for your efforts in the function of sockes5. This function will benefit many people. :
1, when the customer through the sockes5 link can be separated from the routing table, DNS control
2. You can truncate some of the URLs in the first phase of SOCKES5.
3, there are other benefits of SOCKES5: For example, China's lines are divided into individuals, enterprises, dynamic enterprises, static enterprise lines, the above firewalls are different, personal firewalls are the most stringent, static enterprise firewalls are the most lenient, when personal firewalls are discarded When using the server IP, we can use SOCKES5 from the static enterprise line.

Thank you very much for your great feedback!
Do you confirm that the SOCKS5 implementation works for you?

Can I generate a client binary for testing?

indows client binary, I downloaded your 2018-10-30 binary file and finished without sockes5

From AppVeyor: https://ci.appveyor.com/api/buildjobs/airj8d3jfh4bca23/artifacts/output%2Fpkg%2Fv5.01-9661-unstable-2018.10.30%2Fsoftether_open-vpnclient-v5.01-9661-unstable-2018.10.30-windows-x86_x64-intel.exe

The local test link is successful, and going back to test the game UDP will delay at night.


[PRM-1397] Changed to UseAPI1812Model feature switch for Calculation Controller

I don't think the tests are failing because of the changes. I think it is a transient issue 😄

test this please


Finish Ingredient Implementation

With the recent addition of 4 new products, I have added a new field to the data titled 'ingredients'. It is located just underneath the nutrition section of each product. So far, 4/58 products have ingredients included. The rest have the field, but it is empty.
The ingredients need to be displayed for the rest of the products.

Done. Ingredients have been added for the rest of the products


[Harvester] when a cluster member is added and then removed from the harvester cluster RBAC logged in as a Cluster owner all the members disappear

Describe the bug
If a cluster member is added by a cluster owner and then removed from the harvester cluster, we see the RBAC members page display a blank page.
To Reproduce
Steps to reproduce the behavior:

Create a local user from rancher --> Users and auth --> create user1,user2 [standard user permissions]
As an admin from virtualization management --> harvester cluster --> RBAC --> add the user1 as cluster Owner
Login as user1 and verify the harvester cluster is seen
As user1 [Cluster owner] virtualization management --> harvester cluster --> RBAC --> add user2 and user1 as a cluster member
Remove user1 cluster member logged in as user1 from the RBAC page

Expected behavior
Should not go blank and expected to display all the members in the cluster.
Additional context
Few observations:

Refresh the UI and the users are seen listed in the RBAC
Create a new user and verify all the users are listed.
The issue happens sometimes.

ref: Found when verifying the ticket #4299
Related rancher issue: https://github.com/rancher/dashboard/issues/4347

The issue is caused by /v3 WebSocket disconnect. UI send a request to find a not existing CRTB, which causes UI to fail in fetch hook and shows list empty.
Cluster member list:

Fetch norman CRTB
According to every CRTB find the match steve CRTB

When adding a member:

Create steve CRTB by sending a request to the server
Create a new norman CRTB and restore in UI store

When removing a member:

Delete steve CRTB by sending a request to the server
Received the remove event of norman CRTB from WebSocket and then remove the data from the UI store

I need to investigate why WebSocket disconnected.
Additional Context

Hi, @anupama2501. The issue happens sometimes is caused by WebSocket disconnect. I try many times and found that add/delete member won't cause WebSocket disconnect.
Could you give me more information to reproduce the issue? I guess there is another reason cause WebSocket disconnect .

Verified fixed on master-f5bde7fa-head with Rancher v2.6.3-rc1.Close this issue.
Result
In harvester cluster member (RBAC) page, login user1 (owner) -> add user2 (member) -> add user1 (member) -> delete user1(member)  then navigate to other page in harvester then login RBAC again.
All the members are displayed in the cluster member page correctly without blank page.

Logout and login user1 again, it still can
Test Information

Test Environment: 3 nodes harvester on provo bare machines
Harvester version: master-f5bde7fa-head
Rancher version: v2.6.3-rc1

Environment Preparation

Install harvester v2.6.3-rc1 through docker command

Verify Steps

Environment preparation as above steps
Import harvester in rancher
Create user1 and user2 as standard user in user&authentication

Add user1 as cluster owner in harvester RBAC page
Login with user user1 and access harvester RBAC page
Add user2 as cluster member
Add user1 as cluster member

Delete user1 (cluster member)

Navigate to other page (e.g image)
Access RBAC page again
Logout and login with user1 again
Access RBAC page


As a developer i want to test make end to end test for sending cheeps using Playwright, such that we can verify that all of our components in the system can run together

As a developer i want to test make end to end test for sending cheeps using Playwright, such that we can verify that all of our components in the system can run together
Acceptence Criteria:

When we have an e2e for sending a new cheep
Checking that the send cheep box only appears when logged in
When we have an e2e test for testing if a user gets an error messages when sending a cheep longer than 160 characters

Checking that the send cheep box only appears when logged in
When we have an e2e test for testing if a user gets an error messages when sending a cheep longer than 160 characters


Make proper types and schemas for all data

The data coming from the backend is currently very vague and not clear to first-time users, who clone it.
We need to add proper documentation of the collections and schema of the documents that are stored in the database.

I want to solve this issue.


Suddenly, a float?!

This may or may not be the right place to report this issue, but I'm in good faith that you can, at least, forward this to the appropriate place. While testing Peter Norvig's Beal-counterexample-checker, I observed some bad behavior for certain near-counterexamples like 388288^3 + 18201^4 = 552097^3:

The first error message is A and B have the common factor 6067. The checker is right about this. I said near-counterexample.
The next message is A ** x + B ** y is<PHONE_NUMBER>46216670 and C ** z is 9.290980510367889e+22 but they must be equal. This is wrong, since equality does hold. This is the reason I'm reporting this issue.

I believe this is a bug in or misuse of the underlying BigInt-implementation, which seems to live in this repository.
Note that this strangely doesn't happen for "more evil" near-counterexamples, e.g. 940463^3 + 31701^4 = 1225772^3, which only have gcd 10567, which is a prime. But I digress :)

Peter Norvig wrote something (admittedly a small toy program) using this library? I feel so flattered.
I haven't investigated the issue yet, I'll look into it in the next few days.

@BenWiederhake , seems, you was calculating 552097^4 which is<PHONE_NUMBER>3678886513281,
" and C ** z is " + C.pow(z) is evaulated as " and C ** z is " + C.pow(z).valueOf().toString()
and so you see 9.290980510367889e+22
Please check.

@Yaffle is correct. It appears that you accidentally entered 552097 ** 4 instead of 552097 ** 3, which seems to have the expected behavior.
The issue about the string representation is the same as in issue #31. There's a subtle language quirk involved here where "string" + bigInt will call the valueOf function on the big integer first instead of the toString function. I'm considering removing the valueOf override for this reason, since concatenating big integers with strings might be more commonly desired than converting them to Javascript numbers implicitly, but I'm a little hesitant since this would be a breaking change.

Sounds reasonable. So it all was just a typo on my end. Aww :(


Merge v0.20.0 back to the develop branch

Codecov Report

Merging #344 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #344   +/-   ##
========================================
  Coverage    98.18%   98.18%
========================================
  Files           12       12
  Lines          497      497
  Branches       141      141
========================================
  Hits           488      488
  Misses           5        5
  Partials         4        4

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 ef44a29...71040c0. Read the comment docs.


Highlighting on Tiq Mini M5

Hello,
Strange issue I am seeing when using TT9 is items become highlighted when they shouldn't be. Either the bottom bar is highlighted or pop-up items are highlighted.

I am curious if you know where this issue may lie. By itself (without TT9 installed) the phone works with the keypad's navigation arrows and select button and it only has Google Keyboard (qwerty on the touchscreen) as its keyboard. Perhaps there are two IMEs interfering?

You can't have two keyboards active. There may be a hotkey manager running in the background, like on Qin F21 Pro, but not two keyboards.
When does highlighting occur? Is it after you send a message? Does it happen in all apps?

right, I am not suspecting 2 keyboards, but what could be managing the navigation keys functions and maybe that is conflicting with TT9
I am only noticing it in the messaging app. It seems to be random. Sometimes I'll select the text box to type and the bottom status bar will already be highlighted like in the photo.

Nevermind, I am also seeing it when using the browser application. So it is not specific to just the messaging app.

right, I am not suspecting 2 keyboards, but what could be managing the navigation keys functions and maybe that is conflicting with TT9

Well, after discovering that the volume buttons on Qin F21 Pro do not work properly when there is no status icon, I really don't know what could be conflicting anymore...
Anyway, the comments in #300 and #393 suggest that in some cases, when key presses must be ignored, they are not ignored correctly. I am not sure what is the correct way (I think it is not the same on all phones), but you could try out an experimental option: go to Settings, scroll down to the version number and click it. Then look for "Keypad Handling Mode" and change it to something different than "normal". This will cut all key processing within Traditional T9 and return the control to Android. The downside is, you cannot type anything this way, you can just navigate around. But for the purpose of testing, it shouldn't matter. If the problem occurs often enough, just open and close the messaging app a couple of times, and see if it stops getting highlighted.
Another thing is, I have tested on Android up to 11 only. The APK isn't even built for the latest Android API, so there may be compatibility issues, indeed. I do intend to upgrade and at least test in the emulator, but I was thinking of doing some feature requests that have been waiting for a year now.
Finally, have you used another keyboard long enough to verify this isn't a problem with the phone itself?

I tried changing that setting and the bottom bar was still highlighted when I went back to the messaging app.
I think it could be an Android 13 thing. This is the first time I've noticed it and it's with an Android 13. We can park this for now until we can get another Android 13 device to test it on.

ה Hi, thanks for the keyboard, it's very good.  This matter is related to setting focus in the layout. If you tell me which layout this line is set to, maybe I can fix it.

Note that this is 2 separate lines, 1 the list of letters, 2 input mode. You have to turn off the focus there

I never set the focus to any element manually. If you want to give it a try, please go ahead.
There are several layout files, corresponding to each MainView size:

res/layout/main_small.xml is the one from the screenshots here and the videos in #640.
res/layout/main_numpad.xml is the full on-screen keypad, used on touchscreen phones. I am not sure if it needs fixing.

These two contain the Suggestion Bar and the Status Bar. They are overlaid on top of each other. The Status Bar is the one that displays the typing mode and the language. The Suggestion Bar displays the word list when you start to type.
Suggestion Bar files:

layout: res/layout/suggestion_list.xml (when MainView is small) or res/layout/suggestion_list_numpad.xml (when MainView is full numpad)
Java: java/io/github/sspanak/tt9/ui/tray/SuggestionsBar.java and java/io/github/sspanak/tt9/ui/tray/SuggestionsAdapter.java

Status Bar files:

layout: a TextView inside the respective main_small.xml or main_numpad.xml
Java: java/io/github/sspanak/tt9/ui/tray/StatusBar.java

Let me know, in case you have any further questions.


Not working

After I pressed the button, I seemed to stay in the test screen, and there was no choice of BP. I need some help because I may not know if my operation is correct.
Moreover, the following error occurred after I clicked "star web serve"

It doesn't seem to read the client's ban / pick information

No further action required. Likely no issue anymore.


chore(deps): update dependency @dcos/eslint-config to v0.3.1

This PR contains the following updates:

Package
Type
Update
Change

@dcos/eslint-config
devDependencies
patch
0.3.0 -> 0.3.1

Release Notes

dcos-labs/eslint-config
v0.3.1
Compare Source
Bug Fixes

test-names: also capture Should in tests (5e32110)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (0.3.1). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


docs(readme): update structure

@mxschmitt, would love to get your thoughts on this when you're around.


Move BTP Service Instances as extension

Description
We replace our current implementation with the extensibility option.
Acceptance Criteria

[ ] Validate with Product Owner if the current implementation is correct
[ ] Replace the current implementation with extensibility
[ ] Deploy to stage and Test all the edge cases on stage
[ ] Deploy to production
[ ] Remove old codebase
[ ] Adjust Tests to use extensions

please consider https://github.com/kyma-project/busola/issues/1650 when fixing this


Add play detect functionality to video

Awesome component! Thanks a lot!
I am curious to know if a similar functionality can be applied to videos (not the same functionality). I embedded videos and detected the clicks already.
But what I want to achieve is to "get the moment when it started playing and stopped playing" based on the playing button. Similar functionality can be achieved in the front end by adding JS with requestVideoFrameCallback API. But is there a way to get it done in streamlit? This will ensure that I can show contextual content in sync with the video.

Hi @Jiltseb. It definitely seems possible to create a Streamlit component for this, especially if you already know how to achieve this in Javascript. Frankly, I don't know much about Javascript and I still managed to create components. There are tutorials on this and you can ask for support through the Streamlit discussion forum if needed.


Typo in  page 861, 2023-4-1 version

On the left of equation 25.22, it may be $\boldsymbol{\mu_\theta} (\boldsymbol{x}_t, t)$.

fixed


Cleanup closing of resources

Close resources in tests
Use try-with-resource

@hmottestad is this issue a duplicate of #3146?


Bug in multiple-select mouse event handling

When you click-drag to select multiple items in a select list (Chrome, Win10) the event handler misses the mouse-up event and doesn't trigger the model update:

This looks like a bug in Windows Chrome because when the mouse is released outside it's not firing the change event.
Safari 9 also has this behavior, but IE9/10/11, Mac Chrome and Firefox all correctly fire the change event.
While I'll try to see if there's a way to achieve consistent behavior in Vue, we should also file bugs for Chrome and Safari to fix this behavior.

Confirmed this is indeed a Chrome/Chromium/Webkit bug, fired respectively at:

https://code.google.com/p/chromium/issues/detail?id=571927
https://bugs.webkit.org/show_bug.cgi?id=152540

This is a wontfix for Vue.js.


[TE8] [TC-TSAT-3.2] Functionality with client as DUT

Test-Case ID:-[TC-TSAT-3.2] Functionality with client as DUT
Problem
While Executing the behavior of the functionality of the Thermostat cluster, a few commands throws error code as 0xc3(unsupported cluster).

setpoint-raise-lower
get-relay-status-log

Test log
TC-TSTAT-3.2.txt

SetPointRaiseLower commanad is M in the spec, so this is likely cert blocker.
GetRelayStatusLog is optional, so it should not block cert.
if the SCH feature is enabled, several other operations become mandatory.

@cabin15 TSTAT test case works fine with Thermostat app but not in all cluster app.  Could you please use Thermostat app for TSTAT test case in specific.

@cabin15 this seem to be implemented in all-cluster-app, Can you verify this on all-cluster-app and verify ? Is there a reason you need to verify this on thermostat app, on your platform.
Can you pls provide platform, app details that you are running this test on ?

@cabin15 could you verify on latest ToT and file new ticket, since this is old ticket we are closing the issue


E417: missing argument: guibg= when sourcing neomake.vim

Got this error when running the plugin:
Error detected while processing /Users/user/.config/nvim/plugged/neomake/plugin/neomake.vim:
line   48:
E417: missing argument: guibg=
line   49:
E417: missing argument: guibg=
line   50:
E417: missing argument: guibg=
line   51:
E417: missing argument: guibg=

This was introduced in commit 2a723d7307b8ef47f29e5372633c89f0bea69289 (@eugen0329)
The cause is this line:
 " guibg=" . synIDattr(synIDtrans(hlID("SignColumn")), "bg", "gui")

Which evaluates to:
guibg=

When this is passed to hi the exception occurs.
I removed this line, leaving only
let s:sign_bg =
            \ " ctermbg=".synIDattr(synIDtrans(hlID("SignColumn")), "bg", "cterm")

And everything seems to be working.

I also get this... Did you find a solution @eyalfir?


feat(CheatCode): chainId(where)

Let the dev overwrite the chainid for the L2. As these values are stored directly in the rollup contract (currently as immutables) the easiest way to implement this, would be to make those storage, and either add a function to replace it, or replace it using anvil cheatcodes.

Similar to #1280
tx.data.tx_context.constants.chainID is set by env vars which relays it to AztecNodeConfig. This creates the Aztec Node which is part of AztecRPC Server. For the cheatcode to work, we need to change the config.chainID in-flight but there is no function to do it. And it is scary to create it on the actual Node/RPC Server. So after changing the version, either you restart everything and re-register addresses onto the RPC server  OR you create a Test Client
But we shouldn't commit it to a test client so early into the sandbox!

Closed, see #1259 for more information.


style(Step): update typings, tests and propTypes usage

This PR is part of work for removing propTypes in production bundle (#524, #731).
Also, cleanups and updates typings for #1072.
Affects following components:

Step

Current coverage is 95.89% (diff: 100%)

No coverage report found for master at af12695.

Powered by Codecov. Last update af12695...c723a65


Implement PureScript bridge

Will close #77

Let's merge then. I will commit some code to #61 so that offchain guys can use up-to-date data types as soon as it's merged.

Thanks so much for sorting this Connor. Great work :grinning:


add inter-year data columns for feature comparison

When comparing FERC1 and EIA records, it can be very helpful to see multiple years of data. For instance, sometimes there is a lag between when FERC1 updates capacity when a new unit is added or an old unit is retired.
If panda does not enable multi-year comparisons, we could generate additional columns in both the FERC1 plant table and the EIA ppl table which represent capacity_mw_last_year and capacity_mw_next_year.
In the labeling functions in panda, we could weight a potential match when any of these columns match.
One question is when the mutli-year view is needed in manual mapping, is it often the case that the FERC1 data is off by one year? or two? or does it vary greatly.

done via #1539


Missing attack modifier cards after load

Some player base attack modifier cards appear to just be gone. Notably, -1 cards that were removed by armor.

The modifier cards from persk are automatically removed from the deck and the cards are destroyed. The -1 cards from armor are dealt on top of the armor item, unless the character has the perks that negates negative card effects. There's #51 that will change the removal of modifier cards so that they are kept and not destroyed. Or do you mean something else?

Thank you, that explains it. So, if we retire and make a new character, how does one get back the destroyed cards? Or does creating a new character generate a new deck? (We have so far not unlocked any new characters).

Yes, when you create a new character (by pulling out the mini box from the bigger one) there's always a new deck of modifier cards in the box.