Socket: bind failed, error: An attempt was made to access a socket in a way forbidden by its access permissions.

Hi Getting
Socket: bind failed, error: An attempt was made to access a socket in a way forbidden by its access permissions.
and Unable to join player connection multicast group.
issues when I try to run the project

I think you can just ignore it.
Is there any show-stopping issue with it?

I'm closing this issue as assuming it's not an actual problem. Please feel free to reopen it if it still reproduces and causes any actual problem.


can admob be used in China?

I downloaded the demo and found that the ad can be requested normally, but when I jumped to the ad address, most of it could not be loaded. I was wondering if admob would provide ads for China in China. Simply put, I With expectation, can admob be used in China?

I did a little resich on this and i think it depends on your ISP. Here is one article i found about it that might answer your question. https://birchlabs.co.uk/blog/jamie/linguabrowse/2018/01/28/is-google-admob-blocked-in-china.html @MeDeity

Thank you

Does the Google AdMob pane register any clicks?
I couldn’t test this directly, as it’s against the terms and conditions of Google AdMob to deliberately click on ads, so I had to wait a while for some data to come in...

If the advertisement comes from a Chinese advertiser, I think it can be accessed, at least the advertising address is in China.

I will try,thx again

No problem @MeDeity Happy to help


Dropdown buttons + Responsive Table

Description
I can't use dropdown buttons within a responsive table. The dropdown menu stay inside the table.
Screenshots + Codepen

Codepen: http://codepen.io/gpressutto5/full/ENpyJe/
Solution
I think there are 3 solutions:

Add a class to make the dropdown go up, and auto assign it on small screens.
Make the dropdown menu appear outside the table with position absolute.
The hardest, but also the most prettiest: make responsible tables turn into cards in small screens, like this: http://codepen.io/zavoloklom/pen/IGkDz

Workaround: Remove position: relative from @media only screen and (max-width: 992px) table.responsive-table tbody


Allow case objects with Scala Reps etc by having wrapping class

Requirements:

Scala should treat these as ordinary functions.
When we wrap a function, we get a function, etc.

One possibility: change apply in FuncLike to unwrap and apply.

Written, not tested


Docker image size (dnu restore)

Hi,
Im curious about "dnu restore" command functionality.
Having 1.0.0-rc1-update1-coreclr image size of 357 mbs, a build image with "hello world" WEB API app becomes 913 mbs after "dnu restore". Is there some workaround to make it smaller? Or to have restore command to not download everything possible?

@ArkadyB
Follow the last link on our Docker section:
https://github.com/omnisharp/generator-aspnet#dockerfile
The talk discusses different ways of optimizing Dockerfile for use with ASP.NET Core

@ArkadyB I looked into this. Most of the "bloat" is from the NuGet packages and basic system dependencies. You can use du -h --maxdepth=1 to identify large directories in your image after it is built.

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


Please add tcp check

Consul provides tcp checks (https://www.consul.io/docs/agent/checks.html), but python-consul does not.
Could you please add it?

Just found in code: tcp(klass, host, port, interval, timeout=None)
maybe doc is not up-to-date?

https://python-consul.readthedocs.io/en/latest/#check-tcp


ForceSync Does Not Exist

The Group Policy "Force synchronization of browser data and do not show the sync consent prompt" or similar does not exist.
https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#forcesync

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 198c6f64-9e5c-f18e-8439-8d0d11d4228d
Version Independent ID: 83f32be1-063c-284c-dfdc-6b5976a5b7cc
Content: Microsoft Edge Browser Policy Documentation
Content Source: edgeenterprise/microsoft-edge-policies.md
Product: microsoft-edge
GitHub Login: @Brianalt-Msft
Microsoft Alias: stmoody

@NickDorak The ForceSync policy was added in MS Edge V86.  If you are still having an issue, can you share what version of the browser you are using?
Also, if you have further questions regarding Microsoft Edge please reach out on the Microsoft Edge Tech Community Forum or for Enterprise specific questions please visit the Enterprise section of the Tech Community. Thanks!

I meant the GPO doesn't exist as referenced by this article.

Clean up of old issues.  Not enough information provided.
If you would like to report a Microsoft Edge Enterprise documentation issue to the team please open a new issue and include relevant information/repro steps in the Comment section.
If you have general questions regarding Microsoft Edge please reach out on the Microsoft Edge Tech Community or for Enterprise specific questions please visit the Enterprise section of the Tech Community. Thanks!

Clean up of old issues. Not enough information provided.
If you would like to report a Microsoft Edge Enterprise documentation issue to the team please open a new issue and include relevant information/repro steps in the Comment section.
If you have general questions regarding Microsoft Edge please reach out on the Microsoft Edge Tech Community or for Enterprise specific questions please visit the Enterprise section of the Tech Community. Thanks!
@Y-Kelly

What do you mean "Not enough information provided."?
One of the items referenced in the article doesn't exist. I provided the name to the item. What else do you need?

@NickDorak I'm sorry, I do not understand your issue.  What do you mean the item does not exist?  The Policy was added to MS Edge in v86.  Do you have the latest Policy files?  You can download them here: https://www.microsoft.com/en-us/edge/business/download
Are you saying the policy is not behaving as described in the documentation?  Please provide additional information.  Thanks!


Profiling methods in other files?

the example shows how to get profiles of functions defined in the same test file, but what if i'm writing tests for a library and there's a particular function in my library i want to profile?

i figured out this is easy using the fully-qualified package and method name
also you can specify methods on the command-line using --line-profile=, which would be great to mention in the README


API to expose viewer limits to users

The rerun viewer has a few constants baked into it related to maximium batch sizes for point-clouds, lines, etc.
Users currently have no way to find out about these limits without logging and then seeing whether or not the viewer itself produces an error.
It would be nice if users could query these limits so that they can do their own client-side validation instead of just logging data that will fail to show up. Without an API contract for this users will end up baking in hard-coded limits that could become invalid or inappropriate in future releases.

Thank you for adding this!


Fixes #1370 : Expense Tracker

🛠 Fixes Issue #1370

👨💻 The Expense Tracker would take care of the expenditure of the household. The user have to set their budget, and keep on updating their regular expenses. The project will show them how much money they've spent and also the remaining budget, thus allowing the household to track their expenses regularly. The users will also be able to edit and delete any expense, if they want.

✅ Check List (Check all the applicable boxes)

[x] My code doesn't break any part of the project
[x] This PR does not contain plagiarized content.
[x] My Addition/Changes works properly and matches the overall repo pattern.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

@Sambit-Mondal No issue is assigned to you related to this PR.


Fix #139 XLNet example with IMDB fails

This was due to a bug in the IMDB processor which resulted in an empty dataset being created, which caused the PyTorch built-in sampler to raise an exception.

Just a clarification, other processor's _create_examples(data_dir) (Like Yelp) which take path as argument don't face this problem, right? Other than that, this looks good to me.

@AvinashBukkittu Yes, the IMDB processor is the only one that takes a directory path. Others should be fine.


Ability to run alternative models

The model ID is hard-coded here: https://github.com/simonw/llm-clip/blob/ffa91b341230cccd39bdef3d67e2ec7a8ade205b/llm_clip.py#L20-L23
It would be neat if you could register and use alternative models.
Relevant: https://carleton.ca/xlab/2023/archaeclip-or-building-a-visual-search-engine-for-archaeology/ - about fine-tuning a custom CLIP model for use with this plugin.

Perhaps we can pass an environment variable (?) to be able to specify alternative models, as:
def embed_batch(self, items):
    # Embeds a mix of text strings and binary images
    model_to_use = os.getenv('LLM_CLIP_MODEL_PATH', 'clip-ViT-B-32')
    if self._model is None:
        self._model = SentenceTransformer(model_to_use)


Can't Install with Cuda 11.2 & PyTorch 1.7.1

Hello,
I have seen that Cuda 11 compatible version is already among planned tasks.
I just wanted to let you know that it has been failed with following configuration.
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0
My installed PyTorch library version is 1.7.1

Thank you ! Are you building from sources or are you trying to install a wheel, can you tell me what platform you're using?

@k4ntz Thank you for your response! I should be using either Ubuntu 20.04 or Ubuntu 20.1
I think I have tried installing a wheel. I will try again with CUDA 11 version and let you know.

@k4ntz
This is what I have got when I have tried on my second computer with CUDA 11
The same error happened but when installed via wheel and build from sources.
Error in the import, you might have an uncompatible cuda version
No module named 'rational.cuda'
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
~/Desktop/rational_activations/rational/torch/rational_cuda_functions.py in <module>
      3     try:
----> 4         from rational.cuda import *
      5     except ImportError as Err:

ModuleNotFoundError: No module named 'rational.cuda'

During handling of the above exception, another exception occurred:

NameError                                 Traceback (most recent call last)
<ipython-input-1-54ec67e9fca5> in <module>
----> 1 from rational.torch import Rational

~/Desktop/rational_activations/rational/torch/__init__.py in <module>
----> 1 from .rationals import Rational, RecurrentRational, RecurrentRationalModule

~/Desktop/rational_activations/rational/torch/rationals.py in <module>
     12 if torch_cuda_available():
     13     try:
---> 14         from rational.torch.rational_cuda_functions import *
     15     except ImportError as ImpErr:
     16         print('\n\nError importing rational_cuda, is cuda not available?\n\n')

~/Desktop/rational_activations/rational/torch/rational_cuda_functions.py in <module>
      6         print(f"Error in the import, you might have an uncompatible cuda version")
      7         print(Err)
----> 8         exit(1)
      9
     10 class Rational_CUDA_A_F(torch.autograd.Function):

NameError: name 'exit' is not defined

Please assert that python3 -c "import torch; print(torch.cuda.is_available())" yieds True, and your pytorch-CUDA version (that might be lower from the CUDA version you see appearing with nvidia-smi:
python3 -c "import torch; print(torch.version.cuda)"
Can you try those 3 lines:
pip3 install -U pip wheel
pip3 install torch==1.7.1+cu110 -f https://download.pytorch.org/whl/torch_stable.html
pip3 install https://github.com/ml-research/rational_activations/blob/master/wheelhouse/cuda-11.0/rational_activations-0.1.0-cp38-cp38-manylinux2014_x86_64.whl\?raw\=true

Otherwise, you need to have nvcc : nvcc -V to check your version of nvcc, and install from source by cloning and using:
python3 setup.py install --user.
If installing from source does not work, you can also check

@k4ntz You're right, my pytorch-cuda version was 10.2 (lower than 11 what was appearing at nvidia-smi). I will try to fix it now.

Okay, we'll create a better documentation in the README file. You can actually use 10.2 version (default) with =>10.2 CUDA version on the host machine (backward compatibility).
I'll also make Docker images available. We are working on a website that introduce rational functions better, from theoretical and coding perspectives.

But with a working pytorch10.2 version (default), that you might have installed with pip3 install torch, you can normally simply use:
pip3 install rational-activations, and please double-check that you have an updated pip and wheel installed:
pip3 install -U pip wheel

I am closing it for now. Please reopen if needed. :)


TypeProtocol: add an operation which allows to either await for piplined requests or await for another event to send more data

In block fetch:
    -- We have no requests to send. Check if we have any pending pipelined
    -- results to collect. If so, go round and collect any more. If not, block
    -- and wait for some new requests.
    senderIdle (Succ outstanding) =
      SenderCollect (Just (senderAwait (Succ outstanding)))
                    (\_ -> senderIdle outstanding)

We could benefit if the driver would allow us to decide to block until, either
of one of events:

new message has arrived
we have a new request to do

Now we have only SenderCollect primitive:
  SenderCollect  :: Maybe (PeerSender ps pr (st :: ps) (S n) c m a)
                 -> (c ->  PeerSender ps pr (st :: ps)    n  c m a)
                 ->        PeerSender ps pr (st :: ps) (S n) c m a

which only allows to peek if a response has arrived and then either send more or collect a response.  The problem with block fetch is that we might be awaiting to get more requests to send.
We could add
 SenderCheck
    :: (STM m c -> PeerSender ps pr (st :: ps) n c m a)
    -> PeerSender ps pr (st :: ps) n c m a

as a constructor.  The STM m c would allow to await for values in the response queue, and we could use orElse to combine it with some other STM transaction:
SenderCheck $ \ awaitQueue -> SenderEffect $ do
  r <- atomically $ (Left <$> awaitQueue) `orElse` (Right <$> awaitForMoreRequests)
 case r of
    Left _ -> -- we can collect the response
    Right _ -> -- we have more requests to send

Would it also work to add nondetreminism to the "effect" constructor?
Effect
  :: m (Peer blah blah blah blah)
  -> (c -> Peer blah blah blah blah)
  -> Peer blah blah blah blah

semantics being: do the effect if there's nothing to collect, otherwise do the collect.
?

I think this has the same problem as Collect: it allows you to peek the value in the resond queue, but does not allow to do orElse on the queue or some STM transaction in a closure, what about:
Effect
  :: m (Peer blah blah blah blah)
  -> (STM m c -> Peer blah blah blah blah)
  -> Peer blah blah blah blah

And one problem hides in blahs :D, when one gets a c we need to continue with Peer that has one pipelined message less (we track it PeerSender type), so we'll need a separate constructor.

I think this has the same problem as Collect: it allows you to peek the value in the resond queue, but does not allow to do orElse on the queue or some STM transaction in a closure

Oh right. You'd do your blocking thing and then the pipelined receive could not interrupt it.
Taking another angle on this, one could argue that the problem is that the block fetch state side of this peer is not expressed as a typed protocol. Imagine we had a notion of a "protocol transformer", similar to a pipe/conduit except that either "side" of it has a session type. On the RHS it's the block fetch protocol, and on the LHS it's a protocol for interacting with the internal state, which allows us to (among other things probably) await a message saying that we want to fetch more blocks. If both sides of the "protocol transformer" are run concurrently, then we get a solution.


Add a note that this service/feature are not available in GCCH

🚨 Looks like you arrived from the internal review site
🚨 Do not enter Microsoft confidential information here
We do not have the services available in GCCH to support the new webinar, it's not available in that environment.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 2b2fe730-a95d-d12d-adb8-49d1397c77c7
Version Independent ID: 1f6077c3-6114-cb5e-8b1a-7587188f2cdf
Content: Set up webinars - Microsoft Teams
Content Source: Teams/set-up-webinars.md
Service: msteams
GitHub Login: @mkbond007
Microsoft Alias: mabond

To clarify @scanum, the existing and new webinar services are not available at this time outside of commercial clouds. No GCC, GCCH or DOD services are deployed so registration for meetings can not be enabled.


Certain non-JWT but decodable strings cause "TypeError: no implicit conversion of String into Integer" on decode

This is a bit of an edge case, but it's caused some confusion for us.
If a string is given with segments that can be Base64.urlsafe_decode64 but doesn't match up to the expectation of a JWT, a TypeError: no implicit conversion of String into Integer is raised instead of a JWT::DecodeError.
An example string is Mw.x.x -- the first segment is decoded as the number 3 for the header which later causes this line to raise the TypeError: no implicit conversion of String into Integer:
https://github.com/jwt/ruby-jwt/blob/1fd5b7a8233ea56af03bafaa80ca02a3fc67ac61/lib/jwt/decode.rb#L37

I think we could be a little stricter on the type validation for the header.
Im guessing there is something in the JWT RFC saying the headers needs to be an object with a certain set of attributes.
Adding raise(JWT::IncorrectAlgorithm, 'Invalid header') unless header.is_a?(Hash) somewhere maybe


chore(main): release 0.4.26

:robot: I have created a release beep boop
0.4.26 (2024-04-09)
Continuous Integration

build: Fix input parameters for building tarballs (#80) (2e50b92)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/linrongbin16/cargo-ci-template.rs/releases/tag/v0.4.26 :sunflower:


Reading a file with incomplete meta table

I have a Dicom file which does not has "sop_instance_uid" or at least Dicom-rs does not recognize it! I know that there are two ways to read a dicom file but both of them give me "ParseMetaDataSet" error and then I can not go further. Is there any way to somehow add this element to meta table? If so, please provide more information(sample, link to source,...)

Thank you for reporting. Could you provide an anonymized form of the DICOM file or an abridged dump of the file using another DICOM tool? It would help to understand what really happens in this case. The ParseMetaDataSet error variant should also contain an informative root source error underneath.
If the file is missing a file meta group entirely, then it needs to be read using separate data set reading functions, such as InMemDicomObject::read_dataset_with_ts. A best-effort mechanism to infer parts of the file meta table may eventually exist (#50).
If only one of the mandatory fields are missing, such as Media Storage SOP Instance UID, it is true that DICOM-rs shows no recourse at the moment (FWIW that field is mandatory according to the standard). In this case, maybe the object loading options could be extended to set up baseline file meta information, so that it would fill in the necessary gaps in advance.

Here is the output of open_file() function:
let mut obj = open_file("some_path").unwrap();
thread 'main' panicked at 'called Result::unwrap() on an Err value: ParseMetaDataSet { source: MissingElement { alias: "MediaStorageSOPInstanceUID", backtrace: Backtrace(()) } }
But as you can see from another Dicom tool, the dicom file actually has the "MediaStorageSOPInstanceUID" element!
1.zip

Odd. dicom-dump uses open_file underneath but it could produce a dump of the given file just fine. Can you double check that this is the problematic file, and that you are using the latest version of the library (0.5.0)?

Yes, I'm using the latest version.
IM00001.zip

OK, the issue can be reproduced with the second example.
The file is clearly missing mandatory fields as per PS3.10 Chapter 7, but it can be made more resilient with the following two changes:

FileMetaTable expects mandatory fields to always be present, so it will have to be changed so that they also sit behind Options. Better coordinate this with #70 too.
File opening options can be extended to support strict/relaxed checking (whether to error on missing attributes); and to fill in missing file meta attributes with default values or overrides.

Until something like the above is implemented, DICOM-rs requires all Type 1 file meta information attributes to be present in a file, even if just placeholders.

Hi,
@Enet4  I will create a pr for this, as discussed on forum.


Danger.linearInterpolation

Description of suggestion or shortcoming:
Danger.linearInterpolation(items, value)

Danger.linearInterpolation([[1,10], [2,30], [3,40]], 1.5) // 20
Danger.linearInterpolation([[1,10], [2,30], [3,40]], 1.2) // 14

Ideally, this would work with distributions too.

test comment, for discord bot.


Postgres is wide open with super user access

I was inspecting the Postgres container and the POSTGRES_HOST_AUTH_METHOD is set to trust, which allows anyone with access to 5432 to do anything they want with the database. Given that we're not running inside of a network (like Docker Compose or K8s might give you), it seems like this might not be a good idea.
Here is a snapshot of docker inspect:

Given that I'm not totally familiar with Aspire just yet, there might be a setting I'm not seeing. If that's the case, I might recommend a README for sysadmin types so they understand what protections are in place.

@bricelam @roji PTAL

Thanks for the ping. Yeah, I can see that the default Aspire setup for PostgreSQL configures "trust" authentication, which basically means no-password (anyone with access to the port can just log in). This is indeed meant only for prototyping/playing around, and definitely not suitable for a production setup.
I can see that other services get set up with some default user/pass (e.g. guest for RabbitMQ), should we do the same go PG, or was there some specific problem with setting up the docker container for that?
/cc @eerhardt @davidfowl


Documentation and some structural changes

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 58.53659% with 34 lines in your changes missing coverage. Please review.

Project coverage is 65.05%. Comparing base (110dc75) to head (e2410ba).

Files
Patch %
Lines

crates/chia-sdk-driver/src/primitives/nft.rs
52.38%
10 Missing :warning:

crates/chia-sdk-driver/src/primitives/did.rs
12.50%
7 Missing :warning:

crates/chia-sdk-driver/src/primitives/did_info.rs
50.00%
7 Missing :warning:

crates/chia-sdk-driver/src/layers/did_layer.rs
0.00%
5 Missing :warning:

crates/chia-sdk-driver/src/primitives/nft_info.rs
91.66%
2 Missing :warning:

...ia-sdk-driver/src/layers/royalty_transfer_layer.rs
75.00%
1 Missing :warning:

...ates/chia-sdk-driver/src/layers/singleton_layer.rs
66.66%
1 Missing :warning:

crates/chia-sdk-offers/src/offer_builder.rs
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #58      +/-   ##
==========================================
+ Coverage   64.83%   65.05%   +0.22%
==========================================
  Files          52       52
  Lines        1857     1866       +9
==========================================
+ Hits         1204     1214      +10
+ Misses        653      652       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Make ASP work on the Mac on their new Arm architecture

A user reported that the ASP build for the Mac does not work on the Apple M1 Arm architecture. I don't know when we'll have time to port ASP to it and if ISIS and other software we depend on is ready for it.

I'm not 100% sure about that.  It was not clear from the error report that this was an architecture problem.  The dialog window is because we're not an Apple-licensed developer, but that's nothing new.  The shared terminal session is more confusing, it almost looks like a path problem.
There's supposed to be an emulation layer to allow x86 executables to run, but I suppose we'll need to get our hands on an M1 machine at some point to work problems like these and others.

Ah, its called Rosetta 2, and it is a "translation environment" not an emulator, in the strict sense.

We'll have to wait till ISIS gets there first, as a lot of our dependencies come from them. I opened an issue about that here: https://github.com/USGS-Astrogeology/ISIS3/issues/4753
Maybe in a year or two we can stop supporting the Intel Mac and shift support to the Arm Mac.
Or just let everybody use Linux. :)

So what will happen now when using Apple's latest computer 2021 macbookpro, equipped with the M1 pro chip to carry out ASP+ ISIS related work?

Likely ASP won't work with your Apple computer with the M1 chip, unless their emulator program can handle it.

Hi all, I just tried to install ASP on my Apple computer with an M1 chip, and ran into the same problems described above. I did, however, successfully install ISIS 6 about a month ago. @dshean can you advise on what workarounds you used to install ASP on your Mac?


[DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout

Hello all,
I am not sure how I caused it but right now the deebotEcovacs plugin always makes my Homebridge crash. I uninstalled and removed the config and accessories, upgraded all (nodes, home bridge, etc.) and then re installed all to no avail.
After startup the plugin tries to connect every split second and fails, thus pilling up lots of uncleared memory.
The system memory is then shrinking by the second, you can see the counter sinking fast until it crashes.
When I turn on debug immediately after startup this comes up spamming the log:
...
[2/10/2021, 2:01:23 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout
[2/10/2021, 2:01:23 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout
[2/10/2021, 2:01:23 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout
...

For reference my config:
        {             "email": "____",             "password": "_____",             "countryCode": "DE",             "deebotNames": [                 "Ozmo"             ],             "refreshTimer": 300,             "publishBipSwitch": true,             "publishSwitch": true,             "publishFan": false,             "publishMotionDetector": false,             "publishAutoSwitch": true,             "publishEdgeSwitch": false,             "publishSpotSwitch": true,             "publishSpotAreaSwitches": [                 "0",                 "1",                 "2",                 "3",                 "4",                 "5",                 "6",                 "7",                 "8",                 "9",                 "10",                 "11",                 "12",                 "13",                 "14"             ],             "platform": "DeebotEcovacs"         }
I am grateful for any hint or suggestion.
Note, I tripple checked the Pi connectivity, all works fine, DNS is healthy, Homebridge and all other plugins work and connect to the great wide world as well as my home network happily. I also do not have any packet loss problems.
With greetings
Robert

Hi,
it seems to retrieve the config from ecovacs server, but can't connect to your deebot. Did you check with ecovacs app ? did you try without the deebot name just in case ?

Good Morning @nicoduj
I tried removing the name but the result is the same, however I now captured the full log output from a fresh start-up which shows that the connections initially seems to work (or am I wrong?):
[2/10/2021, 10:41:48 AM] [DeebotEcovacs] INFO - connected [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - getDeebots : [{"did":"42eeae5f-1954-44a5-9039-__________","name":"E08M14103________","class":"fqxoiu","resource":"Cc3g","nick":"Ozmo","company":"eco-ng","bindTs":1609604018847,"service":{"jmq":"jmq-ngiot-eu.dc.ww.ecouser.net","mqs":"api-ngiot.dc-as.ww.ecouser.net"}}] [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - stopping deebots discovery, number of deebots found : 1 [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Discovered Deebot : Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Edge Cleaning for Ozmo : false [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Spot Cleaning for Ozmo : false [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - SpotArea Cleaning for Ozmo : true [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - CustomArea Cleaning for Ozmo : true [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating Battery Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating Main Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating Sound stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating Auto stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 0 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 1 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 2 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 3 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 4 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 5 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 6 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 7 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 8 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 9 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 10 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 11 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 12 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 13 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Creating SpotArea 14 stateless Switch Service Ozmo [2/10/2021, 10:41:49 AM] [DeebotEcovacs] INFO - Setting Timer for background refresh every  : 250s [2/10/2021, 10:41:50 AM] [DeebotEcovacs] INFO - Vacbot Ozmo ready: "Client connected. Subscribe successful" [2/10/2021, 10:42:05 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout  [2/10/2021, 10:42:05 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout  [2/10/2021, 10:42:06 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout
With greetings
Robert

I think you can connect to ecovacs server, retrieve the conf of your deebot, but communication with your osmo seems broken. The ecovacs app is ok ? You can try to remove the refreshTimer , and tell me if any command works.

Hi @nicoduj
Very interesting, thanks a lot for the hint!
I checked the Ecovacs App and noticed the robot is offline. It was online yesterday evening. I used the app for some manual cleaning.
You are correct, I changed my network setup, actually quite drastic.
I enabled WPA3 for my main network and changed the password. I created a MAC locked WPA2-AES IoT WiFi for all my HomeKit IoT devices. I used the WiFi reset button and the Ecovacs App to connect the robot to the new WiFi and I thought it worked. However I am now no longer 100% sure. Right now, I did a full reset of the Deebot and configured it for the new WiFi. Against the clear recommendation of Ecovacs I assigned it a static IP via a DHCP reservation. The reason I did so is because I see absolutely no logical reason on why this should be an issue.
Now after this reset, I re-enabled my original configuration which worked for several weeks now (see my first post) and this is the current debug startup output:
[2/10/2021, 12:27:23 PM] [DeebotEcovacs] INFO - connected [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - getDeebots : [{"did":"42eeae5f-1954-44a5-9039-______","name":"E08M14103______","class":"fqxoiu","resource":"Cc3g","nick":"Ozmo","company":"eco-ng","bindTs":1609604018847,"service":{"jmq":"jmq-ngiot-eu.dc.ww.ecouser.net","mqs":"api-ngiot.dc-as.ww.ecouser.net"}}] [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - stopping deebots discovery, number of deebots found : 1 [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Discovered Deebot : Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Edge Cleaning for Ozmo : false [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Spot Cleaning for Ozmo : false [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - SpotArea Cleaning for Ozmo : true [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - CustomArea Cleaning for Ozmo : true [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating Battery Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating Main Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating Sound stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating Auto stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 0 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 1 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 2 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 3 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 4 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 5 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 6 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 7 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 8 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 9 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 10 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 11 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 12 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 13 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Creating SpotArea 14 stateless Switch Service Ozmo [2/10/2021, 12:27:24 PM] [DeebotEcovacs] INFO - Setting Timer for background refresh every  : 250s [2/10/2021, 12:27:25 PM] [DeebotEcovacs] INFO - Vacbot Ozmo ready: "Client connected. Subscribe successful" [2/10/2021, 12:27:26 PM] [DeebotEcovacs] INFO - Charge status for Ozmo : charging false true [2/10/2021, 12:27:26 PM] [DeebotEcovacs] INFO - Clean status for Ozmo : idle [2/10/2021, 12:27:26 PM] [DeebotEcovacs] INFO - Charge status for Ozmo : charging false true [2/10/2021, 12:27:26 PM] [DeebotEcovacs] INFO - Battery level for Ozmo : 100 100 0 [2/10/2021, 12:27:26 PM] [DeebotEcovacs] INFO - Charge status for Ozmo : charging false true
I will monitor this now for the next hours and days and will close the ticket by tomorrow if it continues to work. It likely was "my fault". However just noting, there should be some protection against the plugin eating all system memory in such a "loss of connectivity" scenario. It is kind of a race condition.
With many greetings
Robert

Hi, thanks for coming back. You are right for the race condition, will try to find time to reproduce, it should not eat memory at all .

Hi @nicoduj
To add, the problem occurred again and I found two remarks in the Netgear Orbi support community which helped resolve the connectivity issue:
1.) After applying a DHCP reservation the router needs to be rebooted (seriously!) else the DHCP server does not renew but also not supply the new address. I am not sure this caused the issue but it matches some weird DHCP log entries for the Deebot that came up after I inserted the reservation before rebooting.
2.) I disabled "20/40 Mhz co-existence" for the 2.4 GHz WiFi as this was flagged as not reliable both in Deebot and NETGEAR Communities.
In regards to the Deebot Ecovacs plugin I disabled the refresh interval as suggested by you @nicoduj and the result towards the race condition changed. When the bot dropped off the WiFi (before I made the two above mentioned changes) the system would start complaining and loosing memory but only very little, much less as before. It almost looked like "stable", also there where only 5-6 messages in the log about the connectivity issue and not as before like several hundred.
I did not check the codebase but my guess would be that the refresh timer spawns some update collection process which goes into Limbo if the Deebot connection is lost.
I hope this helps.
Should I close the ticket now or do you want to leave it open until the race condition is found?
Best
Robert

Thank you, I will keep this open for the moment.
Concerning orbi yes they are tricky ... disabling 20/40 coexistence definitely improved connection here also, and I don't use it as a router / dhcp server, only as a wifi access point :)

#offtopic
Thanks @nicoduj for the note and confirming the 20/40 2.4 GHz topic for Orbi, great too get support here even in this matter ;-) I made the switch to the Netgear Orbi Router mode out of necessity but I am regretting it. My Fritz!Box failed with a hardware fault and the replacement from my ISP was an older model which could not load any of my configurations so I had to start all over anyway. However it is frustrating to see how poorly Netgear handles even simple operating system tasks on their router. There should be a legal initiative demanding that open firmware become a legal requirement for sole device manufacturers. It reduces their liability once they go bankrupt and it allows the community to enhance and fix things for current and old units.
Best, Robert

to continue #offtopic, I think there is a way to put Voxel custom firmware to some ORbi system, but never tried since like I said I use them only as access points and never found a better solution in my configuration for wifi range/ perf (even tried some unifi without any success) https://www.reddit.com/r/orbi/comments/gs6loq/custom_firmware_build_for_orbi_rbk50rbk53_rbr50/

Thanks a lot for the hint with the firmware @nicoduj
Just for anyone ending up here using Google:

Disabling 20/40Mhz co-existence for 2.4GHz did not fully solve the problem
I needed to disable the DHCP function of the Netgear Orbi and user another DHCP Server, in my case hosted on a Raspberry

Context:
After disabling the co-existence feature my Deebot did not disconnect every 1-2 hours from the WiFi but exactly after 24 hrs. This immediately made me aware of the DHCP configuration of my Netgear Orbi which grants leases for 24 hrs. After debugging I found that the Deebot does some weird network voodoo and enters into a state where he, after 24 hours constantly floods the Netgear with DHCP requests but does not accept the response and just keeps asking. It is still reachable until the actual expiration but it already starts flooding after half the lease time is expired (the renewal interval).
On the internet I found that the Netgear DHCP implementation is incredibly poor and it only add to my experience with other devices. I have an Eve HomeKit Camera with similar issues. So I configured my PiHole to act as the new DHCP server. This seem to have solved the problem for now both for the Eve Cam and Deebot. However I will have to check and wait for a full lease cycle.
However, to note, disabling the WiFi co-existence made the WiFi connection stable. The next issue was then the DHCP on my network due to the Netgear Orbi. All other issues are simply a result of the mentioned race-condition. Once the Deebot drops of the net, my homebridge starts venting memory (much slower if I disable the refresh timer but enough to crash after a few hours).

Seems to be solved :)


Pass 'read_dictionary' kwarg to pyarrow

Thanks for the great package! The Athena CTAS method is much faster than more robust than other packages/methods.
It appears the underlying pyarrow package memory usage spikes when using wr.s3.read_parquet() and since it uses it, wr.athena.read_sql_query().
With 16 GB RAM, my python kernel is crashing due to a memory error (checking free in separate shell during execution shows this).
Looking for work arounds I found pyarrow has the kwarg read_dicitonary in pyarrow.parquet.ParquetDataset which reduces memory use and speeds up read by directly reading string columns as categories. Pandas's read_parquet passes kwargs to the underlying engine (pyarrow).
To check this I downloaded the parquet files the Athena query generated:
Line #    Mem usage    Increment   Line Contents
================================================
     4     76.1 MiB     76.1 MiB   @profile
     5                             def read_parquet_files(files):
     6     76.1 MiB      0.0 MiB       dfs=[]
     7   5248.9 MiB      0.0 MiB       for file in files:
     8   5248.9 MiB   3701.6 MiB           df = pd.read_parquet(file,read_dictionary=['a','b'])
     9   5248.9 MiB      0.0 MiB           dfs.append(df)
    10   4694.2 MiB      0.0 MiB       total_df = pd.concat(dfs,ignore_index=True,copy=False)

real	0m15.570s
user	0m11.107s
sys	0m7.833s

Ultimately this leaves the categorized columns as strings. They can be kept as categories, and further reducing memory and improving speed by using pandas.api.types.union_categoricals()
Line #    Mem usage    Increment   Line Contents
================================================
     5     76.5 MiB     76.5 MiB   @profile
     6                             def read_parquet_files(files):
     7     76.5 MiB      0.0 MiB       dfs = []
     8     76.5 MiB      0.0 MiB       a_categories = []
     9     76.5 MiB      0.0 MiB       b_categories = []
    10   5279.5 MiB      0.0 MiB       for file in files:
    11   5279.5 MiB   3800.8 MiB           df = pd.read_parquet(file,read_dictionary=['a','b'])
    12
    13   5279.5 MiB      0.0 MiB           a_categories.append(df['a'])
    14   5279.5 MiB      0.0 MiB           b_categories.append(df['b'])
    15
    16   5279.5 MiB      0.0 MiB           dfs.append(df)
    17   2885.0 MiB      0.0 MiB      total_a_categories = union_categoricals(a_cats).categories
    18   2046.0 MiB      0.0 MiB       total_b_categories = union_categoricals(b_cats).categories
    19   2046.0 MiB      0.0 MiB       for i in range(len(dfs)):
    20   2046.0 MiB      0.0 MiB           dfs[i]['a'].cat.set_categories(total_a_categories,inplace=True)
    21   2046.0 MiB      0.0 MiB           dfs[i]['b'].cat.set_categories(total_b_categories,inplace=True)
    22   3538.4 MiB   1492.5 MiB       total_df = pd.concat(dfs,ignore_index=True,copy=False)

real	0m6.288s
user	0m8.040s
sys	0m4.487s

A possible simple enhancement to awswrangler would being able to pass kwargs to pandas/pyarrow.parquet.ParquetDataset.
A more involved enhancement would be combining categoricals when read_dictionary is not None.

@sapientderek thanks! Really cool analyses!!! 👏👏👏
I'm messing around with your suggestion, let's see what I will be able to adapt on the next release.

@sapientderek feature available on version 1.0.1. Thanks!


fix: [NavBar] Space items better at breakpoints

Addresses https://artsyproduct.atlassian.net/browse/GRO-215
This fixes an issue where the nav didn't stretch to the full width of the content area.
Also does a light refactor, moving the styled-components related components in a few files from the top of the file to the bottom, after the main component definition, since CSS is rarely returned to by future devs; however, main component code often is. Reduces the signal to noise ratio around contributing changes and increases readability.
cc @artsy/grow-devs
Before:

After:

So to clarify the logic in moving the bulk of the CSS styling is in hopes that devs will be able to see it better? Or it will be seen in the course of code review?

So to clarify the logic in moving the bulk of the CSS styling

When yr the author of a component its pretty common to write styled-components top down, so that when you use them in the main react code they're already defined at the top of the file. However, that just creates a lot of noise for the next developer coming around, because one very rarely refactors those CSS components -- but its super common to make changes to the main react component. It makes it easier for the next dev to work and understand whats goingg on. So I write those components on the bottom of the file to begin with, and if i see them at the top as i'm navigating through code somewhere, i'll move them.
So like, the general order of things is:
// MyComponent.tsx

interface MyComponentProps {
  ...
}

const MyComponent: React.FC<MyComponentProps> = props = {
  ...
}

const Container = styled(Box)`
  ...
`


Allow cachito integration without koji

When using osbs-client directly, there will be no koji user to forward
to cachito. We allow the build to proceed by setting the cachito request
user param as 'unknown_user', which can be configured through the
reactor configmap.

OSBS-8503
OSBS-8375

Signed-off-by: Athos Ribeiro<EMAIL_ADDRESS>Maintainers will complete the following section:

[ ] Commit messages are descriptive enough
[ ] "Signed-off-by:" line is present in each commit
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request includes link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Marked this as a draft while we discuss if we want to allow the option to skip the user param (as presented in this PR) or if we want to get rid of that param completely.

osbs-docs already has an entry in cachito admin guide pointing to the config.json schema, which seems to be enough for this feature.


fixed ukis content issues

What is the context of this PR?
Fixed UKIS content related issues
How to review
Please find attached PDF for issues in UKIS schema and re-test them.
UKIS_content_Observations.pdf

Closing this until #831 and #840 have been merged to master and any issues when identified there.


Include API docs for action-binding-generator

See https://typesafegithub.github.io/github-workflows-kt/api-docs/ - it only contains library's API.
Dokka allows generating consolidated documentation, see e.g. https://github.com/Kotlin/dokka/tree/master/examples/gradle/dokka-multimodule-example.

Closing in favor of server-side action bindings modeled as Maven artifacts (#1318).


Per route metrics

Is it possible to get per route metrics? The aggregated metrics per service are valuable, but would be great to be able to drilldown per route.

We do have the same situation for per route metrics.

@dliberman  thanks for your pr, If i want debug your new feature localhost, how could i do ?  i don't know how to debug kong plugin debug and how to build kong docker image? Is there a guid doc or website , thanks. @hbagdi

#48 was merged in manually. Stay tuned for the next release of this plugin and Kong.


[NG] Datagrid numeric filter

This is a first pass at https://github.com/vmware/clarity/issues/2908.  It's not yet complete (no tests, minimal documentation, some bugs), but I was hoping to solicit some early feedback.

The idea is to add a second built-in filter type that's similar in scope to the existing string filter.  Rather than a single input this second filter has two input fields which can optionally contain a lower and upper limit respectively.  This is currently called a numeric filter and uses number input fields, but a better name for it might be a range filter, since it would be easy for it to apply to non-numerical types (for example, a user could input letters to select a range alphabetically).
There's demos for it in the datagrid section of the KS app in the "binding model properties" and the "built-in filters" sections.
Open issues:

~Rename to "range" filters and allow non-numeric inputs?~
[x] Why is the filter icon on the wrong side?!?
[x] Make the template look nicer
[x] ClrDatagridColumn currently is closely tied to string filters (example)
[x] Tests, specs
[x] Docs
[x] No hardcoded strings in template
[ ] Actual UI design

[ ] Hide up/down webkit arrows? (example here)

Would it be possible to create a new feature branch for this?  I'm planning on working through the suggestions above this week and it seems like it would be nice to build it on top of https://github.com/vmware/clarity/commit/6310d4b79adad171c167e863d32870b43fc0cbb3.

Since you haven't committed anything to it yet, I'll just update the existing topic branch so it's based on latest master. Please make sure you rebase your changes on top of today's master before updating the PR. 👍

I'm working on the documentation and the most natural way to demo the numeric filters often runs into https://github.com/vmware/clarity/issues/2683 since they are wide and you often want to add them to the first column.  Should I go ahead and add them normally or try to work around the issue by reordering columns to put the filters in the middle of the grid?

Hey @amellnik - it looks like your changes affect the public Clarity API. You should be able to fix it by running npm run golden:fix.

I just noticed that while the internationalization appears to work locally for testing, I might have messed something up since it shows up like this when I build, publish, then use from a different project:

I just discovered one other issue that probably needs to be addressed -- in clrDgRefresh the filter array looks like this:

for a built-in string filter, a built-in numeric filter, and a custom string filter respectively.  We should probably include the value of clrDgColType to make it clear what type the built-in filters are.

@amellnik Just checking in, how are things?

@gnomeontherun I will fix the two minor issues I mentioned above, but I'm mostly just waiting on the design.  Is there anything else I should be working on?
We're using this for an internal tool now and haven't ran into any other issues with it.

@colinreedmiller and @lil-kim
Could one of you take a look at this to get it unblocked? Thanks.

@amellnik, given that Clarity filters aren't closing automatically and you can open filters for several columns simultaneously, wouldn't it be better to place fields vertically, so they won't overlap with other filters?

@sdurnov - I don't have any strong feelings about the layout, and would be open to stacking the inputs vertically.  I think the function of the filter is a bit more clear when they are horizontal since many users may be used to seeing ranges written as [lower_limit, upper_limit] or similar, but having the wide filters is annoying especially given https://github.com/vmware/clarity/issues/1262#issuecomment-420265815.

This now matches @colinreedmiller's design except that it still has a X to close the filter and does show the up/down arrows.  I saw a few examples for removing the arrows in various browsers here but they seem a bit hacky.  Do we want to do this, and if so, is there a recommended method?

We do not want to attempt to manage the increment / de-increment arrows. They will be provided or not depending on the browser.
Design spec here:

also: This design is for the numeric range implementation only. We are going to hold off on the operator / value version for now in deference to the advanced datagrid filtering currently in the cue: https://github.com/vmware/clarity/issues/1632

I think this now matches the design, let me know if I missed anything or there's anything else I should do!

@gnomeontherun @colinreedmiller Just checking in -- is there anything else I should do on this?

I've started a review, but have not completed it yet. I'm tied up at ng-conf right now but am trying to get it done asap!

I think this should be ready for rebasing but let me know if there's anything else I should do.

This looks good, I think it could be rebased and then once rebased update the copyright dates on the altered files to 2019, as well as documenting the new entries for internationalization.

From a pragmatic standpoint, it might be easiest to just rebase and make a new PR to master and close this out. That way we don't have to do too much git fu to move forward.

Closing in favor of #3397


Salami Lid 1984

About the PR
I respect salami lid meme, but it was too annoying.
Changelog

Salami lid spawn chance has been decreased from 100% to 20%.
:cl:

tweak: chance to find salami lid in a pizza crate has been decreased

Thanks, this was very annoying, I would have removed it entirely personally.


Wind uncertainty language should indicate you can likely ignore the inputs.

I must have been daydreaming when we talked about Wind Uncertainties. I was tracking down something else and ran across the Uncertainties page on the Wind model. Coming in cold, I don’t think that the text at the top of the page really explained what the hell all of this is. The help was more helpful with the statement below. I might propose adding something else to the top of the page (just before the sentence “All uncertainty components and subcomponents…” such as “This page contains the inputs that calculate probability distributions displayed on the Uncertainties Tab of the results page.  If you are not interested in viewing uncertainties, you may ignore these inputs.”  Otherwise, it’s a pretty scary page.
The Uncertainties inputs allow you to specify uncertainties for different input parameters to calculate the probability distributions displayed on the Uncertainties tab of the Results page.
The uncertainty model is draws from the IEC 61400-15 uncertainty framework as described in Damiani, R. (2018). Uncertainty and Risk Assessment in the Design Process for Wind. National Renewable Energy Laboratory, NREL/TP-5000-67499 (PDF 8.9 MB).

Additional thought from @cpaulgilman :
We also could hide the inputs unless you expand a hidden panel, like the battery page for the fuel cell model. That provides a space for a text description to warn you what you're getting into. I think that would make it possible to only show the P90 metric if you enable the inputs:


Shadow model training

Description
The PR adds a utility for training shadow models and in turn using them to generate shadow-datasets for use in membership inference attacks. In addition, an implementation of the hill-climbing synthetic data generation algorithm (from R. Shokri et al. 2017) is added which makes it possible to train shadow models with no existing dataset.
A notebook demonstrating usage in a black-box membership inference attack was also added.
A setter for the nb_classes estimator parameter and usages of nb_classes have been updated so the set_params method used in estimator cloning can work correctly.
Type of change
Please check all relevant options.

[ ] Improvement (non-breaking)
[x] Bug fix (non-breaking)
[x] New feature (non-breaking)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Testing
All unit tests pass.
Test Configuration:

OS: MacOS 11.4
Python version: 3.8.11

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

I will merge this pull request to branch shadow_model_training and address the review comments there before merging it to dev_1.9.0.


unsloth/codegemma-2b-bnb-4bit: Model Error when Setting max_seq_length > 8192

Issue: Model Error when Setting max_seq_length > 8192
Description:
The unsloth/codegemma-2b-bnb-4bit model throws an error when attempting to set max_seq_length greater than 8192.
Unsloth: unsloth/codegemma-2b-bnb-4bit can only handle sequence lengths of at most 8192.
But with kaiokendev's RoPE scaling of 2.0, it can be magically extended to 16384!
==((====))==  Unsloth: Fast Gemma patching release 2024.5
   \\   /|    GPU: NVIDIA A100-SXM4-40GB. Max memory: 39.564 GB. Platform = Linux.
O^O/ \_/ \    Pytorch: 2.3.0+cu121. CUDA = 8.0. CUDA Toolkit = 12.1.
\        /    Bfloat16 = TRUE. Xformers = 0.0.26.post1. FA = False.
 "-____-"     Free Apache license: http://github.com/unslothai/unsloth
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/unsloth/models/llama.py](https://localhost:8080/#) in from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, token, device_map, rope_scaling, fix_tokenizer, model_patcher, tokenizer_name, trust_remote_code, **kwargs)
   1105         try:
-> 1106             model = AutoModelForCausalLM.from_pretrained(
   1107                 model_name,

4 frames
TypeError: GemmaForCausalLM.__init__() got an unexpected keyword argument 'rope_scaling'

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/unsloth/models/llama.py](https://localhost:8080/#) in from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, token, device_map, rope_scaling, fix_tokenizer, model_patcher, tokenizer_name, trust_remote_code, **kwargs)
   1118             if "rope_scaling" in str(error):
   1119                 if rope_scaling is not None:
-> 1120                     raise TypeError("Unsloth: {model_name} does not support rope_scaling.")
   1121                 pass
   1122

TypeError: Unsloth: {model_name} does not support rope_scaling.

Steps to Reproduce:

Open the default Gemma notebook
Replace the repository name with unsloth/codegemma-2b-bnb-4bit.

from unsloth import FastLanguageModel
import torch
max_seq_length = 16384 # Choose any! We auto support RoPE Scaling internally!
dtype = torch.bfloat16 # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+
load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False.

# 4bit pre quantized models we support for 4x faster downloading + no OOMs.
fourbit_models = [
    "unsloth/mistral-7b-bnb-4bit",
    "unsloth/mistral-7b-instruct-v0.2-bnb-4bit",
    "unsloth/llama-2-7b-bnb-4bit",
    "unsloth/llama-2-13b-bnb-4bit",
    "unsloth/codellama-34b-bnb-4bit",
    "unsloth/tinyllama-bnb-4bit",
    "unsloth/gemma-7b-bnb-4bit", # New Google 6 trillion tokens model 2.5x faster!
    "unsloth/gemma-2b-bnb-4bit",
] # More models at https://huggingface.co/unsloth

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/codegemma-2b-bnb-4bit", # Choose ANY! eg teknium/OpenHermes-2.5-Mistral-7B
    max_seq_length = max_seq_length,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
)

Change max_seq_length to 16384.
Attempt to load the model with the new sequence length.

Expected Behavior:
The model should successfully load with the increased max_seq_length using RoPE scaling.
Observed Behavior:
A TypeError is raised, indicating that the rope_scaling keyword argument is not supported.

It is likely that the model does not support > 8k context length using the current implementation, similar when trying to increase the context length of phi-3-4k greater than 4k.

Ye sorry CodeGemma technically doesnt support long context finetuning yet, since HF's code doesn't allow it (yet). In theory we can support it, but for now it does not work

Thank you @avcode-exe @danielhanchen for the replies. I've implemented a workaround that seems to resolve the issues with both variants of the Gemma model. Here’s how I did it:

Loaded both models to compare their weights.
Saved both models locally under the directories "unsloth/gemma-2b-bnb-4bit" and "unsloth/codegemma-2b-bnb-4bit."
Copied the weights from "codegemma-2b-bnb-4bit" to "gemma-2b-bnb-4bit" using the command:

!cp /content/unsloth/codegemma-2b-bnb-4bit/model.safetensors /content/unsloth/gemma-2b-bnb-4bit/model.safetensors

Saved the tokenizer from "codegemma-2b-bnb-4bit" into the "gemma-2b-bnb-4bit" directory using save_pretrained.
Reloaded the "unsloth/gemma-2b-bnb-4bit" model from the local directory, now containing the "codegemma" weights, and adjusted to a new max_length of 16384.
Confirmed the consistency of weights between the originally loaded "codegemma" model and the newly loaded "unsloth/gemma-2b-bnb-4bit" model, noting zero difference.

I could not find any apparent architectural differences between the models, and the weights align perfectly, so I believe it should be safe to proceed with this approach. However, are there any potential implications I should consider before proceeding with this? Thank you!

Oh that's not a bad idea! If codeGemma is identical to Gemma, it should be fine - although I think Gemma sadly also doesnt support RoPE Scaling - let me check

It should FINALLY work!! I added all RoPE Scaling support - so you can set it to any number you like now :)
On local machines, update Unsloth via:
pip uninstall unsloth -y
pip install --upgrade --force-reinstall --no-cache-dir git+https://github.com/unslothai/unsloth.git

Colab and Kaggle just need a refresh


⚠ 한경주요지수-코스피200 has degraded performance

In 1ac93b7, 한경주요지수-코스피200 (https://markets.hankyung.com/indices/kospi200) experienced degraded performance:

HTTP code: 200
Response time: 6391 ms

Resolved: 신규상장 performance has improved in 06aac33.


Add Receiver fixes

Bring receiver fixes from
https://github.com/rvansa/eventing-hyperfoil-benchmark
to this repo.

/cc @rvansa

@pierDipi Great, thanks!
Btw. did you have any issues with the header ce-runId vs. ce-runid? Request.getHeader(...) should not be case-sensitive (and proxies are free to rewrite case in headers).

Btw. did you have any issues with the header ce-runId vs. ce-runid? Request.getHeader(...) should not be case-sensitive (and proxies are free to rewrite case in headers).

I didn't check if that could cause issues (likely it doesn't) but I'd leave it as in your repository since it's what we're currently using.

/cc @matzew


submissions: added author submission

INSPIR-1902

Coverage remained the same at ?% when pulling 2f045163d74ce302efb6a49c142dabcc19f8e6f0 on monaawi:author_submission into 3105678e1cd4cc7592672bef8620be0607ad1f51 on inspirehep:master.


Model configuration for new captcha type

Hello brother, thanks for code and the model that you have made. I'm new to neural networks and ai training.

I'm trying to train captcha solver model on this captcha types. I didn't succeed yet. First of all, because of when the training is reaching Epoch 200-350/1000, it's printing Epoch: early stopping. At first I tried to change the batch size, number of workers and training speed.
Tried 32, 64 (default), 128, 256, 270, 512 batch size and 10, 20, 30, 40 training worker amount.
I used 1000 of those captchas as a dataset and 101 different captchas for testing. The "best" result i got at batch_size=256, train_workers = 30 on a machine with 24GB RAM, used intel i5-12th CPU for training. A trained model result below:
202402212032.zip
Also thought maybe my machine was not powerful enough, so i tried a different machine with 64GB RAM, i9-13th CPU, Nvidia GeForce RTX 2080. Still got the Epoch early stopping error around 313/1000 epoch. The "trained" model folder is in below:
202402232009 i9.zip
Now, i know that i can use of of those models and continue training them.
i was hoping if you can help to configure the model architcture or configs for those captcha images. I think maybe need to make fit the image size, because while training, I was getting "libpng warning: pHYs: CRC error" a lot. I'd very grateful if you could help me with that. Thanks for your valueable time.

Also i was wondering whether i can use an svg files for training and use the trained model to predict svg file images

i got the same issue with new dataset of captcha. could @pythonlessons please help us the way how to adjust model architecture to solve other type of captcha.
Here is my one of captcha image:

Thank you.

Make sure you read your images correctly, to do so you can use OpenCV to show your images while iterating dataProvider. Batch size doesn't have any considerable impact on this; you need to work on model architecture. I made a tutorial just as an example that you can use to continue working on similar tasks.

Thank you for your reply, it worked better after edited the image sizes in configs.py. Now it's working well.


Error Message: Request languageServerProvider-any.request failed

Issue Type: Bug
When trying this operation as a client over live share, I get the following error:
Request languageServerProvider-any.request failed with message: args is not iterable (cannot read property undefined)

live Share: v1.0.5449
vs code: 1.65.2
OS: Linux

logs.zip

Closing as duplicate of https://github.com/MicrosoftDocs/live-share/issues/4620


./src/ng/compile.js optimization?

It seems to me that the addDirective function in compile.js should short circuit on a match.

the directives are not returned by the injector in order, and it is possible to have multiple directives with the same name. With this in mind it is not possible to short-circuit the code. As @caitp mention, it is good that this is not a hot spot


Why does the Labels SDF example exist?

I'm not sure why this example exists: http://localhost:8080/Apps/Sandcastle/index.html?src=Labels SDF.html&label=All
All labels use SDF and we already have the standard Labels Sandcastle demo. To end users and people learning Cesium, this demo doesn't add anything.
Should we just delete it or am I missing something?

Maybe just add the animation effect to a new dropdown in the labels demo? Otherwise yeah, no reason to keep it around.


Remove echoe and just use bundler

Since we decided to just use bundler instead of echoe, I went ahead and removed all references to echoe. The Rakefile no longer builds via echoe.

Remove the Manifest used by echoe
Remove echoe dependency and instead use bundler
Made some very minor cleanups to gemspec

@elmatou Do these changes look good? I will hold off from merging my PR's for non-trivial stuff so fast :smile:

did you check with an interactive session with rubygems ? I would say an update, but... you know...

what do you mean by interactive session? I did run gem build pi_piper.gemspec and it successfully built the gem.

I only meant, did you test it with rubygems server ? like with rake release

Oh I see, would that not actually push it to rubygems? I would assume that if the gem can be built, it should be able to be pushed to rubygems. Unfortunately I did not see a gem push --dry-run or gem push --test command.

Having said that, I think we can probably and should do a release as 2.0.0 with your PWM changes.

good to me

Cool, going to squash the commits and then merge :+1:


New deutsche_bahn component

Uses the schiene API to communicate with the web server of bahn.de
and pulls information about a specific connection from bahn.de
webpage. The departure time of the next train for the given connection is shown.
In case of delay, the delay is also shown. Additional ATTRIBUTES are used to
inform about e.g. the type of the train, price and if it is ontime.
Usage:
sensor:
  platform: deutsche_bahn
    from: name_of_start_station
    to: name_of_final_station

Problems:
I'm testing it for quite some time, but I have never seen the ATTRIBUTES in case
of a delayed train. The ATTRIBUTES are directly passed from the schiene API. So this
use case has not been tested yet.
Bahn AG is not supporting the schiene api unlike in the case of swiss_public_transport.
It's not guaranteed that schiene will work forever, in fact it can happen that Bahn AG will
intentionally brake the API at some point. In the past Bahn AG has not always been very supportive
to the open source community.

when I run
./script/gen_requirements_all.py

I get
Traceback (most recent call last):
  File "./script/gen_requirements_all.py", line 131, in <module>
    main()
  File "./script/gen_requirements_all.py", line 115, in main
    data = gather_modules()
  File "./script/gen_requirements_all.py", line 57, in gather_modules
    for package in sorted(explore_module('homeassistant.components', True)):
  File "./script/gen_requirements_all.py", line 32, in explore_module
    found.extend(explore_module(name, False))
  File "./script/gen_requirements_all.py", line 21, in explore_module
    module = importlib.import_module(package)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 662, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/lib/python3.5/site-packages/homeassistant-0.10.1-py3.5.egg/homeassistant/components/motor/__init__.py", line 14, in <module>
    from homeassistant.const import (
ImportError: cannot import name 'SERVICE_OPEN'

This also happens in the dev branch. So I think this is not due to my new component. Am I right?

script/gen_requirements_all.py for works me in dev.
This line is wired: File "/usr/lib/python3.5/site-packages/homeassistant-0.10.1-py3.5.egg/homeassistant/components/motor/__init__.py", line 14, in <module>. Could it be that that you are no longer in your venv or have multiple installations of HA.
There are some other issues which makes the CI fail.
lint runtests: commands[1] | pylint homeassistant
************* Module homeassistant.components.sensor.deutsche_bahn
W: 67, 0: Bad indentation. Found 12 spaces, expected 8 (bad-indentation)
C: 80, 0: Missing class docstring (missing-docstring)
C: 90, 4: Missing method docstring (missing-docstring)
W: 99,16: Specify string format arguments as logging function parameters (logging-not-lazy)
R: 80, 0: Too few public methods (1/2) (too-few-public-methods)

Bahn AG is not supporting the schiene api unlike in the case of swiss_public_transport.
It's not guaranteed that schiene will work forever, in fact it can happen that Bahn AG will
intentionally brake the API at some point. In the past Bahn AG has not always been very supportive
to the open source community.

This is a generic problem. We have most of time no assurances that an API will be available forever. Blockchain.info changed their API (#1242) and now the Bitcoin senor can not be used.

Could it be that that you are no longer in your venv or have multiple installations of HA.

The situation is a bit complicated. I run HA on Arch Linux witch comes with python 3.5. I want to use Z-Wave. There is a bug in Z-Wave so I can  not use python 3.5 and thus I use a virtual env with python 3.4 to run HA.
I used the default python3.5 to run /script/gen_requirements_all.py. I now tried to run the script from the virtual env with python3.4, but I get the same error.
Since I'm developing I run everything from the clone of my git repo, but there is also a pip installed version on the system. Is this the problem?

Can somebody help me with the reason why Travis still fails? I tells me:
Please run script/gen_requirements_all.py

ERROR: InvocationError: '/home/travis/build/balloob/home-assistant/.tox/requirements/bin/python script/gen_requirements_all.py validate'

___________________________________ summary ____________________________________

ERROR:   requirements: commands failed

but by now I can run the script/gen_requirements_all.py on my local machine.

So I passed the checks :)
Now I have made a big mess with my pull request and I'm supposed to squash them. Problem is, I don't know how. A part of the work has been done on github within the browser and these changes are not in the branch of the fork that I created for the pull request in the first place. Any suggestions?

You can only squash commits on your computer. Check out the branch locally, use git pull to pull down the latest changes and use rebase to squash the commits. After that you'll have to force push to overwrite the multiple commits in this branch.
And if all else fails, follow this xkcd

:+1:  Okay, I follow this if it doesn't work.

All suggestions are in and it is squashed. I think it can be merged now.

Nice! :dolphin:


no more 'docker node reject' in docs

ping @sfsmithcha @icecrime @thaJeztah

not sure about how to fix this one

this is jenkins & hugo going wonkey

retest this please

LGTM

Thanks! LGTM

LGTM


BEMRosseta linking failure

On Linux I have following warning that prevents me from compiling BEMRosseta:
/home/klugier/upp/.config/u++/theide/UppHub/SysInfo/SysInfo/Crash.cpp (42): warning: 'set_unexpected' is deprecated [-Wdeprecated-declarations]
 (): std::set_unexpected(UnexpectedHandler);
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/exception (88): note: 'set_unexpected' has been explicitly marked deprecated here
 (): _GLIBCXX11_DEPRECATED
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/x86_64-pc-linux-gnu/bits/c++config.h (105): note: expanded from macro '_GLIBCXX11_DEPRECATED'
 (): # define _GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/x86_64-pc-linux-gnu/bits/c++config.h (96): note: expanded from macro '_GLIBCXX_DEPRECATED'
 (): # define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
 (): 1 warning generated.

It seems that removing std::set_unexpected(UnexpectedHandler); fix the problem. However, I assume that you will replace it with something else...

Thank you Zbigniew
I don't get that error, but it is clearly documented.
I haven't found a way to replace it, it seems it is simply removed from C++, so I have commented set_unexpected.
Best regards
Iñaki


Schema is not updated when "doc" attribute changed

I have changed some "doc" attributes in my avro schema, but the tool doesn't update them in schema registry.

It correctly checks that the schema is compatible.
Then it downloads latest version from registry.
But the comparsion of these two schemas returns true so the schema is not updated then.
https://github.com/domnikl/schema-registry-gitops/blob/186efb2e038c5141128c736795dfed61b22e512e/src/main/kotlin/dev/domnikl/schema_registry_gitops/state/Diffing.kt#L69

At first it looks like no problem, but when applications are trying get schemaid from registry (POST /subjects/{subject}), the registry returns 403 Schema not found (even with normalize=true parameter)
In documentation, they wrote that

Schema Registry will use the string representation of the schema for registration/lookup

I think that tool should use same method for schema comparison as registry do.

I prepared "quickfix" for my case and replace the deepEquals comparison with
remoteSchema.canonicalString().equals(subject.schema.canonicalString())
looks good for our usecase

Adjusted it in 53b648e, will release a new version with it later.


[BUG] No possible to select ETH tokens on search

Describe the bug
When adding a token on ETH over the search function, it doesn't get added to the vault. When adding over the pre-presented list of tokens it is possible
To Reproduce
Steps to reproduce the behavior:

Go to "Add Tokens" View
Search for token and "save"
See error, token doesn't get added

Expected behavior
Able to add tokens after search
Screenshots
https://github.com/user-attachments/assets/2d10ef43-8976-4328-9639-d697d21d0be4
-iOS version 37
Additional context
Could be possible that it only happens when ETh balance in general is 0, as with my swap vault it does not happen

I just tested it now. None of those tokes I know, one i've searched and it worked.


Cannot generate gRPC stubs with java-shaded configuration

Tried a dozen different configs and can't seem to get the gRPC stubs to compile. I need the shaded proto code to work with HBase
        <dependency>
            <groupId>com.github.os72</groupId>
            <artifactId>protobuf-java-shaded-351</artifactId>
            <version>0.9</version>
        </dependency>
        <dependency>
        <groupId>com.github.os72</groupId>
        <artifactId>protobuf-java-util-shaded-351</artifactId>
        <version>0.9</version>
        </dependency>
...
            <plugin>
                    <groupId>com.github.os72</groupId>
                    <artifactId>protoc-jar-maven-plugin</artifactId>
                    <version>3.5.1</version>
                    <executions>
                            <execution>
                                    <phase>generate-sources</phase>
                                    <goals>
                                            <goal>run</goal>
                                    </goals>
                                    <configuration>
                                            <protocVersion>3.5.1</protocVersion>
                                            <!-- <includeStdTypes>true</includeStdTypes> -->
                                            <!-- <protocArtifact>com.google.protobuf:protoc:3.0.0</protocArtifact> -->
                                            <protocArtifact>com.google.protobuf:protoc:3.5.1</protocArtifact>
                                            <inputDirectories>
                                                    <include>src/main/proto</include>
                                            </inputDirectories>
                                            <outputTargets>
                                                    <outputTarget>
                                                            <type>java-shaded</type>
                                                            <outputDirectory>src/main/java</outputDirectory>
                                                    </outputTarget>
                                                    <outputTarget>
                                                            <type>grpc-java</type>
                                                            <outputDirectory>src/main/java</outputDirectory>
                                                            <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.16.1</pluginArtifact>
                                                    </outputTarget>
                                            </outputTargets>
                                    </configuration>
                            </execution>
                    </executions>
            </plugin>

Output
[ERROR] XXX/src/main/java/com/x/proto/GeneratorGrpc.java:[50,64] method marshaller in class io.grpc.protobuf.ProtoUtils cannot be applied to given types;
[ERROR]   required: T
[ERROR]   found: com.x.proto.Empty
[ERROR]   reason: inferred type does not conform to upper bound(s)
[ERROR]     inferred: com.x.proto.Empty
[ERROR]     upper bound(s): com.google.protobuf.Message

[ERROR] XXX/hbase/src/main/java/com/x/proto/GeneratorGrpc.java:[238,70] getServiceDescriptor() in com.x.proto.GeneratorGrpc.GeneratorBaseDescriptorSupplier cannot implement getServiceDescriptor() in io.grpc.protobuf.ProtoServiceDescriptorSupplier
[ERROR]   return type com.github.os72.protobuf351.Descriptors.ServiceDescriptor is not compatible with com.google.protobuf.Descriptors.ServiceDescriptor
[ERROR] X/hbase/src/main/java/com/x/proto/GeneratorGrpc.java:[233,67] getFileDescriptor() in com.x.proto.DnsGeneratorGrpc.GeneratorBaseDescriptorSupplier cannot implement getFileDescriptor() in io.grpc.protobuf.ProtoFileDescriptorSupplier

I assume I have a version mismatch?

I don't think this has been tried before - shaded plus grpc. We might need a new type grpc-java-shaded and rewrite the grpc-generated code. This may be a relatively simple search-replace exercise, need to look. But we may also need a shaded grpc runtime
Would you be able to help? See how java-shaded is implemented

Ok, good to know. I'll take a look at java-shaded and see if it is something I understand enough to tackle.
One easy resolution I landed on though for my specific use case (HBase 1.x depending on Protobuf 2 while needing Proto3 + gRPC) was moving up to HBase 2 which resolves the underlying proto dependency directly.

I'm also seeing that a grpc-protobuf-shaded would be helpful alongside grpc-netty-shaded. I'm having issues using newer gRPC versions in a project due to inclusion of io.kubernetes:client-java's conflicting protobuf-java versions.

The feature would be quite complex to implement
Would you consider sponsoring/donating to the project?


Homebrew method of installation

Is your feature request related to a problem? Please describe.
I would like to install and receive upgrades for cherrybomb using my package manager on macOS. Homebrew.
Describe the solution you'd like
I would like to do a brew install cherrybomb to install cherrybomb to the latest version.
Describe alternatives you've considered
Installing it using a script. I would prefer a package manager to be notified when an upgrade is available.
I use the latest version of macos

Hi, can i work on this issue to add brew install formula

Hi, sure thing, we'd love the help! tell me what's your discord handle so I can add you to our Cherrybomb development channel on our discord server, and we can discuss all the necessary stuff there!

udhaykumar#6917

This is the server https://discord.gg/dugG3vTW, once you join I'll give you a different role so you can join the channel


Why SYCL is a must fof this oneMKL? Instead of CUDA support?

How can I build oneMKL with CUDA under Ubuntu 22.04 ? Without using SYCL ?

Hello @jiapei100,
I will try to answer your questions.

How can I build oneMKL with CUDA under Ubuntu 22.04 ?

To build oneMKL with CUDA, you just need to follow the build instructions.
You will need a compiler that supports SYCL. So you just need to install intel/llvm.
Furthermore, oneMKL is an interface that calls the backend libraries.

Without using SYCL ?

You can't build oneMKL without SYCL support. oneMKL uses the C++ language of course, but it also uses an abstraction layer called SYCL, which is a kind of overlay of C++ if you will.
With the compiler above you will use the Intel oneAPI Data Parallel C++ (DPC++) APIs of SYCL.
As you can see in the README.md, oneMKL provides users with an interface, called oneAPI, that uses DPC++.
So it is not possible to build oneMKL without SYCL support.
I hope I have answered all your questions.
Don't hesitate to report any misunderstanding you may have,

@Sholde Thanks for the explanations. :) As mentioned by @Sholde oneMKL interfaces project is part of oneAPI that is based on DPC++/SYCL. The purpose here is, use oneAPI and run it on every hardware. In this particular case (oneMKL interfaces repo), the purpose is to create an interface layer that can be used to run oneMKL APIs on every hardware. So, you will need a SYCL implementation (such as DPC++, LLVM or hipSYCL) to be able to build oneMKL interfaces and then you can choose the backend depending on the hardware you have. For NVIDIA GPUs, you need either LLVM compiler with CUDA backend.
Hope this helps answering the question.

@jiapei100 if the provided answers are sufficient, can we close this issue?

@mmeterel
Thank you so much ...
I got a AMD Ryzen Threadripper 3960X 24-Core Processor CPU, with NVidia Geforce 2080 Ti GPU.
It seems I need to have hipSYCL.. Am I right?

Thank you  @mmeterel  ...
I still have some conern:

Is ISPC specifically for Intel chips and Intel chips ONLY ?? What if I have a AMD chip?
If YES, is it possible to build ISPC for AMD chips ?

@jiapei100 I am not familiar with ISPC and do not want to give wrong information. I would suggest posting this question to ISPC repo.

Closing this issue, since the original question is answered.

You do understand clang also supports cuda? As good as nvcc. And one can just say that PTX and Streaming assembler, SASS is just SYCL.


Doc: Generate all man pages for nanol CLI

We should build all man page and have automatic update into the documentation.

You can see example of building man page in our src/build.rs

Man pages are only related to binaries. The bin folder
For nanocld it's already done.
For nanocl we are missing some


members of namespace not included in final md if members are refid

Hi! I am an encountering an issue with the following code where the enum enum1 and void func3 show on the page associated with group1, but not on the page associated with namespace Foo.
/** @addtogroup group1 The First Group
 *  @{
 */

namespace Foo {
    /** @addtogroup group1 The First Group
     *  @{
     */

    /**
     * @brief an enum inside a namespace
     */
    enum enum1 {
        A,
        B
    };

    /**
     * @brief a class inside a namespace
     */
    class class1 {
        public:
        /**
         * @brief a func1 inside a class inside a namespace
         */
        void func1();
        /**
         * @brief a func2 inside a class inside namespace
         */
        void func2();
    };
    /**
     * @brief a func3 inside a namespace
     */
    void func3(){};

    /** @} */
}

/** @} */

After a little preliminary debugging, here is what I have found:
The xml for the namespace looks like this:
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.10.0" xml:lang="en-US">
  <compounddef id="namespaceFoo" kind="namespace" language="C++">
    <compoundname>Foo</compoundname>
    <innerclass refid="classFoo_1_1class1" prot="public">Foo::class1</innerclass>
    <sectiondef kind="enum">
      <member refid="group__group1_1gad39a3a7f855ec8cf8715e5d7e6787539" kind="enum"><name>enum1</name></member>
    </sectiondef>
    <sectiondef kind="func">
      <member refid="group__group1_1ga2a68212559a3785d1ee59693366c4a45" kind="function"><name>func3</name></member>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="includes/grouptest.h" line="5" column="1"/>
  </compounddef>
</doxygen>

and in Node._check_for_children() there is no check for members inside of a sectiondef.
In file Node.py, around line 233 I would expect to see something like:
 for member in sectiondef.findall("member"):
    # handle logic of members with a refid...

I am ready to take a stab at this at submit a PR, but I would like to open this issue first to check with @JakubAndrysek to see if that logic was left out for some good reason.
Thanks in advance for any information you may have for me.

Hi, I have taken over this part of the project after Doxybook, which might contain some bugs. My main goal was to integrate Doxybook as a MkDocs plugin, and I didn`t modify the core part of the project.
Feel free to fix these core issues, and if you know how to help fix other issues, I will be grateful.
Thanks, Jacob.


Fix Mod vanillaexcavators (1.1.0) uses 'requires' key in fabric.mod.json, which is not supported - use 'depends'

[10:22:50] [main/WARN]: Mod `vanillaexcavators` (1.1.0) uses 'requires' key in fabric.mod.json, which is not supported - use 'depends'

Thanks!