Twitter list by nadrieril failed with error 400

I use Twitter lists to easily manage which users' tweets I want to get as RSS feeds. Since two weeks ago, some (but not all) of my lists are failing with the error Trying to get property 'id_str' of non-object.
The failing query string is: ?action=display&bridge=Twitter&context=By+list&user=nadrieril&list=cool_math&filter=&format=Json.
This is on my self-hosted instance, running on commit 25cff9c07b747fdd0ca58ebd9935fc3e95202e04.
This list fails, but this one works, and I have no idea why. It also seems that any new list I add fails.
php-fpm log:
Aug 23 22:12:11 ttrss nginx[25357]: 2020/08/23 22:12:11 [error] 25359#25359: *787 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined property: stdClass::$list in /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/bridges/TwitterBridge.php on line 497PHP message: PHP Notice:  Trying to get property 'id_str' of non-object in /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/bridges/TwitterBridge.php on line 497PHP message: Exception: The requested resource cannot be found!
Aug 23 22:12:11 ttrss nginx[25357]: Please make sure your input parameters are correct!
Aug 23 22:12:11 ttrss nginx[25357]: cUrl error:  (0)
Aug 23 22:12:11 ttrss nginx[25357]: PHP error: Trying to get property 'id_str' of non-object in /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/lib/error.php:24
Aug 23 22:12:11 ttrss nginx[25357]: Stack trace:
Aug 23 22:12:11 ttrss nginx[25357]: #0 /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/lib/contents.php(206): returnError('The requested r...', 400)
Aug 23 22:12:11 ttrss nginx[25357]: #1 /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/bridges/TwitterBridge.php(477): getContents('https://api.twi...', 'HTTP/2 400 \r\nca...')
Aug 23 22:12:11 ttrss nginx[25357]: #2 /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/bridges/TwitterBridge.php(198): TwitterBridge->getApiContents('https://api.twi...')
Aug 23 22:12:11 ttrss nginx[25357]: #3 /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/actions/DisplayAction.php(134): TwitterBridge->collectData()
Aug 23 22:12:11 ttrss nginx[25357]: #4 /nix/store/ay41qhcrfa7iqhl66h46ayqwcggrmf6h-rss-bridge-master/index.php(38): DisplayAction->execute()
Aug 23 22:12:11 ttrss nginx[25357]: #5 {main}" while reading response header from upstream, client: <IP_ADDRESS>, server: <redacted>, request: "GET /?action=display&bridge=Twitter&context=By+list&user=nadrieril&list=cool_math&filter=&format=Json HTTP/2.0", upstream: "fastcgi://unix:/run/phpfpm/rss-bridge.sock:", host: "<redacted>", referrer: "https://<redacted>/"

Interestingly, this is correlated with the existence of https://twitter.com/nadrieril/lists/wholesome and inexistence of https://twitter.com/nadrieril/lists/cool_math . I have no idea what causes one to work and the other to fail, except that the one that fails was created later.

Seems to be working, if you change cool_math to cool-math
https://feed.eugenemolotov.ru/?action=display&bridge=Twitter&context=By+list&user=nadrieril&list=cool-math&filter=&format=Json

Oh wow, that does work! Is there a known rule for Twitter changing symbols like that?
As a fallback I would like it if it was possible to give a list ID directly to rss-bridge instead of going via username & list name

Is there a known rule for Twitter changing symbols like that?

I don't know. Just remembered that slug is expression, where chars that are not alphabetical or numbers are converted to "-".

As a fallback I would like it if it was possible to give a list ID directly to rss-bridge instead of going via username & list name

Agree with suggestion. I will add "feature-request" tag to this issue. Maybe someone will implement it.

Fixed by https://github.com/RSS-Bridge/rss-bridge/pull/1834, thanks!

Fixed by https://github.com/RSS-Bridge/rss-bridge/pull/1834, thanks!


support for SASL Handshake V1

Hello,
I was wondering if its possible to configure kash to use SASL handshake v1, when using SASL SSL for auth. I believe kash currently support only V0.
p.s. love the tool!

Thx! kash uses confluent_kafka under the covers, so whatever is supported by confluent_kafka should also be configurable in kash :)
BTW I've worked on a successor to kash called kafi (also on GitHub) - it's very similar but also offers some support for pandas etc.


Setting up TensorFlow plugin "fused_bias_act.cu": Failed!

/mnt/anaconda/bin/python3.7 /mnt/StyleCLIP-main/global_directions/GetCode.py
2021-09-28 02:44:08.434424: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.434559: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.434671: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.434781: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.434887: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.434993: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.435101: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudnn.so.7'; dlerror: libcudnn.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.435114: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
Setting up TensorFlow plugin "fused_bias_act.cu": Failed!
2021-09-28 02:44:08.919891: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.919973: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.920035: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.920095: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.920156: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.920215: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.920274: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudnn.so.7'; dlerror: libcudnn.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/lib64
2021-09-28 02:44:08.920282: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
Traceback (most recent call last):
File "/mnt/StyleCLIP-main/global_directions/GetCode.py", line 210, in
GetCode(Gs,random_state,num_img,num_once,dataset_name)
File "/mnt/StyleCLIP-main/global_directions/GetCode.py", line 82, in GetCode
dlatent_avg=Gs.get_var('dlatent_avg')
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 396, in get_var
return self.find_var(var_or_local_name).eval()
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 391, in find_var
return self._get_vars()[var_or_local_name] if isinstance(var_or_local_name, str) else var_or_local_name
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 297, in _get_vars
self._vars = OrderedDict(self._get_own_vars())
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 286, in _get_own_vars
self._init_graph()
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 151, in _init_graph
out_expr = self._build_func(*self._input_templates, **build_kwargs)
File "", line 187, in G_main
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 232, in input_shape
return self.input_shapes[0]
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 219, in input_shapes
self._input_shapes = [t.shape.as_list() for t in self.input_templates]
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 267, in input_templates
self._init_graph()
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/network.py", line 151, in _init_graph
out_expr = self._build_func(*self._input_templates, **build_kwargs)
File "", line 491, in G_synthesis_stylegan2
File "", line 455, in layer
File "", line 99, in modulated_conv2d_layer
File "", line 68, in apply_bias_act
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/ops/fused_bias_act.py", line 72, in fused_bias_act
return impl_dict[impl](x=x, b=b, axis=axis, act=act, alpha=alpha, gain=gain, clamp=clamp)
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/ops/fused_bias_act.py", line 132, in _fused_bias_act_cuda
cuda_op = _get_plugin().fused_bias_act
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/ops/fused_bias_act.py", line 18, in _get_plugin
return custom_ops.get_plugin(os.path.splitext(file)[0] + '.cu')
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/custom_ops.py", line 139, in get_plugin
compile_opts += f' --gpu-architecture={_get_cuda_gpu_arch_string()}'
File "/mnt/StyleCLIP-main/global_directions/dnnlib/tflib/custom_ops.py", line 60, in _get_cuda_gpu_arch_string
raise RuntimeError('No GPU devices found')
RuntimeError: No GPU devices found

You need to have Nvidia Cuda compatible GPU to run this project.
BTW faced this issue with GPU also due to nvcc issue ... and solved it by installing cudatoolkit-dev==10.0 package with conda.


Solar production and power distribution showing values in hex

I've managed to get my Solar System added, which include two entities  - Solar power generation and power distribution, but all values are showing in hex.

I was wondering if this could be fixed to display the correct units.
I also wanted to say thank you so much for your continuing work on this project, I posted on the home assistant board asking you to continue the work, and I'm so thankful that you have developed this to encompass more than just air conditioners.

It’s an absolute pleasure to have helped so many people. I am blown away with what people are using this for, well outside my own simple needs.
I can certainly fix this issue. It’s missing functionality in the ‘pychonet’ to be able to parse this data in a human readable format for these two classes - your the first who need this so I’ll add the missing classes. Not a problem. Give me a day or two and I will try to fix the back end and then we can look at configuring the sensors in the front end to belong to the energy classes.

Looking at the distribution panel class, what I would be proposing is that we ignore any sensors which are returning culmative data, as you will be collecting culmative data using Home Assistant itself. For now I will focus on instantaneous measurements only. I’m going to have to come up with sensor logic specifically for the distribution panel as reading the specs it combines individual values together to come up with more accurate readings. Give me a few days

No worries, take as much time as you need. It'd be fantastic to be able to add it to energy class, that was my ultimate plan. I also don't see what use I would have for cumulative, so ignore away!

Can you pull 3.4.2 and let me know how your home solar generation is looking. Distribution meter I will get to after.

Just pulled 3.4.2 and it looks like maybe you've done the distribution meter (breaker box) and not the solar panels. I removed the previous solar system entry and on re-adding only the distribution meter is showing up (where previously both the solar panel generation and distribution meter showed up from the one ip).

Are there any error messages in the logs?

Also, can you enable debug logging in configuration.yaml?
logger:
default: warning
logs:
custom_components.echonetlite: debug

I've pushed 3.4.3 as I realised there was a minor issue in the sensor configuration. Can you please pull, turn on debug logging as per above, remove and re-add your system and let me know of any errors in your logs and log dump.

It's working much better now. After the update I re-added the system, this time only the solar generation appeared (I assume you've disabled the power distribution for now) and has good looking numbers. This is my first time working with the home assistant energy, but only cumulative is available to be chosen ... maybe that's how it works? I honestly don't know.

As for the logs, I'm not seeing any errors from echonet, there is a warning, but that is to do with the aircon, but I'll attach the logs for you to check if you want.
echonet debug logs.txt

OK very interesting! strange that the power distribution panel has dropped off.. Let me have another look and get back to you.

Ok, having looked at the code, I think I worked out why 1. your solar panel sensors disappeared in the first place, and 2. why the distribution panel disappeared after I fixed the solar panel sensors. Can you update to 3.4.4 and let me know if both sets of sensors are back?

no worries, you can turn off debug logging now. Can you please update to 3.4.5 - I have fixed up your solar panel cumulative  sensors to show the correct value in Wh.
Once that is done, can you add your cumulative sensor to your energy panel as the solar panel input sensor?

Grid import and Grid export we should hopefully be able to resolve with potentially a template sensor combining two of your distribution panels sensor together. That is actually going to be a LOT easier than me messing about with custom code.

Looks like that did the trick, the energy dashboard is looking much more reasonable now!

Okay, awesome, well I've just made some updates to support your distribution panel. Can you download 3.4.6 latest and give me a peek at how your distribution panel sensors are looking?

Done and done.
Looks pretty good to me ... although I honestly have no idea.

Okay, i've spotted a minor bug which I have fixed in 3.4.7 (measured instant amount of energy was not displayed correctly).
Now, what you should be able to do in the energy dashboard is configure grid consumption to be your "normal flow" cumulative reading, and return to grid should be your "reverse flow" cumulative reading. You may need to trial this as this is just guesswork on my part. Let me know how you go and make sure you show some dashboard pictures!
Also, if you don't mind can you please let me know what the make and model of your solar system and distribution panel is?

Instantaneous is now showing correctly. I'm currently trying to work out the energy dashboard, I think it only updates on the hour, so currently waiting for the next hour to roll round to see if it's working properly.

It updated on the hour and is working like a charm! ... At least I think it is, I'm not at home to check the values with the actual monitor screen, but it looks like it'd be correct.

If you ever add a "buy me a coffee" button, I'll definitely through a few yen your way!

No problem, glad it’s working let’s keep an eye on it.

Also, this is my buy me a coffee

How's she looking almighty lord CONAN? :-D

Also, for your non-fossil fuel value, go to https://co2signal.com and sign up your email for an API key and then add the co2signal integration into your home assistant.

It's looking great! I also made some template sensors and did a little maths so that I could get instantaneous readings use the tesla-style-solar-power-card custom card.

Also for future reference the solar panel system I'm using is a Lixil RLE-MU1P-SET R-Type, which is just a rebranded Omron product, sorry I can't give you any better info than that right now. I'll try googling for a proper product name later.

Yes, I think it’s a little inaccurate too, but I find it interesting nonetheless.
I’m glad it’s working well! I have a similar setup using Enphase inverters and its better then the vendor dashboard.
I’ll leave the ticket open for another couple of days but otherwise if you are happy I’ll close it later this week.

Yeah, I'm happy with this. Now I guess I have to think of the next echonet lite device I want integrated :P (currently my only other echonet device is my hot water heater ... but I don't really need to use home assistant to start running a bath)

Have you tried to add your hot water heater to home assistant?

When I try to add the hot water heater, this is the messages in the home assistant log
2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IP address is IPREDACTED 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] API listener has already been setup previously.. 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] Beginning ECHONET node discovery 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] ECHONET Node Discovery Successful! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-114-1 map attributes discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-114-1 Identification number discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-128-1 map attributes discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-128-1 Identification number discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-129-1 map attributes discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-129-1 Identification number discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-130-1 map attributes discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-130-1 Identification number discovered! 2022-03-20 15:18:36 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-20 15:18:36 ERROR (MainThread) [aiohttp.server] Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle resp = await handler(request) File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 79, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 219, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 137, in handle result = await result File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 166, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper result = await method(view, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 111, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in async_configure result = await self._async_handle_step(flow, cur_step["step_id"], user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) File "/config/custom_components/echonetlite/config_flow.py", line 116, in async_step_user self.instance_list = await validate_input(self.hass, user_input) File "/config/custom_components/echonetlite/config_flow.py", line 67, in validate_input await server.getAllPropertyMaps(host, eojgc, eojcc, instance) File "/usr/local/lib/python3.9/site-packages/pychonet/echonetapiclient.py", line 90, in getAllPropertyMaps return await self.echonetMessage( File "/usr/local/lib/python3.9/site-packages/pychonet/echonetapiclient.py", line 72, in echonetMessage payload = buildEchonetMsg(message_array) File "/usr/local/lib/python3.9/site-packages/pychonet/lib/functions.py", line 84, in buildEchonetMsg raise ValueError( ValueError: Value 0xa6 not a valid SEO class code

Challenge accepted

Awesome! In case it matters, checking the newest echonet lite appendix, ours is a hybrid water heater, but ours is only used for heating water, not for underfloor heating and such (the picture at the bottom of page 510 in the pdf, not the one at the top of 511).

ive made an update to add support for 0xA6, do you want to pull latest and see if your hot water service can be added?

Just updated, still gives an error when trying to add, but it is a new error.
2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IP address is IPREDACTED 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] API listener has already been setup previously.. 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] Beginning ECHONET node discovery 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] ECHONET Node Discovery Successful! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-114-1 map attributes discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-114-1 Identification number discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-128-1 map attributes discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-128-1 Identification number discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-129-1 map attributes discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-129-1 Identification number discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-130-1 map attributes discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-130-1 Identification number discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-166-1 map attributes discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] IPREDACTED - ECHONET Instance 2-166-1 Identification number discovered! 2022-03-22 18:30:20 DEBUG (MainThread) [custom_components.echonetlite.config_flow] instance is 1 2022-03-22 18:30:20 ERROR (MainThread) [aiohttp.server] Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle resp = await handler(request) File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 79, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 219, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 137, in handle result = await result File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 166, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper result = await method(view, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 111, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in async_configure result = await self._async_handle_step(flow, cur_step["step_id"], user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step result: FlowResult = await getattr(flow, method)(user_input) File "/config/custom_components/echonetlite/config_flow.py", line 116, in async_step_user self.instance_list = await validate_input(self.hass, user_input) File "/config/custom_components/echonetlite/config_flow.py", line 67, in validate_input await server.getAllPropertyMaps(host, eojgc, eojcc, instance) File "/usr/local/lib/python3.9/site-packages/pychonet/echonetapiclient.py", line 90, in getAllPropertyMaps return await self.echonetMessage( File "/usr/local/lib/python3.9/site-packages/pychonet/echonetapiclient.py", line 72, in echonetMessage payload = buildEchonetMsg(message_array) File "/usr/local/lib/python3.9/site-packages/pychonet/lib/functions.py", line 81, in buildEchonetMsg if data["DEOJCC"] in EOJX_CLASS[data["DEOJGC"]]: KeyError: 15

Hooboy... you have:
2-114-1 - "Hot water generator",
2-128-1 - "Electric energy meter",
2-129-1 - "Water flow meter",
2-130-1 - ""Gas meter"
and 2-166-1 "Hybrid water heater" (yay)
Now for reasons unknown, it has also returned some unknown entity with group code "0xF" - which is throwing the error. Let me do some reading

0x0F in the group codes is "user defined" class group (aka some non-standard thing). Ill have to do the following:

fix up support for the other classes.
work out how to ignore 0x0f.

I'm surprised that it found so many instances, as the terrible online only HEMS controller that we were given only lists 2 instances. The hybrid heater and the instantaneous gas heater.

Hey, you want to try again and update to 3.4.9. I think I should have hopefully suppressed the 0x0F group during discovery so more of your gadgets should work

Alright, it now pulls in all 5 (!) of the devices and shows their values. Obviously there'll need to be some tweaking to set the sensor types and show values, but it's looking good!

Yeah that's good. Ill have to populate the other classes but that should be straightforward.

Hey mate can you update to 3.5.0 and let me know if water flow meter is working properly now and not showing hex?
Once we crack that then we can clean up how the sensors look.

Just updated it, and the water heater system is throwing up an error now. This is from the logs.
2022-05-14 11:25:19 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Eco One for echonetlite Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup     result = await component.async_setup_entry(hass, self)   File "/config/custom_components/echonetlite/__init__.py", line 148, in async_setup_entry     await echonetlite.async_update()   File "/config/custom_components/echonetlite/__init__.py", line 274, in async_update     _LOGGER.debug(polling_update_debug_log(update_data, self._eojgc, self._eojcc))   File "/config/custom_components/echonetlite/__init__.py", line 64, in polling_update_debug_log     debug_log = debug_log + f' - {EPC_CODE[eojgc][eojcc][value]} ({value:#x}): {values[value]}\n' KeyError: 128

hey mate, yeah another issue uncovered that gremlin, can you update to 3.5.1 please

Sorry, was away from home the whole day, update no longer produces an error, and there don't seem to be any values in hex anymore.

Not going to lie that is so cool.
I might try to see if I can include unit specific details for some of those sensors, your hot water electric energy sensor we should be able to include that in the energy panel.

Noice! I added an energy monitor plug to my aircon to measure it's usage too. It's all coming together!

Hi mate, can you please download the 3.5.2-beta. Ive update a few of those HWS sensors of yours, but you have to be the guinea pig for testing. Stuff like the power meter, gas meter and water meter should now show the calculated correct values.
You may need to go to hacs -> click three dots on echonetlite -> select 'redownload' -> select 'allow beta versions' -> select 3.5.2-beta.
https://hacs.xyz/docs/faq/select_version

On it. Looking good so far.

Looks like I overcooked the water calculations by 1000

Done and done.

Those ‘unavailable’ sensors - they were not there previously where they? When did they start appearing?

Yeah, I don't think they were there previously ... the security data information one popped out to me last night, but I couldn't tell you when they started appearing, sorry, although my guess would be with the beta version. Do you want me to downgrade to check?

Just try to remove and re-add it if you can first.

Can you also enable debug logging and send through the log

I tried removing and readding the device and the sensors still showed up, then I downgraded and the sensors were still there. Then I removed and readded the device again and the sensors were gone on the latest non-beta release, so they definitely came with the beta.

I'm just about to head out for the day, I'll get the log to you when I get back.

no worries, when you get back just pull the latest from Git I think I found the bug.

Pulled the latest straight from git and things are looking good. The extra sensors are gone, and the usage looks better (I really have know idea how much water or gas we've been using cause I haven't really been checking anything on the bills except for the price!)

i think you need to sort that one out yourself with a template sensor, or put in a PR
https://community.home-assistant.io/t/engergy-pv-production-sensor-drops-to-zero-how-to-avoid-in-template-sensor/375078/11

Cool Cool, I'll do that then.

Latest update is looking good.

The sensors won’t exist any more they have been replaced with switches so you might want to delete them..

You can thank @nao-pon for all his hard work!


⚠ RPC server - Infura Matic Mainnet has degraded performance

In fc36fb1, RPC server - Infura Matic Mainnet ($INFURA_MATIC_MAINNET_RPC_URL) experienced degraded performance:

HTTP code: 429
Response time: 169 ms

Resolved: RPC server - Infura Matic Mainnet performance has improved in 30cc791 after 6 minutes.


Develop command-line tool based on this action

Currently, this action makes a set of changes that are needed to create a new release and groups those changes into a branch/PR. For convenience we call these changes a "release candidate", and in order to create a release candidate, two things must happen:

The root package should be bumped along with any packages that have changed since the previous release.
The changelog should be updated with the commits that will be included in the new release.

We want to change the process of releasing a monorepo such that:

When bumping packages, versions are no longer synchronized with the root package.
Each package gets its own changelog, so each package's changelog should be updated accordingly.

To accommodate this, we want to turn this action into a command-line tool. This tool should work for both monorepos and polyrepos. This likely means we need to create a new repo to hold this tool, but I am creating this issue here for convenience.
Monorepos
For a particular monorepo, when the developer runs this tool, it should list all packages matched by the root package's workspaces property that have been updated since the last tag of the monorepo. This prompt should allow the developer to select which packages should be bumped and how (major, minor, patch, exact version).
For each package the developer has selected, the tool should then look at the commits made since the last published release of the package that change any part of the package and add those commits under a new section within the package's changelog that is headered by the new version selected for that package.
Polyrepos
The command-line tool should also work for polyrepos as well. In this case, there is no need to list multiple packages; all that is required is to ask for how the root package should be bumped (major, minor, patch, exact version).
The tool should then look at the commits made since the last published release of the package and add those commits under a new section within the package's changelog that is headered by the new version selected for that package.

The CLI tool create-release-branch has been created to serve this purpose.


🚸 Homepage Elastic CI section

Add an Elastic CI section to the homepage. This raises the awareness that we provide Elastic CI Stack and makes it easier for customer to find the content.
Content-wise, I've made the following simplification:

[x] Removed more links, as these are dupes of the heading link
[x] Reduced links in the top product sections, especially Pipelines as there are many dupes in the how-to guides
[x] Top Pipelines tile becomes the Getting Started tile
[x] Shrunk section headings

Made the following aesthetic and UX improvements:

[x] Box border tiles for easier eye tracking. better alignment and visual grouping
[x] Icon hover effects
[x] Added call-to-action buttons to give products more prominence
[x] Max width for the homepage to constrain page width on extra large screens

Screenshot

Oh, I really like this! Nice icons, nice boxes.

They move slightly oddly IMO. But maybe we don't need them at all on the titles?

They move slightly oddly IMO. But maybe we don't need them at all on the titles?

Done ✅  This would actually make the markup and CSS simpler ✨

Tested on my local machine:

[x] Chrome
[x] Safari
[x] Firefox

Chrome

Safari

Firefox

As a UI side note, the homepage now has a max-width page container, but it doesn't apply to other pages.
The plan is to have consistent page containers. Trying to keep this PR to scope so will address other pages in another ticket.


Backend Update

This is my WIP, some errors showing up but once I bugfix should be 100% operational.

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

@A2Pro re-read https://github.com/posix4e/puppet/issues/32


Why Rocket.Core and Rocket.Api isn't open source?

Thats a question for the forum, not an issue

ok, sorry.


Use new pycsw STAC Collection parser for registering STAC Collections

Do not merge until this one is merged:
https://github.com/geopython/pycsw/pull/832


npm install error

Install Yarn And Type Yarn 💫
Install All Packages

Install Yarn And Type Yarn 💫
Now All Packages 📦 installed Successfully  😁
😁 @pengengantibaju 😁


Fix mix-up between dependencies, dep: features and features

While this works fine with Rust 1.73, it does not work with Rust 1.70 and fails like this:
error: Package `env_logger v0.11.1` does not have feature `anstream`. It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.

It would be nice to have a bugfix release with this so compilation works with 1.70 again :)

Ah, sorry for missing that.
MSRV 1.71 is fine for me, I'll just stay with 0.10 for the time being until I update this crate of mine to something newer. Only reason why it's still at MSRV 1.70 is because I didn't have the patience yet to deal with the usual people complaining about requiring a "too new" toolchain :)

I know that pain all too well.
The main reason I was willing to update the MSRV so much in 0.11 is because it had breaking changes associated with it (but I don't bump MSRV for breaking changes).
My hope is the MSRV RFC will reduce that pressure.  As you are affected, if you haven't looked and commented on it yet, I would recommend it!

I looked at one of the initial versions and it seemed like a huge improvement over the current situation. The latest version still looks good to me. Having the resolver consider MSRV would allow me to simply support the latest in most crates and have everything else be the problem of the users with annoying version requirements (-> they would just have to stay at an older version of various crates too then instead of dependency resolution failing).
Thanks for working on this :)


No filename when receiving

How to reproduce:

Send a file with croc-cli or croc-gui
Open crocgui, type in the receive code and click the download button
Now the filemanager opens a dialog at download location and at the buttom there is an empty input field and a save button.
The received file is called "(invalid)" without any type

Smartphone: Mi 9t Pro, MIUI Global <IP_ADDRESS> (QFKEUXM), Android 10
Crocgui version: 1.7.0 (same issue with 1.5.0 and 1.6.0)
Thank you and regards

The latest version now has the filename in the save dialog when doing receive.


[fuzz] Router Fuzzing

Title:
Router fuzzing proposal
Background:
I’m working with @asraa on a router fuzzer.  The fuzzer will be modelled around replicating and catching interesting scenarios that caused availability issues and zero-days for Envoy in the past. Currently, no fuzzer executes these codepaths. A vm-exploitable query-of-death (https://github.com/envoyproxy/envoy/issues/7154) was caused due to an issue in the router where an upstream request was not reset if the router had already seen headers. This caused a null dereference crash when the body and trailers of the response were attempted to be decoded by the router. Another crash (https://github.com/envoyproxy/envoy/issues/6348) occurred when Envoy attempted to refresh a cached route on an early response path.
Description:
Currently the design for the fuzzer incorporates retries and timeouts, with the plan of eventually adding watermarking events and logging.
The proposed input is as follows:
message DirectionalAction {
  oneof response_action_selector {
    test.fuzz.Headers headers = 1;
    uint32 data = 2;
    test.fuzz.Headers trailers = 3;
  }
  bool end_stream = 4;
}

message StreamAction {
  oneof stream_action_selector {
    DirectionalAction request = 1;
    DirectionalAction response = 2;
  }
}

message Action {
  oneof action_selector {
    StreamAction stream_action = 1;
    google.protobuf.Empty advance_time = 2; // to test timeouts
    google.protobuf.Empty upstream_503 = 3; // to test retries
  }
}

message RouterTestCase {
  repeated Action actions = 1;
}

Design Issues:
We’re thinking about using the framework from the router test but it uses mostly mocks so we’re not sure if it’s possible.  We are considering using something similar to this but plugging in real encoders/decoders and maybe a real upstream.
We are also considering using the integration test framework, but in order to do this we would have to remove some components to increase the speed of the fuzzer.  @asraa looked into this so maybe she can update on whether this is possible.

/cc @envoyproxy/security-team
for any suggestions here (especially with testing issues. it is very hard to reproduce these scenarios outside integration test frameworks)


Hey! Unfortunately, right now, you'd have to load in older models with pandas<2.0 for it to work. I haven't gotten around to patching this yet, sorry!

Following up on this, this issue is on the PyTorch side since they're not using the newer Pandas unpickler for loading files.


Update KnotxServer default configuration to allow all *.html files be…

Update KnotxServer default configuration to allow all (*.) GET requests.
Fixes #269
I hereby agree to the terms of the Knot.x Contributor License Agreement.

Updated default configuration, so that all GET requests are now processed.


Fail when both network_id & vpc_id are set in ipaddress

Fixes https://github.com/apache/cloudstack-terraform-provider/issues/32

Why was this necessary, though @vishesh92? Is it implied that when using a network, it'll use the ID of the VPC that the network belongs to?
Maybe a comment outlining this could be useful.


"Dirty" version on NPM

Hi, @LeaVerou !
I don't know what happened, but the version available com https://registry.npmjs.org/awesomplete/-/awesomplete-1.1.5.tgz isn't the last one, despite what the package.json says.
Is there something I can do to help?

For now, the solution is to install from github, instead of NPM Registry:
npm install LeaVerou/awesomplete

If you don't mind, @LeaVerou , I would like to understand what happened. I never saw this kind of bug.
Thank you so much!


Release v1.9.0

Note that I had to do the following change locally for the release script to work ok (I'm on linux):
diff --git a/release.sh b/release.sh
index a3090e7..1fbcca0 100755
--- a/release.sh
+++ b/release.sh
@@ -30,7 +30,11 @@ echo "Current version is $CURRENT_VERSION"
 echo "Going to create a PR to release $1"

 git checkout -b "$1"
-grep -Rl "$CURRENT_VERSION" | xargs sed -i '' -e "s/$CURRENT_VERSION/$1/g"
+if [[ "$OSTYPE" == "darwin"* ]]; then
+  grep -Rl "$CURRENT_VERSION" | xargs sed -i '' -e "s/$CURRENT_VERSION/$1/g"
+else
+  grep -Rl "$CURRENT_VERSION" | xargs sed -i -e "s/$CURRENT_VERSION/$1/g"
+fi
 grep -Rl "$1" | xargs git add
 git commit -m "Prepare to release $1"
 git push origin "$1"


Dead Cells - missing

Somehow I could not find dead cells in the manifest although it exists here:  https://www.pcgamingwiki.com/wiki/Dead_Cells
How can I best get it added to the manifest?

Hi! Dead Cells is already in the manifest (between Dead Castle and Dead Climb):

Could you please confirm where you're checking? Or if the issue is just that Ludusavi isn't finding your saves for it, then could you show me your Ludusavi backup config?

I looked in this repository but obviously missed it.  On my system, ~/.config/ludusavi/manifest.yaml  contains an entry for Dead Cells, but ludusavi 0.10.0 (arch linux) does not backup the game.  My save files are found here:  ~/Games/Dead Cells/game/save with ~/Games being the root folder for my GOG games.  Other games in this folder (e.g. Pillars of Eternity) seem to be backed up correctly.
This is my ~/.config/ludusavi/config.yaml
---
manifest:
  url: "https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml"
  etag: "\"c6046cc8011fc8b38ff2f7405666d98ec840f0fb0b72a971cf44a763dc8907fa\""
roots:
  - path: ~/.steam/steam
    store: steam
  - path: ~/Games
    store: gog
backup:
  path: /home/USERGames/00-savegames/0-ludusavi-backup
  ignoredGames: []
  merge: false
  filter: {}
restore:
  path: /home/USER/ludusavi-backup
  ignoredGames: []
  redirects: []
customGames: []

Any idea what I could do?

Hmm, PCGW has it as <path-to-game>/save, but it looks like yours would be <path-to-game>/game/save. I can check on Windows/Steam later tonight and see if the wiki's wrong or if it just depends on the OS or store.

At least for Windows + Steam, the information on the wiki is accurate, so it would just need a new entry. Since there's already a wiki entry for Linux in general, I'm assuming the <path-to-game>/game/save variant is for GOG specifically, but I'm not sure.
It could either be added to the wiki as a standalone entry:
{{Game data/saves|GOG.com|{{p|game}}/game/save/}}

...or as an extra path in the Linux entry (| separator):
{{Game data/saves|Linux|{{p|game}}/save/user_*.dat|{{p|game}}/game/save/}}

I'm not quite confident enough to add it myself since I can't test GOG + Linux, but if you're comfortable adding it, then it would make its way into the manifest. Alternatively, you could make a custom entry for the game and  just modify the settings locally:

Thanks for the information!  I think adding it to the wiki is the best possible way and I can do and test it with GOG + Linux.  There is at least one other game affected (Factorio) so I suspect more games to have this problem.  But one at a time:)


Added parse_with_file_loader: overrides direct access to the filesystem while loading external tilesets.

See https://github.com/mattyhall/rs-tiled/pull/100
Need this feature for a project

Merged in 78501e2b4977747f8feebe4c81fd22c722df10f5


Generates unnecessary sql for computed columns

Thanks very much for providing this script. I did notice that it was generating sql for computed columns though.

The @ommit_computed_cols parameter is now set to 1 by default, so there's no need to specify this when calling sp_generate_merge anymore in order to avoid the unnecessary sql from being included in the merge statement (sorry I should have mentioned that this option was available earlier!).


Added laravel 10 support

Installing issue in Laravel 10: https://github.com/Jeroen-G/Explorer/issues/160

Can you make it so it can be installed on both 9 and 10?

Can you make it so it can be installed on both 9 and 10?

Hey @Jeroen-G, I just added support for both 9 and 10. Please check it.

You can now test this with a dev-master requirement in your composer file!


how to fix it

#bash ./anti-ddos.sh
./anti-ddos.sh: line 79: /proc/sys/net/ipv4/conf/all/mc_forwarding: Permission denied
./anti-ddos.sh: line 79: /proc/sys/net/ipv4/conf/default/mc_forwarding: Permission denied
./anti-ddos.sh: line 79: /proc/sys/net/ipv4/conf/eth0/mc_forwarding: Permission denied
./anti-ddos.sh: line 79: /proc/sys/net/ipv4/conf/lo/mc_forwarding: Permission denied

Hello,
Many thanks for your comeback. You should run the project directly. You need to configure the script content according to your system and infrastructure.
Thanks


Fix infinite pagination in pagination element

We need a way to prevent the table element from paginating indefinitely. I was thinking maybe it could do 1 query ahead of the current in terms of the page and see if the results are <10. If so it has to be the last page, if not display the next page. There is one problem with this in that it could be the last page and have 10 results (maybe the look ahead should be 11?).
Thoughts?

I'd be curious to see what @sammyjava says. Our GraphQL server currently implements gene searches via an InterMine keyword search. Probably the simplest thing to do would be have this return the number of results and our web component can compute how many pages there should be based on that.
This would be useful to implement in the other GraphQL endpoints based on InterMine's PathQuery API. Could something similar be done there too?

I'm not sure if this is what you already described, but it seems like it can be addressed by adding 1 to the page size in every request. So if the page size is 100 always ask for 101 rows and if <=100 are returned then you must be on the last page; if 101 are returned you can offer a next page (and offer the 101th row to the gods instead of the user).

@alancleary I agree it might be nice to know the total number of results rather than just knowing which page we're currently on and if it's the last; but giving the impression that we are a bottomless bowl of beans might have its charm too.

What do people think of adding a hasNext: boolean attribute/property to the pagination component that would disable the next button when false? It's probably just a stop-gap solution, but it will give us a mechanism for preventing users from scrolling off the end of a list without forcing us  tocommit (yet) to implementing a specific way of determining pagination bounds in our APIs.
This could then be used in conjunction with Andrew's proposed page size +1 solution or whatever else makes sense for people not using the GraphQL API.

We have decided that the requirement for the pagination is going to be handled by the API user atm. I think this solution is good.
If we want to revisit this we can go with the 'result.length + 1' as a solution to perform a check for the next page.

Reopening since the solution requires adding a hasNext property to the pagination element, which hasn't been implemented yet.

I'm going to go ahead and implement this.

A hasNext boolean property was added to the pagination component in commit d5838f0fac07a7419f04ed70244e9a41f1bb6ea6. Setting the property to false disables the pagination component's next button (it's false by default). This commit also added code that automatically disables the previous button when the page property is not greater than 1.

not that it's my call, but I think having hasNext be optional would be good.
All mortals are, in some sense, unable to specify the value of this...

The hasNext search result attribute was made optional in commit 56677be5d611efcb7d1f205ce6f5566fd47b28ad. If no value is provided, users can page off the end of a set of results, but only by one page because the paginated search mixin will disable the next button if a search result object has no results.

Mechanisms for preventing infinite pagination when using the paginated search mixin were are in PR #26. Closing.

In the examples (dev/lis-[gene|trait]-search.html), shouldn't line 54 test for hasNext, like
  if (hasNext) data.geneSearch.pop();

? Otherwise it always removes the last gene or trait in the list.

In the examples (dev/lis-[gene|trait]-search.html), shouldn't line 54 test for hasNext, like
  if (hasNext) data.geneSearch.pop();

? Otherwise it always removes the last gene or trait in the list.

Good catch! Mind making a PR with the fix?

Sure, stay tuned -

Done.


Created "Software > Mapping Tools" Section

I've added a section dedicated to Mapping Tools (under Software), and populated it with all the mapping tools found at IF-Archive, plus some other tools not listed there.
Also fixed some headings levels nesting errors.

Sweet!


Progress bar disappears

Description
was playing around with getting webMediaPlayer working and saw the option to enable the progress bar and after i got webMediaPlayer working realized that the progress bar would appear for a split second and then disappear. i even edited the the general.ini file to make it show the progress bar if it wasnt enabled this didnt fix the problem.
Versions

Rainmeter Version: <IP_ADDRESS>98 (64-bit)
OS Version: Windows 10 Home 1809 64-bit (build 17763)
Skin Version: 2.1.0

Just tried turning my visualizer from 180 degrees to 0 and it came back.

Closing issue due to age, if the issue still persists please comment down below!


Themes for the ngx-markdown-editor

Greetings! I want to know how I can change the white theme of the editor. I know that it works with styles but I wanted to know if themes styles css exist for this package.

Sorry. There is no themes styles css exist


Add includes to add features outside of the theme

Following the minimal nature of the theme, I added two includes to add features in the head and the body of every page.
These includes can be used by a user that would like to add features in the head of the body, without altering the theme.
For example, to add a tag to a website, a user would just need to add it to templates/partials/head_features.html.

Thanks, a good idea. I prefer to put them in a separate injects directory. And I added more injection points and documentation.


Set azuremonitor Extension ID to 83

This PR fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 42.757%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
26229

Relevant Lines:
55688

💛  - Coveralls


remove @types/react from dependencies

From #234, I think library shouldn't include types of other dependencies. If types has to be in dependencies, it has to be in react project itself, so other dependencies those depend on it, don't have to make the redundancy.
I have tons of examples
react-dropzone: https://github.com/react-dropzone/react-dropzone/blob/master/package.json
react-datepicker: https://github.com/Hacker0x01/react-datepicker/blob/master/package.json
reactstrap: https://github.com/reactstrap/reactstrap/blob/master/package.json
But if it's @type/react-popper, then yeah, it'd make a bit sense.

react-popper types require React types, so it's correct to have them in the dependencies list.

@FezVrasta what is the solution? I always have to manually remove @types/react from node_modules/react-popper otherwise it conflicts with @types/react installed in project dependencies. It causes very ugly errors like:
ERROR in [at-loader] ./node_modules/@types/react/index.d.ts:2305:19
    TS2320: Interface 'Element' cannot simultaneously extend types 'ReactElement<any>' and 'ReactElement<any>'.
  Named property 'type' of types 'ReactElement<any>' and 'ReactElement<any>' are not identical.

as @1pete mentions, it can be solved (as examples).
Next thing is types (@types/react) are in dependencies and devDependencies ... twice

What about moving TypeScript definitions to https://github.com/DefinitelyTyped/DefinitelyTyped and that is all... For those who want it, install @types/react-popper....

Yes that'd be a good idea but then I will not even try to maintain them anymore.
Honestly I thought it would be easy to ship those types with the library, with Popper.js (which is not typed) I just added a popper.js.flow file with the types and it just works, I thought it would have been the same with TS here...

@FezVrasta  the real solution is to make  @types/react both a peerDependency and a devDependency.  The peerDependency should preferably have a "*" version or a version range.

@rogierschouten no, that is an absurd move because every application has to declare @types/react as dependencies regardless it uses typescript or not
I have 2 suggestions

(Recommended) In this project, just declare @types/react in devDependencies (or completely remove from everywhere)
so applications those use typescript and this library, they has to add @types/react to their own package.json
In this project, declare in dependencies with "*" as version.

I'm sorry guys, I don't know, I just can't stand TypeScript problems anymore. It's always a problem with this thing. Why don't you guys use Flow? It just works :weary:

my thoughts on that exactly! If only people could see that Clojure just works and used it instead of JavaScript ;(

I think @1pete's suggestion about installing it as a devDependency is spot on, this seems to be what other libs are doing without causing problems.
For those of us using yarn you can use selective dependency resolutions to get around this, just add the following to your package.json:
  "resolutions": {
    "react-popper/@types/react": "16.4.1"
  },

Note: Use the version of @types/react you're using otherwise


Use new snapshot feature to store form data after validation fail or …

…moving to a new page

Seems to be working, though storage of username field was inconsistent on the signup page. Maybe some interaction with email validation?


rofi-vpn: init at 0.2.0

Motivation for this change
Add rofi-vpn.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 129720 run on x86_64-linux 1

1 package built:

rofi-vpn

@ofborg eval


Fixed crash on authored import type nodes when serializing for declarations

fixes https://github.com/microsoft/TypeScript/issues/59159

@typescript-bot cherry-pick to release-5.5


[docs] Arrange the list of options in the "Configuration File" and "Command Line Interface" articles

Fixed :)
https://testcafe.io/documentation/402638/reference/configuration-file
https://testcafe.io/documentation/402639/reference/command-line-interface


add changelog for cli

Description
The change log reminder didnt get trigger for https://github.com/Shopify/hydrogen/pull/762 because the change is not in packages/*/src/**, manually add this back.
Additional context

Before submitting the PR, please make sure you do the following:

[x] Run yarn changeset add to update the changelog, if needed
[x] Read the Contributing Guidelines
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[ ] Update docs in this repository for your change, if needed

I wonder if this will end up listing me as author...🤔


Recalculate End Times on Ingest

We've had some issues with audio cutting out between transcript lines, so we've created a rake task to make the end time of a line overlap with the start time of the next. This fixes the issue, but should be run whenever we ingest new transcripts in to an instance of the transcript-editor because we cannot guarantee the structure of Kaldi output.

[ ] Done When the transcript_lines:recalculate_end_times task is run during ingest.

Hey team! Please add your planning poker estimate with ZenHub @afred @foglabs-zen @jasoncorum


feat: columns / no image

Description

Related Issue

Motivation and Context

How Has This Been Tested?
https://devsite-666--adobe-io-website--adobe.hlx.page/

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

https://devsite-666--adobe-io-website--adobe.hlx.page/

I also changed the styling for the announcement block(APIs for any usecase), if needed I can revert the changes


Connection timed out [tcp://<IP_ADDRESS>:6379] using redis on lumen API

I have an Lumen API in my server, it was working fine. Actually this API will be calling every seconds from another server and update stock rates and store into redis. In this api I'm comparing the received data(request body) and stored data from redis and update the difference rate of current and previous values as response and also I will send current date time in redis to show last rate update time of stock rates. I have the following code in my lumen api,
use Illuminate\Support\Facades\Redis;
public function updatebaserate(Request $request)
{
        $request_data = array();
        parse_str($request, $request_data);
        if (app('redis')->get("BaseRates")) {
            if(json_decode(app('redis')->get("BaseRates"),true) === json_decode($request->getContent(), true)){
                $this->createrates();
                return app('redis')->get("BaseRatesUpdated");
            }else{
                $receivedrates = json_decode($request->getContent(), true);
                $rate_valid = true;
                if($rate_valid){
                    app('redis')->set("BaseRatesUpdated", Carbon::createFromFormat('d-m-Y H:i:s', date('d-m-Y H:i:s')));
                    app('redis')->set("BaseRates", $request->getContent());
                }
            }
        } else {
            app('redis')->set("BaseRates", $request->getContent());
            app('redis')->set("BaseRatesUpdated", Carbon::createFromFormat('d-m-Y H:i:s', date('d-m-Y H:i:s')));
        }
        $this->createrates();
        return app('redis')->get("BaseRatesUpdated");
}

This get and set of redis operation working continuously for every second 2 api request will call from another server. Whether it will cause any issue. In my lumen .env settings as
BROADCAST_DRIVER=redis

CACHE_DRIVER=redis
QUEUE_DRIVER=redis

REDIS_HOST=<IP_ADDRESS>
REDIS_PORT=6379

In server redis info showing following details,

Server
redis_version:3.2.10
tcp_port:6379
Clients
connected_clients:13
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
Memory
used_memory:1802320
used_memory_human:1.72M
used_memory_rss:2387968
used_memory_rss_human:2.28M
used_memory_peak:2200392
used_memory_peak_human:2.10M
total_system_memory:4026261504
total_system_memory_human:3.75G
used_memory_lua:39936
used_memory_lua_human:39.00K
maxmemory:0
Stats
total_connections_received:302107
total_commands_processed:30017647
instantaneous_ops_per_sec:302
total_net_input_bytes:6532076041
total_net_output_bytes:67794026721
instantaneous_input_kbps:59.68
instantaneous_output_kbps:642.24
rejected_connections:0
Is there any issue on continuously read and write keys in redis for every second. And also I have set redis timeout value

<IP_ADDRESS>:6379> config get timeout

"timeout"
"100"

Is there any way to open and close connection in lumen api for redis. I have often receiving the error in error log like
[2020-03-17 17:17:29] production.ERROR: Predis\Connection\ConnectionException: Connection timed out [tcp://<IP_ADDRESS>:6379] in /home/public_html/winapi/vendor/predis/predis/src/Connection/AbstractConnection.php:155
Stack trace:
#0 /home/public_html/winapi/vendor/predis/predis/src/Connection/StreamConnection.php(128): Predis\Connection\AbstractConnection->onConnectionError('Connection time...', 110)
#1 /home/public_html/winapi/vendor/predis/predis/src/Connection/StreamConnection.php(178): Predis\Connection\StreamConnection->createStreamSocket(Object(Predis\Connection\Parameters), 'tcp://<IP_ADDRESS>...', 4)
#2 /home/public_html/winapi/vendor/predis/predis/src/Connection/StreamConnection.php(100): Predis\Connection\StreamConnection->tcpStreamInitializer(Object(Predis\Connection\Parameters))

You want laravel/lumen, which is the PHP framework.  We're the Erlang and Elixir compile/runtime.


feat(web/applications): controller and view for create-new-case button

Describe your changes

New link in the dashboard page that goes to the "create-new-case" page (+ some custom css for styling the link). The button is only visible to officers and admin-officers
"create-new-case" page created with a blank template. Page is only visible to officers and admin-officers
new directory in the applications domain named "create-new". At the moment this is highly redudant as the whole scope contains no more than 2 functions. In the future it should become more meaningful.
new Nunjuck filter that maps the URLs, including the new "create-new-case' page.

Also contains:

refactoring of a pre-existing filter not related with the button or the new-case page. It was moved from the registerLocal function to the more appropriate registerFilter.
since now we have the url filter, it was used to render all the links in the Applications scope
-updated snapshots
OUT OF SCOPE: the domainType is retrieved from the url when the user lands on the dashboard page, saved in the session and usually when needed in non-domain pages. In case the session does not contain the domainType value, the user is redirect to the root page.

Issue ticket number and link
BOAS-91
https://pins-ds.atlassian.net/browse/BOAS-91
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[x] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

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

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

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

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

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

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

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

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

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

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

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


Update Composer dependencies (2024-10-04-00-19)

Visual regression test passed!
View the visual regression test report


[BUG] New python examples (and the old too) dont work on windows?

🐛 Bug
File "C:\Users\Peter.pyenv\pyenv-win\versions\3.11.6\Lib\site-packages\openai_base_client.py", line 905, in _request
raise APIConnectionError(request=request) from err
openai.APIConnectionError: Connection error.
To Reproduce
just run on a windows system
jus for the record my firewall is disabled.
LLM Studio version
latest official version after the verssion upgrade a few days ago

Thanks for posting this issue. Could you provide more information on where exactly you observe this?


Switch to log.warning instead of log.warn

log.warn is removed in Python 3.13
Close #1098

From what I understand of the error, I may be completely wrong on how to solve this: I seem to have modified calls to twited Logger class which does use warn. So the issue about warn being deprecated may come from a dependency and not this packages directly (nor txaio).
Testing this properly is made harder by the fact that pyunormalize cannot be installed on Python 3.13 yet
Any insights no this?

thanks for taking care of such things .. pls lemme comment ..

log.warn is removed in Python 3.13

if so, then

the CI in Autobahn should first be upgraded to 3.13 in an independent PR
this should then run red (fail), because the function is removed

once that is done, this PR can continue ..

right now, 3.13 is not yet released

currently, the CI uses CPython 3.11 and PyPy 3.9
https://github.com/crossbario/autobahn-python/blob/7bc85b34e200640ab98a41cfddb38267f39bc92e/.github/workflows/main.yml#L60
and PyPy is now at 3.10
https://pypy.org/download.html
for the CI upgrade PR, we should first define the exact version goals for CPython and for PyPy ..

Sounds good to me. I started looking into it because fedora is starting to switch to 3.13 in its dev version and it seemed easy to do (sadly I was proven wrong).
But, yes, we can wait for Python 3.13 to be officially release and migrate the CI first.

But, yes, we can wait for Python 3.13 to be officially release and migrate the CI first.

I'm confident this ordering will support Autobahn's goal of improving robustness & production stability.
if there is a regression in Autobahn triggered by a dependency upgrade, the regression should first be proven to actually exist and be valid
this requires the CI to first not touch any code, but only upgrade the dependency
once the regression is confirmed, the issue can be fixed in another PR
this allows to exactly follow the sequence of events with proof at each step, and the option for relatively easy rollback should something goes wrong. as there will more often than not in reality;) like ripples in a subsequent, dependent project like Crossbar.io (which obviously uses Autobahn a lot)

Python 3.13 is out. Time to move on?

@yan12125 wau. you are quick;) I also saw that flying by. so yes: +1!
maybe worth: I think it would be good to first (and only that) switch from 3.11 to 3.13 everywhere in CI etc, e.g.
https://github.com/crossbario/autobahn-python/blob/7bc85b34e200640ab98a41cfddb38267f39bc92e/.github/workflows/main.yml#L28
and once that runs, only then move on to the log issue (the original itch of this issue), and this PR
in other words, what I am saying is: it might be worth doing the 3.11 to 3.13 switch (and only that) in a (new) separate PR
this latter (new) PR should be all green immediately. in theory. I don't believe it. sadly.
then this PR can simply catch up with / merge main to have 3.13
it will then run as is right away, and we'll see what is yet missing then ...
sounds like a good / workable plan?

Sounds good. I can work on 3.11 -> 3.13 switch if you wish.

The linked issue https://github.com/crossbario/autobahn-python/issues/1098 mentions:

FYI, logger.warn is removed in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html#logging

That page on Python official website actually places logging.warn in the section "Pending Removal in Future Versions", so that function is still in Python 3.13. Also, Python 3.13 unit tests passed without changes in this pull request: https://github.com/yan12125/autobahn-python/actions/runs/11666669688.
@Jenselme could you check how to make deprecation warnings visible in unit tests?

@yan12125 I’m already seeing the warnings:
.tox/py3.11-asyncio/lib64/python3.11/site-packages/websockets/legacy/__init__.py:6
  /home/jenselme/Projects/_Clones/autobahn-python/.tox/py3.11-asyncio/lib64/python3.11/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions
    warnings.warn(  # deprecated in 14.0

It’s still not easy to spot where the issue comes from though.

@yan12125 I’m already seeing the warnings:
.tox/py3.11-asyncio/lib64/python3.11/site-packages/websockets/legacy/__init__.py:6
  /home/jenselme/Projects/_Clones/autobahn-python/.tox/py3.11-asyncio/lib64/python3.11/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions
    warnings.warn(  # deprecated in 14.0

Thanks, but the warning is about warnings.warn, not log.warning .

It’s still not easy to spot where the issue comes from though.

You may check it by running export PYTHONWARNINGS=error first.

Currently, the test suite fails to run with Python 3.13 because of https://github.com/jnwatson/py-lmdb/issues/362 Will try to monitor this issue and come back to this once it’s solved.

ah, right. thanks for digging! the PR https://github.com/jnwatson/py-lmdb/pull/368 claims to solve that, so let's wait and see, yeah.


don't search in all DCs if configured

If some datacenter is marked in Consul cluster as "failed" Marathon-Consul still asks for services and fails after getting 500 in response. This PR adds option to configure single datacenter to ask for.

Coverage decreased (-0.3%) to 90.648% when pulling 3316148eb7afdecc0af33b77a2d5e11933effd41 on consuldatacenters into 3d0bb6dc1eabd685f8982f395cbf1cd191a2a92d on master.

I feel that this and this are the problems. The fact that we fail on first error instead of continuing with services that we were able to load. Querying only single DC feels more like a nice addition.


Simplify the tracker icon asset loading code

Task/Issue URL: https://app.asana.com/0/414709148257752/1204033732341887/f
Description:
Background
The code for loading matching logo or first letter icon for blocked trackers animation was heavily based on original macOS implementation. It was build using hugely repetitive switch statement. Additionally the code contained typo and was not properly loading a dark mode variant for one of the logos. Since iOS implementation uses automatic support for loading dark mode assets we can simplify the code.
Steps to test this PR:

Test if logo icons load for known trackers by their entity name.
Ensure that icons for trackers containing space in their name ("the trade desk" and "verizon media") are loaded properly
Check if trackers without matching logo load generic first letter icon instead

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template
When ready for review, remember to post the PR in MM

@jaceklyp @miasma13 anything left to do in this PR?


[Request]: What is the status of RRC?

Contact Details
No response
Organizer Request
Hi! I'm trying to find current information on RRC and how to participate / catch up to where things currently are.
Has the "at scale" portion been hit yet (I signed up!)? https://smallcultfollowing.com/babysteps//blog/2021/11/18/rustc-reading-club-take-2/
Code of Conduct

[X] I agree to follow this project's Code of Conduct

The last status update about it can be found here: https://mojosd.medium.com/a-new-phase-for-the-rustc-reading-club-c3a048f52a2f

It was unclear to me from that post whether RRC is now out of the "beta" 10-15 people mode and is taking on more people or not. I think the answer is 10-15 people, now with video recordings (pending the retrospective). But I'm not sure and don't want to miss any sign-ups!

The last status update about it can be found here: https://mojosd.medium.com/a-new-phase-for-the-rustc-reading-club-c3a048f52a2f

I've read the page, but I'm very confused. None of the events have times and links provided, and the official calendar doesn't have any reference as well. I suppose that the first youtube event still need to be published.
It's also very unclear which will be the nature of the future events - are they private events whose recordings will be available to the general public?
:thinking:


Improve test coverage and error messages for conf.urls.init.py

merged in 0cbfc844a392ae3fd47cc2cf28ba872f19f1d301, thanks!


Timepicker tests and stories

PR Checklist
(all items must be checked off for a PR to be merged)
This PR:

[ ] has a changelog entry with a short description of what's changed in CHANGELOG.md
[ ] adds new tests or updates existing tests (or hasn't, for reasons explained below)
[ ] strictly follows the design spec (if one exists)
[ ] adheres to a11y guidelines/WCAG guidelines where applicable; this can be tested using Lighthouse (native in Chrome dev tools or as a plugin for other browsers) and with accessibility reports in Firefox

This PR has been tested in the following browsers (the latest version of each is fine):

[ ] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari

PR description
Adds tests and stories

Thanks for this @ThatGalNatalie - very much appreciate you putting the extra effort in to get these done so quickly.  From your stories, I noticed that the disabled state could do with a cursor update - I realize it's not part of this PR but could we add it here?


Add are-the-types-wrong CI job

It might be worth adding a CI job that runs Are-the-types-wrong to check the final type definitions.

Yep good idea. I added this to one of my libraries (I actually don't remember which but I guess it wasn't this one) and it seemed easy to set up and useful


fix: allow POS batches to contain credits

This also loosens the service class code and permits POS batches to be
mixed, credit-only, or debit-only.
While the spec initially defines POS entries as debits, it when
elaborates:
Also an adjusting or other credit Entry related to such debit Entry,
transfer of funds, or obligation.

Codecov Report

Merging #826 (d09c6ea) into master (85a464f) will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #826      +/-   ##
==========================================
+ Coverage   92.20%   92.24%   +0.03%
==========================================
  Files          66       66
  Lines        5109     5104       -5
==========================================
- Hits         4711     4708       -3
+ Misses        235      233       -2
  Partials      163      163

Codecov Report

Merging #826 (d09c6ea) into master (85a464f) will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #826      +/-   ##
==========================================
+ Coverage   92.20%   92.24%   +0.03%
==========================================
  Files          66       66
  Lines        5109     5104       -5
==========================================
- Hits         4711     4708       -3
+ Misses        235      233       -2
  Partials      163      163

Thanks again for the PR!

Thanks again for the PR!


Joins with 1 listenable

It's becoming a bit painful to check whether we need to Reflux.join{Leading,Trailing,Concat,Strict} or use the non-static store.listen() in some of our tests. It would be pleasant if the join static methods worked whether there are multiple things or just one listenable to synchronize to.

Should be a simple fix: the joins could just return the listenable if there is only one. That way you won't need to do any ifs.

-1 to the proposed way of resolving this concern.

@H3Chief can you elaborate?


Support machine readable output

Resolves: #310

I have Partially-Resolves in the commit msg to indicate that this patch provides the basis for issue context but will leave open the issue as a means of refining the information we actually provide in --machine-readable context.


Kubeflow Dashboard cannot render its component functions on microk8s

I have installed Kubernetes on Ubuntu 18.04 using the MicroK8s package. My intention was to run Kubeflow on my bare-metal on-premise system (a laptop) to familiarize myself with the tool before shilling out credits to use it on the cloud. However, I have run into a difficulty.
First of all, Kubeflow does not work on MicroK8s 1.22 - so I am using the 1.21/stable channel. On this system, I have enabled the kubeflow package using microk8s.enable kubeflow - alongside dns, dashboard and storage. This has installed several images into my system, and microK8 now runs several pods.
Of these, one of the pods won't run. The image kfp-viz - corresponding to a Juju Charmer - cannot be installed. Here is the error:
Failed to pull image "registry.jujucharms.com/kubeflow-charmers/kfp-viz/oci-image@sha256:c90a5818043da47448c4230953b265a66877bd143e4bdd991f762cf47e2a16d6": rpc error: code = FailedPrecondition desc = failed to pull and unpack image "registry.jujucharms.com/kubeflow-charmers/kfp-viz/oci-image@sha256:c90a5818043da47448c4230953b265a66877bd143e4bdd991f762cf47e2a16d6": failed commit on ref "layer-sha256:bf94fddbd6a293bbdfb71d2d627b2262f0f1296b198a1d372ca30253a460d8b0": "layer-sha256:bf94fddbd6a293bbdfb71d2d627b2262f0f1296b198a1d372ca30253a460d8b0" failed size validation: 116013328 != 147329385: failed precondition

Owing to this error, the image pull is backed off. It has failed consistently. I do not know whether this is what is causing the main issue, but the real problem is that the kubeflow dashboard is disfunctional. I am going to attach an image here for reference:

Basically, none of the tabs work. If I try to create a new notebook, it tells me that the /jupyter/new page is not valid. Same, apparently, is true for the /pipeline/ page, and for every other page.
For reference, this is the method I used to run the dashboard:

I ran the command `kubectl -n kubeflow get services | grep "kubeflow-dashboard "
I noted the IP address there.
I connected to port 8082 on this IP address using HTTP (no secure).

If I am doing something wrong, It would be great if someone explained it to me. I think I have messed up somewhere, since nobody else seems to be facing this issue while using MicroK8s.
EDIT:
I tried disabling and re-enabling kubeflow. I read the installation instructions carefully, and noted that the link for opening kubeflow-dashboard on my browser is provided at the end of the installation process. Unfortunately, this process is never finished, since the kfp-viz pod will not run owing to its ImagePull error, which causes it to be backed off.
I have tried installing kfp-viz from other sources, and there doesn't seem to be any source from which this can be accomplished on Ubuntu 18.04; On the JAAS store, the image is only available for Ubuntu 20.04
People were clearly installing Kubeflow on Bionic at some point, given the number of blogs where instructions to do so are provided with a confidently assertive tone. It is clearly harder now, and for some reason the latest version of MicroK8s does not support Kubeflow. This seems to be telling a story. I wonder what happened.
Further Edit:
Okay, so the pod image kfp-viz was successfully downloaded and installed a moment back, leaving me thoroughly astounded. But this success has not changed the nature of the Dashboard, which is still as dysfunctional as it had been earlier.

Okay, kinda solved I guess
Look, I am not saying that this problem has been solved. If you are working on MicroK8s and you came here to receive guidance on making Kubeflow run on an older version of MicroK8s, you will be disapppointed. If you are simply looking for some way to make Kubeflow work on Kubernetes on your personal testing server - or laptop, for that matter - then you might just be in the right place.
Hardware requirements
Kubeflow on an on-premise Kubernetes requires some 8-10 GiB to run, and that is when you are not even training the model. So basically, if you want to run Kubeflow on your premise, you need one helluva premise.
Platform
Do not use Canonical's MicroK8s. Instead, install Kubectl, Kind and Kustomize separately as suggested by the official Kubernetes documentation. First, download Kubectl using this line of code:
     curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

Then install Kustomize:
    curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash

And finally, install Kind:
    curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64

Place all of them inside a $PATH location, and one that can be used as path by the root user. Then become root, and generate a Kind cluster by using
    kind create cluster

Installing Kubeflow:
Use git to clone the repository for on-premise custom Kubeflow. All existing guidebooks tell you how to set it up on Google Cloud Platform or Amazon Web Services, but fortunately humanity is not dead and there is one repository that contains the manifest for setting Kubeflow up on premise:
    git clone https://github.com/kubeflow/manifests.git

And then run this command as root inside the cloned directory, as suggested by the maintainers of the manifest:
    while ! kustomize build example | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done

And that is it. This will take something like an hour or two, but you will have your Kubeflow cluster set up. You can use
    kubectl get pods -A

as root to check the status of the cloud from time to time. Remember, the pod cluster is huge and chugs a massive chunk of RAM.
Connect to your Kubeflow installation by running:
    kubectl port-forward -n istio-system svc/istio-ingressgateway 8000:80

as root user and then connecting to localhost:8000. DO NOT connect directly to Kubeflow Central Dashboard. Log in to the ISTIO gateway port-forwarded by the command above above by using the username<EMAIL_ADDRESS>and the password 12341234.
Why I would advise not using MicroK8s
There are two reasons why I would not advise using MicroK8s for Kubeflow. Ever.
MicroK8s neither supports Kubeflow itself, nor is it supported by Kubeflow and Juju any more.
Not only does the latest version of MicroK8s (v1.22) not support Kubeflow, but the older versions (v1.21 for instance) are dropped by Google's buddies. MicroK8s v1.21 attempts to pull images for the pods used by Kubeflow using Juju, an image fetching service. This may sometimes succeed once in a blue moon, but normally there are all kinds of errors.
Sometimes, the image pull fails because the YAML manifest files on the pulled images list image sizes that do not match the actual binary size of the image. Sometimes there is a version mismatch. And sometimes, Juju returns HTTP 403 and tells you to go do something else.
Canonical itself is appallingly unhelpful
I have placed this issue here five days ago from the point of this post, and how many responses did I receive? Not one. Canonical doesn't care about issues raised regarding Kubeflow on MicroK8s - not even enough to direct me away from MicroK8s and tell me to use something else.
There is a cigarette shop down the road where the owner sells COVID masks on the side to complement the small income on his main product. My own mask had become rather stanky as I spent days poring over this problem. I finally went and purchased a fresh mask, and it gave me a renewed sense of freshness that got my mind thinking and helped me to work out a solution to the problem of deploying Kubeflow on my system locally.
This simple contribution by a shopkeeper of a cigarette store on the side of a not-particularly-vivid street in downtown Bangalore might seem trivial and not worth mentioning, but it is certainly greater than anything Canonical has contributed to help me resolve my issue with Kubeflow. Canonical employees has done Jacques Copulating Excreta in the 120+ hours that I have spent pondering on this challenge thus far, and I am frankly curious about why they even bother to pretend that they are maintaining MicroK8s.

Hello @Theocrat, I'm sorry we couldn't adress your issue earlier, sometimes issues aren't adress as quickly as they should specially considering the team coming back from holidays and a weekend being inbetween these 5 days you mention.
Kubeflow not working on 1.22 is an upstream problem that affects all the Kubeflow distributions. We do still support Microk8s but are slowly encouraging our users to start using the steps mentioned here.
We have seen several issues with the microk8s installation on ubuntu 18.04, as you correctly noticed in general we recommend using 20.04 for any current installations.

@DomFleischmann I can understand. I think I have gone a little overboard on the flame. Two cups of black coffee on an empty stomach in the early morning will do that to you. I have had the opportunity to rethink the situation, and I think the vile tempest of accusations in my earlier post was uncalled for.
Of course, this is family time for you guys and I wish you a happy new year. Thank you for posting a link to your guide for users of MicroK8s to install Charmed Kubeflow using Juju. I have removed the offending portion from my earlier post.

@DomFleischmann Hey Dom, I have been trying out my use case on the Charmed Kubeflow solution from Juju, but it appears that the charmed Kubeflow solution is not updated. The tutorials, including the one you have shared with me, appear to be similarly behind the times.
For one thing, Kubeflow as it stands today (in February 2022) can only be properly accessed via the ISTIO Ingress Gateway. Attempting to access the Kubeflow Dashboard directly will yield a useless pretense of the UI, which basically spams more copies of itself whenever you click on any of the tabs in the column to the left.
However, the ISTIO load balancing service in Juju's charmed Kubeflow is oddly broken. For one thing, the istio-ingressgateway-operator pod remains indefinitely in a waiting state, awaiting the ISTIO pilot. This issue has been referred to in this Stackoverflow exchange, where one of the users provides a solution candidate. I have tried this solution, and while it has fixed the waiting problem, there still remain other issues.
For another, when I run
kubectl -n kubeflow get svc

I observe this line for the load balancer:
NAME                                 TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                                                                                AGE

istio-ingressgateway                 LoadBalancer   <IP_ADDRESS>   <pending>     15020:32198/TCP,80:30075/TCP,443:30375/TCP,15029:31903/TCP,15030:31682/TCP,15031:32328/TCP,15032:31773/TCP,15443:32640/TCP,15011:32065/TCP,8060:31671/TCP,853:31981/TCP   20h

Notice that the external IP column shows a state of <pending>. This is troublesome, and ultimately does lead to trouble.
When I ultimately use
kubectl -n kubeflow port-forward svc/istio-ingressgateway 8000:80

to access the load balancer, the port 8000 yields an empty blank page. The ISTIO system is clearly dysfunctional, and trying to directly get to the dashboard yields a dysfunctional dashboard.

Hello @Theocrat, regarding the command that moves istio-ingressgateway away from waiting state it is clearly stated in Step 6 of the link I provided to you.
Regarding the external-ip which seems to be remaining as <pending> this is probably due to your Kubernetes cluster not having a Loadbalancing service. You can either deploy something like metallb or use a k8s that comes with one out of the box like microk8s. Another alternative is to patch the istio-ingressgateway service to use NodePort instead of Loadbalancer.
All of Kubeflows User Interfaces are very tightly coupled with istio and require to be accessed through it, this is not something where Charmed Kubeflow is not updated but a design decision from the upstream project.

Right, thanks again.


Implement Wallet Connect

Implement Wallet Connect following what implemented on extension (https://github.com/Koniverse/SubWallet-Extension/issues/1497):

[x] Implement scanner
[x] Implement deep-link

Detail:

Component:

[x] Dual Logo (change the center icon for WalletConnect confirmation)

[x] WCAccountSelect

[x] WCNetworkSelect

[x] WCNetworkSupported

[x] WCAvatarGroup

Screen:

[x] ConnectList

[x] ConnectWalletConnect

[x] ConnectDetail

[x] WalletConnectConfirmation

[x] ScanToConnectWalletConnect

Version test:
Please check:

[ ] Can not connect WalletConnect in case support both Substrate & EVM network

Actual: Do not show select account field

[ ] Still displaying submitting after connecting failed in case connection exists

[ ] UI bugs

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-204-911-merge-2023-07-27T06-13-58.ipa
Please check issues:

[ ] Do not show the popup confirmation when opening modal (Scan QR code, Receive addess...)
Reproduce the behavior
Pre-condition: Connect with WallectConnect successfully
Steps:

Open the app
Go to the Select token to get the address or Scan QR code...
On the dApp, send a request to SubWallet (sign request)
Observe the SubWallet

Actual: Do not show popup confirmation

And: Do not redirect when accessing to Setting menu or browser

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-204-911-merge-2023-07-29T11-10-45.ipa
Please check:

[ ] Handle case camera access permission

Actual: If user select denied permission then can not use app continuing

[ ] Do not navigate in case modal overlap modal on iOS device
Steps:

Open the SubWallet app
Connect to dApp via WalletConnect successfully
On the SubWallet app, go to the History detail or QR code screen
On the dApp, perform any transaction
On the SubWallet app: approve transaction then navigate to the other screen

Actual: Do not navigate

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-205-911-merge-2023-08-07T02-44-00.apk
Device test: MI 8 Lite

[ ] Do not show confirmation when connect wallet

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-205-911-merge-2023-08-08T12-30-11.apk

[ ] Modal overlapped modal in case connect app to app

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-205-911-merge-2023-08-10T09-38-11.ipa
Devices test: IP 11
Validation passed.


kie-issues#776: automate PR merge into protected branches

Part of:

apache/incubator-kie-issues#776

Other related PRs:

apache/incubator-kie-kogito-pipelines#1194
apache/incubator-kie-benchmarks#286
apache/incubator-kie-docs#4536
apache/incubator-kie-kogito-runtimes#3501
apache/incubator-kie-kogito-apps#2047
apache/incubator-kie-kogito-examples#1914
apache/incubator-kie-kogito-docs#626
apache/incubator-kie-drools#5927
apache/incubator-kie-optaplanner#3083
apache/incubator-kie-kogito-serverless-operator#462

Replacing old approach to merge PRs:  merge locally + push into remote
New behavior relies on gh cli directly to approve and merge PR.

PR job #1 was: UNSTABLE
Possible explanation: This should be test failures

Reproducer
build-chain build full_downstream  -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-apps -u https://github.com/apache/incubator-kie-kogito-apps/pull/2047 --skipParallelCheckout
NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution

Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2047/1/display/redirect
Test results:

PASSED: 1660
FAILED: 2

Those are the test failures:

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBHttpIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.ProcessDataIndexInfinispanIT.testProcessInstanceEvents
1 expectation failed.JSON path errors doesn't match.Expected: null  Actual: <[{message=Exception while fetching data (/UserTaskInstanceAttachmentUpdate) : Index 0 out of bounds for length 0, locations=[{line=1, column=12}], path=[UserTaskInstanceAttachmentUpdate], extensions={classification=DataFetchingException}}]>