Make sample ballots accessible

Requires someone who has Acrobat Pro or some tool that can do text recognition.

PDFs of ballots are here: https://github.com/OpenMaine/maineballot/tree/master/assets/docs/2020-07-14_ballots

I can try running these through ocrmypdf on my machine tomorrow.

@cristoslc Awesome, thanks!

We have two more ballots.  I haven't put the Sample watermark on these yet.  @cristoslc let me know if you need the versions of the other ones without that to get the OCR to work (not sure which should come first).
Biddeford.pdf
SouthPortland.pdf

@shannonmcharg I'm testing OCR on the watermarked ones now, will know in a few minutes.
Separately, is there a reason to use the photo of the Portland ballot instead of the official sample from https://portlandmaine.gov/DocumentCenter/View/17946/Sample-Ballots-July-2020?bidId= ?

Nope, we can use the official one.  I couldn't find it when I last looked.

first result looks pretty promising. I'll grab the Portland official ballot and batch the rest of these.
I'm not familiar with accessibility testing, what should I use to validate that the output is acceptable? Or is any level of OCR with intact words/sentences acceptable?
Westbrook.ocr.pdf.txt
Westbrook.ocr.pdf

@rentry What do you do to validate accessibility of pdfs?

I don't have a great way to validate. Acrobat will show the rendered output and flag words where the rendering of the text was potentially incorrect. The only other way I've done it is to copy the rendered OCR text into another doc and manually compare with the original.

I submitted a PR with the updated files. I included the text exports as separate files, in case they can be used somehow. Scanning those will also show the quality of the OCR. The bulk of the text is fine, but there are a ton of artifacts from signatures, glyphs, etc.
If you're expecting a few hundred PDFs, and the output quality is acceptable, we can potentially scale this to an automated service (user uploads the PDF, server runs OCR and commits to a branch).

The source file for Gardiner didn't OCR well, do you want to keep this issue open or create a new one to try and get a better file?

I'm not going to be able to get a new Gardiner file.  The person I got it from already filled in their ballot.  I did have to lighten the image, so you could try using the original picture and see if it's better.

I don't suspect we'll end up with all that many pdfs.

Thanks for the additional image! I got slightly better results using the original Gardiner image provided (published 65c3651), but I think it would still give a screen reader fits.
Also added Lewiston.

I added the sample watermark to all the ones that didn't have it.  I'm not sure if that's necessary, especially if the towns that have ballots aren't doing it.  I just wouldn't want anyone to try printing any ballots out and trying to vote with them.  Is that overkill?

@shannonmcharg I don't see the harm in adding the watermark. I can add watermarking to the process pretty easily, if you want to post the image/pdf overlay you're using.
Is there somewhere it would be useful to document my process, so that others can also perform the OCR conversion? It's just a shell script that runs a few free command line utilities. (Running on a Mac, but I don't know that they're mac-only necessarily.)

I'm just using the watermark function in the Pages menu in my pdf editor.  I pick a gray that shows up with 45 degree angle and 50% opacity.

Fee free to find a place that makes sense in the wiki to document the OCR process.

@shannonmcharg It looks like (from ☝) that you have the feature to output accessible, searchable PDFs. On the right side, where it reads "Text Recognition," it should allow you to render the text. You'll probably need to do some correction, but it looks like it's there.

I don't have privileges to edit the wiki, and AFAIK there's no way to do pull requests on a wiki. How would you like me to submit the updates?

Here's Topsham.

@cristoslc You weren't a member of the OpenMaine organization, which may be why you couldn't edit the wiki.  I sent to an invite to the org, so you should be able to edit after accepting.

@rentry Good to know I have the text recognition capability.  Thanks.

thanks, @shannonmcharg
wik updated: https://github.com/OpenMaine/maineballot/wiki/Make-PDFs-screen-reader-friendly-with-OCR
Topsham OCRd and watermarked: 1776d70

@cristoslc The instructions for making the pdfs accessible look great!


call app().quit() core dumped in ubuntu20.04

EventLoop.cc:115: trantor::EventLoop::~EventLoop(): Assertion `!looping_' failed.
Aborted (core dumped)
dose this normally?
I want to listenning user quit,and my codes are:
code:
thread run([] {
drogon::app().run();
});
//leave thread
run.detach();
//listen to exit
cout << "Server Started enter quit to quit " << endl;
string quit;
while (true){
cin >> quit;
if (quit == "quit")
{
break;
}
quit.clear();
}
drogon::app().quit();
cout << "Server Stopped " << endl;

There are race conditions in your code, try to use:
thread run([] {
drogon::app().run();
});
//leave thread
//run.detach();
//listen to exit
cout << "Server Started enter quit to quit " << endl;
string quit;
while (true){
cin >> quit;
if (quit == "quit")
{
break;
}
quit.clear();
}
drogon::app().quit();
cout << "Server Stopped " << endl;
run.join();////make sure that the main event loop has quited.

thanks


[ANN] RSpec 'master' docs available

Using code that enhances YARD, I have a site with Ruby and several gems doc'd.  The site is updated at least daily...
The docs for Rspec are here:
https://msp-greg.github.io/rspec/
I combined docs for the following repos together, which may simplify reviewing them:
rspec/rspec
rspec/rspec-core
rspec/rspec-expectations
rspec/rspec-mocks
rspec/rspec-rails
rspec/rspec-support
Home page with all the repos is here:
https://msp-greg.github.io/

An interesting project! Thanks for highlighting, how are you combining our docs?

It needs all the repos in a defined structure, and I've got all of them locally.  The equivalent section of the `.yardopts' file is:
rspec/lib/**/*.rb
rspec-core/lib/**/*.rb
rspec-expectations/lib/**/*.rb
rspec-mocks/lib/**/*.rb
rspec-rails/lib/**/*.rb
rspec-support/lib/**/*.rb
-
rspec/README.md
rspec-*/README.md
rspec-*/Changelog.md
rspec-core/Filtering.md
rspec-expectations/Should.md

The project started as a 'I just want to review code/docs on my tablet' issue, and then continued.  Adding reasonable Ruby parsing was a large addition, followed by Rails DSL stuff...
A long time ago I had Rspec docs in separate folders locally, and it drove me nuts.  YMMV

Interesting, I wonder if its worth combining them on our official docs over on rspec.info


Benchmarks for find() algorithm #325

This addresses issue #325 .
I've added find() algorithm benchmarks for Boost.Compute, STL, Thrust. Benchmarks are based on worst-case scenario (searching for element that isn't in vector).

Minor issue with the STL version. After fixing that it should be good to merge. Thanks!

It's interesting that Travis build failed. I'm not sure why.

Looks great! Merged!

And don't worry about the g++-4.8: internal compiler error Travis build error for GCC. It's not related to your change. I've been looking into it. For now, as long as the clang passes it should be good.


Use Clang when building JAX via build/build.py

Previously the CC=clang CXX=clang++ variables had no effect and we were building using GCC. Now that build/build.py has a supported use_clang flag, use that instead.
This PR can be merged after https://github.com/google/jax/pull/19633 is merged.

Build failing presumably because the JAX commit is pinned in the manifest: https://github.com/NVIDIA/JAX-Toolbox/blob/bbdf7d051e4ca3da9840573109775ccd43ae5279/.github/container/manifest.yaml#L5.

Build failing presumably because the JAX commit is pinned in the manifest:
https://github.com/NVIDIA/JAX-Toolbox/blob/bbdf7d051e4ca3da9840573109775ccd43ae5279/.github/container/manifest.yaml#L5

I bumped the manifest just now (and rebased on main).


Texts seem upper case

Texts of bar titles are capital letters. Is it known thing or a bug? http://prntscr.com/r2mprj And is there any option for changing color, size of text?

CheckforceUpperCase and labelStyle properties


Javascript heap out of memory

Describe the bug
Sync Medalla until slot 503311 and I got OOM issue
Tuyens-MacBook-Pro-16519:lodestar-cli tuyennguyen$ rm .medalla.weak/enr.json
Tuyens-MacBook-Pro-16519:lodestar-cli tuyennguyen$ rm -rf .medalla.weak/peerstore/
Tuyens-MacBook-Pro-16519:lodestar-cli tuyennguyen$ !node
node --inspect lib/index.js beacon --testnet medalla --root-dir .medalla.weak > .medalla.weak.log.7
Debugger listening on ws://<IP_ADDRESS>:9229/35de6389-fe4b-4800-a759-5f0d5209ef15
For help, see: https://nodejs.org/en/docs/inspector
Tuyens-MacBook-Pro-16519:lodestar-cli tuyennguyen$ rm -rf .medalla.weak/peerstore/
Tuyens-MacBook-Pro-16519:lodestar-cli tuyennguyen$ !node
node --inspect lib/index.js beacon --testnet medalla --root-dir .medalla.weak > .medalla.weak.log.7
Debugger listening on ws://<IP_ADDRESS>:9229/8dfa08a2-9676-4b53-9c9d-51fa7085ffb9
For help, see: https://nodejs.org/en/docs/inspector
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x100078c35 node::Abort() [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 2: 0x100078db9 node::OnFatalError(char const*, char const*) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 3: 0x10016e8d7 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 4: 0x10016e873 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 5: 0x1002f2605 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 6: 0x1002f3d2d v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 7: 0x1002f0ae6 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 8: 0x1002eea3c v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
 9: 0x1002fa114 v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
10: 0x1002fa18f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
11: 0x1002d2940 v8::internal::Factory::NewBigInt(int, v8::internal::AllocationType) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
12: 0x10040d2c9 v8::internal::MutableBigInt::LeftShiftByAbsolute(v8::internal::Isolate*, v8::internal::Handle<v8::internal::BigIntBase>, v8::internal::Handle<v8::internal::BigIntBase>) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
13: 0x1005c8fe6 v8::internal::Runtime_BigIntBinaryOp(int, unsigned long*, v8::internal::Isolate*) [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
14: 0x1009288f9 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/Users/tuyennguyen/.nvm/versions/node/v12.10.0/bin/node]
Abort trap: 6

In my branch I cache 64 blocks max so I don't think that's an issue.
Last time I can sync to slot 525000 so this is not decided by how far we can sync Medalla, it happens kind of randomly.
Expected behavior
OOM issue should never happen

according to p2p spec, we have to support up to MAX_REQUEST_BLOCKS which is 1024 in beacon_blocks_by_range. Not sure if it's too much for us, I'll try to log request body to see.

I had an OOM yesterday, but wasn't able to get around to profiling it to see exactly what happened.  It happened for me at around epoch 3200 or so (sometime during a long period of unfinality)

#1697  explains why we have this OOM randomly

Got OOM again after removing epochProcess from cache and disable all gossip topics (except for beacon_block topic). It happened at slot 561685.
Will reduce number of checkpoint state cache and try again.

this issue is caching EpochProcess causing OOM. For regen causing OOM, there is a different issue #1701


Provide an option during install to update components

Description
Currently, the Beckn-ONIX installation flow does not provide an option to update the software while preserving the existing configuration. When running the update script, users are prompted to re-enter registry, subscriber, webhook information, and other configuration values, which can result in errors if users make typos. Additionally, the script generates a new key pair, but due to an issue in the Registry, this new key pair is not automatically updated. As a result, users must manually update the public key in the Registry, creating unnecessary steps and potential for errors.
Goals

[x] Implement an option to update the software while keeping the existing configuration intact.
[x] Ensure that the update process does not prompt the user for registry, subscriber, webhook, or other previously configured details.
[x] Resolve the issue of the key pair not being automatically updated in the Registry during the update process.

Expected Outcome

The update process will retain all existing configuration settings (e.g., registry, subscriber, webhook info) without requiring the user to re-enter them.
The key pair will be automatically updated in the Registry as part of the update process.
Users will have a smoother, error-free experience during the update without the need for manual interventions.

Acceptance Criteria

[x] The update process successfully retains existing configuration settings without user input.
[x] The key pair is updated automatically in the Registry when the software is updated.
[x] The update process does not cause any disruptions to the user’s existing setup.

Mockups / Wireframes
NA
Product Name
Beckn
Domain
TBD
Tech Skills Needed

Scripting
Beckn Protocol

Complexity
Medium
Category
Installation
Sub Category
Software Update

I connected with Venky, and he confirmed that the BPP is not accessible from the gateway.
We have shared the Nginx configuration file with Vinod's team and requested them to review the Nginx setup on their server.

We have implemented the application update feature in the beckn-onix script.
PR: https://github.com/beckn/beckn-onix/pull/301


Add note about recreating ordered consumer

Ordered  Consumers should be recreated when heartbeats are missed.
This behaviour was not implemented in all clients and should be, especially after switching ordered consumers to memory storage and R1 which makes them much easier to loose.
This was found out in Go client in https://github.com/nats-io/nats.go/issues/1094

I understand that mem_storage and num_replicas are optimizations, but are they needed for all ordered consumers or just KV? Are there cases (topology, etc.) where it's not appropriate to have these?
It also seems like we are making ordered consumer mean something else other than "just guarantee the order".
Maybe it's just a documentation issue? Maybe we should transition the name to something else like in the mode of simplification, make this a "managed" consumer?

For ordered consumers, we guarantee delivery in order and the way we achieve that today is that when an error condition is hit we create a new low level consumer picking up from the last good sequence we received, so these low level consumers should have a very light footprint in the system since we do not rely on their state after the client encounters an error.


Error importing custom component

First of all, thanks for your work.
I tried to use this as a drop-in replacement for DarkSky, but it returns an error after installing it via HACS and setting it up with an API key.
I receive the following error in my log file. I am currently running Home Assistant version 2022.9.7
This error originated from a custom integration.

Logger: homeassistant.loader
Source: custom_components/pirateweather/sensor.py:217
Integration: Pirate Weather (documentation, issues)
First occurred: 4:36:59 PM (1 occurrences)
Last logged: 4:36:59 PM

Unexpected exception importing platform custom_components.pirateweather.sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 681, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 698, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/pirateweather/sensor.py", line 217, in <module>
    device_class=SensorDeviceClass.PRECIPITATION,
  File "/usr/local/lib/python3.10/enum.py", line 437, in __getattr__
    raise AttributeError(name) from None
AttributeError: PRECIPITATION

Do you have any idea what I am doing wrong?

Are you able to update your HA installation to the latest version? The version you are currently running doesn't have the Precipitation classes which was added in HA 2022.12.
If you aren't able to update your HA install then the legacy  version is still available to use and would work in this instance.
See issues #91 and #81 for more information

@alexander0042 Maybe there should be text somewhere that states that the HA integration requires HA version 2022.12 or later since these sorts of issues seem to pop up occasionally. Another option would be to add it in the FAQ section on the HA page https://pirateweather.net/en/latest/ha/ or maybe add it to the description and on the HA page?

Ok, so based on this commit it looks like this was introduced around version 2022.10! I'm going to adjust the minimum version for HACS, and I'll a note in the docs describing this

Since we've gotten to the bottom of this and I've improved the docs, I'm going to close this issue for now. If there's anything else that comes up. please free free to either re-open or create a new issue!


[FR] FR-008: Support to config domain name for proxy_controller and analyzer addresses

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
We have the following vtap group config:
vtap_group_id: xxxxxxx
platform_enabled: 1
tap_mode: 0
analyzer_port: 30033
proxy_controller_port: 30035
proxy_controller_ip: internal-xxx-deepflow-ctrl-xxxxxxx.xxxxx.elb.amazonaws.com
analyzer_ip: internal-xxx-deepflow-ctrl-xxxxxxx.xxxxx.elb.amazonaws.com
when we run an agent, the agent reported the following error:
[2022-12-30 15:45:27.496376 +08:00] INFO [src/rpc/session.rs:588] rpc IP not changed, no valid proxy IP provided
[2022-12-30 15:45:27.498619 +08:00] WARN [src/rpc/synchronizer.rs:657] invalid response from <IP_ADDRESS> with invalid config: runtime config invalid: proxy-controller-ip(internal-xxx-deepflow-ctrl-xxxxxxx.xxxxx.elb.amazonaws.com) invalid
[2022-12-30 15:46:26.869126 +08:00] ERROR [src/rpc/synchronizer.rs:780] rpc error Status { code: Unknown, message: "error reading a body from connection: broken pipe", source: Some(hyper::Error(Body, Error { kind: Io(Kind(BrokenPipe)) })) }
Since some elb DO NOT have static vip, we need config domain name for them. We hope deepflow agent support the domain name for controller and analyzer address.
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

https://github.com/deepflowys/deepflow/pull/2063
will be released (beta) in 6.2.1
cc @mytting


Unable to run on m1 mac - ModuleNotFoundError: No module named 'dask'

Describe the bug
Installed the latest version of of pyoptimus[pandas], but it keeps failing  with No module named 'dask'
To Reproduce
Steps to reproduce the behavior:

Started a fresh project with python 3.9
Installed pyoptimus pip install pyoptimus
try running

from optimus import Optimus
op = Optimus("pandas")

Expected behavior
Should just run without error
Logs
Traceback (most recent call last):
  File "/Users/user101/Workspace/Gitlab/data-toolkit/index.py", line 2, in <module>
    op = Optimus("pandas")
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/optimus.py", line 129, in optimus
    op = engine_function(engine, funcs)
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/optimus.py", line 42, in engine_function
    return func[engine](*args, **kwargs)
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/optimus.py", line 48, in start_pandas
    from optimus.engines.pandas.engine import PandasEngine
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/engines/pandas/engine.py", line 4, in <module>
    from optimus.engines.base.engine import BaseEngine
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/engines/base/engine.py", line 8, in <module>
    from optimus.engines.base.io.connect import Connect
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/engines/base/io/connect.py", line 3, in <module>
    from optimus.engines.base.dask.io.jdbc import DaskBaseJDBC
  File "/Users/user101/Library/Caches/pypoetry/virtualenvs/data-toolkit-4-9dHPyH-py3.9/lib/python3.9/site-packages/optimus/engines/base/dask/io/jdbc.py", line 4, in <module>
    from dask.dataframe import from_delayed, from_pandas
ModuleNotFoundError: No module named 'dask'

Desktop (please complete the following information):

OS: macOS  12.4
Additional context
Also noticed since the app depends on older version of numpy installing pyoptimus[dask] keeps failing

Hi @Avinava ,
This is because we are using dash to improve the data handling when connecting to databases.
We are working on using https://github.com/sfu-db/connector-x instead.
Could you please instaa dask?

@argenisleon so shouldn't the
pip install pyoptimus[pandas] ideally should include the dask engine as well ? since they are dependent.
noticed the samething on vaex pip install pyoptimus[vaex]` , when running the code it says "engine.vaex" not found. (not exactly the same message, but something along the line)

@Avinava you are right. Dask should not be a [pandas] dependency. Going to work on implementing Connector-x and hope to make the transition in a couple of days.
Also, I  am going to check the vaex engine.

We are working on a deep Optimus rework. We expect to handle this for the big new release.


Toascii: Add a default for without --output and a description in USAGE_desktop.md

Could it add a default for without --output, like previous version? Also, it needs a description about --output in https://github.com/LunarG/gfxreconstruct/blob/dev/USAGE_desktop.md#to-ascii.

It should work without --output now the way it worked previously.  But #656 fixes a bug which may be causing a problem that you're seeing.

Fixed. Thanks


Reticule passing through the ViroImage

Hi, i'm experiencing something strange recently.
I have a background 360 photos and I put a ViroImage on it, When I click on this image it goes to the next scene BUT when the reticule is on it appears through the image and it's like squint.
Do you have any help on this ?
Thanks

Hi @Zirconiumirish, this could be a bug with the reticle as the bounding box of the image could be calculated incorrectly, leading the reticle to be drawn past it rather than on it. Can you send us the Javascript scene code for that scene so we can debug it on our end. Thanks!

Hi thanks for your answer here is the Js file
Thanks for your help.
Accueil.js.zip

Any informations for this problem ?
Thanks

Hi @Zirconiumirish sorry for the delay in responding. This is a known issue that we are working to resolve. Hope to have it fixed on the next update. Will update this issue once we have a fix.

Hi @Zirconiumirish,
The reticle issues should be fixed in our latest release now:
https://docs.viromedia.com/docs/releases#section-react-viro-v2-2-0-react-viro-cli-v2-2-0-compatible-with-react-native-v0-49-3-
Let us know if this isn't the case!

Hey @vysotsky, to better diagnose this issue, can you please provide:

Code sample that reproduces this issue.
2 Consistent repo steps you've taken to reproduce this issue.
Video / Gif examples on demonstrating this issue.

Thanks!

Closing as this issue should be fixed. Please re-open if you are still encountering the issue. Thanks


chore: add publishConfig to package.json

What I did

Add publishConfig for npm to package.json

@bennypowers when you return from vacation (not before 😄 )

Publishes to NPM repo, and creates git tags.  These commands are separate to enable you to check if release commit is accurate.

https://github.com/changesets/changesets/blob/main/packages/cli/README.md#publish
Feels unclear to me and not my area of expertise, while assuming it would be ok to run this from CLI manually after this PR is merged, I'd rather be safe than sorry here.


Adding vectorized indexing docs

[x] closes #4630, closes #3768

#4630: Adds a new vectorized indexing example to sel docstring and narrative docs.
Thanks to @dcherian for introducing me to vectorized indexing and @keewis for providing some information to get started. Also thanks to the community for the excellent contribution guide. http://xarray.pydata.org/en/stable/contributing.html
Am I missing anything here? Or is there anything that can be improved? I'm happy to see this through - thanks in advance for any feedback/tips!

Hello @EricKeenan! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/dataarray.py:

Line 1104:1: W191 indentation contains tabs
Line 1104:1: E101 indentation contains mixed spaces and tabs
Line 1111:1: W191 indentation contains tabs
Line 1111:1: E101 indentation contains mixed spaces and tabs
Line 1112:1: W191 indentation contains tabs
Line 1112:1: E101 indentation contains mixed spaces and tabs

Hello @EricKeenan! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/dataarray.py:

Line 1104:1: W191 indentation contains tabs
Line 1104:1: E101 indentation contains mixed spaces and tabs
Line 1111:1: W191 indentation contains tabs
Line 1111:1: E101 indentation contains mixed spaces and tabs
Line 1112:1: W191 indentation contains tabs
Line 1112:1: E101 indentation contains mixed spaces and tabs

I would update the example in indexing.rst to use the dataset from the previous examples and maybe copy / adapt the examples to Dataset.sel / Dataset.isel (can be a new PR, though), but otherwise this looks good to me.

I would update the example in indexing.rst to use the dataset from the previous examples and maybe copy / adapt the examples to Dataset.sel / Dataset.isel (can be a new PR, though), but otherwise this looks good to me.

Looks great. Thanks @EricKeenan . I see this is your first PR, welcome to xarray!


fix: correct wording and added citation for 'nostalgic jobs'

This is great, thank you. It has a conflict with the other citation that was just added. Can you rectify and update the PR?

This is great, thank you. It has a conflict with the other citation that was just added. Can you rectify and update the PR?

Yep just updated it. I removed the numbers from the citations and adopted the style of the other citation. The numbers would make it more difficult for multiple people to add citations.
Good Luck on your experiment, its keeping me on the edge of my seat ;-)

Regarding the numbers, I have noticed that too. However MD doesnt to script tags for a counter without a precompiler. I guess we could use HTML, LaTeX, Typst, or the like, which increases complexity. So we could just leave the reference as <sup>[citation]</sup>, which isn't perfect either.

We could add a script that runs in a GitHub action and updates the numbers on every commit to the david's main.
If that is a desirable solution, I can try and implement it tomorrow.

Don't worry about github actions or even getting it perfect. The final product will be formatted professional in MS word. We just need to get the meat of the content right. Thanks guys!


flx: add unique key prop to ImportCollection options

Description
This PR uses the key of the options object in import collection to suppress the unique key prop warning.
Fixes issue #2078
Screenshot of the console after the changes (note the lack of a warning):

Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Nice. Thank you @RashidUjang !


Add per-field knn vector format info in SegmentInfo

When indexing vectors, it is possible to use different vector formats depending on the field; in addition to that it's also possible (although not currently implemented) to have Codecs that can provide different vector formats "dynamically" even for a same field.
To better debug such situations, it would be helpful to have per field vector format information within SegmentCommitInfo (e.g. within the attributes).
This trivial PR adds KnnVectorFormat#name for each field to SegmentInfo#attributes in PerFieldKnnVectorsFormat.
If a doc with field1 is indexed with Lucene99HnswVectorsFormat and a doc with field2 is indexed with Lucene99HnswScalarQuantizedVectorsFormat within the same segment, the correspondingSegmentInfo#attributes will have the following entries:

"KnnVectorFormat.field1" -> "Lucene99HnswVectorsFormat"
"KnnVectorFormat.field2" -> "Lucene99HnswScalarQuantizedVectorsFormat"

I'm a bit confused: what is the benefit of having it on segment infos in addition to field infos?

you're right @jpountz , we can probably get away with fieldInfo.getAttribute(PerFieldKnnVectorFormat.PER_FIELD_FORMAT_KEY), I didn't notice that, thanks!


Delete messages only on client side

Hi @sf-harry-kim, @sf-john-kim @sf-jed-kyung, In send-bird javascript sdk, can we delete messages only on the sender or receiver's side.(like in whatsApp, if i delete messages of a chat, it will delete only on my side. On the receiver the messages will still remains) In sdk i seen only deleting a message permanently.
Thanks in Advance

Hi karthickvkumar,
We don't currently fire an event for deleting message. So it doesn't synchronise on both side when deleting.
It will be deleted on receiver's side when they reload previous messages.
Regards,
Harry


IE11 is not supported

Javascript error in IE11 (Object.assign does not exist). Craft itself supports IE10+.

Thanks for reporting!  This has now been fixed in Embedded Asset 2.0.2.


HDDS-8183. Fix edge case where delimiter is empty string in BucketEndpoint#get

What changes were proposed in this pull request?
This patch handles an edge case in BucketEndpoint#get where delimiter is an empty string. Some S3 client (e.g. Minio S3 Client) passes empty delimiter for recursive list.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8183
How was this patch tested?
Unit test and Manual test.
Empty delimiter is able to return the correct response:

Good catch. LGTM!

@ivanandika98 Thanks for your contribution. Merged

Thank you for the review and merge @ferhui .


Tiktok Clone

Issue Type:

[ ]  Bug Report
[x]  Feature Request
[ ]  Documentaion

will be adding the Tiktok clone using HTML, CSS, JS
Please assign me to this, I am a GSSOC'22 participant

@TG922 make sure you don't copy it from anywhere and it's fully responsive. Also, if this project has less JS, I would suggest you close the issue here and raise it in Cool Frontend templates.

@TG922 make sure you don't copy it from anywhere and it's fully responsive. Also, if this project has less JS, I would suggest you close the issue here and raise it in Cool Frontend templates.

OK @VidhiBhatt01

@TG922 open this issue in cool frontend templates. I m closing this issue!


Add files via upload

Increased grating coupler clearances
Renamed devices to avoid conflicts
Pin errors should not cause fab issues

What's the difference between A vs AA, B vs BB, etc? They seem identical.

They are. I wanted to compare pairs of devices. On Feb 10, 2024, at 11:09 PM, omidesml @.***> wrote:
What's the difference between A vs AA, B vs BB, etc? They seem identical.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

@rmicanek  Please check the Functional Verifications. I checked the design D and there are some misalignments between the waveguides.
Regarding identical designs: @lukasc-ubc each design comes with an identical copy. I'm not sure if the measurement results would be conclusive to show variations by copying the designs. Please let me know your feedback.

Are these intentional?

No. Resubmitted. On Feb 11, 2024, at 1:42 PM, omidesml @.***> wrote:
Are these intentional?
image.png (view on web)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

I don’t see my latest files in the ‘latest merge’ link. They are my old ones. Does the merge link get updated automatically or can it be outdated?On Feb 11, 2024, at 11:17 PM, Lukas Chrostowski @.***> wrote:
Merged #283 into main.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Allow non null assertion as shorthand for NonNullable on types

Suggestion

🔍 Search Terms
non null assertion type alias indexed
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Following discussion from older issues such as #13253 & #14366: could ...! be added in the type system as an alias for NonNullable<...>?
📃 Motivating Example
Referring to nested members of nullable types generally requires using the NonNullable type to narrow the outer type. Deeply nested types require a NonNullable for each, which can get tiresome.
For example, trying to export a type alias named Bottom for { data: string; } from this Top type:
interface Top {
  middle?: {
    bottom?: {
      data: string;
    }
  }
}

// Today's world
export type Bottom = NonNullable<NonNullable<Top['middle']>['bottom']>;

// This proposal
export type Bottom = Top['middle']!['bottom']!;

💻 Use Cases
Auto-generated types such as with Apollo+GraphQL often need to make objects that are both deeply nested and nullable all the way down.

Example of a type I'm working with today
export type ArticleQuery = {
  article?: Maybe<{
    body?: Maybe<string>;
    description?: Maybe<string>;
    slug: string;
    title?: Maybe<string>;
    paths?: Maybe<
      Array<{
        goal?: Maybe<string>;
        id: string;
        slug: string;
        title?: Maybe<string>;
        lessonCount: number;
        imageUrl?: Maybe<string>;
        type: 'Path';
      }>
    >;
    tracks?: Maybe<
      Array<{
        proExclusive: boolean;
        id: string;
        slug: string;
        title?: Maybe<string>;
        lessonCount: number;
        type: 'Track';
      }>
    >;
    categories?: Maybe<
      Array<{
        classification?: Maybe<string>;
        slug: string;
        title?: Maybe<string>;
      }>
    >;
  }>;
};

// helper type to make things a little more readable...
export type RequiredRecursive<Entity> = NonNullable<
  {
    [P in keyof Entity]-?: RequiredRecursive<Entity[P]>;
  }
>;

export type ArticleCategory = RequiredRecursive<ArticleQuery>['article']['categories'];

I'll note that while #14366 was closed with the resolution of using the then-newly-available NonNullable operator, the readonly T[] alias for ReadonlyArray<T> is something of an example of two type system ways of doing the same thing.

Duplicate of https://github.com/microsoft/TypeScript/issues/14366
This was a semi-heated conversation https://github.com/microsoft/TypeScript/issues/17621
If I recall correctly, the counter-proposal to a ! type operator was to just always strip off the null and undefined from the operand type of an indexed access type. The people who kind of liked the ! operator didn't entirely like that counter-proposal, so we did neither.

the counter-proposal to a ! type operator was to just always strip off the null and undefined from the indexed type in an indexed access type (i.e. T[K] would always be the same as NonNullable[K])

This doesn't make much sense to me.  Given obj[key], I intuitively expect that value to be assignable to (typeof obj)[typeof key].  Also wouldn't that be a massive breaking change?

Also wouldn't that be a massive breaking change?

It shouldn't be, nobody was able to write NullishObjType[Key] before.

Given obj[key], I intuitively expect that value to be assignable to (typeof obj)[typeof key].

Yeah - well it is for all valid accesses of obj[key], but I agree with the perspective that it should probably not do any more than that. The devil's advocate position is to ask what else a user could plausibly want from writing out NullishObjType[SomeProp].

Ah, that's what I was missing - I got confused and thought the proposal was to strip null and undefined from T[K], i.e. after resolving the indexed-access type.  In other words that T[K]! and T[K] would be equivalent.


issue-54 fixing travis build status to be based off develop

Completes issue #54
Changes in this pull request:

The build status svg in the README referenced my feature branch instead of develop. This fixes that.

I've updated the .travis.yml. I was just testing the "cleaning" feature. It works wonderfully. This will help keep the S3 bucket size low as well.


can't run npm start

C:{my_home}\Documents\EventDrops>webpack-dev-server --colors --devtool cheap-module-inline-source-map --host=<IP_ADDRESS>
No configuration file found and no entry configured via CLI option.
When using the CLI you need to provide at least two arguments: entry and output.
A configuration file could be named 'webpack.config.js' in the current directory.
Use --help to display the CLI options.
I run npm build first. I just want to check the demo with current features.
am I missing something?

According to the Makefile, you should instead run:
./node_modules/webpack-dev-server/bin/webpack-dev-server.js --config webpack.demo.js --hot --inline --colors --host=<IP_ADDRESS>

There is no webpack.config.js default file. Instead you should specify either the demo one, or the lib build one.
All useful commands should be listed in the Makefile. :)

First:
npm run build
Then the command from jpetitcolas above or shorter:
webpack-dev-server --config webpack.demo.js --hot --inline --colors --host=<IP_ADDRESS>
Also I had to replace
import eventDrops from '../dist';
with
import eventDrops from '../dist/eventDrops';
in the file demo/demo.js
to make it work.


Error when fetching the message list

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6.501
Where did you get the app from?
Google Play
Android version
No
Device model
Pixel 7 pro
Steps to reproduce

Open k9
Open an email.
Scroll down in the email.
Watch k9 kick me out of the emails and dump me back in the list of messages.

Expected behavior
I should be able to read emails and not be dumped back into the list.
Actual behavior
K9 dumps me out of the open email into the list
Logs
k9mail-logs.txt

@daffydock: This issue is not about a problem with WebView.

Not mine. I open an email, I'm going through the email, I'm dumped back into the list of emails. I'm still seeing this behavior on my pixel 7pro (on Fi).
On January 17, 2023 12:06:10 PM EST, daffydock @.***> wrote:

As a FYI, latest version fixed this on my device.
For extra reference, I use Bromite Webview.
Cheers and thanks for the update.
--
Reply to this email directly or view it on GitHub:
https://github.com/thundernest/k-9/issues/6572#issuecomment-1385746738
You are receiving this because you authored the thread.
Message ID: @.***>

Stack trace from the log:
java.lang.IllegalStateException: Couldn't read row 875, col 0 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
  at android.database.CursorWindow.nativeGetLong(Native Method)
  at android.database.CursorWindow.getLong(CursorWindow.java:539)
  at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:78)
  at com.fsck.k9.storage.messages.CursorMessageAccessor.getId(RetrieveMessageListOperations.kt:192)
  at com.fsck.k9.mailstore.CacheAwareMessageMapper.map(CacheAwareMessageMapper.kt:10)
  at com.fsck.k9.storage.messages.RetrieveMessageListOperations.getMessages$lambda$2(RetrieveMessageListOperations.kt:54)
  at com.fsck.k9.storage.messages.RetrieveMessageListOperations.$r8$lambda$Mh03lQnrleZzBH53AV2-Paq8QZs(Unknown Source:0)
  at com.fsck.k9.storage.messages.RetrieveMessageListOperations$$ExternalSyntheticLambda0.doDbWork(Unknown Source:8)
  at com.fsck.k9.mailstore.LockableDatabase.execute(LockableDatabase.java:169)
  at com.fsck.k9.storage.messages.RetrieveMessageListOperations.getMessages(RetrieveMessageListOperations.kt:20)
  at com.fsck.k9.storage.messages.K9MessageStore.getMessages(K9MessageStore.kt:111)
  at com.fsck.k9.mailstore.NotifierMessageStore.getMessages(Unknown Source:22)
  at com.fsck.k9.mailstore.ListenableMessageStore.getMessages(Unknown Source:22)
  at com.fsck.k9.mailstore.MessageListRepository.getMessages(MessageListRepository.kt:54)
  at com.fsck.k9.ui.messagelist.MessageListLoader.loadMessageListForAccount(MessageListLoader.kt:63)
  at com.fsck.k9.ui.messagelist.MessageListLoader.getMessageListInfo(MessageListLoader.kt:38)
  at com.fsck.k9.ui.messagelist.MessageListLoader.getMessageList(MessageListLoader.kt:25)
  at com.fsck.k9.ui.messagelist.MessageListLiveData$loadMessageListAsync$1$messageList$1.invokeSuspend(MessageListLiveData.kt:28)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
  at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
  at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

hello sanjaysrikonda66
I have been trying to reproduce the issue you described in my device Samsung A32, Android 13 , But this bug didn't happen for me.
could you provide me with more information on the scenario you experienced in order to help us resolve the issue.

Hi.
I tried to repeat this scenario in the latest version (6.804).
The bug does not occur
Because in this version, on the message screen, with swipe, the operation of fetching and refreshing the list does not occur at all.
However, I think this issue can be closed. @cketti


Fixed a bug of css styling not being applied for TextOverflow parameter

Closes https://github.com/EnsembleUI/ensemble/issues/979

Also now added the updateMaxLines method


Decorate a class

Dear Reviewer,
In this PR the below requirements have been implemented to decorate the classes.

[x] Create a class Nameable
[x] Turn your Person class to Nameable
[x] Prepare base Decorator
[x] CapitalizeDecorator and TrimmerDecorator

Hi @Ibizugbe,
Thank you for the review, Could you please elaborate more on which parts are missing?
Thank you

Hi @Ibizugbe,
Thank you for the review, Could you please elaborate more on which parts are missing?
Thank you

Hello @abeltsew , sorry I didn't point that.. you currently do not have the setup, install and usage section.


feat: stop collecting node monitoring data

Issue
https://github.com/gravitee-io/gravitee-cockpit/issues/2533

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 2.4.0-2533-remove-monitoring-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 2.4.0 :tada:
The release is available on:

2.4.0
GitHub release

Your semantic-release bot :package::rocket:


refact: a comment was made about a key in code

Hey @m-oxu, good spot! This is however kind of intentional.
Since NannyML is being run as a library and there is no intervention from outside into that process, there is no other way to introduce the key into the runtime apart from embedding it somehow. I've checked a couple of other open source projects and they have a similar setup.
I guess one way to increase security a bit could be storing the key in an encrypted form, then decrypting before use. But that code is also visible and people will always be able to replicate it.
The "risk" of exposing this key is however limited. It is only used to authenticate to Segment when shipping usage logs.
If you have any other ideas on how to improve this, do let me know.

The easy and most common way is to save your key in Github secrets, and
call it with your code, like you did in the same file I think.
Dairenkon Majime
Data Scientist Intern at Loft | Data Learning Facilitator at Tera
+55 (31) 9 7177-9734
@.***
@.***
Em sex, 2 de dez de 2022 12:03, Niels @.***> escreveu:

Closed #163 https://github.com/NannyML/nannyml/pull/163.
—
Reply to this email directly, view it on GitHub
https://github.com/NannyML/nannyml/pull/163#event-7941473210, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQZPQOOS5CGMG5HHME3BVVTWLIFVRANCNFSM6AAAAAASRY2J4U
.
You are receiving this because you were mentioned.Message ID:
@.***>


Switch to Docker

As I was searching for a new name, I found this action which is using Docker to setup a PG. The code is pretty simple (9 lines of bash).
I'm wondering if we should work towards this. This will simplify work and deployments, and this will allow users to set their own Docker image, for example to test pre-release version of FDB.
We need to be careful about this, as we still need to install fdb-clients
What do you think?

Yep agree, this would be good.


MacOS ThermoRawFileParser

Hi,
Just to inform you the GUI is not working on MacOS Catalina because of Mono ("Error 2 Mono"), but command line is working!

Thanks for letting us know. It used to work on MacOS before though. Given that the command line works I assume you have Mono installed, so what is the command line you are able to run?

I've uploaded a debug version of the GUI that you can test here: http://vedlegg.uib.no/?id=e0c0c54f46042bd0af1860eb67800c2e. The only change is that it prints the command line before executing the parser. That way you can compare it to the one you run directly from the command line.

Wow, super fast!
Just tested your debug...
Here is what I input as command line:

mono ThermoRawFileParser.exe -i=/users/rutza/Downloads/Test.raw -b=/users/rutza/Downloads/test.mzml -f=1 -g -m=0

(working)
Here is what the debug GUI gives me:

(not working)
Thank you very much!

Adriano:ThermoRawFileParserGUI-1.2.0-debug rutza$ mono /Users/rutza/Downloads/ThermoRawFileParserGUI-1.2.0-debug/resources/ThermoRawFileParser/ThermoRawFileParser.exe -i=/Users/rutza/Downloads/Test.raw -o=/Users/rutza/Downloads -f=0 -e
2019-10-24 14:47:42 Started parsing /Users/rutza/Downloads/Test.raw
2019-10-24 14:47:42 Processing 4784 scans
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
2019-10-24 14:47:43 Finished parsing /Users/rutza/Downloads/Test.raw

Works

Ok, so then the problem seems to be that mono is not in your general path. I'm not a Mac/Linux user myself, but there seems to be other Mac users having similar issues with Mono. See for example: https://stackoverflow.com/questions/32542535/how-to-install-mono-on-macos-so-mono-works-in-terminal. Hopefully some of those tips will solve the issue?

I think the problem is in your config files looking where to find mono...I'm not sure I can modify it.
Just quickly ran which is mono:

/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono

I think the problem is in your config files looking where to find mono...I'm not sure I can modify it.

There are no config files for the GUI. It simply runs the command line displayed in the debug version. I will try to ask around for help from other Mac/Linux users and get back to you.

Here's a new debug version that sets the executable path to the same path as the GUI jar file before running the mono command: http://vedlegg.uib.no/?id=f1a82a1f8c59356afb0833289e5974db. Can you see if that makes a difference?

With the help of @CarlosHorro we have now released a new version that should solve the issue on MacOSX El Capitan (10.11) and later: http://genesis.ugent.be/maven2/no/uib/thermo-raw-file-parser-gui/ThermoRawFileParserGUI/1.2.1/ThermoRawFileParserGUI-1.2.1.zip.
Please give it a go and let us know if it works for you as well. If not, we'll reopen the issue.

Perfectly working, thanks a lot!


Ability to show syntax tree in the playground

Is your feature request related to a problem? Please describe.
It should be able to turn on display of parsed syntax tree in the playground. Maybe even a GraphViz figure!
Describe the solution you'd like
A checkbox for enabling syntax tree output.
Describe alternatives you've considered
The alternative is to not do this.
Additional context
See https://ormolu-live.tweag.io and https://tree-sitter.github.io/tree-sitter/playground for inspiration.

An addendum to this would be to highlight matches of a particular query, either in the code, the visualisation, or both. Maybe that's worth a separate issue, as it would go a long way towards creating a powerful debugging tool...


Make slashingProtectionStr optional

Motivation
From API spec https://github.com/ethereum/keymanager-APIs/blob/409d7e659a472ae262b9ff443015e2a51746653d/apis/local_keystores.yaml#L59 slashing_protection field is optional. However Lodestar server assumes it's always there.
Description
Only import slashing_protection data if defined
Closes https://github.com/ChainSafe/lodestar/issues/4295

tests failing


Feature/env vars existence validation

@PranjaliParnerkar Please Review!
@paltusplintus @shannonhaughton FYI.
This PR is for this PBI
Added assert statements for env variables if they are not defined.

Hi @Vidhisri56, this is still not working as expected. Request you to test Method Builder for each and every environment variables. Let me know if any help is required.

Not needed this PR as this PBI changes are only to done in cldnb


您好，想麻烦问一下，我发现现在的仓库里丢失了很多msg文件，请问去哪里可以下载呢？

Hi, I miss whole_body_state_msg.msg. Where can I download these MSG files?
Looking forward to your reply! @eborghi10

Hi @Supergithubber, I realized that I didn't have issue-posting enabled in my fork. You can now open tickets there if you prefer.
Regarding the missing message files, if you're confident working with Docker, here is the one that I use. If you prefer to install the dependencies by yourself, check this list: be aware that I'm using my own fork for one of the repositories because the maintainers didn't merge my PR yet.
Best.

Thank you so much!


BC 1.71 KeyStore.load performance downgrade

Hello,
When upgrading to BC 1.71 with jdk18on version, we have noticed a large performance downgrade when loading a PKCS12 KeyStore with BC provider.
With default Java provider and BC version 1.70 it works pretty fast, while on version 1.71 the performance downgrade is quickly noticeable (30 seconds against max 3 seconds in 1.70 in our unit test).
Please see our unit test below:
@Test
public void keyStoreProcessingTest() throws Exception {

	Security.addProvider(new BouncyCastleProvider());

	KeyStore keyStore = KeyStore.getInstance("PKCS12", "BC");

	File keystoreContentFile = new File("src/test/resources/extract-tls.p12");
	try (InputStream is = new FileInputStream(keystoreContentFile)) {
		assertTimeout(ofMillis(3000), () -> {
			keyStore.load(is, "ks-password".toCharArray());
		});
	}

}

Tested with this keystore : link.
Do you have an idea what could cause this downgrade?
Best regards,
Aleksandr.

Can't say we've seen anything quite like that. During the 30 seconds, does CPU utilisation drop off, or is this accompanied by high CPU usage as well?

Hello @dghgit ,
I did some additional testing and indeed I observe a CPU utilization decrease when running the unit test with BC jdk18on 1.71. I did my tests simply with a Task Manager, so not sure if there is a better way to check a CPU usage?
Do not know the reason for the problem, but the issue seems to be permanent and the difference in execution time is about 10x times between 1.70 and 1.71 version when I switch the branches.
Any help would be appreciated, as this issue blocks an upgrade to the BC 1.71 for our project at this moment.
Best regards,
Aleksandr.

Hi @dghgit ,
It is Windows. I did not test on Linux so.
Best regards,
Aleksandr.

If you can generate a thread dump during the slowdown period that might help. Another question, if it is Windows, the SunMSCAPI is present isn't it? If it isn't try it with it.

Please find below the thread dumps made for versions 1.70 and 1.71, using a simple unit test execution and processing in a debug mode.
For 1.70, the stopping of thread results to different executable methods within the thread dump, while in 1.71 it always returns the same method (i.e. org.bouncycastle.math.Primes.enhancedMRProbablePrimeTest).
I tried with SunMSCAPI, but it does not seem to be making a difference.
threads_report_1.71_debug.txt
threads_report_1.71_run_1.txt
threads_report_1.71_run_2.txt
threads_report_1.70_debug.txt
threads_report_1.70_run.txt

Ah, okay, yes, how many RSA keys are in the store? Sounds like a few. Yes, looking at the stack trace the time being used is for RSA modulus validation, which is expensive. The only thing I can really suggest here is that we make it configurable, although the defaults are the minimum required for importing an RSA public key securely. You might want to consider changing the way RSA keys are imported.

Hello @dghgit,
The keystore is quite special, it is used primary for performance testing against the regression, so that is why we spotted the issue in the first case.
It contains almost 2500 certificates, most of which are with RSA keys. It is build upon certificates extracted from Trusted Lists over all European Member States (referenced by EU LOTL). The link to the keystore is in the first comment of this thread (forgot to provide password for the keystore - use "ks-password").
That is good to know that the reason for the performance downgrade is indeed a security perspective. Thank you for confirming this.
I think making the validation configurable would be beneficial in some of the cases, however I will not demand for this feature, as using of such huge keystores in production is quite rare and the extraction result could be cached if needed.
Thank you again for checking this.
KR,
Aleksandr.

Hi @dghgit again,
After some additional analysis, in fact, we found out that the validation method is applied not only on KeyStore loading, but for all X509Certificate's creation (and other operations with RSA keys, perhaps?).
So actually the performance issue is still quite critical for us. Would it be possible, maybe to improve the performance within org.bouncycastle.math.Primes.enhancedMRProbablePrimeTest method? Otherwise, we would really need for a workaround to be able to disable the verification.
Thank you.
Best regards,
Aleksandr.

Hi @dghgit ,
Do you have any updates on this issue?
Apparently 1.72 has been released without fixing this problem.
This is a blocking issue for us, as it increases the total processing time of EU LOTL + all dependent Trusted Lists to 2-3 times (creation of ~2500 certificates, most of which are with RSA key). Otherwise we would need to delegate the processing to Java Provider, which will imply some additional complexity in our code we would like to avoid.
Best regards,
Aleksandr.

try https://www.bouncycastle.org/betas 173b09 or later. There's now a system/security property "org.bouncycastle.rsa.max_mr_tests" which can be used to set a cap on the number of tests done, with 0 disabling them altogether. I'd suggest at least trying a setting of 1 first rather than zero.  Number of tests usually range from 3-7.

Hi @dghgit ,
Thank you for the property. I confirm, skipping all tests (with '0' value) solves the problem.
However, even setting the value to "1" increases the processing time to previous values of 1.71 and 1.72. And I do not notice a significant difference between value "1" and others (like "3" or "7").
But anyway, thank you again for the resolution.
Looking forward to 1.73.
Best regards,
Aleksandr.

This issue seems to be caused by the fact that BC is running a Miller-Rabin primality test on the RSA modulus. This would explain why changing the number of runs to anything but 0 would not resolve your issue, given that the MR test will succeed on the first try with a relatively high likelihood.
Primality checking the RSA modulus is a strange choice, since while RSA with a prime modulus would indeed be insecure, so would RSA with any number of defects in the key generation. I'm not aware of any vulnerability that has been caused by using a prime modulus. On the other hand, a relatively common vulnerability is the usage of close values for p and q (i.e. if q was generated as p.nextProbablePrime()), but the code is not running Fermat's method on the modulus (to be clear I am not recommending doing so, it would have less performance impact than running MR, but it would still cost substantially more cycles than a simple verification). The way I usually have seen checks for key generation defects being handled is as an asynchronous batch job, not in the critical path for RSA verification.
Given that the public key has to be obtained from an authenticated source (a leaked key is insecure, no matter how it was generated), the fact that an RSA key can be broken in a myriad of ways not discernible without knowledge of the private key without running expensive attacks, and given that the main reason to prefer RSA over ECDSA is the verification performance (which is due to RSA verify only requiring 17 modular multiplications, while MR requires a few thousand), I do not see the value of adding any check beyond the parity check (which is necessary for the Montgomery reduction to be well defined).


Add Fedora Dockerfile

Trying to build this locally returns:
sed: can't read /etc/passenger.conf: No such file or directory
The command '/bin/sh -c /usr/libexec/passenger-prepare && rpm-file-permissions' returned a non-zero code: 2


"Warning: Request Settings ..." for each polling interval

Hey guys,
just want to let you know that I get a lot of new warnings for plenticore adapter in iobroker log since I updated the adapter too newest version 2.1.4
The warnings look all the same:
2021-01-04 10:30:17.658 - warn: plenticore.0 (20388) Requesting settings - [{"moduleid":"devices:local","processdataids":["Dc_P","DigitalIn","EM_State","HomeBat_P","HomeGrid_P","HomeOwn_P","HomePv_P","Home_P","Inverter:State","LimitEvuAbs"]},{"moduleid":"devices:local:ac","processdataids":["CosPhi","Frequency","L1_I","L1_P","L1_U","L2_I","L2_P","L2_U","L3_I","L3_P","L3_U","P","Q","S"]},{"moduleid":"devices:local:battery","processdataids":["Cycles","SoC","I","U","P"]},{"moduleid":"devices:local:pv1","processdataids":["I","U","P"]},{"moduleid":"devices:local:pv2","processdataids":["I","U","P"]},{"moduleid":"scb:export","processdataids":["PortalConActive"]},{"moduleid":"scb:statistic:EnergyFlow","processdataids":["Statistic:Autarky:Day","Statistic:Autarky:Month","Statistic:Autarky:Total","Statistic:Autarky:Year","Statistic:EnergyHome:Day","Statistic:EnergyHome:Month","Statistic:EnergyHome:Total","Statistic:EnergyHome:Year","Statistic:EnergyHomeBat:Day","Statistic:EnergyHomeBat:Month","Statistic:EnergyHomeBat:Total","Statistic:EnergyHomeBat:Year","Statistic:EnergyHomeGrid:Day","Statistic:EnergyHomeGrid:Month","Statistic:EnergyHomeGrid:Total","Statistic:EnergyHomeGrid:Year","Statistic:EnergyHomePv:Day","Statistic:EnergyHomePv:Month","Statistic:EnergyHomePv:Total","Statistic:EnergyHomePv:Year","Statistic:OwnConsumptionRate:Day","Statistic:OwnConsumptionRate:Month","Statistic:OwnConsumptionRate:Total","Statistic:OwnConsumptionRate:Year","Statistic:Yield:Day","Statistic:Yield:Month","Statistic:Yield:Total","Statistic:Yield:Year","Statistic:CO2Saving:Day","Statistic:CO2Saving:Month","Statistic:CO2Saving:Year","Statistic:CO2Saving:Total"]}]) failed with code 503: {"message":"internal communication error, try again later"}
Maybe, you can spend a minute and take a look for the reason of the new warnings.
Thanks in advance and best regards,
David

Which firmware are you using in the Kostal?

Which firmware are you using in the Kostal?

I am not sure whether this is this information you are asking for:
Typenbezeichnung PLENTICORE plus 5.5
UI-Version 01.14.04213
MC-Version 01.42
IOC-Version 01.42
HW-Version 0100

I am not sure whether this is this information you are asking for:
Typenbezeichnung PLENTICORE plus 5.5
UI-Version 01.14.04213
MC-Version 01.42
IOC-Version 01.42
HW-Version 0100

This one is quite old. You might need to update the firmware to use the newest adapter version.

This one is quite old. You might need to update the firmware to use the newest adapter version.

Done. Everythink works like a charm. Thanks!

Done. Everythink works like a charm. Thanks!


Support for blueprint on different namespace of kanister operator

Is your feature request related to a problem? Please describe.
It's not actually a problem, I just want to create a blueprint on a different namespace with kanister operator
Describe the solution you'd like
By default as I tested the examples, if the kanister-operator was installed in kanister namespace, then the blueprint must also be installed in the kanister namespace. Otherwise, the event of profile will show  after created.
Describe alternatives you've considered
Now I want kanister to support for creating the blueprint in another namespace, like I want to create mysql-profile in mysql-test namespace, or postgresql-profile in postgres-test namespace.
Environment
Kubernetes Version/Provider: All
Storage Provider: .All
Cluster Size (#nodes): Any
Data Size: Any
Additional context
No

This will require granting the Kanister controller RBAC permissions to retrieve blueprints, actionsets, profiles etc. from other namespaces, which may not work for some users. Can you share more information on your setup and use cases as to why it's desirable to deploy blueprints to other namespaces?

Hi @ihcsim, it's simply the way I'm trying to manage the source code, I want mysql-blueprint to placed in same group of mysql application, same as mysql-profile. While profile of specific app can be placed in other namespaces but blueprint of the same app cannot? Hope that make sense. Thanks.

We should re-evaluate the current pod service account model. See https://github.com/kanisterio/kanister/issues/1550.
I find supporting the upgrade path of a multi-installation model hard to reason about, especially, for cluster-scoped resources. Feels like we should re-visit our multi-tenancy story.


✨ Use Richhandler for logging with Rich

A bit of late night claude wrangling.

Now using https://rich.readthedocs.io/en/stable/logging.html to render colors. The issue is that it kind of enforces a console object where text output is no longer raw. Therefore, the messages look a bit different and "dark" in vscode. I could not find an easy way to get rid of the Console object. There might be a way to not use Richhandler and use raw Rich print instead to circumvent the console object.

Adds Rich as a dependency
Is not properly tested yet. Consider this a MVP and potentially use it as inspiration.

Nice! I think the .describe() that @sunnyosun did should have similar issues, no?

It does have similar issues :)


GRG "Label Style" in GP tools is "Label Type" in widget

Expected Behavior
I'd expect that what is currently called label style in the GP tools to be called label type (alpha-numeric, alpha, numeric)
Possible Solution
Change the option that is called label style to label type so that they are the same between the widget and the GP tools
Here are screenshots for reference:
GP tools

Widget

Label style refers to things like font, text color, transparency, etc.

@Dbarnes1 How about the label name change in the gp tools and not the widget? Calling this property "Label Type" makes more sense. We are using the term "Label Style" to define the settings such as font, size, color. Or what would make maybe even more sense to the end users is call this property "Labeling Scheme" (this would require changing the widget, xmetal doc, gp tool, gp tool doc, and also xmetal doc.

@elinz we're on the same page - change the tool to label type makes the most sense

@Dbarnes1 Please verify this with #608

looks good @mfunk

cloing


Dynamic options

HI,
When i change the options of the dropdown dynamically it closes the dropdown without changing the value of $scope.open. This causes it to close everytime i click dropdown button. Is there anyway to fix it? :(
Help is really appreciated.

Sorry i was changing the whole object and i was causing it to re-render and issues, just changed the data model and it work with dynamic dropdown option.


Limited to 50,000 results?

I just ran this and the CSV report I got had 50,001 lines, so minus the header it has 50,000 results. It would be extremely coincidental for this to not be a limitation. Please advise.

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

ID: 38a22164-2df5-5dc2-9292-df60df018a53
Version Independent ID: 1d96478c-230b-889e-68ed-9a8ab9484be5
Content: Start-HistoricalSearch (exchange)
Content Source: exchange/exchange-ps/exchange/mail-flow/Start-HistoricalSearch.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@officedocsbot assign @yogkumgit

Hi @arowswell, thank you for your feedback.
Could you kindly provide me more detail about what you suggest? Thanks!

Hi Dario. The page doesn't mention any limit of 50,000 results. Yet when I ran the command and got the CSV it had exactly 50,000 results. To me that is too coincidental to just be chance. Is there a 50,000 result limit?

Thank you @arowswell. Pretty clear, I understand now.
I don't have this information, I will try to get it.

@chrisda your input please.

@dariomws306  Thank you very much for the contribution and updating the documentation with PR. @arowswell Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Fixed infinitive spinner when posting comment offline.

Jaroslaw, could you please verify that on the latest build from develop

Verified in build from commit number 949aa72


Rosetta Code: Tokenize a string with escaping - swapped parameters in starting code

Describe your problem and how to reproduce it:
esc and sep parameters are swapped in the starting code. As description and tests suggests second parameter should be separator character and third one escape character.
Add a Link to the page with the problem:
https://www.freecodecamp.org/learn/coding-interview-prep/rosetta-code/tokenize-a-string-with-escaping

Thank you, for pointing this out. Not a major issue, but makes sense to change. I am opening this up for first-timers


Some contract calls will throw an unexpected TypeError in @tevm/actions/.../contractHandler

Description
When simulating contract calls over an ERC20 contract, some calls will work as expected, but a specific transfer throws an error at the Tevm level. This will occur wether the call is supposed to succeed or not.
See this code for reference.
Version
<EMAIL_ADDRESS>Error
Console
node_modules/.pnpm/@tevm+actions@1.0.0-next.39_typescript@5.3.3/node_modules/@tevm/actions/src/tevm/contractHandler.js:37
                        ],
   ^
TypeError: Cannot read properties of undefined (reading 'join')

contractHandler.js:37
if (contract.length === 0 && !precompile) {
  return {
    rawData: '0x',
    executionGasUsed: 0n,
    errors: [
      {
        _tag: 'InvalidRequestError',
        name: 'InvalidRequestError',
        message: `Contract at address ${params.to} does not exist`,
      },
    ],
  };
}

Thanks for issue @0xpolarzero.  Contract call was getting reverted from insufficient funds but the error handling extracting the message had a bug in it.
Noticed something about your repro that I wanted to call out to help in future:
When you declare an abi you want to declare it as const. Declaring it as const will allow tevm to be typesafe for you.  For example, this toString is wrong and it should be a bigint not a string. If you add an as const to your abis typescript will notice this.

Thanks for the quick fix @roninjin10 and for the advice as well!
I had no idea I was making this mistake, although I did notice somehow that there was some kind of gap in the typesafety. That will definitely make things easier for me.


ocamlPackages.resto-cohttp-self-serving-client: 1.0 -> 1.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/ocaml:resto-cohttp-self-serving-client/versions.
meta.description for ocamlPackages.resto-cohttp-self-serving-client is: Minimal OCaml library for type-safe HTTP/JSON RPCs
meta.homepage for ocamlPackages.resto-cohttp-self-serving-client is: https://gitlab.com/nomadic-labs/resto
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.2 with grep in /nix/store/3pl12zn27ds8649nyqh717r0whbf5vlc-ocaml5.1.1-resto-cohttp-self-serving-client-1.2
found 1.2 in filename of file in /nix/store/3pl12zn27ds8649nyqh717r0whbf5vlc-ocaml5.1.1-resto-cohttp-self-serving-client-1.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

ligo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3pl12zn27ds8649nyqh717r0whbf5vlc-ocaml5.1.1-resto-cohttp-self-serving-client-1.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ocamlPackages.resto-cohttp-self-serving-client https://github.com/r-ryantm/nixpkgs/archive/8ec04ca9412de559d092a09c4b28bc1934ee7a25.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/8ec04ca9412de559d092a09c4b28bc1934ee7a25#ocamlPackages.resto-cohttp-self-serving-client

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3pl12zn27ds8649nyqh717r0whbf5vlc-ocaml5.1.1-resto-cohttp-self-serving-client-1.2
ls -la /nix/store/3pl12zn27ds8649nyqh717r0whbf5vlc-ocaml5.1.1-resto-cohttp-self-serving-client-1.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

9 packages built:

ligo
ocamlPackages.resto
ocamlPackages.resto-acl
ocamlPackages.resto-cohttp
ocamlPackages.resto-cohttp-client
ocamlPackages.resto-cohttp-self-serving-client
ocamlPackages.resto-cohttp-server
ocamlPackages.resto-directory
ocamlPackages.resto-json

Maintainer pings
cc @ulrikstrid for testing.

Closed by #329539.


I2c documentation

don't reuse branches for PRs, always branch from main for a new PR. or you'll get trouble.

do you use the i2c output pane?

see comments

@pelikhan - comments addressed


Multiplayer grave robbing mechanic

i believe there should be a config option that allows other people in multiplayer pick up items from somone else's grave

Thanks for reporting a missing config! This is now added in the 1.1.8 and 1.2.2 versions for 1.171 and 1.18-rc1 respectively
Enjoy!


Using non-NamedService in Server builder

Hello,
TLDR: I would like to have a way to add a service not implementing NamedService. So the service name could be given at runtime, not hard-coded as a const.
Context
I'm trying to implement a server to receive requests from runtime-decided or arbitrary service names sharing the same req&resp proto definition. This sounds not too hard from an HTTP point of view -- I hope the same tower::Service, without implementing NamedService, can be used for multiple service names.
I'm currently using the builder like most examples:
    tonic::transport::Server::builder()
        .add_service(my_service)
        .serve(addr)
        .await?;

with the my_service being a modified copy from the output of codegen. But I was blocked by the fact that tonic::server::NamedService requires a hard-coded server name,
/// A trait to provide a static reference to the service's
/// name. This is used for routing service's within the router.
pub trait NamedService {
    /// The `Service-Name` as described [here].
    ///
    /// [here]: https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests
    const NAME: &'static str;
}

And in router, add_service is the only method to configure the router depending on NamedService
    pub(crate) fn add_service<S>(mut self, svc: S) -> Self
    where
        S: Service<Request<Body>, Response = Response<BoxBody>, Error = Infallible>
            + NamedService
            + Clone
            + Send
            + 'static,
        S::Future: Send + 'static,
        S::Error: Into<crate::Error> + Send,
    {
        let svc = svc.map_response(|res| res.map(axum::body::boxed));
        self.router = self
            .router
            .route_service(&format!("/{}/*rest", S::NAME), svc);
        self
    }

Possible Solutions
I've thought of a few possible solns to this

expose the axum router publicly => maybe not so good, due to it leaks the implementation
add another method similar to add_service but not relying on NamedService. so it could be something like

tonic::transport::Server::builder().add_service_with_name(svc_name, my_service)

With svc_name being decided at runtime.
3. Maybe more specific to my use case, it would also work if there's a way to replace the unimplemented fallback with my own service (so it handles all endpoints by default). Probably with something like
tonic::transport::Server::builder().with_fallback(my_service)

I can help create the patch either way. But before i do so I would really appreciate your feedback first.
Or are there other ways to implement this with the current API I missed? Thank you for your time!

Checkout https://github.com/hyperium/tonic/blob/master/examples/src/grpc-web/server.rs#L42 and https://github.com/hyperium/tonic/issues/1177 -- the docs seem out of date

thanks @Palmik I've checked but still not sure how layer() could help? since it still seems to depend on add_service(svc) later on as the example, which still requires to be a NamedService. And I'm not suing grpc-web

So the namedservice stuff is mainly used by the tonic router, if you want to route stuff dynamically you will need to build your own transport that does its own routing. Currently, supporting dynamic services out of the box in tonic is a non-goal as eventually the transport module will be removed infavor of a better version, so making large changes like this won't be accepted right now.


Custom android build looks for the sdk in the wrong directory

Godot version:

cc9f2a2d8
OS/device including version:
GNU/Linux x64
Issue description:
The path to the SDK set in editor settings is relative to the engine executable, but when a project is exported for android using a custom build Godot tries to find the SDK in a path relative to the android/build folder within the project folder. As a temporary solution a I created a symlink to the SDK in the folder Godot was trying to use.

Fixed by #31586.


Push image octant-antrea-ubuntu to dockerhub

Build and push octant-antrea-ubuntu to dockerhub,
so that users do not need to build the image while
deploying antrea-octant-plugin.
Related to : #261

/test-all

/test-all


Windows docker blocking

System information

Windows [version 10.0.19042.1110]
Docker Desktop 3.5.2

Describe the problem
Whether blocking is normal here?
Steps to reproduce the issue
just run
docker build -t mediapipe_unity:windows . -f docker/windows/x86_64/Dockerfile
Full logs

Please see the instructions for installation in the Readme.md file:
"This process will hang when MSYS2 is being installed.
If this issue occurs, remove C:\ProgramData\Docker\tmp\hcs*\Files$Recycle.Bin\ manually (hcs* is random name).
cf. https://github.com/docker/for-win/issues/8910"

Sorry, I overlooked it,now it works,thank you.

Blocked again！
Full logs

Please ignore this issue, it just took some time to download,thank you


added modes

Hello! I added original confetti modes for your react-canvas-confetti library.

@ulitcos  ?


editing link to the node service SDK

@elhorton : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@ridomin: I'm sorry - only the author of this article, @rido-min, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off


sinergi/browser-detector is abandoned since 2021, consider switching to mobiledetect instead?

This is mobiledetect
https://github.com/serbanghita/Mobile-Detect

Hi @ziming, thanks for letting me know. It was actually abandoned in Jan 2023: https://github.com/sinergi/php-browser-detector -- but still, needs to be replaced, like you said. Are you able to submit a PR with the necessary changes? That would help speed up time to implementation, otherwise I'll get to it as I have time.

Hmm I'm not confident, I can wait for you :)


Improve profiling react applications

The Profilercomponent does a great job of providing insights. Recently I read this blog post from coinbase about optimizing performance in react native. They have created a babel plugin which adds a profiler component to every file and aggregates those results. It would be nice if react has a toggle kind of functionality to add profiler to all components, so that measuring and understanding would be easier.
P.S: This is my first RFC. I would be happy to help in providing more details.
Thanks

Hi, thanks for your suggestion. RFCs should be submitted as pull requests, not issues. I will close this issue but feel free to resubmit in the PR format.


make the name one word

Codecov Report

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

@@           Coverage Diff           @@
##           master     #537   +/-   ##
=======================================
  Coverage   92.25%   92.25%
=======================================
  Files          37       37
  Lines        2349     2349
  Branches      202      202
=======================================
  Hits         2167     2167
  Misses        137      137
  Partials       45       45

Continue to review full report at Codecov.

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


Create - Base project setup in swiftui.

Create base project setup in SwiftUI with Swift 5.7 support.

Please accept this for hacktoberfest

While the intent may good, I think the idea of this new project is to serve as an SPM package with an API that other projects can easily create applications from. I'm not sure the initial Xcode Project for an iOS application you made fits that purpose very well.
I'll happily be corrected by the project owner though. I may have misinterpreted the currently sparse documentation.


Add documentation note regarding create_model and validators

Change Summary
As per https://github.com/pydantic/pydantic/pull/10703

Related issue number

Checklist

[ ] The pull request title is a good summary of the changes - it will be used in the changelog
[ ] Unit tests for the changes exist
[ ] Tests pass on CI
[ ] Documentation reflects the changes where applicable
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Considering how uncommon it is, is it necessary? I'd rather avoid adding more and more admonitions as it can really hurt readability imo

Fair point, let's merge.


HDDS-7926. [hsync] Recon throws ClassCastException.

What changes were proposed in this pull request?
The Recon server is encountering an issue while processing a key in the file system, leading to an unexpected exception. The error message cites a "ClassCastException," indicating that the Recon server is attempting to cast an object of type org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo as an object of type org.apache.hadoop.ozone.om.helpers.OmKeyInfo. As a result, the server is unable to properly process the key and accurately display the number of files/keys.
So I have made changes to the fileSizeCountTask which will handle both RepeatedOmKeyInfo and OmKeyInfo objects.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7926
How was this patch tested?
UT's ran successfully

The OMDBUpdateEvent being processed by FileSizeCountTask should have come from processEvent here.
And because deletedTable is the only table that carries those RepeatedOmKeyInfo values, the correct action to take in this case could simply be ignoring the event when its value is of class RepeatedOmKeyInfo. -- Because those same keys are very likely processed once already when they are "moved" from keyTable to deletedTable during key delete request, where the former effectively deletes the entries from keyTable. Please double check if this is the case. CMIIW.

Thanks @smengcl
This event is caused by the hsync implementation (still under code review) which is implemented by modifying OMKeyCommit. Essentially this means it could happen during key commit already, if the key to be committed overwrites an existing key (possible today if key is versioned)
I am not familiar with recon implementation. If the recon does respond correctly when key is removed from namespace, then I agree the best course of action for this issue is to ignore.

Oh it would still be a good idea to track deletedTable (and deletedDirectoryTable) in Recon too. Probably seperately.
We encountered an issue recently where keys are removed from namespace, but because the number was high, the actual deleted backlogged and it took a huge amount of time to track down where it got backlogged (multiple entities are involved: OM, SCM and DN).
We managed to track down the deletion by looking at rocksdb entries, tailing logs and metrics though.

The OMDBUpdateEvent being processed by FileSizeCountTask should have come from processEvent here.
And because deletedTable is the only table that carries those RepeatedOmKeyInfo values, the correct action to take in this case could simply be ignoring the event when its value is of class RepeatedOmKeyInfo. -- Because those same keys are very likely processed once already when they are "moved" from keyTable to deletedTable during key delete request, where the former effectively deletes the entries from keyTable. Please double check if this is the case. CMIIW.

The deletedTable stores information about deleted keys in Ozone Manager's metadata. Whenever an object is deleted, the OmMetadataManagerImpl class creates an entry in the deletedTable in the form of RepeatedOmKeyInfo class that contains multiple OmKeyInfo objects with the same URI. Periodic scans by Ozone's background services identify objects eligible for permanent deletion, which are then removed from the deletedTable and their corresponding data is freed from storage.

Since this information is hidden from the user, there's no need to worry about the contents of the deletedTable for the fileSizeCountTask, hence we should like you suggested ignore the repeatedOmKeyInfo objects being thrown as we only deal with OmKeyInfo object from the key and file table.

Oh it would still be a good idea to track deletedTable (and deletedDirectoryTable) in Recon too. Probably seperately.
We encountered an issue recently where keys are removed from namespace, but because the number was high, the actual deleted backlogged and it took a huge amount of time to track down where it got backlogged (multiple entities are involved: OM, SCM and DN).
We managed to track down the deletion by looking at rocksdb entries, tailing logs and metrics though.

I think that's a great suggestion. We could start by creating an endpoint that exposes the data from the deletedTable and later work on implementing a user interface for it. I'll go ahead and create a JIRA for this task.

I am not familiar with recon implementation. If the recon does respond correctly when key is removed from namespace, then I agree the best course of action for this issue is to ignore.

When a key is deleted in an Ozone cluster, the Ozone Manager updates its OM-DB to reflect the deletion. This change is then detected by Recon during its next incremental update or full snapshot scan, depending on the mode in which Recon is operating.
Once Recon detects the deletion, it updates its metadata store to reflect the change. Specifically, Recon updates the index associated with the deleted key to remove it from the index. This ensures that the deleted key is not included in any future searches or queries against the metadata store.
Recon also retains a record of the deleted key in its metadata store inside the DeletedTable. This allows administrators to query the metadata store for deleted keys and to see when they were deleted. This information can be useful for auditing, compliance, and troubleshooting purposes.

@ArafatKhan2198 , NSSummaryTaskWithLegacy also throws this ClassCastException exception in the Recon log.  It need mitigation too.

Thanks @smengcl This event is caused by the hsync implementation (still under code review) which is implemented by modifying OMKeyCommit. Essentially this means it could happen during key commit already, if the key to be committed overwrites an existing key (possible today if key is versioned)
I am not familiar with recon implementation. If the recon does respond correctly when key is removed from namespace, then I agree the best course of action for this issue is to ignore.

Got it. I was not aware of this new usage of RepeatedOmKeyInfo before this. In this case I agree that it should be properly handled like in this PR.

Got it. I was not aware of this new usage of RepeatedOmKeyInfo before this. In this case I agree that it should be properly handled like in this PR.

Just want to be sure I understand. Does that mean that the value in the KeyTable here:
https://github.com/apache/ozone/blob/c755e5d6459af8abc0ba634d7901a497a80d0f72/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/codec/OMDBDefinition.java#L89-L96
is changing from OmKeyInfo to RepeatedOmKeyInfo?

No. None of the table schema has changed.
The deletion in OmKeyCommit is done to deletedTable. However, that still doesn't explain why the table filter didn't work. I still suspect the event source is the culprit. If have a repro it will be easy to dig into that.

Agree, we should find the root case if this issue is reproducible.
I double checked the code change in OmKeyCommit, although there is new key delete logic, it will go to the deleted table. This exception should not happen at all.
If it's not easily reproducible, I'm fine with this intermediate approach.

LGTM + 1.


Fix editor crash when opening scene with CSGMesh

Fixes #61200
get_meshes() returns an array with two elements (transform & mesh) or an empty array if the root mesh is invalid.

Thanks!

Cherry-picked for 3.5.


Enforce SerpResults.yield_pages to start from the first page

Currently, SerpResults.yield_pages skips the first page. Because of that, it's required to duplicate the results processing in the clients' code.
https://github.com/serpapi/serpapi-python/blob/44e41d36723da1e95e4ac165c08b6c98e6a95027/serpapi/models.py#L74-L78
Let's yield current_page before entering the pagination loop.
@kennethreitz @jvmvik

@ilyazub I tried to update the method in this PR https://github.com/serpapi/serpapi-python/pull/13 , as well as the test to be more precise.


demo's don't work "WebRTC not available"

When I click on any of the demos, I get a page that say "WebRTC not available".

I'm getting the same issue when trying to open any example through a desktop portal.
Opening them on my android(Mi POCO F1, Android Pie PKQ1, Chrome 78.0.39) prompts the camera permission but then it's followed by the following screen and nothing else.

Same issue using Safari (11.1.2) + Chrome (78.0.3904.97) on MacOS 10.13.6

Years later, still the same issue :(


Argument to CallCredentials#new must be a proc (TypeError)

I have an existing adwords_api integration that I am migrating to google/ads/google_ads. I am running the following:
require 'google/ads/google_ads'
adwords = Google::Ads::GoogleAds::GoogleAdsClient.new("/root/wg/ruby/lib/google_ads_config.rb")
ga_service = adwords.service.google_ads

and I get this:
Traceback (most recent call last):
        4: from test.rb:3:in `<main>'
        3: from /usr/local/lib/ruby/gems/2.7.0/gems/google-ads-googleads-10.0.0/lib/google/ads/google_ads/google_ads_client.rb:126:in `service'
        2: from /usr/local/lib/ruby/gems/2.7.0/gems/google-ads-googleads-10.0.0/lib/google/ads/google_ads/google_ads_client.rb:148:in `make_channel'
        1: from /usr/local/lib/ruby/gems/2.7.0/gems/google-ads-googleads-10.0.0/lib/google/ads/google_ads/google_ads_client.rb:148:in `new'
/usr/local/lib/ruby/gems/2.7.0/gems/google-ads-googleads-10.0.0/lib/google/ads/google_ads/google_ads_client.rb:148:in `initialize': Argument to CallCredentials#new must be a proc (TypeError)

Happy to provide a redacted config file if necessary. I'm using a service account so I have keyfile and impersonate set. I have also edited GoogleAdsClient#make_channel to look at what get_credentials produces, and it's a Google::Auth::Credentials object that looks all correct to me, again happy to provide a redacted dump of that object.
I'm sure I'm doing something wrong, but I don't know what... help?!
Thanks!

@mcloonan Im getting this same error with a service account json file and v.10.0.0.  I dont understand why you are saying to not use a service account.  The only use we have for the API is to pull our own daily spend data, so it seems that a service account would make the most sense.  We also cannot get a developed API token from the Google Ads console either, so were using a service account.
Regardless, we have our keyfile in the config folder and then we are referencing everything as
  c.keyfile = File.join(Rails.root, 'config', 'google-ads.json')
  c.impersonate =<EMAIL_ADDRESS>
In terms of using c.authentication instead, there is no documentation on how we would use that instead with the key file, so Im unclear on how to proceed

The fix I made was after the 10.0.0 version of the library, so you should update to a more recent version which incorporates that fix. In fact, I don't believe 10.0.0 supports any modern version of the API, so you wouldn't be able to use it anyway.
Service accounts are not the preferred way to authenticate for the Google Ads API because there are additional restrictions to using them, and getting them to work generally takes significantly more effort than just generating a refresh token, which can be done in a few minutes. I don't understand why you wouldn't be able to use a refresh token.
That said, if you'd like me to take a look, can you provide more complete information about how you're specifying the authentication? There's some info about what's supported in the example config file: https://github.com/googleads/google-ads-ruby/blob/main/google_ads_config.rb#L37
Essentially, anything you provide here is just going to be passed through directly to the underlying code, so anything that the services support should work. Here's one example, but this is fundamentally the same for all services: https://github.com/googleads/google-ads-ruby/blob/main/lib/google/ads/google_ads/v10/services/ad_group_ad_service/client.rb#L325

@mcloonan if Google provided us with instructions that worked on how to get a refresh token for an internal app that is running a script, I would, but right now I cant.  Now we are getting:
  "error_description": "Client is unauthorized to retrieve access tokens using this method, or client not authorized for any of the scopes requested."
With anything we do.

I can't say I'm familiar with that specific error. If you're having trouble generating a refresh token you can try reaching out to our general API support team here: https://groups.google.com/g/adwords-api
There's currently an issue with the desktop flow refresh token example in the Ruby library (the process changed and the example needs to be updated), which should be fixed next week. I would recommend once you figure out the issue behind that error that you use the OAuth playground to actually generate your token if the new auth examples aren't ready yet: https://developers.google.com/google-ads/api/docs/oauth/playground

I just activated domain wide delegations and that seems to let me
proceed.  More examples of how to use this are very badly needed.
On Apr 29, 2022 at 1:34:59 PM, mcloonan @.***> wrote:

I can't say I'm familiar with that specific error. If you're having
trouble generating a refresh token you can try reaching out to our general
API support team here: https://groups.google.com/g/adwords-api
There's currently an issue with the desktop flow refresh token example in
the Ruby library (the process changed and the example needs to be updated),
which should be fixed next week. I would recommend once you figure out the
issue behind that error that you use the OAuth playground to actually
generate your token if the new auth examples aren't ready yet:
https://developers.google.com/google-ads/api/docs/oauth/playground
—
Reply to this email directly, view it on GitHub
https://github.com/googleads/google-ads-ruby/issues/303#issuecomment-1113559325,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAATIAS2PMSI6NBOSUNHMRDVHQMUHANCNFSM44AD2UGQ
.
You are receiving this because you commented.Message ID:
@.***>

Thanks.  You should know that I simply pasted:
gem 'google-ads-googleads’
Into bundler and it uses v10.0.0.  In fact, I just did a bundle update and
it said the version stayed the same, so not sure what the current version
is or how to get it.
And there are not clear instructions on how to get a refresh token or the
other credentials if you are simply doing backend server to server
communication.  Im not developing a web or desktop app, just a script for
internal use.
On Apr 29, 2022 at 12:16:05 PM, mcloonan @.***> wrote:

The fix I made was after the 10.0.0 version of the library, so you should
update to a more recent version which incorporates that fix. In fact, I
don't believe 10.0.0 supports any modern version of the API, so you
wouldn't be able to use it anyway.
Service accounts are not the preferred way to authenticate for the Google
Ads API because there are additional restrictions to using them, and
getting them to work generally takes significantly more effort than just
generating a refresh token, which can be done in a few minutes. I don't
understand why you wouldn't be able to use a refresh token.
That said, if you'd like me to take a look, can you provide more complete
information about how you're specifying the authentication? There's some
info about what's supported in the example config file:
https://github.com/googleads/google-ads-ruby/blob/main/google_ads_config.rb#L37
Essentially, anything you provide here is just going to be passed through
directly to the underlying code, so anything that the services support
should work. Here's one example, but this is fundamentally the same for all
services:
https://github.com/googleads/google-ads-ruby/blob/main/lib/google/ads/google_ads/v10/services/ad_group_ad_service/client.rb#L325
—
Reply to this email directly, view it on GitHub
https://github.com/googleads/google-ads-ruby/issues/303#issuecomment-1113493346,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAATIATGMJ2TADC5UT33U7DVHQDMLANCNFSM44AD2UGQ
.
You are receiving this because you commented.Message ID:
@.***>

Perhaps you had it in your Gemfile.lock? The latest version is 19.0.0: https://rubygems.org/gems/google-ads-googleads/versions/19.0.0
You can specify a version in your Gemfile thusly:
gem 'google-ads-googleads', '19.0.0'
(sorry if you know this, just trying to be helpful)