[EventRequest] Codeunit 11 "Gen. Jnl.-Check Line" OnBeforeCheckAppliesToID

Hi there,
we need to extend the behaviour of the Journal Check for "Applies-to ID" in Codeunit 11 "Gen. Jnl.-Check Line" OnBeforeCheckAppliesToID.
We (akquinet) have a module for Open Ledger Entries and need to make it possible to apply G/L Entries. Currently, there is the following check in the codeunit mentioned above, which does not allow us to do applications based on "Applies-to ID":
 if (("Account Type" = "Account Type"::"G/L Account") and     ("Bal. Account Type" = "Bal. Account Type"::"G/L Account")) or     ("Applies-to Doc. No." <> '')  then      LogTestField(GenJnlLine, FieldNo("Applies-to ID"), '');
Could you move this check into a separate function with an "IsHandled" pattern and including an event?
Similar to the existing check "CheckAppliesToDocNo" (also in Codeunit 11):
if ("Account Type" = "Account Type"::"G/L Account") and    ("Bal. Account Type" = "Bal. Account Type"::"G/L Account") then     CheckAppliesToDocNo(GenJnlLine);
local procedure CheckAppliesToDocNo(GenJnlLine: Record "Gen. Journal Line")
var
    IsHandled: Boolean;
begin
    IsHandled := true;
    OnBeforeCheckAppliesToDocNo(GenJnlLine, IsHandled);
    if IsHandled then
        exit;

    LogTestField(GenJnlLine, GenJnlLine.FieldNo("Applies-to Doc. No."), '');
end;

We already have this.

Hi,
could you point out where this is impelmented? I just checked the current Version and there is still the following check:
if (("Account Type" = "Account Type"::"G/L Account") and     ("Bal. Account Type" = "Bal. Account Type"::"G/L Account")) or     ("Applies-to Doc. No." <> '') then    LogTestField(GenJnlLine, FieldNo("Applies-to ID"), '');
This leads to an Testfielderror as soon as "Account Type" = "Account Type"::"G/L Account" and "Bal. Account Type" = "Bal. Account Type"::"G/L Account" and field "Applies-to ID" is filled. Because our extensions enables the user to apply G/L Accounts to each other this is a valid case and should not lead to a Testfield-Error.
Thanks in advance!


how to install mod

how do I install this mod????? I have forge

https://www.minecraftmods.com/how-to-install-mods-for-minecraft-forge/


ImportError: cannot import name 'DiscussServiceAsyncClient' from partially initialized module 'google.ai.generativelanguage_v1beta.services.discuss_service'

Description of the bug:

python : 3.11.5
jupyter_server : 2.10.0

While running this python file in my local jupyter server, this error occurred.
import google.generativeai as genai
import os

genai.configure(api_key=os.environ["API_KEY"])

Below is the full error.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[20], line 1
----> 1 import google.generativeai as genai
      2 import os
      4 genai.configure(api_key=os.environ["API_KEY"])

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/generativeai/__init__.py:45
     41 from __future__ import annotations
     43 from google.generativeai import version
---> 45 from google.generativeai import types
     46 from google.generativeai.types import GenerationConfig
     49 from google.generativeai.discuss import chat

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/generativeai/types/__init__.py:17
      1 # -*- coding: utf-8 -*-
      2 # Copyright 2023 Google LLC
      3 #
   (...)
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 """A collection of type definitions used throughout the library."""
---> 17 from google.generativeai.types.discuss_types import *
     18 from google.generativeai.types.model_types import *
     19 from google.generativeai.types.text_types import *

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/generativeai/types/discuss_types.py:22
     19 from typing import Any, Dict, Union, Iterable, Optional, Tuple, List
     20 from typing_extensions import TypedDict
---> 22 import google.ai.generativelanguage as glm
     23 from google.generativeai import string_utils
     25 from google.generativeai.types import safety_types

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/ai/generativelanguage/__init__.py:21
     16 from google.ai.generativelanguage import gapic_version as package_version
     18 __version__ = package_version.__version__
---> 21 from google.ai.generativelanguage_v1beta.services.discuss_service.async_client import (
     22     DiscussServiceAsyncClient,
     23 )
     24 from google.ai.generativelanguage_v1beta.services.discuss_service.client import (
     25     DiscussServiceClient,
     26 )
     27 from google.ai.generativelanguage_v1beta.services.generative_service.async_client import (
     28     GenerativeServiceAsyncClient,
     29 )

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/ai/generativelanguage_v1beta/services/discuss_service/__init__.py:16
      1 # -*- coding: utf-8 -*-
      2 # Copyright 2023 Google LLC
      3 #
   (...)
     14 # limitations under the License.
     15 #
---> 16 from .async_client import DiscussServiceAsyncClient
     17 from .client import DiscussServiceClient
     19 __all__ = (
     20     "DiscussServiceClient",
     21     "DiscussServiceAsyncClient",
     22 )

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/ai/generativelanguage_v1beta/services/discuss_service/async_client.py:38
     35 from google.auth import credentials as ga_credentials  # type: ignore
     36 from google.oauth2 import service_account  # type: ignore
---> 38 from google.ai.generativelanguage_v1beta import gapic_version as package_version
     40 try:
     41     OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault]

File /opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/ai/generativelanguage_v1beta/__init__.py:21
     16 from google.ai.generativelanguage_v1beta import gapic_version as package_version
     18 __version__ = package_version.__version__
---> 21 from .services.discuss_service import DiscussServiceAsyncClient, DiscussServiceClient
     22 from .services.generative_service import (
     23     GenerativeServiceAsyncClient,
     24     GenerativeServiceClient,
     25 )
     26 from .services.model_service import ModelServiceAsyncClient, ModelServiceClient

ImportError: cannot import name 'DiscussServiceAsyncClient' from partially initialized module 'google.ai.generativelanguage_v1beta.services.discuss_service' (most likely due to a circular import) (/opt/anaconda3/envs/Gemini-Env/lib/python3.10/site-packages/google/ai/generativelanguage_v1beta/services/discuss_service/__init__.py)

I installed google-gnerativeai via pip install google-generativeai and also ran  pip install -q -U google-generativeai on my terminal.
It seems to work fine on google colab(python ver 3.10), but I don't know what's the problem here. The documents says it supports python 3.9, 3.10, 3.11 pypi  google-ai-generativelanguage docs
Actual vs expected behavior:
expected: It should work fine.
actual : circular import error
Any other information you'd like to share?
I tried python 3.10 locally, but still same circular import error.
I also made new conda environment with no additional libraries installed, but still this error occurred.
No response

I'm having this exact issue
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[22], line 2
      1 # listing all available models
----> 2 from google import generativeai
      3 # for model in genai.list_models():
      4 #     print(model.name)

File ~/.local/lib/python3.11/site-packages/google/generativeai/__init__.py:45
     41 from __future__ import annotations
     43 from google.generativeai import version
---> 45 from google.generativeai import types
     46 from google.generativeai.types import GenerationConfig
     49 from google.generativeai.discuss import chat

File ~/.local/lib/python3.11/site-packages/google/generativeai/types/__init__.py:17
      1 # -*- coding: utf-8 -*-
      2 # Copyright 2023 Google LLC
      3 #
   (...)
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 """A collection of type definitions used throughout the library."""
---> 17 from google.generativeai.types.discuss_types import *
     18 from google.generativeai.types.model_types import *
     19 from google.generativeai.types.text_types import *

File ~/.local/lib/python3.11/site-packages/google/generativeai/types/discuss_types.py:22
     19 from typing import Any, Dict, Union, Iterable, Optional, Tuple, List
     20 from typing_extensions import TypedDict
---> 22 import google.ai.generativelanguage as glm
     23 from google.generativeai import string_utils
     25 from google.generativeai.types import safety_types

File ~/.local/lib/python3.11/site-packages/google/ai/generativelanguage/__init__.py:21
     16 from google.ai.generativelanguage import gapic_version as package_version
     18 __version__ = package_version.__version__
---> 21 from google.ai.generativelanguage_v1beta.services.discuss_service.async_client import (
     22     DiscussServiceAsyncClient,
     23 )
     24 from google.ai.generativelanguage_v1beta.services.discuss_service.client import (
     25     DiscussServiceClient,
     26 )
     27 from google.ai.generativelanguage_v1beta.services.generative_service.async_client import (
     28     GenerativeServiceAsyncClient,
     29 )

File ~/.local/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/discuss_service/__init__.py:16
      1 # -*- coding: utf-8 -*-
      2 # Copyright 2023 Google LLC
      3 #
   (...)
     14 # limitations under the License.
     15 #
---> 16 from .async_client import DiscussServiceAsyncClient
     17 from .client import DiscussServiceClient
     19 __all__ = (
     20     "DiscussServiceClient",
     21     "DiscussServiceAsyncClient",
     22 )

File ~/.local/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/discuss_service/async_client.py:38
     35 from google.auth import credentials as ga_credentials  # type: ignore
     36 from google.oauth2 import service_account  # type: ignore
---> 38 from google.ai.generativelanguage_v1beta import gapic_version as package_version
     40 try:
     41     OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault]

File ~/.local/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/__init__.py:21
     16 from google.ai.generativelanguage_v1beta import gapic_version as package_version
     18 __version__ = package_version.__version__
---> 21 from .services.discuss_service import DiscussServiceAsyncClient, DiscussServiceClient
     22 from .services.generative_service import (
     23     GenerativeServiceAsyncClient,
     24     GenerativeServiceClient,
     25 )
     26 from .services.model_service import ModelServiceAsyncClient, ModelServiceClient

ImportError: cannot import name 'DiscussServiceAsyncClient' from partially initialized module 'google.ai.generativelanguage_v1beta.services.discuss_service' (most likely due to a circular import) (/home/obinna/.local/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/discuss_service/__init__.py)

which version? can you show more details: the minimal reproduce code snippet

I've seen this, but don't have steps to reproduce it.
I think this had something to do with the namespace package configuration: https://github.com/google-gemini/generative-ai-python/commit/b28f2d1395d888fe149a031afbec359e1b523f8e
Does this still happen for anyone, with newer versions?

I had the exact same issue today. I was trying to run the code on a .ipynb file. What worked for me was to restart the Jupyter kernel. I guess I was getting this error after installing some packages (like grpcio) required by google-generativeai, and restarting the kernel somehow fixed the issue. Hope this can help others as well.

Could folks supply a minimal repro so we can troubleshoot this one?


Can not see the "Deploy as" under File Menu

The jupyter_to_medium extension is enabled as you can see from the below extension-configuration screen.

Also by running jupyter nbextension list I can see this extension is enabled.
Using Chrome Version 91.0.4472.114 (Official Build) (64-bit)
Ubuntu 20.04

Hi Rohan,
Sorry for such a delay in coming back to you. I'm struggling to replicate the issue you have. Can you confirm that you are/have done the following:

running using jupyter notebook not jupyter lab
have run pip install jupyter_to_medium
have run jupyter bundlerextension enable --py jupyter_to_medium._bundler --sys-prefix as per Ted's comment in the README.md

If I start a fresh environment then sometimes I also don't see the "Deploy as" section, but after running that last command with the bundler function it then shows up. If you are still having problems can you post some info (like an environment.yml or requirements.txt) and I can try to replicate again.

Going to close this - can reopen if still a problem / the above doesn't fix it


PSUseDeclaredVarsMoreThanAssigments on $function:prompt

Variable analyzes should know about the ability to set functions as a variable and about special type of functions like prompt.
Here is an example usage:
https://github.com/vors/ZLocation/blob/808da1369ddf31cd67427f92f5503c06e4e4ae0e/ZLocation/ZLocation.psm1#L56
$function:prompt = [ScriptBlock]::Create($newPrompt)

I getting this warning on v 1.2.0:
PSUseDeclaredVarsMoreThanAssigments
Warning
ZLocation.psm1 56
The variable function:prompt' is assigned but never used.

Thanks for the report. This is fixed with #424


Make video of algorithm in action

This is more of a request. Could you make a video of the algorithm in action. There's a lot of work to get the library running and I'd like to see what I get before I go through all the fuss of installing it.

Hi!
If you drop me an email (you can find it on my homepage) I can send you a couple videos. We plan to make some demo images and video material available online soon, but I'm happy to send you what we currently have.
Allow me one question: What's the main work or obstacle for you when you say "There's a lot of work to get the library running"? The installation? Boost? OpenCV? Or reading the code? What do you think could we improve?
Cheers & thanks,
Patrik

Hey, thanks for the quick response.
I tried running your code but i got stuck when cmake couldn't find OpenCV. Do I have to compile OpenCV or can I use the prebuilt version? When I ran cmake I got an error saying I should point to OpenCV's cmake file, but that didn't help.
Maybe I overlooked something, but it would be nice to look at the final product on video before having to download/compile multiple libraries.
Thanks again for your great work!

Thanks for your reply!
If you're on Windows, you're best off with my zip from #3 as it contains VS2015 (vc14) binaries. (the ones from opencv.org do not yet include vc14 binaries). If you then point the variable in initial_cache.cmake to the directory where you unzipped it to, it should find it without any issues. (Don't forget to use the 64-bit generator). If you're on Linux, it should just work with the system-OpenCV.
Also keep in mind that eos is a header-only library, so you actually don't need our CMake scripts to run it - if you already have your preferred IDE and setup, and for example a hello-world app with OpenCV, you can just use that, add eos/include to your include path and start using the library. No need to compile anything!
Cheers,
Patrik

I know it's not a video, but I've just run the latest version of eos (v0.9.0) on the whole of the ibug HELEN testset, and I've uploaded a few of the results to the eos wiki: https://github.com/patrikhuber/eos/wiki
I'm happy to share all 330 result pics on GDrive or something if somebody wants them.
At some point, I might get to making a video, but it's not on my list of short-term things to do.
In any case I'm also providing some binaries now of the releases (which hopefully work ;-) ), which makes it even easier to try the library.

hello @patrikhuber ,I've just installed the eos,It seems wonderful for the new beginner to use 3DMM.But,It may also cause confuse to the new beginner,can you expose more demo code with face fitting,That would be much better!

Hello @k-miracle, Thanks!
What more demo code would you like to see, apart from the already-existing fit-model-simple, fit-model, generate-obj, and demo.py?

@patrikhuber So, the code will not compile with gcc 5.4 (ubuntu 16)? gcc-7 only?
Thanks.

@kaisark I've removed your comment as it is totally unrelated to this issue. If there is any issue with the library, and there isn't a related issue ticket yet, please open a new one. Thanks.

Hey there, I have the problem of Opencv too. I tried several ways to solve it, but they all failed.
Under the environment of Windows 10 x64 and opencv 3.4.3( with v14 and v15 binaries).

You should manually point CMake variable OpenCV_DIR to your build of OpenCV
library.
Call Stack (most recent call first):
examples/CMakeLists.txt:8 (find_package)
CMake Error at examples/CMakeLists.txt:8 (find_package):
Found package configuration file:
D:/opencv/build/OpenCVConfig.cmake

but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
-- Configuring incomplete, errors occurred!
See also "D:/onedrive/codes/dachuang/facemodel/eosmaster/build/CMakeFiles/CMakeOutput.log".
'
--------------------------------------Here is what I did-----------------------------------------
To try to point CMake variable OpenCV_DIR to my build of OpenCV library, I have already try to run this command in cmd. However, I don't really know if it is the right way to do so or there is some detailed configurations are missed out.
'D:\onedrive\codes\dachuang\facemodel\eosmaster\build>set OpenCV_DIR=D:\opencv\build'
After all of this, error repeated.
So I tried your suggestion to point the variable in initial_cache.cmake to the opencv/build. And also I add the some commands in the file '\eos\examples\CMakeLists.txt' to try to set some opencv configurations for the error (But I thought it was useless, so I deleted them anyway.)
Hopefully you can give me some suggestions.

By the way, I just found my MinGW Makefiles is based on mingw32-make. I don't know if it is the problem.
In other word, should I install mingw-64? Will mingw-32 and mingw-64 conllide?

Hi @kaiko-www,
I'm sorry but your post is completely unrelated to this ticket. If there is any issue with the library, and there isn't a related issue ticket yet, please open a new one. Thanks. I will remove your post from here tomorrow, giving you some time to copy your text, if you haven't copied it locally.


Expose isOver boolean in useSortable hook?

useSortable is a combination of useDroppable and useDraggable hooks. It would be nice to able to access the underlying isOver hook from useDroppable, in order to style the sortable container for more responsive design.
While we can do something similar to the example in Story - Sortable - Multiple Container by using useDroppable containers, that won't work if we're building a nested ui with useSortable.

You're the best, clauderic! I can't wait to show you what we been building on dnd-kit!


Fix: Invalid component name

Thank you for your contribution to the KodaDot NFT gallery.
👇  _ Do a quick check before the merge.
PR type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried respect high code quality standards
[x] I've didn't break any original functionality
[ ] I've posted screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything works
[ ] I found edge cases

What's new?

[x] PR closes #1533
[x] Fix Invalid component name issue

Had issue bounty label ?

[ ] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot

[ ] My fix has changed something on UI, a screenshot for others, is best to understand changes.

@vikiival Done!

Let’s grab another issue and get rewarded!
https://github.com/kodadot/nft-gallery/issues/


Map Not availabe

Describe the bug
The Integration is Not showing a map. Even if i try to reload or reconfigure the Integration.
To Reproduce
Permanent
Expected behavior
Show the interactive map
Screenshots
https://ibb.co/mJ00y4g
https://ibb.co/ZXSHKHB
https://ibb.co/dt80s67
https://ibb.co/QrdR83k
https://ibb.co/w0HJDt3
https://ibb.co/JKfgbwz
https://ibb.co/gM7x7tn
Additional Information (please complete the following information)

Model Name [e.g. dreame.vacuum.l10s ultra]:
Firmware Version [4.3.6_3030]:
Home Assistant Version: 2023.9.3
Configuration Type [Dreamehome Account]:
Errors or warnings shown in the HA logs (if applicable):

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.dreame_vacuum.dreame.map
Source: custom_components/dreame_vacuum/dreame/map.py:468
Integration: Dreame Vacuum (documentation, issues)
First occurred: 13:48:35 (1966 occurrences)
Last logged: 22:32:41

Request map data from cloud failed https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194082710&Signature=JIqGLcBo82ZAVgLmc5lhZGruOWw=
Request map data from cloud failed https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/9?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194098973&Signature=zeR663ihLNU/zHSURRum1s/eyjk=
Request map data from cloud failed https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194114752&Signature=csMp8+3A6Fp0Ef5+Dy/zo/ZB7b0=
Request map data from cloud failed https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/9?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194131050&Signature=Tkc4TW73A9rc2A+qlSIqSpBhK/Y=
Request map data from cloud failed https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194146701&Signature=4scpTe/WpxxC4ZJ28QmOGHWezcw=

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.dreame_vacuum.dreame.protocol
Source: custom_components/dreame_vacuum/dreame/protocol.py:401
Integration: Dreame Vacuum (documentation, issues)
First occurred: 13:47:24 (5919 occurrences)
Last logged: 22:33:06

Unable to get file at https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/9?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194155999&Signature=hwd4+YC49kHpHamyX6nEt8hpVgc=: HTTPSConnectionPool(host='awsde0.fds.api.xiaomi.com', port=443): Max retries exceeded with url: /dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/9?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194155999&Signature=hwd4+YC49kHpHamyX6nEt8hpVgc= (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efcd9d97fd0>: Failed to establish a new connection: [Errno -3] Try again'))
Unable to get file at https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/9?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194155999&Signature=hwd4+YC49kHpHamyX6nEt8hpVgc=: HTTPSConnectionPool(host='awsde0.fds.api.xiaomi.com', port=443): Max retries exceeded with url: /dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/9?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194155999&Signature=hwd4+YC49kHpHamyX6nEt8hpVgc= (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efcd5713050>: Failed to establish a new connection: [Errno -3] Try again'))
Unable to get file at https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194171541&Signature=d8+Rz7hDOaPph1u18A+jac44NcY=: HTTPSConnectionPool(host='awsde0.fds.api.xiaomi.com', port=443): Max retries exceeded with url: /dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194171541&Signature=d8+Rz7hDOaPph1u18A+jac44NcY= (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efcd5754f10>: Failed to establish a new connection: [Errno -3] Try again'))
Unable to get file at https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194171541&Signature=d8+Rz7hDOaPph1u18A+jac44NcY=: HTTPSConnectionPool(host='awsde0.fds.api.xiaomi.com', port=443): Max retries exceeded with url: /dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194171541&Signature=d8+Rz7hDOaPph1u18A+jac44NcY= (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efcda042a90>: Failed to establish a new connection: [Errno -3] Try again'))
Unable to get file at https://awsde0.fds.api.xiaomi.com/dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194171541&Signature=d8+Rz7hDOaPph1u18A+jac44NcY=: HTTPSConnectionPool(host='awsde0.fds.api.xiaomi.com', port=443): Max retries exceeded with url: /dreame-iot/dreame.vacuum.r2228o/SN038815/661348675/1?GalaxyAccessKeyId=EAKOK5QILPVZ6&Expires=1696194171541&Signature=d8+Rz7hDOaPph1u18A+jac44NcY= (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7efcdbbd9bd0>: Failed to establish a new connection: [Errno -3] Try again'))

Hi, I also have error with map, I have it today. Other buttons works. Vacuum .
Additional Information (please complete the following information)
Model Name dreame x20 pro plus [dreame.vacuum.r2253]:
Firmware Version [4.3.6_1406]:
Home Assistant Version: 2023.9.3
Configuration Type [Dreamehome Account]:
Errors or warnings shown in the HA logs (if applicable):
Logger: custom_components.dreame_vacuum.dreame.map
Source: custom_components/dreame_vacuum/dreame/map.py:5804
Integration: Dreame Vacuum ([documentation](https://github.com/Tasshack/dreame-vacuum), [issues](https://github.com/Tasshack/dreame-vacuum/issues))
First occurred: 23:17:29 (83 occurrences)
Last logged: 23:36:48

Map render Failed: Traceback (most recent call last): File "/config/custom_components/dreame_vacuum/dreame/map.py", line 5618, in render_map carpet = self.render_carpets( ^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 8133, in render_carpets val = str(image[y_index, x_index]) ~~~~~^^^^^^^^^^^^^^^^^^ IndexError: index 442 is out of bounds for axis 0 with size 440

@Tasshack i'm Running HA in docker. Maybe this is the Problem. If I Open up the url in my Browser i can download the file.

I have another integration error -
`Logger: custom_components.dreame_vacuum.dreame.protocol
Source: custom_components/dreame_vacuum/dreame/protocol.py:147
Integration: Dreame Vacuum (documentation, issues)
First occurred: 14:21:22 (1 occurrences)
Last logged: 14:21:22
Additional authentication required. Open following URL using device that has the same public IP, as your Home Assistant instance: https://account.xiaomi.com/identity/authStart?`

Hey,
I am also having problems showing the map (the other functions work properly, like start/stop cleaning).
Here is the log:
`
This error originated from a custom integration.
Logger: custom_components.dreame_vacuum.dreame.map
Source: custom_components/dreame_vacuum/dreame/map.py:3769
Integration: Dreame Vacuum (documentation, issues)
First occurred: September 28, 2023 at 11:45:57 (485 occurrences)
Last logged: 21:08:42
Map render Failed: Traceback (most recent call last): File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3744, in render_map image = self.render_objects( ^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3938, in render_objects self._layers[MapRendererLayer.SEGMENTS][k] = self.render_segment( ^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 4624, in render_segment tw, th = draw.textsize(text, text_font) ^^^^^^^^^^^^^ AttributeError: 'ImageDraw' object has no attribute 'textsize'`

Hey,
I am also having problems showing the map (the other functions work properly, like start/stop cleaning).
Here is the log: ` This error originated from a custom integration.
Logger: custom_components.dreame_vacuum.dreame.map Source: custom_components/dreame_vacuum/dreame/map.py:3769 Integration: Dreame Vacuum (documentation, issues) First occurred: September 28, 2023 at 11:45:57 (485 occurrences) Last logged: 21:08:42
Map render Failed: Traceback (most recent call last): File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3744, in render_map image = self.render_objects( ^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3938, in render_objects self._layers[MapRendererLayer.SEGMENTS][k] = self.render_segment( ^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 4624, in render_segment tw, th = draw.textsize(text, text_font) ^^^^^^^^^^^^^ AttributeError: 'ImageDraw' object has no attribute 'textsize'`

Please ignore this, just updated to v1.0.1 and the map is working again

this can happen if the robot dont recognize the room it starts in for some reason.
try running bot again, or if furniture/layout changes, re-run mapping process in vac app


Test connection api

3 changes here

Fix for immediate connect and disconnect causing crash.
Fix for incorrect ingest stream key format causing crash. Essentially ingest_create on failure was crashing if you provide invalid format stream key .. like "asds".
created a light weight api called ftl_test_stream_key which I use to check if my cached stream key works fine.

@dhkamra-microsoft What's the status of this PR?

This pr can be deleted. I worked with Quinn to resolve the issues fixed on his branch.
From: Simon Schick<EMAIL_ADDRESS>Sent: Thursday, September 28, 2017 8:39 AM
To: mixer/ftl-sdk<EMAIL_ADDRESS>Cc: Dharmanshu Kamra<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [mixer/ftl-sdk] Test connection api (#57)
@dhkamra-microsofthttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdhkamra-microsoft&data=02|01|dhkamra%40microsoft.com|f9b3ca2add7e4ab6fcd608d506870ee4|72f988bf86f141af91ab2d7cd011db47|1|0|636422099498775875&sdata=G%2Brx6CObp5qvOIj1z8HYz6Wh%2FYYETfck2Df%2BvaOMpOA%3D&reserved=0 What's the status of this PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmixer%2Fftl-sdk%2Fpull%2F57%23issuecomment-332876478&data=02|01|dhkamra%40microsoft.com|f9b3ca2add7e4ab6fcd608d506870ee4|72f988bf86f141af91ab2d7cd011db47|1|0|636422099498775875&sdata=nYouyOTw2YliWd47h5BuBpZP%2FniAk84NoTHGVbGAqzQ%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVBFMjwsasW5WDwwihHjCBXli-W1teQmks5sm72ZgaJpZM4MwOLH&data=02|01|dhkamra%40microsoft.com|f9b3ca2add7e4ab6fcd608d506870ee4|72f988bf86f141af91ab2d7cd011db47|1|0|636422099498775875&sdata=qhIxv2meTkrF2N3inho5pvJpj%2BAs6tTcNQw%2BhXusyqI%3D&reserved=0.


limit of added plugins to placeholder or to other pluigns (as child)

This enhancement likes admin limit in inline objects using InlineModelAdmin.max_num.
It may be useful for example: I created my own cms-plugin "Popup window", which should consists of only one plugin "Wrapped plugin" and one or more "Content of popup window".

Hello @vivazzi,
Thank you very much for your contribution to the django CMS project. The django CMS project has recently joined forces under the banner of the newly founded django CMS Association to revive the development of django CMS. For this reason we have analyzed all pull requests and issues in detail and decided which ones fit the product vision we want to go with django CMS.
Due to the age of this issue we are unable to safely accept the contribution. If you feel this issue is still required please inform a member of our technical committee<EMAIL_ADDRESS>Nevertheless we thank you for your participation and would like to emphasize that we do not want to discourage you in your contribution to the django CMS project. On the contrary, we encourage everyone who is interested in the success of django CMS to join us!
If you want to learn more about the work of the technical committee, our product vision and how you can become a member of the dCA, you can find all information here:

The Technical Committee of the django CMS Association
Technical Roadmap and Product Vision for django CMS
How to become a member of the django CMS Association

We are looking forward to every companion who would like to shape the future of django CMS together with us!
If you have any questions, feel free to reach out to Nicolai, our Community Manager<EMAIL_ADDRESS>Sign up for the Association now!


[Device Support Request] ERS-10TZBVK-AA TUYA KNOB

it's a new TuYa Smart knob -  ERS-10TZBVK-AA - like https://expo.tuya.com/product/935005
there is a support with zigbee2mqtt - https://github.com/Koenkk/zigbee2mqtt/discussions/10473

Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0820",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x1000"
      ],
      "out_clusters": [
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x000a",
        "0x0019",
        "0x1000"
      ]
    }
  },
  "manufacturer": "_TZ3000_4fjiwweb",
  "model": "TS004F",
  "class": "zhaquirks.tuya.ts004f.TuyaSmartRemote004F"
}

Its already supported in ZHA then it have the quirk loaded.
Is the device working as is suld or s it not working ?
By the way looks like one copy of IKEA Symphonisk :-)

thanks for fast response...
it's pairing without any problem to home-assistant but there is no zha_event in events.
maybe, problem is model no because of model no, it is TS004F but it's different 4 button switch.

Ops i have implanting the mode switch in tuya INIT but i have not putting the TuyaZBOnOffAttributeCluster in the ts004f quirk so you can't changing mode of it.
It shall having one light command mode Click mode but it can being that the default mode is clock mode that we have not getting working on the 4 button remote.
Can you putting little more debug in ZHA and looking what is sending to the system ??

Updated old quirk (from oktober) with added attribute for switch mode switch_mode (id: 0x8004) on on/off cluster.
Configure local quirks in HA and putting the unzipped quirk in the folder and restart HA.
ts004f.zip
Attribute and functions:
https://github.com/zigpy/zha-device-handlers/blob/b0bbbfb6b1f267b7d87d833b1ba5a5b0b127a9a1/zhaquirks/tuya/__init__.py#L835-L839
Dont forgetting waking the remote then sending attribute to it.

thanks, i tried this one. but device is different than 4 button switch
it's rotate remote control
debug
button press:
`2022-01-08 23:25:42 DEBUG (MainThread) [zigpy.zcl] [0xd6f1:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=70 command_id=Command.Report_Attributes>
2022-01-08 23:25:42 DEBUG (MainThread) [zigpy.zcl] [0xd6f1:1:0x0b04] ZCL request 0x000a: [[Attribute(attrid=1291, value=)]]
2022-01-08 23:25:42 DEBUG (MainThread) [zigpy.zcl] [0xd6f1:1:0x0b04] Attribute report received: active_power=0
2022-01-08 23:25:44 DEBUG (MainThread) [zigpy.zcl] [0xd6f1:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control= manufacturer=None tsn=85 command_id=Command.Read_Attributes_rsp>
`

If looking at Z2M is shall sending toggle and move up and down:
https://github.com/Koenkk/zigbee-herdsman-converters/blob/629bbb0e1714e4ac83dabd27dc3b603bbbf7505b/devices/tuya.js#L1825-L1833
I think its also sending move_hue but they is not using it and i think (=not knowing) its then pressing the knob and rotating or double and triple poressing.
The step and move up and down is having automations in the quirk but toggle need being added for getting the automation triggers in ZHA.
Logs with all possible and impossible commands sent is more than welcome.
Its looks Z2M is not using events mode (aka scene mode / sending clicks and not light commands).
Sorry but your log is sending from one ElectricalMeasurement cluster (0x000a) so it must being one other device.
Can you verifying the 0xd6f1 is the remote and not one power plug ?
If not getting longs from the device deleting it wait one minute and paring it again.

It can pairing lights and steering them with ZLL like the 4 button remote can without ZBGW https://expo.tuya.com/product/935005.
You also have all combinations in the picture for pressing and rotating.
Do you getting some manual with the device how to paring it with ZLL to lights and more interesting things and explanting the functions of it ?
I was tuch liking one LIDL LED strips by mistake then testing my 4 button version by pressing one button long.

If looking at Z2M is shall sending toggle and move up and down: https://github.com/Koenkk/zigbee-herdsman-converters/blob/629bbb0e1714e4ac83dabd27dc3b603bbbf7505b/devices/tuya.js#L1825-L1833 I think its also sending move_hue but they is not using it and i think (=not knowing) its then pressing the knob and rotating or double and triple poressing.
The step and move up and down is having automations in the quirk but toggle need being added for getting the automation triggers in ZHA.
Logs with all possible and impossible commands sent is more than welcome.
Its looks Z2M is not using events mode (aka scene mode / sending clicks and not light commands).
Sorry but your log is sending from one ElectricalMeasurement cluster (0x000a) so it must being one other device.
Can you verifying the 0xd6f1 is the remote and not one power plug ?
If not getting longs from the device deleting it wait one minute and paring it again.

yes you are right it's not my device ... i'll try again. device number [0xada3]

Good !!
Some users was having problem getting the device sending commands to the system in the original TS004f testing and both devices (or more correct more devices then tuya have small remotes with 1 - 6 buttons with the same type) is having the same Zigbee module and the ground of functionality only that the new have one rotary encoder instead of buttons.
If not working deleting and adding the device try deleting it wait one minute and restarting HA and let it sattel and adding the remote and look if you is getting commands in the log   and / or zha_event.
I have playing with the original and some times zha is not loading the quirk then adding it then restart HA and its working.
PS: You dont need the updated quirk for getting all commands from the device then first need getting it sending "normal" commands and then testing if it can sending clock actions but its coms later.

i tried a lot to debug mode...
i deleted zigbee.db file in HA and setup from beginning.... there are debug code... i am not expert and i do my best.... i hope it works
TSN is probably counter...
SINGLE PRESS
2022-01-09 22:27:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=26 command_id=253>
2022-01-09 22:27:01 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 253
2022-01-09 22:27:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fd: b'\x00'
2022-01-09 22:27:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 253
2022-01-09 22:27:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=26 command_id=253>
2022-01-09 22:27:01 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 253
2022-01-09 22:27:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fd: b'\x00'
2022-01-09 22:27:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 253
2022-01-09 22:27:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=26 command_id=253>
2022-01-09 22:27:02 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 253
2022-01-09 22:27:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fd: b'\x00'
2022-01-09 22:27:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 253
2022-01-09 22:27:03 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=27 command_id=252>
2022-01-09 22:27:03 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:27:03 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:27:03 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252

DOUBLE PRESS
2022-01-09 22:28:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=32 command_id=252>
2022-01-09 22:28:01 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:28:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x01'
2022-01-09 22:28:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:28:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=32 command_id=252>
2022-01-09 22:28:02 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:28:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x01'
2022-01-09 22:28:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:28:03 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=33 command_id=253>
2022-01-09 22:28:03 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 253
2022-01-09 22:28:03 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fd: b'\x00'
2022-01-09 22:28:03 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 253
2022-01-09 22:28:05 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=34 command_id=253>
2022-01-09 22:28:05 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 253
2022-01-09 22:28:05 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fd: b'\x00'
2022-01-09 22:28:05 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 253

HOLD - LONG PRESS
2022-01-09 22:21:45 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=7 command_id=252>
2022-01-09 22:21:45 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:21:45 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:21:45 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:21:46 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=7 command_id=252>
2022-01-09 22:21:46 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:21:46 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:21:46 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252

TURN CLOCKWISE
2022-01-09 22:02:13 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=101 command_id=252>
2022-01-09 22:02:13 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:02:13 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:02:13 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:02:14 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=101 command_id=252>
2022-01-09 22:02:14 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:02:14 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:02:14 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252

TSN is increasing every time
TURN COUNTER CLOCKWISE
2022-01-09 22:03:53 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=108 command_id=252>
2022-01-09 22:03:53 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:03:53 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x01'
2022-01-09 22:03:53 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:03:54 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=108 command_id=252>
2022-01-09 22:03:54 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:03:54 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x01'
2022-01-09 22:03:54 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252

PRESS and TURN CLOCKWISE
2022-01-09 22:05:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=111 command_id=252>
2022-01-09 22:05:01 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:05:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:05:01 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:05:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=111 command_id=252>
2022-01-09 22:05:02 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:05:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x00'
2022-01-09 22:05:02 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252

PRESS and TURN COUNTER CLOCWISE
2022-01-09 22:08:30 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=113 command_id=252>
2022-01-09 22:08:30 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:08:30 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x01'
2022-01-09 22:08:30 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252
2022-01-09 22:08:30 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=113 command_id=252>
2022-01-09 22:08:30 WARNING (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] Unknown cluster-specific command 252
2022-01-09 22:08:30 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] ZCL request 0x00fc: b'\x01'
2022-01-09 22:08:30 DEBUG (MainThread) [zigpy.zcl] [0x5fb0:1:0x0006] No handler for cluster command 252

Great debug logging !!
If command is Zigbee standard the stack is sending one default response and the device is only sending one command but its not recognized so the device is repeating the same command with the same TSN (Transaction number) = normal until the system is knowing the command (the quirk) and doing it right.
The strange thing is the device 0x5fb0 is sending on endpoint 1  and cluster 0x0006 (OnOff cluster) only 2 command 252 and 253 with x00 (0) or 0x1 (1).
First i was expecting it sending command 0 1 and 2 (on/Off and toggle) on cluster 0x0006 and also sending command on light level cluster 0x0008 and perhaps scene cluster 0x0005.
I think it can being in some other mode but i dont knowing how its shall working but Z2M is only getting light commands.
Can you deleting the device and resetting it and taking out the battery for some minutes and putting it back and paring it again and look wath is sending in the log.
Do you have some manuale or description with the device ? I can only imagine how it shall working from the Z2M code and the tuya homepage.

I have patching the "normal" quirk so its using the same commands as the TS0044 and for command 253 is sending default response and logging the press types.
It need doing the same for command 252 but i cant doit so fast and need testing if its working.
My ts004f is "detecting" shor, double and long press with this quirk.
2022-01-09 22:11:16 DEBUG (MainThread) [zigpy.zcl] [0x6443:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=118 command_id=253>
2022-01-09 22:11:16 DEBUG (MainThread) [zigpy.zcl] [0x6443:1:0x0006] ZCL request 0x00fd: [2]
2022-01-09 22:11:16 DEBUG (MainThread) [zigpy.zcl] [0x6443:1:0x0006] TS004X: send default response

If you is having the firs  quirk installed delete it and putting this in your custom quirk folder and restart HA and look what you is getting in the log

zha_event:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "60:a4:23:ff:fe:fd:dc:14",
        "unique_id": "60:a4:23:ff:fe:fd:dc:14:1:0x0006",
        "device_id": "fd5671bb8e2a9f4f6fc35fdaaf2c7a0a",
        "endpoint_id": 1,
        "cluster_id": 6,
        "command": "press_type",
        "args": [
            1
        ]
    },
    "origin": "LOCAL",
    "time_fired": "2022-01-09T21:11:29.487480+00:00",
    "context": {
        "id": "ee6ae47761346f959d864ebdfd1cc905",
        "parent_id": null,
        "user_id": null
    }
}
Event 21 fired 22:11:
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "60:a4:23:ff:fe:fd:dc:14",
        "unique_id": "60:a4:23:ff:fe:fd:dc:14:1:0x0006",
        "device_id": "fd5671bb8e2a9f4f6fc35fdaaf2c7a0a",
        "endpoint_id": 1,
        "cluster_id": 6,
        "command": "remote_button_double_press",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2022-01-09T21:11:29.487349+00:00",
    "context": {
        "id": "d23ac7714fab66031ac3c50c73875a38",
        "parent_id": null,
        "user_id": null
    }
}

quick question: did you update ts004f file. do i have to use quirk file or not ?

For light remote mode no quirk is needed or the first one i was sending.
For scene mode shall the last sendt quirk its partly working (then the remote is sending the strange commands).

Z2M have implantation the "scene mode" that is also possible making in ZHA and using it but the problem is how combinating it with the normal function light function nad getting both working without changing the quirk.
https://github.com/Koenkk/zigbee-herdsman-converters/pull/3660/files
With good logs i think it possible implanting both working mode.

I have adding the second cmmandset (0xFC = 252) and is getting the rotate right and left in event mode with my TS004F if faking the commend number = very good.
First the remote have 2 working modes:
Commands / remote = sending commands to (groups of) lights.
Events / scene mode = sending click and rotate.
Changing mode with pressing the button 3 times.
(my TS004F its long pressing right upper and lower button)
In command mode this is expected:
Single press: Toggle *
Double press:  (?) (not documented but likely implanted)
Rotate R/L: Step level up/down *
Press and rotate R/L: Step CT up/down *
Long press: Set color (not knowing the commands) *
Long press release: (?) (not documented but likely implanted)

and in event mode:
Single press: OK
Double press: OK
Long press: OK
Long press release: (?) (not documented but likely implanted)
Rotate right: OK (simulated) *
Rotate left: OK (simulated) *
Press rotate right: (can being click + rotate) *
Press rotate left: (can being click + rotate) *

I need debug logs and zha_evet from all commands so i can implanting the device automations for the device.

@MattWestb I might be able to help as well. I suppose you mean the same commands as @tayfunulu posted, but with debug logs added?
And how should i configure debug logging (which zha/zigpy and what logging level do you need)

We is trying getting the command mode working and getting the device automations corect in the linked issues before your post.
Then is made we shall trying the same with events / scene mode but its coming after the first step.

OK great so let me know if you need anything tested!

Joined in the waiting list...

Hi, me too now a part of this thread; I bought two Smart Knobs and the pairing has been successfully done with a Xiaomi Gateway unlocked under ZHA integration, but there are no events on debug log...

Nearly all in for the knob !!
https://github.com/zigpy/zha-device-handlers/issues/1322#issuecomment-1059771390

PR is made for adding all working  futures we have found and one broken that we cant fixing https://github.com/zigpy/zha-device-handlers/pull/1437.

Are we supposed to be able to bind this device's events to a Zigbee light group? This is my first time trying to bind a switch to a Zigbee group with ZHA, and cannot seem to get it to work.


Allow generic option collection in templating parameters

This is a transitional PR which allows extra attributes of parameters from config.yml to get saved as 'options' to the parameter we interact with when generating code via ERB.
Why? In my current branch I have marked syntactical tokens that execution is uninterested in serializing (and then loading into an AST) as 'exclude: execute'.  My templates for serialize.c, Nodes.java, and Loader.java then will skip those elements altogether. I can think of other useful attributes we can put in to help with generation.

I have signed CLA after I saw that fail.

I removed #param from all the param types because nothing seems to call it.

I removed #param from all the param types because nothing seems to call it.

This sounds good to me. Could you also include the changes to the templates in this PR? I think that makes it easier to review and see how it's used.

@eregon What I have on my playground branch is quite a bit different but I will add this to 'java' templates (since i think we both want this in some form) so you can see how it is used.

@eregon I will add another PR for the exclude stuff to java templates so you can see this and hopefully also want the same set of excludes.


Fixing test failures due to identity-agent-sso version upgrade

This should be merged after openid is deprecated from product.

Hi @NipuniBhagya , @emswbandara , @nilasini,
Can we merge this now? If not please get the required changes done as soon as possible.


prompt shows only once if .setAlwaysShow(true)

tested on 1.2.0
if screen orients, prompt shows up again.

tested with 1.2.0

Thanks for the report! I'm a little confused about the expected/desired behavior vs the actual behavior here. Could you please elaborate with more details and steps to reproduce?

Here is my setup:
in my main Application.java
Amplify.initSharedInstance(this)
                 .setFeedbackEmailAddress("XXX")
                 .setAlwaysShow(true)

Then in one of my activities, prompt is triggered by:
Amplify.getSharedInstance().promptIfReady(mPromptView);
the prompt shows up the first time promptIfReady is called, but does not show the second time it is called. On the second time, however, when the screen orientation changes, the prompt suddenly shows up.
Is setAlwaysShow(true) supposed to show the prompt each time promptIfReady is called? This used to be the behaviour in 1.0.0.
I am testing 1.2.0 with a custom prompt view on Nexus 4, Android 4.4.

Can you please show the code where Amplify.getSharedInstance().promptIfReady(mPromptView); is called? Also, are you using a CustomLayoutPromptView instance or your own implementation of IPromptView?

in my activity's onCreate I have this:
mPromptView = (CustomLayoutPromptView) findViewById(R.id.feedback_prompt_view);
        mPromptView.addPromptEventListener(new IEventListener() {
            @Override
            public void notifyEventTriggered(@NonNull final IEvent event) {
                if (event == PromptViewEvent.PROMPT_SHOWN) {
                    Analytics.send(Analytics.APP, "Feedback", "Show");
                } else if (event == PromptViewEvent.PROMPT_DISMISSED) {
                    Analytics.send(Analytics.APP, "Feedback", "Dismiss");
                }
            }
        });

and in the same activity's onActivityResult, I have
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
...
    Amplify.getSharedInstance().promptIfReady(mPromptView);
...
}

so the prompt is triggered when another activity gets dismissed and returned to this activity.
I am using CustomLayoutPromptView, as you can see from the code.

Hmm, interesting. I have a couple ideas as to what this might be caused by. Please confirm I'm understanding the flow of events correctly:

First Activity is on-screen.
First Activity launches a second Activity for a result.
Second Activity finishes and returns a result to the first Activity.
Expected: prompt shows. Actual: prompt shows.
User does not interact with prompt at all.
First Activity launches a second Activity for a result.
Second Activity finishes and returns a result to the first Activity.
Expected: prompt shows. Actual: prompt does not show.
User rotates device.
Prompt suddenly shows.

If you turn on debug logging (by calling .setLogLevel(Logger.LogLevel.DEBUG) in your custom Application class), does the output suggest that the prompt is being blocked due to a tracked event?

"User does not interact with prompt at all" should be "User dismisses the
prompt" in the flow
all other events are correct.
I set Logger.LogLevel.DEBUG, but did not see any log.
On Sat, Apr 2, 2016 at 5:24 PM, Stuart Kent<EMAIL_ADDRESS>wrote:

Hmm, interesting. I have a couple ideas as to what this might be caused
by. Please confirm I'm understanding the flow of events correctly:

First Activity is on-screen.
First Activity launches a second Activity for a result.
Second Activity finishes and returns a result to the first Activity.
Expected: prompt shows. Actual: prompt shows.
User does not interact with prompt at all.
First Activity launches a second Activity for a result.
Second Activity finishes and returns a result to the first Activity.
Expected: prompt shows. Actual: prompt does not show.
User rotates device.
Prompt suddenly shows.

If you turn on debug logging (by calling
.setLogLevel(Logger.LogLevel.DEBUG) in your custom Application class),
does the output suggest that the prompt is being blocked due to a tracked
event?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/stkent/amplify/issues/139#issuecomment-204806699

Ah, ok, then I'm pretty sure this line is the issue. As a temporary fix, try updating your onActivityResult as follows:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
...
    Amplify.getSharedInstance().promptIfReady(mPromptView);
    mPromptView.setVisibility(View.VISIBLE);
...
}

If that works then I will add a fix in release 1.4.0 of the library, which should be completed this coming week.

@jiawenzhang please try v1.3.0 of the library and see if that resolves your issue. Thanks!


Display Coverage Percent along with Check

Is your feature request related to a problem? Please describe.
There is no way to know just coverage percentage in the pull request page. One has to go inside the job to find out coverage.
Describe the solution you'd like
If the check contains coverage percent, it would be super useful.
The attached screenshot contains a Junit Report summary.   Something similar containing coverage percentage would be super useful.

@SatheeshJM  Hi Satheesh, Thanks for your input. I will check if i can add it quickly today !

Is your feature request related to a problem? Please describe. There is no way to know just coverage percentage in the pull request page. One has to go inside the job to find out coverage.
Describe the solution you'd like If the check contains coverage percent, it would be super useful. The attached screenshot contains a Junit Report summary. Something similar containing coverage percentage would be super useful.

Could you please send me link to the Junit Repot Action you are referrring to so i can understand better !

@PavanMudigondaTR
Thank you for the quick response!
This is the Github Action I'm using - https://github.com/mikepenz/action-junit-report
This is my current setup

I was digging a bit into their code base, I believe the update happens at
https://github.com/mikepenz/action-junit-report/blob/ab07dd7abefd456d92ecbeb22f81392fafe3d528/src/annotator.ts#L65

@SatheeshJM  I am working on implementing this ! I will let you know once done. sorry for the delay to get to this !

@PavanMudigondaTR no issues!
I came up with a hacky working solution for our use..
here is the link if it helps - https://github.com/SatheeshJM/jacoco-reporter/releases/tag/v4.6_jm_patch_4
(diff can be found here - https://github.com/SatheeshJM/jacoco-reporter/compare/7194fecaeda54ed9f8b08a4efbbfbf4c1b5bb027..v4.6_jm_patch_4 )

@SatheeshJM  Please let me know if, if this is sufficient enough ?

This seems pretty good! Thank you @PavanMudigondaTR

@SatheeshJM
I have implemented this in v4.8. Please try.


unstable_enableVersionedWrite info?

Hi there!
great work!
I'm curious, where I can find more code about unstable_enableVersionedWrite ?
I founded this:
if (unstable_enableVersionedWrite) {
  scopeContainerRef.current.w = (write) => {
    setVersion((parentVersion) => {
      const nextVersion = parentVersion ? { p: parentVersion } : {};
      write(nextVersion);
      return nextVersion;
    });
  };
}

https://github.com/pmndrs/jotai/pull/854
Note that this is highly experimental.
Closing, but feel free to comment here.


Add extra note for non vscode users

The VSCode extension appears to run the right combination of commands itself to make this work, however if you don't use VSCode you have to run them manually.
From experimentation, in VSCode you have to add the parent directory which contains all your modules, however this doesn't appear to create another lake command so I didn't put that in the documentation

What editor are you using? You should never have to run lake serve yourself.

I'm using Emacs which also presumably does the right things via lean4-mode
It was more of a note for debugging, because I just wasted an hour because I didn't have all the right combination of servers running.
Does that mean it ought to go to a different place in the docs?

If it's a problem with lean4-mode, we should put/fix it there. On this page it's not clear what the average reader should do with that information.

Maybe make clear that it's only there for debugging purposes, e.g.
"If you're still having issues confirm that you have a lake command in each of the root dirs"?
Or just paste a link to wherever this is actually documented and Reject the PR!

I still don't know a better place for this (we don't have a page for "editor extension authors or users willing to fix faulty extensions"), but it should not concern pure users either, so I'll close this for now.


[CHALLENGE SUBMISSION] Day 10

Please provide the following information for your submission:
What is your name? (First, Last)
Daniel Paulus
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/dpnl87/25daysofserverless2019/tree/master/src/day-10
What Challenge is this for? (Challenge number between 1 and 25)
10
(Optional) Anything else we should know? e.g., language used, location, blog post?
Build with Nodejs.
A TimeTrigger to fetch tweets with the twitter API and store them in TableStorage. Show the content with a HttpTrigger and a bunch of HTML.

From all of us on the Cloud Advocacy team at Microsoft, thank you for creating this issue!
Have a Happy Holiday season!
Feel free to share your solution on Twitter with the tag #25DaysOfServerless

@dpnl87 Thanks for your #25DaysOfServerless submission!
We checked out your repository. We're thrilled to say your solution is now listed in our Hall of Fame
Thank you for your contributions!
This issue is now resolved! 🎉


Update year display on index

Currently:
(1) The year displayed on index.html is part of the Organization in the model. It shows a range of years in which the organization was active. This is unintuitive since the year is displayed as part of the task.
(2) The date is stored as a string, sometimes as range (2017-2020) and sometimes as single year. This can't be sorted. I don't really see a reason to sort by 'earliest activity' and 'active in year' is a more complicated feature which i don't think we need yet.
Relevant dates are: Dates the task was run with hard deadlines (for live tasks) or dates on which a dataset was added. I favor to only display the last date, so I suggest the following changes:
Expected:
The table on index.html only displays the month and year of the newest dataset of the task. It makes sense to add a 'Date' field to the Dataset table in the database (needs not to be stored in the prototext files, since the creation date is encoded in the dataset_id).

Done: changed the order: year(s) appears now as the column after task and before organization.
Minor change to "Expected":

Did only change "year" to "year(s)" instead of "from" and "to" column names, because we want to assure that a task can be discontinued for one year and then run in the next again (e.g. 2019-2021,2023). the from-to scheme would not represent this as well as "years"

Before (real tira):

After (toy model tira):

OK, I did a poor job explaining what the issue is. I've updated the issue for clarity.
On a side note, it would be nice if you could make a new branch for this enhancement and then open a pull request. I try to do this for all enhancements/new features. I try to only push bug fixes directly to master.

i see. thanks for the clarity update on the description.
i have now (in a new local branch) changed the model.py file and added a date to the dataset table in the database like so:
date = models.CharField(max_length=30, default='2022')
added it to the context of the index in the views.py like so:
context["datasets"] = model.get_datasets()
now i have two questions:
1)how do i call a specific dataset for a specific task to access its date variable in the index html, so sth like:
{{ datasets[task_id].date }}
(i know this would not work or do i have direct access like this?)
2)how do i fill the date variable in the database?

You could try to follow the other fields from the model to the website. I think the 'default_upload_name' field works quite similarly.

merged into dev


Graphcache performance issues with big lists

Hello,
We seem to have been hitting a wall on some use cases in our mobile app. Graphcache seems to struggle quite a lot on mid-tier devices with lists above 300-500 items. The UI is getting completely blocked by the simplest mutation on a single item.
urql version & exchanges:
urql : 2.0.4
urql/exchange-graphcache: 4.3.3
Steps to reproduce
I set up a sandbox which shows how the cache is getting slower to update over time when we are adding more items to the list. After loading all the 10000 items, a mutation on a single item can take up to several seconds: try increasing the quantity of an item through the form input. The list is only displaying 2 items, so we can clearly see this is not a React rendering issue.
I used a faster implementation of the simplePagination to handle pagination, but even without any kind of pagination, the issue is still there.
Chrome seems to be better at handling this. Firefox not so much. The real issue arises on a mobile environment with limited resources. A list with only 500 items is a complete hassle to fetch & update on React Native, even on newer devices. To emulate this, you should run the sandbox on Google Chrome with a 4x CPU throttle.
sandbox link
Expected behavior
The performance of updating a single item in a list should not depend on the size of the list. I would expect a list of any size to update at the same rate. The normalized cache should enable this type of performance.
Blocking the JS thread for more than a hundred ms is too much if we want to build responsive & fast apps, expensive background processes should pass priority, through setImmediate, to avoid making the app unresponsive.
Actual behavior
A simple mutation on a single item is blocking the whole JS thread, making the app unresponsive for a couple seconds.
Thanks for your hard work, besides this issue, the rest of the framework is a pleasure to use ! Hope we can fix this fast :).
I started to profile where the bottlenecks are located,  will keep this post updated.

Ok, I haven't yet looked at the entire thing, but this overall looks extremely odd given that there's no optimistic layers, no special tasks, and a couple of queries, however, it'll take me a bit to untangle this and extract the relevant parts. Can you hint at what is taking longer than expected though? For reference, we have benchmarks executing similar conditions in the 10,000 range, i.e. where we actually are writing/querying 10,000 items at once (without taking shortcuts), so this seems odd
Can you leave some more notes here please on the performance characteristics you're seeing in different environments? That'd scope this down for us, since you already hace the numbers.

The performance of updating a single item in a list should not depend on the size of the list.

That's very true, however, each time a single item updates in a list, the list needs to be requeried. This shouldn't take longer however than a fraction of a second however even for huge lists, i.e. 10,000 items, so if your query doesn't actually include that many items, it'll be extremely fast — in fact, in Graphcache that's an order of magnitude faster than [insert other caching client here] 😆

Blocking the JS thread for more than a hundred ms is too much if we want to build responsive & fast apps, expensive background processes should pass priority, through setImmediate, to avoid making the app unresponsive.

It's unfortunately simply not that simple 😅 And the React team, for instance, is a team that knows this well. Any given task shouldn't take long (which is why we optimise our tasks to be as fast as they can be), however, data tasks are special. They cannot be broken up (each query needs to be executed as is, consistently) and dependent data cannot be separated (if data changes, we don't want to "fracture" or "tear" the UI by showing different data in different places).
As a data library, (especially one that caters for different cases that aren't just React) we also cannot defer many tasks. When you execute a cached query, you'll need the result immediately. When a mutation resolves, you'll need to store it immediately. Given the other preconditions there isn't a simple defer that can be thrown in. For comparison though, our storage and GC logic is deferred however. (although not chunked, since it's mostly an even smaller task than querying/writing)
I'll simply have to see what's going on here, and once we untangle that we can hopefully find out why the time here is clearly slowing with more items, although we aren't asking for a huge list (if that's actually the case 😆 )

Ok, very quick update, that was actually a quick one; I'm seeing that the sandbox renders:

todos total = 10000

And that corresponds to the amount of items that we're querying. 10,000 items are going to take some time, and mutations that edit one (or add one) will lead to the entire query having to rerun. That's simply because you can't artifically skip over the querying process — even if we did, that wouldn't exactly be possible once a resolver is in play, because any part of the query may change 😅 For a thought experiment, if we kept around a mapping of where certain entities are in each query, we'd build up a tremendously big map of "jump points" into the data and into the GraphQL document, which is a huge amount of complexity for something that may not speed up exponentially.
In short though; what we should see is sub-100ms runs in optimal conditions for 10,000 items, if I'm remembering correctly. That's a huge amount of data and it does need to be updated at some point 😆 There's not much to "fix" here in that regards because of the fact that it's such a large amount. It's possible we could skip over some updates in the future, but it'd scale this time down by a smaller factor than an order of magnitude;
meaning, if you'd then query 100,000 items then it'd be slow again. Now, we may say "100,000? That's ridiculous" 😛 , however, that's already the case at 10,000. What can be done however is that you could use a different method of pagination, which is the one we'd usually recommend in more mature apps.
The method we'd lean to at such a high amount of items is separating pages of queries (rather than using a resolver) into separate queries altogether. https://github.com/FormidableLabs/urql/blob/3e8929ad56d2f162091c87aa5611818417dbd8fd/examples/with-pagination/src/PaginatedNpmSearch.jsx#L22-L27
This changes a lot of things, because we aren't artifically "forcing" Graphcache to combine all pages into a single huge query.

I see ! Thanks once again for the fast response, you should definitely add this use case in the documentation.
The graphcache can indeed handle a lot of simultaneous smaller queries, but struggles with those single, fat ones.
Happy to see the issue was more on how we used the tool :).
This issue should be resolved

Alright, we'll still come back to revisit this, but what we're thinking is, if you have a given query that's "huge" (like, basically, 100–1000x the cost of a regular one) and that one has a previous response, then we could skip some work given that only small parts of it may update. However, the problems with that are two-fold:

We'd still have to run it at some point (and if the result is huge its first run must take long)
We may run into cases where many updates still slow it down
To skip over re-querying the entire huge query, we'd have to keep a complex data structure around that nestedly tracks data dependencies (we aren't 100% sure if that's even easily possible given N-M relations via resolvers and such)

So, while there are some optimisations in theory, we'd consider this risky in terms of what it may do to the codebase's complexity and hence bundlesize. We'll have to investigate whether there are some easier wins first, now that we do track the previously queried data 🙌

@Jylth I haven't experimented with this in a while, or with react-virtual etc which are newer approaches to virtualisation, but in theory any approach that supports dynamically sized items shouldn't only be able to deal with individual items but could also be reutilised to just deal with batches on their own. This is similar to how a lot of virtualisation libraries already work. A lot of them will define an amount of items that render together, which means that you can virtualise entire batches as a whole, which can then correspond to your pages.

You're completely right ! We tried to fit this new way of using the data to our existing lists without taking the time to take a step back ^^. Thanks again for the quick & very effective response !


feat: Lemmas relating Polynomial.eraseLead and nextCoeff.

Some little theorems relating eraseLead and nextCoeff to each other. Also includes monomial_sub and card_support_mul which could be of independent interest.

Part of #9052.

Note that you will need to fix test.RewriteSearch.Polynomial. What happened is that you changed what lemmas rw? finds and the tests expect a specific output. Shouldn't be too hard, although maybe @semorrison will want to be notified of the change.

Thanks for the heads up, but hopefully this can be fixed without my further attention. :-)

I've pushed a golf. Are you happy with it?

I mean I trust you! This golf looks like it changed many things, so I'm surprised... like, how did Nilpotent get mixed up in this? What's all this about Monoid/WithTop in there, is that something about how polynomial degrees are monoids with a bottom element...?
Anyway, I can't say I really follow, but I trust your judgement on the edits!

I added a few missing WithBot lemmas for simp to handle degree better, and that incidentally golfed proofs in other files. The WithBot lemmas are now in a separate PR.

If you are happy with it...
maintainer merge

Thanks!
bors merge


Add webknossos_annotation.py

Hi @kabilar, thanks for the comment. I'll modify the script first based on comments of Yael and then we can start integrating tests, you help is appreciated!

@kabilar @jingjingwu1225 We're about to merge the refactored package in main. It would be great to integrate the script and tests into this refactored package. @calvinchai can provide guidance.


error: Failed to translate a method call.: InvalidArg(..) [Microsoft.FSharp.Core.Operators]

It seems invalidArg is not supported.
I can work around it, but would be nice to have this basic F# feature supported. Or is there a reason not to?
(same for invalidOp)

I am coming across more method calls that WebSharper fails to translate. Is there any documentation that tells me what is allowed and what not?

No documentation as of yet, but we are planning to add an "API lookup" facility on the WebSharper developer site where you type a FQN to see if it can be used in client-side code. Would this be useful in your case? We might even make this a CLI tool as well for offline use.
As for those failing methods, please add them on this ticket and we will include them in the next release.

Having a tool we could point at a given .net project and getting a list of what's supported or not would be really helpful. We have some more potential tools that we might want to use with WebSharper with but we don't have an estimate of how possible it is. If it's just a few methods we could potentially add them ourselves and submit a pull request but we'd rather not get halfway and find out there's lots missing!

You can always try a simple trick and add [<JavaScript>] to all of your modules, and compile the code inside a WebSharper project.  This will yield warnings/errors for any method that is not yet supported for client-side use.

Yep, I've thought about that. However, with multiple projects and tens of files in each it's a fair amount of mechanical effort. There's also the issue of duplicate errors. I'm guessing going between projects wouldn't work - if project A fails then project B depending on A will have missing methods? All this could be post-processed out but a tool to assess this would be great.

@granicz : That's exactly what I am doing now.
But coming back to my original question: Are there any plans to add the missing methods?
I can easily work around invalidArg (as failwith is supported). But others (such as GetLength() of multi-dimensional arrays; or GetEnumerator() of IEnumerable) are difficult to replace.

Here are some methods that I can work around, but would be nice to have:
Operators.invalidArg
Operators.invalidOp
Array.GetLength
File.ReadAllLines
File.WriteAllLines
And here are two remaining issues that would need more re-writing in my code. But perhaps are also difficult to translate.
Extending a type to IEnumerable by supplying IEnumerable.GetEnumerator (=> Error "failed to translate a method call")
Instantiating TimeSpan (=> Websharper complains about static field Zero, which I don't use)

That's exactly what I ran into myself, some methods just don't work on client side.
The one I'm looking into right now is DateTime.ParseExact.

@Jand42 Thanks for implementing this so promptly!

@Martin521 sorry, these are still not back-ported to WS3, I added a label to indicate ticket does not refer to current master which is WS4 beta.

I am using now WS4 beta, so no problem for me :-)

@Martin521 @cgravill @semuserable Re: the API browser/lookup facility I mentioned, here is the current state we have under development:

It contains a searchable tree of types defined in core .NET and F# libraries, and indicates which types contain proxies. The documentation page for any given type then lists all constructors, members, and properties with an indication whether they can be used in client-side code.
Can you think of ways to extend this functionality?  We already found it suitable to locate gaps in proxy coverage.

Yes, this will be a valuable (today really missing) part of the documentation.
I have been able to work around the few missing functions that I encountered, but in the beginning I was completely in the dark if I had make a mistake or if the function was missing.
I am looking forward to having this on websharper.com.
No immediate wishes for extended functionality.
BTW after working with Websharper now a little (and really enjoying it) I am less bothered by missing functionality than by incompatible functionality (see my other recent posts).

(Quick update: the API browser is now available on http://developers.websharper.com - in the documentation tree, under API.)


Loading lazy for iframes ⏳

Hi,
This helps to improve the bandwidth :)
Ref-: https://web.dev/iframe-lazy-loading/

Looks good! Can you correct the stylistic prettier-related changes (quote style and spaces around the {}). Thanks!

Done 🙌💪

Hi, thanks for the contribution! Some thoughts on this PR:

Let's remove the memo call for now; while I do think that we can and should have a discussion about whether we should wrap our components in memo or not, we should first have that conversation (in a discussion or issue) before we move forward with it, and have a chance to talk about whether it's good to wrap everything in memo or not.
We should update the docs (e.g. externalvideo.md) for this component to have a Defaults section and list this prop in there

Hi, thanks for the contribution! Some thoughts on this PR:

Let's remove the memo call for now; while I do think that we can and should have a discussion about whether we should wrap our components in memo or not, we should first have that conversation (in a discussion or issue) before we move forward with it, and have a chance to talk about whether it's good to wrap everything in memo or not.
We should update the docs (e.g. externalvideo.md) for this component to have a Defaults section and list this prop in there

Done (removed memo) 🤝

@rennyG Thoughts on this new section in the docs?

@rennyG an alternative to a new section, would be to add it to the exist table of props. From my view, a pro of doing it this way is that we don't have to add a new section. A con is that the table could get fairly large and hard to read, when really we're just documenting normal HTML attributes and the defaults we set for them.
An example of the table method can be seen here https://github.com/Shopify/hydrogen/pull/1969/files#diff-212fbebdd4a0de24a7248ee7522522801718cff5ad4615836627039c792772b8

Hallo! I see the logic of putting defaults in their own sections, but I think keeping the default immediate to the prop (i.e. the table) is best. Partners likely will expect it there, just by virtue of convention more widely but also in our docs.
Some examples are quantity?, shopifyConfig?, and queryshop.
I also see this pattern, where the default is provided parenthetically.

Sounds good, I'll move it over to the table. 👍

@rennyG thoughts on the new docs format?
I left the types column empty on purpose for these props, as I think it's easier to say "go to MDN and see the most up-to-date values for this" instead of us trying to duplicate MDN. Thoughts?

Fully agree with linking out rather than duplicating 3rd party docs here. I can think of a couple options re. type

Leave as is, empty cell
Put N/A
Merge the row cells in the type and description column and put the MDN bit there

N/A might be misleading, because type IS applicable, just the table cell is not. I guess a similar argument could be made for the empty cell, but imo it's less overtly misleading.

@rennyG thoughts on the new docs format?
I left the types column empty on purpose for these props, as I think it's easier to say "go to MDN and see the most up-to-date values for this" instead of us trying to duplicate MDN. Thoughts?

Fully agree with linking out rather than duplicating 3rd party docs here. I can think of a couple options re. type

Leave as is, empty cell
Put N/A
Merge the row cells in the type and description column and put the MDN bit there

N/A might be misleading, because type IS applicable, just the table cell is not. I guess a similar argument could be made for the empty cell, but imo it's less overtly misleading.

Hm, I could just put the link to MDN in the types column, and remove it from the details column, which would be left with what the default is. 🤔

Welp, bad rebase.... whoops

Superseded by #2044


Not receiving confirmation email from the forum.

Hi, I tried to register in the forum http://forum.vuejs.org/ , but I can't get my confirmation email hence I can't create support topic there.
It said the email has succesfully sent but I just not receiving
I don't know if this is the place to report the issue, I am sorry if I am in the wrong place, but I just couldn't get in touch with the forum admin.

Make sure to have your GitHub email address public when registering - you can set it back to private after you've received the confirmation email.

I already did, but still not getting the email.

I have the same problem. I´m not able to create a new topic

@OpsRJ , I managed to get the confirmation email by change the email in vue account setting.  It was the github generated email when I registered in the forum, that's why I didn't get the email. You will get it after change it to your active email.


GenAI Scenario Deployment Broken

The GenAI Scenario fails to deploy via GitHub workspaces and locally with the following error message:-
ERROR: (", AttributeError: 'str' object has no attribute 'get' 'Unable to deserialize to object: type' , AttributeError(" 'str object has no attribute 'get' " ) ) sam@[REDACTED]/ : /mnt/c/Users/[REDACTED]/Downloads/apimgenaigateway/apim-landing-zone-accelerator/scenarios$

closing the issue based on the confirmation from @samaea that the issue is due to the subscription that could have disabled the functionality


can you post an example of vue2

can you post an example of vue2？

The branch for v2 has examples.

package.json
"@highlightjs/vue-plugin": "^1.0.2",
"highlight.js": "^10.7.3",

main.js
import hljsVuePlugin from '@highlightjs/vue-plugin'
import hljs from 'highlight.js/lib/core'
import javascript from 'highlight.js/lib/languages/javascript'
import 'highlight.js/styles/a11y-dark.css'

hljs.registerLanguage('javascript', javascript)
Vue.use(hljsVuePlugin)

vue
<highlightjs language="javascript" :code="code" />

Thanks!  Link to 1-stable branch is in the README.

Thanks! Link to 1-stable branch is in the README.

sorry, I didn't pay attention to the branch.


[Snyk] Upgrade angular-ui-router from 1.0.19 to 1.0.30

Snyk has created this PR to upgrade angular-ui-router from 1.0.19 to 1.0.30.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 11 versions ahead of your current version.
The recommended version was released 3 years ago, on 2021-12-01.

Release notes

Package name: angular-ui-router

1.0.30 - 2021-12-011.0.30 (2021-12-01)
Compare @ uirouter/angularjs versions 1.0.29 and 1.0.30

Updated @ uirouter/core from 6.0.7 to 6.0.8
Changelog for @ uirouter/core:
Compare @ uirouter/core versions 6.0.7 and 6.0.8

1.0.29 - 2020-12-211.0.29 (2020-12-21)
Compare @ uirouter/angularjs versions 1.0.28 and 1.0.29

Updated @ uirouter/core from 6.0.6 to 6.0.7
Changelog for @ uirouter/core:
Compare @ uirouter/core versions 6.0.6 and 6.0.7
Bug Fixes

array: Fix decoding of array-type query parameters (44ebfae)

Note: this fix does not affect angularjs

1.0.28 - 2020-08-081.0.28 (2020-08-08)
Compare @ uirouter/angularjs versions 1.0.27 and 1.0.28
Bug Fixes

should not transition states when alt-clicked (8080adb)

1.0.27 - 2020-07-211.0.27 (2020-07-21)
Compare @ uirouter/angularjs versions 1.0.26 and 1.0.27
Bug Fixes

make augmented StateRegistry.register overload better match the signature in core (db4e63f)

Updated @ uirouter/core from 6.0.5 to 6.0.6
Changelog for @ uirouter/core:
Compare @ uirouter/core versions 6.0.5 and 6.0.6
Bug Fixes

params: Bi-directionally en/decode path and search params. (#618) (89e99cd)

1.0.26 - 2020-04-291.0.26 (2020-04-29)
Compare @ uirouter/angularjs versions 1.0.25 and 1.0.26

Updated @ uirouter/core from 6.0.4 to 6.0.5
Changelog for @ uirouter/core:
Compare @ uirouter/core versions 6.0.4 and 6.0.5
Bug Fixes

TargetState: make isDef check more thorough (e657cfe)

Features

urlRuleFactory: Add support for StateDeclarations in UrlRuleFactory.fromState() (539d33a)

1.0.25 - 2020-02-041.0.25 (2020-02-04)
Compare @ uirouter/angularjs versions 1.0.24 and 1.0.25

Updated @ uirouter/core from 6.0.3 to 6.0.4
Changelog for @ uirouter/core:
Compare @ uirouter/core versions 6.0.3 and 6.0.4
Bug Fixes

safeConsole: check if document is defined to avoid issues in node environments (da29d88)

1.0.24 - 2019-12-301.0.24 (2019-12-30)
Compare @ uirouter/angularjs versions 1.0.23 and 1.0.24

Updated @ uirouter/core from 6.0.1 to 6.0.3
Changelog for @ uirouter/core:
Compare @ uirouter/core versions 6.0.1 and 6.0.3
Bug Fixes

hof: Rewrite curry from scratch (fc324c6), closes #350
IE9: Add safeConsole so IE9 doesn't break (9c8579d)

Features

stateService: add transition option 'supercede' so transition can be ignored if one is pending (6e5a56f)

1.0.23 - 2019-10-021.0.23 (2019-10-02)
Compare @ uirouter/angularjs versions 1.0.22 and 1.0.23
Bug Fixes

stateFilters: Export each function individually (978b882)
travis: Fix travis build (dc0f58a)
types: Remove @ types/jquery from devDependencies, upgrade @ types/angular (b12bc84)
viewDirective: add check for componentProvider, avoid extra trigger for $onInit (fixing #3735) (#3779) (c3e87ad)

Updated @ uirouter/core from 5.0.23 to 6.0.1
Compare @ uirouter/core versions 5.0.23 and 6.0.1
Bug Fixes

resolve: remove unnecessary generics from CustomAsyncPolicy (#452) (61f4ee9)
travis: use service: xvfb instead of launching it manually (1271fcd)
travis: use service: xvfb instead of launching it manually.  install libgconf debian package (ac1ef4b)

Features

resolve: Remove RXWAIT async policy in favour of allowing user defined async policy function (#366) (0ad87f6)

BREAKING CHANGES

resolve: RXWAIT async policy has been removed, but it never worked in the first place

1.0.22 - 2019-03-03

1.0.21 - 2019-03-03

1.0.20 - 2018-08-11

1.0.19 - 2018-07-20

    from angular-ui-router GitHub release notes

Commit messages

Package name: angular-ui-router

e2416f1 1.0.30
d14691d * chore: bump core to 6.0.8 (#3840)
6ac3c9f chore: remove unused deps: bufferutil, canvas, utf-8-validate (#3839)
461d7b2 chore(package): Update @ uirouter/publish-scripts
932a937 chore(bower): Update bower.json
c5de135 1.0.29
0814238 chore: update to uirouter core 6.0.7
4d06329 chore(bower): Update bower.json
f9bbea4 1.0.28
8080adb fix: should not transition states when alt-clicked
c1d9551 fix(test:downstream): Revert cleaning of .downstream_cache for now
6583584 chore(lint): Add yarn lint script
e21d358 chore(lint): Fix or ignore eslint recommended linter rules
60308d1 chore(lint): remove tslint from the project
07775e2 chore(lint): Remove all eslint rules and use only recommended ruleset
c159363 refactor(lint): Migrate from tslint to eslint using npx tslint-to-eslint-config --prettier --comments **/*.ts
f52d49c chore(scripts): add .downstream_cache to yarn clean command
b70a45f chore(bower): Update bower.json
cd9f484 1.0.27
df24513 chore: update<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>(#3814)
4f9a607 refactor(bundles): Migrate from uglify to terser (#3813)
e4991a5 chore: Install peer dependencies (#3812)
5a48eab chore: update to<EMAIL_ADDRESS>eea7de7 docs: upgrade to publish-scripts 2.5.2 with docker based docgen

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

 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.


Mastery accounted for ?

So i was bored and started doing job quests for my LWT when i noticed that you get a few traits that are quite usefull, like careful synthesis (efficiency is  increased to 180%) and a few other i still haven't unlocked. I can't find these in Crafter Attributes, is it a work in progress?
I first thought that there was very little point in doinf these quests but this changes things... :)
EDIT: i first thought the job quest unlocked it, but now i'm not sure if it was a reward or just because i hit 82, should have paid more attention.

Also, i just unlocked specialist for a few jobs, i can't seem to find heart and soul for WVR, it's the only job i've looked at so far so there are possible other actions for other jobs as well.

Heart and Soul isn't supported yet since it's rarely used due to its delineation cost. The stroke of genius thing is something I should remove, it's from an older version.


Implement lb rd label and friends

For some reason, lw rd label is implemented, but not the other loads

nevermind, they're all implemented


Remove config from scheduler.js

It would be good to remove the URL and token config from scheduler.js, to make code updates easier, and to prevent accidental checkin of these values.

I was thinking about it, how to remove those variables from scheduler.js and still keep them in a one file. I've a draft solution ready by using build process to generate scheduler.js from a template file as well as configuration script for the whole process.
It looks as follow:

Running configuration process from the terminal - gulp configure
Get data from a user: webtask token, tokens for monitors (github) and notifiers (slack)
Issue a token for every webtask using webtask.io API or wt-cli module
Put issued tokens into a template
Generate configuration files for every webtask (different config for different webtasks, i.e. Slack requires token and channel whereas github requieres token and organization name).
Generate scheduler.js ready for a cron task
Running build proccess - gulp build
Create cron task using generated scheduler script

I'll keep you updated.

Now it's solved. No more configuration dependencies inside source code. More information here: #3


patch uvcvideo 4.4 fetch not found

Required Info

Operating System & Version
Ubuntu 14.04

Kernel Version (Linux Only)
4.4

Build System
Makefile

$ ./scripts/patch-uvcvideo-4.4.sh v4.4-wily
--2016-10-23 17:19:53--  http://kernel.ubuntu.com/~kernel-ppa/mainline//SOURCES
Resolving kernel.ubuntu.com (kernel.ubuntu.com)... <IP_ADDRESS>
Connecting to kernel.ubuntu.com (kernel.ubuntu.com)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-10-23 17:19:53 ERROR 404: Not Found.

I've used ./scripts/patch-uvcvideo-ubuntu-mainline.sh in the meantime which works.

At times this seems to work and at times it doesn't. Regardless this is more of a connection issue with kernel.ubuntu.com and not an issue with librealsense; it didn't need to be posted here.