Introduction of rate limits

Before we start...

[X] I've searched existing issues, but my request hasn't been submitted yet.
[X] I've read the documentation, but my request is something new.
[X] I've checked on Skype for Web, and the feature I'm requesting does exist there.

Summary
I plan to introduce https://pyratelimiter.readthedocs.io/en/latest/ to my project to avoid api exceptions. I've checked your section https://skpy.t.allofti.me/background/authentication.html#rate-limiting and don't have any descriptions of exact limits ranges. I understand that you can't give me exact numbers, because you are not a skype developer, but approximate numbers by your expirence would be very helpfull. How much requests should I send in an hour, a day, a week, a month? What limits are pessimistic and should exactly work and what limits are optimistic and just to try?
Code sample
.

SkPy version
0.11
Python version
3.11
Anything else?
No response

approximate numbers by your expirence would be very helpfull

I have never encountered any rate limits on my own account, so I don't have anything to add here.  Other users regularly sending messages might have a better idea -- consider asking in Discussions.
The current behaviour in SkPy is to raise an exception when any of Skype's APIs return a known rate-limit response, which is as much as can be done here when the APIs themselves do not advertise their limits.

I have never encountered any rate limits on my own account

You can try to use public vpn and you will meet problems. When I use hosting ip, it is very mad. I think even worse than vpn. I have SkypeApiException first:
web-1  | https://login.skype.com:443 "POST /login/microsoft?client_id=578134&redirect_uri=https%3A%2F%2Fweb.skype.com HTTP/11" 200 1906
web-1  | Starting new HTTPS connection (1): api.skype.com:443
web-1  | https://api.skype.com:443 "GET /users/self/profile HTTP/11" 200 432
web-1  | Starting new HTTPS connection (1): client-s.gateway.messenger.live.com:443
web-1  | https://client-s.gateway.messenger.live.com:443 "POST /v1/users/ME/endpoints HTTP/11" 503 981
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 339, in readToken
web-1  |     with open(self.tokenFile, "r") as f:
web-1  | FileNotFoundError: [Errno 2] No such file or directory: '/opt/project/communications/bot_session_tokens/my_account'
web-1  |
web-1  | During handling of the above exception, another exception occurred:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/main.py", line 67, in __init__
web-1  |     self.conn.readToken()
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 342, in readToken
web-1  |     raise SkypeTokenException("Token file doesn't exist or not readable")
web-1  | skpy.core.SkypeTokenException: Token file doesn't exist or not readable
web-1  |
web-1  | During handling of the above exception, another exception occurred:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/opt/project/manage.py", line 21, in <module>
web-1  |     main()
web-1  |   File "/opt/project/manage.py", line 17, in main
web-1  |     execute_from_command_line(sys.argv)
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
web-1  |     utility.execute()
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 436, in execute
web-1  |     self.fetch_command(subcommand).run_from_argv(self.argv)
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 413, in run_from_argv
web-1  |     self.execute(*args, **cmd_options)
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 459, in execute
web-1  |     output = self.handle(*args, **options)
web-1  |   File "/opt/project/communications/management/commands/skype_event_loop.py", line 26, in handle
web-1  |     sk = SkypeBot(login, password)
web-1  |   File "/opt/project/communications/skype.py", line 36, in __init__
web-1  |     super().__init__(username, pwd, self.token_file)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/main.py", line 186, in __init__
web-1  |     super(SkypeEventLoop, self).__init__(user, pwd, tokenFile)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/main.py", line 69, in __init__
web-1  |     self.conn.getSkypeToken()
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 197, in inner
web-1  |     return method(*args, **kwargs)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 438, in liveLogin
web-1  |     self.getRegToken()
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 520, in getRegToken
web-1  |     token, expiry, msgsHost, endpoint = SkypeRegistrationTokenProvider(self).auth(self.tokens["skype"])
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 952, in auth
web-1  |     endpointResp = self.conn("POST", "{0}/users/ME/endpoints".format(msgsHost), codes=(200, 201, 404),
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 250, in __call__
web-1  |     raise SkypeApiException("{0} response from {1} {2}".format(resp.status_code, method, url), resp)
web-1  | skpy.core.SkypeApiException: ('503 response from POST https://client-s.gateway.messenger.live.com/v1/users/ME/endpoints', <Response [503]>)
Aborting on container exit...

And then if I rerun command it can be due to often requests
web-1  | https://login.skype.com:443 "GET /login/oauth/microsoft?client_id=578134&redirect_uri=https%3A%2F%2Fweb.skype.com HTTP/11" 302 0
web-1  | Starting new HTTPS connection (1): login.live.com:443
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 339, in readToken
web-1  |     with open(self.tokenFile, "r") as f:
web-1  | FileNotFoundError: [Errno 2] No such file or directory: '/opt/project/communications/bot_session_tokens/my_account'
web-1  |
web-1  | During handling of the above exception, another exception occurred:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/main.py", line 67, in __init__
web-1  |     self.conn.readToken()
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 342, in readToken
web-1  |     raise SkypeTokenException("Token file doesn't exist or not readable")
web-1  | skpy.core.SkypeTokenException: Token file doesn't exist or not readable
web-1  |
web-1  | During handling of the above exception, another exception occurred:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 199, in _new_conn
web-1  |     sock = connection.create_connection(
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/util/connection.py", line 60, in create_connection
web-1  |     for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
web-1  |   File "/usr/local/lib/python3.10/socket.py", line 967, in getaddrinfo
web-1  |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
web-1  | socket.gaierror: [Errno -3] Temporary failure in name resolution
web-1  |
web-1  | The above exception was the direct cause of the following exception:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 789, in urlopen
web-1  |     response = self._make_request(
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 490, in _make_request
web-1  |     raise new_e
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 466, in _make_request
web-1  |     self._validate_conn(conn)
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
web-1  |     conn.connect()
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 693, in connect
web-1  |     self.sock = sock = self._new_conn()
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 206, in _new_conn
web-1  |     raise NameResolutionError(self.host, self, e) from e
web-1  | urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0x7f83d9bdc8e0>: Failed to resolve 'login.live.com' ([Errno -3] Temporary failure in name resolution)
web-1  |
web-1  | The above exception was the direct cause of the following exception:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 589, in send
web-1  |     resp = conn.urlopen(
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 843, in urlopen
web-1  |     retries = retries.increment(
web-1  |   File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 519, in increment
web-1  |     raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
web-1  | urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='login.live.com', port=443): Max retries exceeded with url: /login.srf?wa=wsignin1.0&rpsnv=162&ct=1729186844&rver=7.5.2156.0&wp=MBI_SSL&wreply=https%3A%2F%2Flw.skype.com%2Flogin%2Foauth%2Fproxy%3Fclient_id%3D578134%26redirect_uri%3Dhttps%253A%252F%252Fweb.skype.com&lc=1033&id=293290&mkt=en-US&psi=skype&lw=1&cobrandid=2befc4b5-19e3-46e8-8347-77317a16a5a5&client_flight=ReservedFlight33%2CReservedFlight67 (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7f83d9bdc8e0>: Failed to resolve 'login.live.com' ([Errno -3] Temporary failure in name resolution)"))
web-1  |
web-1  | During handling of the above exception, another exception occurred:
web-1  |
web-1  | Traceback (most recent call last):
web-1  |   File "/opt/project/manage.py", line 21, in <module>
web-1  |     main()
web-1  |   File "/opt/project/manage.py", line 17, in main
web-1  |     execute_from_command_line(sys.argv)
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
web-1  |     utility.execute()
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 436, in execute
web-1  |     self.fetch_command(subcommand).run_from_argv(self.argv)
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 413, in run_from_argv
web-1  |     self.execute(*args, **cmd_options)
web-1  |   File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 459, in execute
web-1  |     output = self.handle(*args, **options)
web-1  |   File "/opt/project/communications/management/commands/skype_event_loop.py", line 26, in handle
web-1  |     sk = SkypeBot(login, password)
web-1  |   File "/opt/project/communications/skype.py", line 36, in __init__
web-1  |     super().__init__(username, pwd, self.token_file)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/main.py", line 186, in __init__
web-1  |     super(SkypeEventLoop, self).__init__(user, pwd, tokenFile)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/main.py", line 69, in __init__
web-1  |     self.conn.getSkypeToken()
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 197, in inner
web-1  |     return method(*args, **kwargs)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 436, in liveLogin
web-1  |     self.tokens["skype"], self.tokenExpiry["skype"] = SkypeLiveAuthProvider(self).auth(user, pwd)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 647, in auth
web-1  |     self.getT(user, pwd)
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 676, in getT
web-1  |     stage1Resp = self.check(self.conn("GET", "{0}/oauth/microsoft".format(SkypeConnection.API_LOGIN),
web-1  |   File "/usr/local/lib/python3.10/site-packages/skpy/conn.py", line 239, in __call__
web-1  |     resp = self.sess.request(method, url, headers=headers, **kwargs)
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
web-1  |     resp = self.send(prep, **send_kwargs)
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 724, in send
web-1  |     history = [resp for resp in gen]
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 724, in <listcomp>
web-1  |     history = [resp for resp in gen]
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 265, in resolve_redirects
web-1  |     resp = self.send(
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
web-1  |     r = adapter.send(request, **kwargs)
web-1  |   File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 622, in send
web-1  |     raise ConnectionError(e, request=request)
web-1  | requests.exceptions.ConnectionError: HTTPSConnectionPool(host='login.live.com', port=443): Max retries exceeded with url: /login.srf?wa=wsignin1.0&rpsnv=162&ct=1729186844&rver=7.5.2156.0&wp=MBI_SSL&wreply=https%3A%2F%2Flw.skype.com%2Flogin%2Foauth%2Fproxy%3Fclient_id%3D578134%26redirect_uri%3Dhttps%253A%252F%252Fweb.skype.com&lc=1033&id=293290&mkt=en-US&psi=skype&lw=1&cobrandid=2befc4b5-19e3-46e8-8347-77317a16a5a5&client_flight=ReservedFlight33%2CReservedFlight67 (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7f83d9bdc8e0>: Failed to resolve 'login.live.com' ([Errno -3] Temporary failure in name resolution)"))
Aborting on container exit...


Simulator vs Real Device Testing [ios]

I am testing the example provided in this repo as well as the community provided one. Both works in the real device but not in the real device. In simulator after asking for the camera/microphone permission, it just shows black screen. Both sample has the following set to true for ios.
<key>io.flutter.embedded_views_preview</key>
<true/>

Any idea what I might be missing here. Thanks!

ios simulator does not support camera i believe.

Does it work in Android? It didn’t work either for me

android does support it. you can configure to use a virtual camera or real camera in simulator settings. if it's not working it's most likely some other issues


Metal vs. GL Examples on macOS HiDPI Differences

When running the macOS examples build, the default Metal backend is blurrier and less saturated than when running with --gl and leveraging the GL backend - on HiDPI (Retina) displays.
Here is a link to a screen grab for both GL and Metal backends - bottom image is Metal.
https://www.dropbox.com/s/2ozt9xegryftuav/contrast.png?dl=0
This is due to the fact that the default for bgfx is to not leverage the HiDPI surface as such the content of the MTKView layer is upscaled with the default magnification filter.
By leveraging the following on desktop in renderer_mtl.mm, things look great.
m_metalLayer.magnificationFilter = kCAFilterNearest;

Fixed.


Please to upgrade to NextUI V2

Hi I loved your dashboard.
I know you are busy but would love if you upgrade it to NextUI v2 tailwind. Many developers are waiting.
Thanks.

Hey, this week i will work on migrating this dashboard

Just for the record - you have another prospective developer awaiting this update! Very keen to use this template to help us build out. Please give any updates on things like setbacks @Siumauricio

@Siumauricio any update on this? Would love to use it

Hey, today I will start working on the migration in this branch
https://github.com/Siumauricio/nextui-dashboard-template/tree/v2

@rockse @itsbapic @neelhabib Migration done you can check here  https://nextui-dashboard-template.vercel.app/


It seems 'PySide6' is not installed or broken

I have installed PySide6, but got not installed error.

That doesn't make it a valid plugin name though, there is however a pyside6 plugin.

I upload the wrong screenshot, please this one:

You also didn't read the issue template, right? I really dislike screenshots, and emailing me privately for extra wasting my time is totally unacceptable.


align repo url with document

Align the default git repo with document

Obsolete, we can close this.


Check whether kubeadm HA cluster guide works with kube-proxy replacement

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/

#13077 might be related.


Move CI away from Travis

Since its acquisition, Travis CI fired most of its core engineering team, and the free service has become unbearably slow (dozens of minutes before a job even starts).
Given the impact on development velocity and QA (a couple of PRs were just merged without waiting for CI), and given the apparent lack of future for travis-ci.org, I suggest we move somewhere else.
I seem to recall @astronouth7303 suggesting Cirrus CI, which has native support for Linux, macOS, Windows and FreeBSD.  As a plus, having something container-based means we can stop piling up hacks to deal with Travis' environments.

On top of the fact that travis was already kinda terrible.


Build Issue

Required information
Operating system:
Ubuntu 20.04 LTS
Compiler version:
GCC 9.4.0
Observed result or behaviour:
When i try to build iceoyx DDS gateway with follwing command
cmake -Bbuild  -DCMAKE_PREFIX_PATH=install -DDDS_STACK=CYCLONE_DDS
then have following error
CMake Error at src/idlcxx/CMakeLists.txt:14 (add_library):
Target "idlcxx" links to target "CycloneDDS::idl" but the target was not
found.  Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
CMake Error at cmake/cyclonedds/CMakeLists.txt:83 (message):
CMake step [configure] for cyclonedds-cxx failed: 1
Call Stack (most recent call first):
cmake/cyclonedds/CMakeLists.txt:97 (fetch_and_install)
Here when i try to see cyclonedds-cxx issue, i found that it is because cyclonedds-cxx is not able to find pthread library.
Expected result or behaviour:
Project bbuild configuration sall be done withou any issue.
Conditions where it occurred / Performed steps:
Always

@Abhishek2581 What branch of iceoryx did you use e.g. main or release_2.0? I have not tried it myself but can take a closer look when you confirm.
@mossmaurice Do you know what version of iceoryx the gateway should work with ?

@Abhishek2581 by default, commit 048bf7d9b44a1b170cb892e2c374b460185e326a is used. It's an old commit from main at the time when the gateway was moved to a separate repository. You can have a look at the root CMakeLists.txt which fetches this specific version.
Would be great if you had time to port the codebase to latest main


Auto restarts server

Overview
Automatically restarts docker container if container crashes

Should fix some parts of #115

@aschnapp it doesn't look like this brought the server back up for some reason. Even after triggering the server deployment it is still down.


refactor: :recycle: Fix sql injection, restructure project files, clean database and refactor code

Please merge asap, there is a fix for a vulnerability in this PR

Thanks for this pull request, i will review and merge soon ❤.


Chameleon breath mask fix

About the PR

Since the pet wearable tag, breath masks haven't worked for chameleon masks. They now do.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl: crazybrain

fix: Chameleon masks can now mimic breath masks.

this shouldnt obscure your identity when you chameleon to it since the face is clearly visible

this shouldnt obscure your identity when you chameleon to it since the face is clearly visible

It doesn't.

It only hides on the identity blocking masks.


nvidia-device-plugin-daemonset pods w/ high memory + CPU

We're seeing high utilization of nvidia-device-plugin-daemonset pods on clusters. We should consider resource constraining the daemonset spec.
Data TBD.

@lachie83 @sozercan @wbuchwalter Two questions:

Can you confirm that we should add resource limits to https://github.com/Azure/acs-engine/blob/master/parts/k8s/addons/kubernetesmasteraddons-nvidia-device-plugin-daemonset.yaml
Anyone care to volunteer some recommended limits that we can start testing against?

@jackfrancis This high utilization happened because their was a mismatch between nvidia-device-plugin-daemonset version and k8s version. The plugin kept trying to register the device and failed.
This would not happen with matching version.
If we still want to add limits, we can use the official ones: https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/device-plugins/nvidia-gpu/daemonset.yaml#L44

Thanks @wbuchwalter!
I think we should adopt those limits, @lachie83 @sozercan, any dissenting opinions there?

sgtm! 👍


Infer observation datatype and shape from the environment

Thanks for the PR! I think it's fine but we need the CLA to merge.

@googlebot rescan

I manually checked that @konradczechowski has given permission for using his commits for this pull request and there are 3 commits in this PR all belonging to @koz4k (sender of the PR as well) and @konradczechowski


feat(transparency): remove lualine background

styles.transparency set to true
Before -

After -

Thank you! I don't use lualine so correct me if I'm wrong but would it make sense to do this for the rose-pine-alt version as well?

I haven't used rose-pine-alt myself yet - what's the intention for it? Is it just to provide another look? Happy to try something out.

If I remember correctly it is more inverted, but yea it’s essentially an alternative style

sorry just testing - don't merge yet...

Ah after trying it out I feels like rose-pine-alt should stay as-is. This is what it looks like right now which does offer a unique look -

See that it uses a single bg for the entire bar. If we flip the bg to transparent, there's not enough contrast for some of the text, and it kind of defeats the purpose of the inversion. Let me know what you think?

Ah yes, appreciate the screenshot—I forgot how it looked. That makes sense then to not change it :)
Thank you!


Merge dev back into AMA via wip/merging-ama

Testing this on two of our rigs: so far so good.  Once that runs for a bit I'll go ahead and merge this PR to AMA, and then we can test there for a bit and finish updating wip/ama-docs per https://github.com/openaps/docs/issues/186 before merging https://github.com/openaps/oref0/pull/119 to dev.

Looking good to me.  @danamlewis, can you give a 👍 when you're happy with how those two rigs are running and ready to merge this for others using AMA to run?

Just tested on R2-D2 and worked as expected. so 👍


Remove global lambdaLayer from warmup lambdas

Hi,
I have globally set lambda layer for all my lambdas. Is there any way to detach it from warmup lambda? Can't see this option in config.
serverless.yml
plugins:
  - serverless-webpack
  - serverless-latest-layer-version
  - serverless-plugin-warmup

provider:
  name: aws
...
  layers:
    - arn:aws:lambda:${self:provider.region}:${AWS::AccountId}:layer:${self:custom.lambdaLayerName}:latest

functions:
  ...

Hi @swirkens,
As far as I know there is no way to remove layers at a function level if you set it up at the provider level. Or is it?

There is a way to do that. You can set layers to empty array at function level ;)
functions:
  example:
    layers: []

Resolved in v6.1.0


EDM-458: adding devices summary API

New PR was created on top of the latest changes #549
This one is too far behind and causing many conflicts.
@avishayt @ori-amizur @fzdarsky


Use an anchor link to go directly to a level (update link when completed)

It would be nice for bookmarking if an URL like http://flexboxfroggy.com/#20 would go directly to Level 20.
Also when completing a level, the URL in the address bar would be updated to reflect. For example, on completing Level 20 and loading Level 21: http://flexboxfroggy.com/#21
This may negate the need to store the level number in the local storage, which for me failed to restore to my last active level when my browser crashed and rebooted. The anchor link wouldn't have had that problem since the browser stores it in the session restore data.
Or both solutions could be used in tandem: If I open http://flexboxfroggy.com/ it loads the level in the local storage, but if I use an anchor link, it loads the level in the anchor.

Hey @ADTC, this would be a handy addition, though anchors are already used to set language, so another approach may need to be taken.

Could you mix it?
.../      - English Lesson 1
.../#2    - English Lesson 2
.../#fr   - French Lesson 1
.../#fr#2 - French Lesson 2


Support @IgnoredOnParcel

Adding support for kotlinx.parcelize.IgnoredOnParcel annotation.

I think the new annotation is also missing a constructor. Let me figure that out.

Thanks for your contribution!


Initial hw1 for MIke Liu (xl142)

Anyone wants to review my code? Please just ignore the files under ckp/ and figures/ , and read the codes in models/ and test.py

Hi Mike, some thoughts about your code:
I really like and am impressed with the structure of your files. Rather than have everything in one place you split up your work into separate directories to do a specific task. This can make initial readability more difficult but I know certainly for larger projects this is the superior approach. This looks like production ready code.
Policy Iteration:
After a bit of looking around, I do believe this is correct, although I have a couple questions. Does your assert max_a != -1 ever activate? Would it perhaps be easier to use a built-in function such as np.argmax()? Also this is nitpicky, but you always set new_value = 0 in class ModelBasedAlg, and then use the +=, this seems a little bit redundant. Same with a_value, which you use the same formula for the values, perhaps it would be easier to allocate to an array/list? Overall however, I think this algorithm is correct and well written. I may take some of your structuring and add it to mine if you don’t mind :) Also, does this algorithm work?
Value Iteration:
Looks good. Same as above, you are constantly maximizing your values and actions using a loop, perhaps max and np.argmax would be quicker and easier. I see you do store your values in self._values. Does it work?
Model-based summary:
Looks good. The trajectories look good for both. I see an arrow pointing down toward (0, 1) for value iteration, is this a bug?
Next: Model-based

Q-Learning:
This took quite a while to understand, but I believe your implementation is correct. Why is this labeled as a wip?
SARSA:
Looks correct.
This may need a deeper dive on my part to fully connect all the pieces but it certainly appears that all of your algorithms at a high level are correct. Do any of them not work? Is there any feedback you were specifically looking for?

Hi Scott, Thanks for your detail review!

the max_a != 1 thing. Yes you are right, argmax should be better here, but there are a few points to think about. If use argmax, all the values results needs to be saved, which could use more memory, but it shouldn't matter in this problem. And use for loops in python in slow, I forgot that, I am more familiar with c++, where this makes no difference.
I believe that (0,1) arrow is from (4,1) to (0,1), i.e. that specially state A.
wip I thought there are some bugs, so I made a commit there and started debugging. All algorithms work.


WFCORE-6369 Eliminate unnecessary collection copying in AbstractAddStepHandler constructors

https://issues.redhat.com/browse/WFCORE-6369
Fix improper use of Set in AbstractAddStepHandler.Parameters, since AttributeDefinition is not hashable.

I created https://issues.redhat.com/browse/WFCORE-6419 to follow up on the last comment

Thanks @pferraro / @bstansberry


chore: run formatter on markdown files so lines wrap

…r to read the markdown directly
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Makes the markdown files easier to read
Requirements:

[ X] uses conventional commit messages
[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 75.969%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2627

Relevant Lines:
3458

💛  - Coveralls


[Bug] Date picker validation has regressed

Description
Any date is always invalid. Valid dates between min and max dates error out.
Steps to reproduce the behaviour:

Important Details

Version: Cloud
OS: N/A
Browser N/A

I think the date picker has become a mess. Can we take some strong decisions around this?

The property pane will require a date type to be set and this will not change based on the format
The format will inject a new property called formatted date into the date picker.
We'll have to handle migration for this or deprecation of the previous date property.
@riodeuno @jsartisan

I think the date picker has become a mess. Can we take some strong decisions around this?

The property pane will require a date type to be set and this will not change based on the format
The format will inject a new property called formatted date into the date picker.
We'll have to handle migration for this or deprecation of the previous date property.
@riodeuno @jsartisan

@riodeuno @jsartisan can we pick this up on priority? Related to #1476

@riodeuno @jsartisan can we pick this up on priority? Related to #1476


Can't save nor load any configs.

I couldn't load or save any configs i make it says "Debug Error", i tried installing all Visual C++ Runtime Library it still doesn't fix the problem, any fix? It would be helpful.

Could you post here the config file you're trying to load?

legit_config.zip
I have to convert it into a ZIP file because GitHub doesn't support the file extension.

This is an empty file and therefore not a valid JSON.

Oh yeah, it can't save any config, that's why its empty, but i fixed the problem rn, the problem is i save configs in-match not on the CS:GO menu, Thank you for responding.


C API support for gRPC

Have a native C API for gRPC.

How about https://github.com/Juniper/grpc-c ?

We are planning to do this at some point, but there's no ETA at present.

I think this still needs to be done, I just don't know who it should be assigned to

We can take a look at this after we finish migrating to EventManager.  At that point, I will want to reevaluate the C-core surface API as a whole.


proposal: the make function needs to be optimized for large slices

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.10 linux/amd64
Does this issue reproduce with the latest release?
yes
What did you do?
package main

import (
	"testing"
)

const N = 10000
type Element int64
var x = make([]Element, N)
var yForCopy = make([]Element, N)
var yForMake []Element
var yForMakeCopy []Element
var yForAppend []Element

func Benchmark_PureCopy(b *testing.B) {
	for i := 0; i < b.N; i++ {
		copy(yForCopy, x)
	}
}

func Benchmark_PureMake(b *testing.B) {
	for i := 0; i < b.N; i++ {
		yForMake = make([]Element, N)
	}
}

func Benchmark_MakeAndCopy(b *testing.B) {
	for i := 0; i < b.N; i++ {
		yForMakeCopy = make([]Element, N)
		copy(yForMakeCopy, x)
	}
}

func Benchmark_Append(b *testing.B) {
	for i := 0; i < b.N; i++ {
		yForAppend = append([]Element(nil), x...)
	}
}

What did you expect to see?
The append call should spend more time than the pure make call and spend almost same time as the make+copy calls.
However, these are only true if N is small (<= 1000).
What did you see instead?
When N == 10
goos: linux
goarch: amd64
Benchmark_PureCopy-4      	50000000	        30.7 ns/op
Benchmark_PureMake-4      	 5000000	       387 ns/op
Benchmark_MakeAndCopy-4   	 3000000	       446 ns/op
Benchmark_Append-4        	 3000000	       489 ns/op

When N == 1000
goos: linux
goarch: amd64
Benchmark_PureCopy-4      	 5000000	       259 ns/op
Benchmark_PureMake-4      	  500000	      2892 ns/op
Benchmark_MakeAndCopy-4   	  500000	      3582 ns/op
Benchmark_Append-4        	  500000	      3287 ns/op

When N == 10000
goos: linux
goarch: amd64
Benchmark_PureCopy-4      	  500000	      3537 ns/op
Benchmark_PureMake-4      	  100000	     21456 ns/op
Benchmark_MakeAndCopy-4   	   50000	     29679 ns/op
Benchmark_Append-4        	  100000	     17697 ns/op

/cc @josharian

Isn't that due to this PR ? https://github.com/golang/go/commit/2b415549b813ba36caafa34fc34d72e47ee8335c
It states that:

This change also makes it possible to allocate individual objects
larger than 512GB. As a result, a few tests that expected huge
allocations to fail needed to be changed to make even larger
allocations. However, at the moment attempting to allocate a humongous
object may cause the program to freeze for several minutes on Linux as
we fall back to probing every page with addrspace_free. That logic
(and this failure mode) will be removed in the next CL.

This should be unrelated. The issue is also for Go 1.9.

Duplicate of https://github.com/golang/go/issues/21266?

I think we can break this into multiple performance issues instead of a proposal:

memclr (make) can be faster or slower than memmove (append) depending on size see #23306.
the compiler could be made to optimize make + copy of same length to use uninitialized allocation where possible (like append) instead of first clearing the memory then overwriting it. (to be discussed)

@josharian yes, it is a duplicate of https://github.com/golang/go/issues/21266
But this is one has more details.

Closing as duplicate of #21266. I'll drop a link to this bug from that one. Or you can comment there.
Optimizations don't need to be proposals, either.

I'm sorry, I mean this is a duplicated of https://github.com/golang/go/issues/23306


[Template] Create an Information Architecture: Sitemap template

Current Behavior
Currently for new users we do not have enough starter templates that they can use as introductory material.
Desired Behavior
We want to create an Sitemap template to allow new users to understand how they can create an Sitemap diagram with Kanvas. So we'd want contributors to not just create a design template but also add tips or notes they think a new user would need if they are starting out with little to no context of the capabilities Kanvas offers.
Implementation
Make sure you use Kanvas to create this template and keep the template private.

[ ] Provide a brief overview of what this template does and can help with, maybe highlight a usecase
[ ]  Add a template that can be directly copied and used instantaneously
[ ]  Add a step by step process to create this template
[ ] Once the design is completed, publish it and share the private link with our team, or tag us in the comment component to receive feedback.

Acceptance Tests

Template has been submitted for publishing to the catalog and accepted; is published and available in the Meshery Catalog.
We are in need of well annotated and described templates like this one.

Mockups
This FigJam template can be used for recreating the Sitemap Template
Perks
By contributing to this task, your efforts will have a lasting impact! Once published, your design will be cloned and used by countless users as a go-to starting point for creating Sitemaps in Kanvas. You'll not only help newcomers understand the platform but also see your work adopted widely by the community. Plus, as a token of appreciation, you'll receive a special shoutout, recognising your valuable contribution. Your effort won’t go unnoticed—you're directly helping shape the experience for future users!

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Sure @create2000 do let me know if you have any queries.
Once you feel the design template is ready for review, do add a comment in the design by pressing a Ctrl/Cmd + M and tagging @Ankita Sahu in the comments. I can review it and we can go ahead with publishing your design!


ci: do not require semgrep for publish

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

v5.16.0
GitHub release

Your semantic-release bot :package::rocket:


Added my book Bootstrapping Microservices to the list.

Type of change

[ ] Add an entry to an existing category.
[ ] Remove an existing entry. Provide rationale
[ ] Modify an existing entry. Provide rationale
[ ] Add/modify/remove a category or subcategory. Provide rationale
[ ] Other fixes or amendments.

Rationale

Checklist

[ ] The contribution follows the CONTRIBUTING.md document guidelines.

Regarding the suggested entry:

[ ] It is sorted alphabetically in its section.
[ ] It does not exist already in the list.
[ ] It is not for marketing purposes.

Sorry, we removed the books section from this list.
Thank you anyway! :)


Republish unconfirmed blocks with delay

100 ms by default
25 ms for RPC republish

Im
On Tue, Sep 25, 2018, 11:12 AM Roy Keene<EMAIL_ADDRESS>wrote:

@rkeene approved this pull request.
This looks good to me !
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/nanocurrency/raiblocks/pull/1232#pullrequestreview-158619822,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFum4kGv_xEGjptdNi1PFbS8KxsVnTUgks5uelXTgaJpZM4W452d
.

I'm a bit want of more of these gradual broadcast systems. If we confirm it helps, then LGTM though.

/workspace/rai/node/node.cpp: In member function 'void rai::active_transactions::announce_loop()':
/workspace/rai/node/node.cpp:4023:95: error: 'broadcast_interval_ms' was not declared in this scope
   condition.wait_for (lock, std::chrono::milliseconds (announce_interval_ms + roots.size () * broadcast_interval_ms));

/workspace/rai/node/node.cpp: In member function 'void rai::active_transactions::announce_loop()':
/workspace/rai/node/node.cpp:4023:95: error: 'broadcast_interval_ms' was not declared in this scope
   condition.wait_for (lock, std::chrono::milliseconds (announce_interval_ms + roots.size () * broadcast_interval_ms));

Fixed


text appears squished when opening a new master window

Hyprland Version
 System/Version info
c4da4b026deefd58f532353b64e9f17130e760ca

Bug or Regression?
Bug
Description
Text appears squished when opening a new master window until the new window is resized
How to reproduce

Open a firefox window
Open another window
Text in the second window is squished

Crash reports, logs, images, videos

before resizing

after resizing

I cannot reproduce. Can you share your config ?

Yeah, I'll send it in a bit.
Also this only happens when I open a 2nd new window in my other monitor. There are no issues on my laptop's display or a full sized window on my monitor


publisher history with KEEP_ALL_HISTORY_QOS never removes samples

I noticed a problem in PublisherHistory.cpp similar to the one updated in https://github.com/eProsima/Fast-RTPS/commit/4ce3e29fe0371c00905074d2a06a74be595fd3ec - m_isHistoryFull is never cleared to false when samples are removed.
I made corresponding changes to PublisherHistory as in 4ce3e29fe0371c009050 to clear m_isHistoryFull when removing changes, but when m_historyQos.kind == KEEP_ALL_HISTORY_QOS I never see the changes get removed, even once they have been delivered to the single matched reader.
The sample code is very similar to this gist (from #31) but the publisher history kind is changed to KEEP_ALL_HISTORY_QOS.

also, this expectation is based on the following excerpt from the spec: "On the publishing side, the Service will attempt to keep all samples (representing each value written) of each instance of data (identified by its key) managed by the DataWriter until they can be delivered to all subscribers."
The problem is that when m_historyQos.kind == KEEP_ALL_HISTORY_QOS, a publisher is considered full when m_changes.size() == m_resourceLimitsQos.max_samples. At that point, if no samples are ever removed, it’s no longer possible to write new samples through that publisher.
maybe there's another approach?

thanks - will give this a shot!


Fix for headwords containing special characters

en.wiktionary contains headwords containing special characters. Especially brackets cause abnormal program termination because of regular expression syntax errors.

@matthias-buchmeier Thank you for the fix! Tested and everything seems to be working. Thanks so much for making these dictionaries available! :+1:


bugfix: move MaxInFlightLimit handler chain after RequestClientComponent

Signed-off-by: SataQiu<EMAIL_ADDRESS>
What type of PR is this?
/kind bug
What this PR does / why we need it:
MaxInFlightLimit wants to show the client component, but the client component info is available only after RequestClientComponent chain executed.
https://github.com/openyurtio/openyurt/blob/b7bef6d0f1268b98826f840a5aaceb585516b394/pkg/yurthub/proxy/util/util.go#L235
https://github.com/openyurtio/openyurt/blob/b7bef6d0f1268b98826f840a5aaceb585516b394/pkg/yurthub/util/util.go#L131
This PR move MaxInFlightLimit handler chain after RequestClientComponent.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/assign @rambohe-ch
Does this PR introduce a user-facing change?

bugfix: move 'MaxInFlightLimit' handler chain after 'RequestClientComponent'

other Note

/lgtm
/approve
Generally, you are advised to set the yurthub log level to --v=2


Pipelines per project

Also I have found this free service:
for prod:
for stage:
Link would lead to pipeline view per project. Will look into including logo. is a mess (remove before merging)
Merge after packit/packit-service#1194

TODO

for prod:
for stage:

<3


Asset Bridge changes

Description
BUIDLER: PLR DAO Membership Block
Add asset bridge to PLR DAO block.
Motivation and Context
This block is aimed at making the process of joining the PLR DAO easy via the BUIDLER component with the implementation of a PLR  DAO Membership Block. This will allow a user to choose their PLR tokens that they may own on any chain, and ultimately stake it into the PLR DAO staking contract and become a member.
How Has This Been Tested?
Tested on Polygoan Mainnet
If User have enoughPLR Token on Polygon then user sees the Staking screen
If User doen't have enoughPLR Token on Polygon then user sees the Swap screen
If user selects PLR tokens from chains other than polygon then user sees the Asset Bridge screen.
Screenshots (if appropriate):

Types of changes

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

@poocart @MayukhSamadder2000 has reolved the issues on this PR. Please have a look.

@poocart made the suggested changes. Can you please have a look?


plus sign (+) in query string incorrectly escaped to %2B

Expected Behavior
Sending a GET request to http://localhost:3000/some/path?foo=bar+baz should send the following HTTP request to the server running at port 3000:
GET /some/path?foo=bar+baz HTTP/1.1

Specifically, the query string ?foo=bar+baz should be passed through unchanged, as + belongs to the set of URI reserved characters as defined in RFC 3986, Section 2.2 (emphasis mine):

2.2.   Reserved Characters
URIs include components and subcomponents that are delimited by
characters in the "reserved" set.  These characters are called
"reserved" because they may (or may not) be defined as delimiters by
the generic syntax, by each scheme-specific syntax, or by the
implementation-specific syntax of a URI's dereferencing algorithm.
If data for a URI component would conflict with a reserved
character's purpose as a delimiter, then the conflicting data must be
percent-encoded before the URI is formed.
 reserved    = gen-delims / sub-delims

 gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

 sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
             / "*" / "+" / "," / ";" / "="

The purpose of reserved characters is to provide a set of delimiting
characters that are distinguishable from other data within a URI.
URIs that differ in the replacement of a reserved character with its
corresponding percent-encoded octet are not equivalent.  Percent-
encoding a reserved character, or decoding a percent-encoded octet
that corresponds to a reserved character, will change how the URI is
interpreted by most applications.  Thus, characters in the reserved
set are protected from normalization and are therefore safe to be
used by scheme-specific and producer-specific algorithms for
delimiting data subcomponents within a URI.

Here's the relevant portion:

Percent-encoding a reserved character, or decoding a percent-encoded octet
that corresponds to a reserved character, will change how the URI is
interpreted by most applications.

Actual Behavior
This request is sent to the server running on port 3000:
GET /some/path?foo=bar%2Bbaz HTTP/1.1

%2B is the correct percent-encoded equivalent to the literal plus sign +, but the plus sign is a reserved character used to indicate whitespace in URIs and thus should not be percent-encoded. Here are examples from a few popular languages' URI parsing libraries (Elixir, Node, Python) to illustrate why this is problematic:
Erlang/OTP 25 [erts-13.0.3] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit:ns]

Interactive Elixir (1.13.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> URI.decode_query("foo=bar+baz")
%{"foo" => "bar baz"}
iex(2)> URI.decode_query("foo=bar%2Bbaz")
%{"foo" => "bar+baz"}

Welcome to Node.js v18.8.0.
Type ".help" for more information.
> const qs = require('node:querystring')
> qs.decode('foo=bar+baz')
{ foo: 'bar baz' }
> qs.decode('foo=bar%2Bbaz')
{ foo: 'bar+baz' }

Python 3.9.12 (main, Mar 26 2022, 15:52:10)
[Clang 13.0.0 (clang-13<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib.parse import parse_qs
>>> parse_qs('foo=bar+baz')
{'foo': ['bar baz']}
>>> parse_qs('foo=bar%2Bbaz')
{'foo': ['bar+baz']}

Reproduction Steps
No response
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
I'm opening a new issue to follow up on #1712. That issue referenced a specific URL that showed why this percent encoding was problematic, where the user expected 1 or more search results but got 0 because whitespaces in the query were replaced with +.
Insomnia Version
2022.5.1
What operating system are you using?
macOS
Operating System Version
macOS Monterey 12.3.1
Installation method
download from insomnia.rest
Last Known Working Insomnia version
n/a

cc @wongstein

This bug seems very easy to verify.
A '+' in the query string must not be encoded, it is already an encoded space.
Go to any browser and try for example https://www.google.com/search?q=hello+world - and it will search for "hello world". Use the same URL in Insomnia, and it will search for "Hello+world". This is a bug, it should search for "hello world".
You can also just go to Google and search for "hello world", and notice that the url contains "q=hello+world".


Diesel doesn't see sqlite generated columns

Setup
Setup a project with sqlite using the following up.sql:
create table example (
    id integer not null primary key,
    calculated integer generated always as (id*2)
);

Versions

Rust: 1.56.0 nightly
Diesel: 1.4.7
Database: Sqlite
Operating System Linux

Feature Flags

diesel: sqlite

Problem Description
Sqlite doesn't include generated columns in pragma table_info(table); only in pragma table_xinfo(table);. Therefore they do not show up in the schema.
What are you trying to accomplish?
Use generated columns.
Are you seeing any additional errors?
No
Checklist

[X] I have already looked over the issue tracker  and the disussion forum  for similar possible closed issues.
[X] This issue can be reproduced on Rust's stable channel. (Your issue will be
closed if this is not the case)
[X] This issue can be reproduced without requiring a third party crate

I read a bit more about this. The [documentation] of table_xinfo states that it will also show hidden columns. In fact there is an additional column hidden there that contains the hidden state. Experimentation has shown that this value is set to 0 for normal columns and to 2 for generated columns. Maybe 1 means that it is an ordinary hidden column, but I was not able to check this yet.
Additionally the documentation of hidden columns states that hidden columns can only be created for virtual tables. Virtual tables must be registered at connection setup. This means they cannot exist in a database used to infer the schema, as diesel cli does not setup any virtual table. This means we should be fine with just using the PRAGMA table_xinfo() instead of table_info there. Any help here would be welcome.
Instructions for possible contributors:

Use table_xinfo() instead of table_info here: https://github.com/diesel-rs/diesel/blob/a4a70d9cdc05d722b88ea880781364098071a5e2/diesel_cli/src/infer_schema_internals/sqlite.rs#L97
Change the corresponding table! definition, so that it contains the hidden column here: https://github.com/diesel-rs/diesel/blob/a4a70d9cdc05d722b88ea880781364098071a5e2/diesel_cli/src/infer_schema_internals/sqlite.rs#L16-L25
Change the corresponding Queryable impl to be compatible with the changed table. You need to add an additional column of the right type here: https://github.com/diesel-rs/diesel/blob/a4a70d9cdc05d722b88ea880781364098071a5e2/diesel_cli/src/infer_schema_internals/data_structures.rs#L97-L107
Add the provided example as test case here. You need to add another test function, that runs for sqlite + postgres in that file + Provide the corresponding files in this folder. Look at existing test cases there for a template.

One thing, table_xinfo was added in 3.26.0, as such it's very close to the same issue returning is on.
Hidden columns on the other hand appeared in 3.4.1 (around 11 years of difference).
There is also the option of using the .schema, or the equivalent sqlite_master table (latter with a query), giving the following output given my original table with the generated column in it:
CREATE TABLE example (
id integer primary key autoincrement not null,
calculated generated always as (id * 3) stored
)
This solution would basically go back to way before sqlite had a version number.
Luckily these statements are highly bound by sql and definitely wouldn't need a full sql create statement parser for them, especially as most info would be pointless, but these include all kinds of info, such as hidden columns, generated columns, and so on.
Issue with this would be that generated columns don't require a type as can be seen from the example, but knowing the outer functions and their return types would be sufficient in determining that.

That's a good point about version compatibility. I would prefer not to have parsing code for sql statements inside of diesel. As generated columns where added with 3.31 I would just say that we check the sqlite version and if it's 3.26 or newer we use table_xinfo() otherwise we fall back to table_info(). We don't need to worry about other hidden columns here as they are a feature for virtual tables, which should not exist anyway at least not without special setup at connection creation.

If I understands correctly, this issue assumes changes in the diesel_cli, which is compiled against some known version of the sqlite. So no need to check for availible features because you just can require the version that supports a necessary API.

@weiznich For now I just ignored the version check and went ahead and implemented the changes you mentioned, though they weren't complete so here's how I got it to work:
In src/infer_schema_internals/sqlite.rs changed the pragma_table_info definition to include the hidden column:
table! {
    pragma_table_info (cid) {
        cid ->Integer,
        name -> VarChar,
        type_name -> VarChar,
        notnull -> Bool,
        dflt_value -> Nullable<VarChar>,
        pk -> Bool,
        hidden -> Bool,
    }
}

Also added it as an unused variable to the FullTableInfo struct in the same file:
#[derive(Queryable)]
struct FullTableInfo {
    _cid: i32,
    name: String,
    _type_name: String,
    _not_null: bool,
    _dflt_value: Option<String>,
    primary_key: bool,
    _hidden: bool,
}

Had to change TABLE_INFO to TABLE_XINFO in two places, the one mentioned:
pub fn get_table_data(
    conn: &mut SqliteConnection,
    table: &TableName,
    column_sorting: &ColumnSorting,
) -> QueryResult<Vec<ColumnInformation>> {
    let query = format!("PRAGMA TABLE_XINFO('{}')", &table.sql_name);
    let mut result = sql::<pragma_table_info::SqlType>(&query).load(conn)?;
    match column_sorting {
        ColumnSorting::OrdinalPosition => {}
        ColumnSorting::Name => {
            result.sort_by(|a: &ColumnInformation, b: &ColumnInformation| {
                a.column_name.partial_cmp(&b.column_name).unwrap()
            });
        }
    };
    Ok(result)
}

And where the primary keys are determined:
pub fn get_primary_keys(
    conn: &mut SqliteConnection,
    table: &TableName,
) -> QueryResult<Vec<String>> {
    let query = format!("PRAGMA TABLE_XINFO('{}')", &table.sql_name);
    let results = sql::<pragma_table_info::SqlType>(&query)
        .load::<FullTableInfo>(conn)?;
    Ok(results
        .into_iter()
        .filter_map(|i| if i.primary_key { Some(i.name) } else { None })
        .collect())
}

From line 97 in src/infer_schema_internals/data_structures.rs: (Added bool to the type and the where statement)
#[cfg(feature = "sqlite")]
impl<ST> Queryable<ST, Sqlite> for ColumnInformation
where
    (i32, String, String, bool, Option<String>, bool, bool):
        FromStaticSqlRow<ST, Sqlite>,
{
    type Row = (i32, String, String, bool, Option<String>, bool, bool);

    fn build(row: Self::Row) -> deserialize::Result<Self> {
        Ok(ColumnInformation::new(row.1, row.2, None, !row.3))
    }
}

Now the cli builds, and errors out with the error: "The type 'generated always' isn't supported', because the output of table_xinfo looks like this:
0|id|integer|1||1|0
1|calculated|generated always|0||0|3

Notice the 3 in the output? Fun eh?  Checking the source of sqlite, there's a nice little comment here: https://github.com/sqlite/sqlite/blob/91f621531dc1cb9ba5f6a47eb51b1de9ed8bdd07/src/pragma.c#L1165
Saying 2 -> virtual generated, 3 -> stored generated (and 1 is indeed just hidden)
The returned type seems to always contain whatever was put between the column name and 'as', so possible values:
empty string

 generated always
generated always
This makes it especially complex to find out the type.

Thanks for the great summary :+1:
It would be great if you can open a WIP PR containing this changes. This would make it much easier to comment on certain parts of your solution.
I would change the hidden column to Integer as it can contain more values than only 0 and 1.

The returned type seems to always contain whatever was put between the column name and 'as', so possible values:
empty string
type
type generated always
generated always
This makes it especially complex to find out the type.

As for now I would like to keep this really simple. Rejecting generated columns without explicit type should be fine for the first step, as there is always the option to specify the type there as you've done in your example case. We can improve on this later on, but I do not really see a good solution there. At least not without having to parse the actual generate expression and trying to figure out the type from there. What could be easily done is to just emit a better error message in this case pointing out that diesel cannot infer the correct type in this case.

We can improve on this later on, but I do not really see a good solution there.
Btw, I made a post on the sqlite forum about it, maybe there's a good solution, but we'll see.

:+1:
Can you link the corresponding post here for future reference?

https://sqlite.org/forum/forumpost/8ebb993012

Working on this issue again, because I found more time all of a sudden.
So first and foremost, after reading the sqlite docs more carefully, this:

The datatype and collating sequence of the generated column are determined only by the datatype and COLLATE clause on the column definition. The datatype and collating sequence of the GENERATED ALWAYS AS expression have no affect on the datatype and collating sequence of the column itself.

To me seems to mean, that if the type isn't specified, then that means, like in the rest of sqlite, it will take the blob type. So that's one issue out of the picture.
However, when I mentioned, that "generated always" ate itself into the table_xinfo description... that seems to have been a bug, as now it isn't. This was fixed in 3.37.0, so from 3.31 to 3.36, this issue existed. About 2 years.

Working on this issue again, because I found more time all of a sudden.
So first and foremost, after reading the sqlite docs more carefully, this:

The datatype and collating sequence of the generated column are determined only by the datatype and COLLATE clause on the column definition. The datatype and collating sequence of the GENERATED ALWAYS AS expression have no affect on the datatype and collating sequence of the column itself.

To me seems to mean, that if the type isn't specified, then that means, like in the rest of sqlite, it will take the blob type. So that's one issue out of the picture.
However, when I mentioned, that "generated always" ate itself into the table_xinfo description... that seems to have been a bug, as now it isn't. This was fixed in 3.37.0, so from 3.31 to 3.36, this issue existed. About 2 years.

Ok, so cli has sqlite bundled into it, which means theoretically the second part of this message shouldn't be important and it should be ok to leave it like that, though I'll let the smarter people decide

Closed by #2916


Don't use electron.net - use Node.js http module

This PR fixes the error Cannot read property 'request' of undefined temporarily.

Codecov Report

Merging #17 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #17   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines           8      8
=====================================
  Hits            8      8

Impacted Files
Coverage Δ

src/hacker-news.js
100% <100%> (ø)
:arrow_up:

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 306c3ab...8cc316d. Read the comment docs.

Perhaps related to https://github.com/sindresorhus/got/issues/352

thank you 👍


Failed to watch *unstructured.Unstructured: the server does not allow this method on the requested resource

When ansible operator playbook creates RoleBinding objects:
{"level":"info","ts":1550486474.1879833,"logger":"logging_event_handler","msg":"[playbook task]","name":"alaMakota","namespace":"","gvk":"ala.cat.com/v1, Kind=GrumpyCat","event_type":"playbook_on_task_start","job
":"7492815135160941009","EventData.Name":"project-apply : Apply RBAC for project alaMaKota project"}
ERROR: logging before flag.Parse: E0218 10:41:14.934850       1 reflector.go:251] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:196: Failed to watch *unstructured.Unstructured: the server does not allow this method on the requested resource
{"level":"info","ts":1550486475.2151556,"logger":"runner","msg":"Ansible-runner exited successfully","job":"7492815135160941009","name":"alaMaKota-cr","namespace":""}
ERROR: logging before flag.Parse: E0218 10:41:15.965672       1 reflector.go:251] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:196: Failed to watch *unstructured.Unstructured: the server does not allow this method on the requested resource
ERROR: logging before flag.Parse: E0218 10:41:17.000215       1 reflector.go:251] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:196: Failed to watch *unstructured.Unstructured: the server does not allow this method on the requested resource
ERROR: logging before flag.Parse: E0218 10:41:18.038124       1 reflector.go:251] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:196: Failed to watch *unstructured.Unstructured: the server does not allow this method on the requested resource
(... and it repeats every second forever ...)

The operator pod service account is essentially cluster-admin : (a a workaround for another case..)
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: ala-has-a-cat-operator
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'

@matihost Is there some time that we could jump on a call and discuss your use cases. Seems like we are not doing as good of a job supporting them as I would like, but I don't really understand what it is your solving. @fabianvf and I work in EST, hopefully, we can find a time that works.

I will contact with @fabianvf  via different channel.
This is what I do, not very complex:

operator-sdk new some-operator --cluster-scoped --api-version=ala.has.a.cat.com/v1alpha1 --kind=Cat --type=ansible --skip-git-init --generate-playbook
change deploy/crd/....crd.yaml:scope from Namespaced to Cluster
cjange role.yaml to essentially cluster-admin (like shown above)
inject oc/kubectl command into Dockerfile
I do the following steps in playbook.yaml:

# when project is not created yet
oc new-project {{meta.name}}
oc policy add-role-to-user admin  {{ someVariableFromCR }} -n  {{meta.name}}

In other words I create project/namespace - and my ServiceAccount is admin automatically in that project (so essentially cluster-role is not needed - but since CRD is Cluster- the operator needs ClusterRoleBinding on objects )
Afterwards I modify, create rolebinding.
After that line the error is appearing on stdout.

It seems it is related to transient ProjectRequest and Project object coming from OpenShift.


Improved UiImage and Sprite scaling and slicing APIs

Objective

UI texture slicing chops and scales an image to fit the size of a node and isn't meant to place any constraints on the size of the node itself, but because the required components changes required ImageSize and ContentSize for nodes with UiImage, texture sliced nodes are laid out using an ImageMeasure.

In 0.14 users could spawn a (UiImage, NodeBundle) which would display an image stretched to fill the UI node's bounds ignoring the image's instrinsic size. Now that UiImage requires ContentSize, there's no option to display an image without its size placing constrains on the UI layout (unless you force the Node to a fixed size, but that's not a solution).

It's desirable that the Sprite and UiImage share similar APIs.

Fixes #16109
Solution

Remove the Component impl from ImageScaleMode.
Add a Stretch variant to ImageScaleMode.
Add a field scale_mode: ImageScaleMode to Sprite.
Add a field mode: UiImageMode to UiImage.
Add an enum UiImageMode similar to ImageScaleMode but with additional UI specific variants.
Remove the queries for ImageScaleMode from Sprite and UI extraction, and refer to the new fields instead.
Change ui_layout_system to update measure funcs on any change to ContentSizes to enable manual clearing without removing the component.
Don't add a measure unless UiImageMode::Auto is set in update_image_content_size_system. Mutably deref the Mut<ContentSize> if the UiImage is changed to force removal of any existing measure func.

Testing
Remove all the constraints from the ui_texture_slice example:
//! This example illustrates how to create buttons with their textures sliced
//! and kept in proportion instead of being stretched by the button dimensions

use bevy::{
    color::palettes::css::{GOLD, ORANGE},
    prelude::*,
    winit::WinitSettings,
};

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        // Only run the app when there is user input. This will significantly reduce CPU/GPU use.
        .insert_resource(WinitSettings::desktop_app())
        .add_systems(Startup, setup)
        .add_systems(Update, button_system)
        .run();
}

fn button_system(
    mut interaction_query: Query<
        (&Interaction, &Children, &mut UiImage),
        (Changed<Interaction>, With<Button>),
    >,
    mut text_query: Query<&mut Text>,
) {
    for (interaction, children, mut image) in &mut interaction_query {
        let mut text = text_query.get_mut(children[0]).unwrap();
        match *interaction {
            Interaction::Pressed => {
                **text = "Press".to_string();
                image.color = GOLD.into();
            }
            Interaction::Hovered => {
                **text = "Hover".to_string();
                image.color = ORANGE.into();
            }
            Interaction::None => {
                **text = "Button".to_string();
                image.color = Color::WHITE;
            }
        }
    }
}

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    let image = asset_server.load("textures/fantasy_ui_borders/panel-border-010.png");

    let slicer = TextureSlicer {
        border: BorderRect::square(22.0),
        center_scale_mode: SliceScaleMode::Stretch,
        sides_scale_mode: SliceScaleMode::Stretch,
        max_corner_scale: 1.0,
    };
    // ui camera
    commands.spawn(Camera2d);
    commands
        .spawn(Node {
            width: Val::Percent(100.0),
            height: Val::Percent(100.0),
            align_items: AlignItems::Center,
            justify_content: JustifyContent::Center,
            ..default()
        })
        .with_children(|parent| {
            for [w, h] in [[150.0, 150.0], [300.0, 150.0], [150.0, 300.0]] {
                parent
                    .spawn((
                        Button,
                        Node {
                            // width: Val::Px(w),
                            // height: Val::Px(h),
                            // horizontally center child text
                            justify_content: JustifyContent::Center,
                            // vertically center child text
                            align_items: AlignItems::Center,
                            margin: UiRect::all(Val::Px(20.0)),
                            ..default()
                        },
                        UiImage::new(image.clone()),
                        ImageScaleMode::Sliced(slicer.clone()),
                    ))
                    .with_children(|parent| {
                        // parent.spawn((
                        //     Text::new("Button"),
                        //     TextFont {
                        //         font: asset_server.load("fonts/FiraSans-Bold.ttf"),
                        //         font_size: 33.0,
                        //         ..default()
                        //     },
                        //     TextColor(Color::srgb(0.9, 0.9, 0.9)),
                        // ));
                    });
            }
        });
}

This should result in a blank window, since without any constraints the texture slice image nodes should be zero-sized. But  in main the image nodes are given the size of the underlying unsliced source image textures/fantasy_ui_borders/panel-border-010.png:

For this PR need to change the lines:
                        UiImage::new(image.clone()),
                        ImageScaleMode::Sliced(slicer.clone()),

to
                        UiImage::new(image.clone()).with_mode(UiImageMode::Sliced(slicer.clone()),

and then nothing should be rendered, as desired.

This  doesn't fix the problems with measure func removal, going to look at that next.

I'm on board for the general angle, but I think we should take this a couple of steps farther:

Port this pattern to Sprite for consistency.
Remove the Component impl for ImageScaleMode.
Make the "default" / None scale mode an ImageScaleMode variant (ex: ImageScaleMode::Standard). This makes the ergonomics better and also allows us to more easily express ideas like scale_mode.defines_size() (Standard) and scale_mode.uses_slices() (Sliced and Tiled). This also opens the doors to new scale modes in the future that aren't "sliced".

I've put those changes together. Pushing now for consideration (not dictating this solution, just pushing for convenience of discussion).

I'm on board for the general angle, but I think we should take this a couple of steps further:

Port this pattern to Sprite for consistency.
Remove the Component impl for ImageScaleMode.
Make the "default" / None scale mode an ImageScaleMode variant (ex: ImageScaleMode::Standard). This makes the ergonomics better and also allows us to more easily express ideas like scale_mode.defines_size() (Standard) and scale_mode.uses_slices() (Sliced and Tiled). This also opens the doors to new scale modes in the future that aren't "sliced".

Yeah I've just been working on this PR the last hour as well and didn't notice this until I came to merge my changes. But I've been working in the same the direction, agree that ImageScaleMode should be non-optional and that it needs another variant for the default behaviour.
The main difference though is that I don't think Sprite and UiImage can share the ImageScaleMode enum since a UiImage also has to deal with the constraints on its size imposed by the UI layout. Initially I think we need at least two extra variants
one that uses a measure func to preserve the images aspect ratio and one that just fills the node without applying any constraints.

The name ImageScaleMode seems misleading as well for the same reasons, for UiImages since it wouldn't just control how the image is scaled but also how the layout algorithm rearranges the layout to make room for the image.

The main difference though is that I don't think Sprite and UiImage can share the ImageScaleMode enum

Yeah a split here seems reasonable. Also open to name alternatives.

Merged my changes, called the new enum UiImageMode which I kind of hate but I can't think of anything right now that's more specific and isn't super long or potentially confusing. The Auto and Resize variant names seem bad too.

Renamed both Resize and Standard to Stretch, Standard and its comment seemed misleading because what it really means is that the image is resized if a custom_size is set.

I like these changes. Perhaps we should call these SpriteImageMode and NodeImageMode for unified naming conventions?
ImageScaleMode feels "too generic" given that it is really in the "sprite scope" and UiImageMode also feels too generic, as this is really the scale mode for nodes specifically.
It feels like in the current form sprite is really in Auto by default, given that it takes on the size of the image by default (just like UiImageMode::Auto) and then implicitly switches to Stretch if a custom size is set (which feels like an "auto" behavior to me).

It feels like in the current form sprite is really in Auto by default, given that it takes on the size of the image by default (just like
UiImageMode::Auto) and then implicitly switches to Stretch if a custom size is set (which feels like an "auto" behavior to me).

Oh I know, we could get rid of the custom_size field completely, and add instead a CustomSize(Vec2) variant to the SpriteImageMode instead. The Tiled and Sliced variants would need their own size field too but it never really made sense to use them with the base image size anyway.

Perhaps we should call these SpriteImageMode and NodeImageMode for unified naming conventions?

Yep seem good to me.

We could get rid of the custom_size field and replace it with a CustomSize(Vec2) variant on the SpriteImageMode enum instead? The Tiled and Sliced variants would need their own size fields too but it doesn't really make sense to use them with the base image size anyway.

Hmm the common custom_size field does make it easier to operate on "sprite custom size" generically without needing to know the exact variant it is currently in. And adding it to the variants would make then make the sprite vs node interface different.
I kind of still like just doing Stretch -> Auto, especially given that it makes this a less invasive change. But I also don't have super strong opinions here.

I also think the field should be Sprite::image_mode not Sprite::mode , otherwise the variant should be SpriteMode and NodeMode, but imo thats a bit too generic (in both cases).

(just pushed that change)


Remove galactic note in logging tutorial

It is no longer needed since this repo switched to using one branch per distro.

This should also be backported to the foxy branch since the logging directory feature (https://github.com/ros2/rcl_logging/pull/53, https://github.com/ros2/launch/pull/460) was backported to Foxy (https://github.com/ros2/rcl_logging/pull/70, https://github.com/ros2/launch/pull/477).


The Graph::BFS() function ignores root parameter.  This fixes the issue.

The Graph::BFS() function takes a single argument specifying the node from which to start the breadth-first-search.  However, line 79 of
graph.py prevented the parameter from being applied.  I also removed
line 83 because the self.depth value is not used anywhere in the
package.
-Josh

Hi @spacemanjosh,
Do you still want this PR to be applied ?

Hey Hadim,
I guess that’s up to you.  I just noticed the bug when I was experimenting with pygraphml.  If you agree that the change would benefit the software, then feel free to apply it.  I’m cool either way.
-Josh

On Apr 23, 2016, at 10:21 AM, Hadrien Mary<EMAIL_ADDRESS>wrote:
Hi @spacemanjosh https://github.com/spacemanjosh,
Do you still want this PR to be applied ?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/hadim/pygraphml/pull/14#issuecomment-213773968

Thank you then :-)


CSGPolygon fix: fixes extra connection errors being thrown

Should fix #30229.

The fix looks good, but could you amend the commit log to be more explicit? "CSGPolygon fix" doesn't tell us much about what is actually fixed in CSGPolygon.

It seems like you git pull-ed your remote branch after amending, so you now have 3 commits instead of 1. You should rebase to keep only the commit with the edited log, see PR workflow.

@akien-mga I will check those things. Just swamped with other stuff for now.

CL looks like it got a little messed up.  Did you just remove the path_cache = NULL;?  I tried this, and it fixed a number of the errors, but I'm still getting the !is_inside_tree() error.

Yeah that was the only change I made. Just tested with my own original issue. Seems like there are still other issues related.

Cool.  Certainly seems like the correct change to make, and it fixes most of the errors.

This issue is still here in 3.2.4 rc3, seems like this should have been fixed a while back,
Is there at least a way to suppress these?

This issue is still here in 3.2.4 rc3, seems like this should have been fixed a while back,
Is there at least a way to suppress these?

Yeah I actually totally forgot this and havent gotten around to check the issues @jitspoe mentioned.

Superseded by #48232.


Question: BulkInsert?

Does Dapper.FastCRUD package support BulkInsert or BulkInsertAsync? I have downloaded the package from NuGet. I can see BulkDelete and BulkUpdate but there is no BulkInsert. If you do not support this, do you have plans to support this in the future?

My bad, it seems there is BulkInsert. The problem was on my side I guess. I'm closing this issue.


Better handling of background colors

It's layered in some places, would be nice to have possibility to darken the interface.

@Ptrhnk Is this not solved as part of the dark mode?

@davidzbiral you're right, this issue where handled with theming


Giant Database Problem

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
I'm monitoring 96 services with Uptime Kuma. After 1.5 years the database has grown to about 8GB. The result is that the instance is extremely slow: The web panel loads after 5 minutes, if it loads at all. The monitoring history is set to 7 days at the moment. If you try to do a vacuum, the instance will crash without any error message. Maybe someone has an idea how to improve that.
📝 Error Message(s) or Log
[...]
sql: 'UPDATE monitor SET active = 1 WHERE id = ?',
bindings: [ '91' ]
}
at process.unexpectedErrorHandler (/app/server/server.js:1894:13)
at process.emit (node:events:517:28)
at emit (node:internal/process/promises:149:20)
at processPromiseRejections (node:internal/process/promises:283:27)
at processTicksAndRejections (node:internal/process/task_queues:96:32)
at runNextTicks (node:internal/process/task_queues:64:3)
at listOnTimeout (node:internal/timers:538:9)
at process.processTimers (node:internal/timers:512:7)
If you keep encountering errors, please report to https://github.com/louislam/uptime-kuma/issues
Trace: KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
at Client_SQLite3.acquireConnection (/app/node_modules/knex/lib/client.js:312:26)
at async Runner.ensureConnection (/app/node_modules/knex/lib/execution/runner.js:287:28)
at async Runner.run (/app/node_modules/knex/lib/execution/runner.js:30:19)
at async RedBeanNode.normalizeRaw (/app/node_modules/redbean-node/dist/redbean-node.js:572:22)
at async RedBeanNode.exec (/app/node_modules/redbean-node/dist/redbean-node.js:536:9)
at async UptimeKumaServer.startMonitor (/app/server/uptime-kuma-server.js:412:9)
at async UptimeKumaServer.restartMonitor (/app/server/uptime-kuma-server.js:434:16) {
sql: 'UPDATE monitor SET active = 1 WHERE id = ?',
bindings: [ '92' ]
}
at process.unexpectedErrorHandler (/app/server/server.js:1894:13)
at process.emit (node:events:517:28)
at emit (node:internal/process/promises:149:20)
at processPromiseRejections (node:internal/process/promises:283:27)
at process.processTicksAndRejections (node:internal/process/task_queues:96:32)
If you keep encountering errors, please report to https://github.com/louislam/uptime-kuma/issues
🐻 Uptime-Kuma Version
1.23.4
💻 Operating System and Arch
Ubuntu 20.04 x64
🌐 Browser
Google Chrome 119.0.6045.124
🐋 Docker Version
Docker Standalone 23.0.1
🟩 NodeJS Version
No response

How can I turn off the healthchecks?

yes, please refer to the documentation of your runtime to know how. For example docker has the --no-healthcheck flag

This helped a lot. It's now down to 300MB and much faster. Thanks.


Error on this page?

In the example above, "The stock price increase by 7 $ this year", the resulting json shows the entity value as " 7 % ".  Bug or feature?

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

ID: f5470819-3488-fb04-a111-fc5deba3e9d4
Version Independent ID: 9787ae46-d1d7-de17-4deb-1477c735bf84
Content: LUIS Prebuilt entities reference - Azure - Azure
Content Source: articles/cognitive-services/LUIS/luis-reference-prebuilt-entities.md
Service: cognitive-services
GitHub Login: @v-geberr
Microsoft Alias: v-geberr

@janefreakindoe Thank you for taking the time to log this issue. The table is incorrect. Please use this page for information regarding JSON response for percentage. I will remove the table on the page you referenced as more complete information is on each prebuilt entitie's page. #in-progress

Hi @janefreakindoe, the Entities per culture page no longer has the table. The correct example for percentage is on this page. Please let us know if you find other issues with the documentation. #please-close


Use a better mechanism for calculating CSS positions

Based on #103

Coverage decreased (-0.04%) to 89.493% when pulling c32608f159b5ef2ef069df762c53ea1c58df0214 on better-positioning into 76b515d0de4cadb21b690301536c47c9f4338802 on master.


MINOR: Fix race condition on shutdown of verifiable producer

We've seen ReplicaVerificationToolTest.test_replica_lags fail occasionally due to errors such as the following:
RemoteCommandError: ubuntu@worker7: Command 'kill -15 2896' returned non-zero exit status 1. Remote error message: bash: line 0: kill: (2896) - No such process

The problem seems to be a shutdown race condition when using max_messages with the producer. The process may already be gone which will cause the signal to fail.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I ran the test about 60 times without any failures.


Question: is BEM required?

I generally hash my selectors in production and rely on CSS modules.
How does this repo fit into that environment?
Thanks..

Hi @noahehall !
Issue #18 is exactly about this.
Basically, it wouldn't work out of the box as it is now.
I had some ideas, but since I'm not using css modules I haven't tried any of them. we can continue the discussion there, I'm curious what you might think. 🤔

I've just realised that I haven't addressed your original question: technically you don't need to use any OOCSS methodology, like BEM, but it's not officially supported, so I don't know if it actually would work. 🤔

Thanks @ZeeCoder


README: Fix example params and results for bulk request

Thank you for useful Gem.
It seems that the requests key and the results key are unnecessary for Bulk Request. I fixed it.

Coverage remained the same at 99.922% when pulling d0d3c2f3ca98df73d023a78601a892a7b5d0d079 on tnantoka:fix-bulk-readme into 0282d77d94572faa67273782f124712f18f71d86 on jue58:master.

@tnantoka thanks!


map audio bitrates to video bitrates

Hi! If i have several mpeg-dash video resolutions/bitrates and several audio bitrates, can i map then somehow? for example
lowres audio - to lowres video
hires audio - to hires video
I dont want to get situations when video is hires and audio is lowres.

Hmm, I don't think dash supports specific audio/video combinations the way hls does.
@TheModMaker, amiright?
You could write logic to manually prefer certain variants to the others, but that won't work for abr.
If you're open to re-packaging your content as hls, that is certainly an option there.

In DASH, you specify a list of audio tracks and a list of video tracks.  There isn't really a way to specify that some audio tracks go with specific video tracks.
One option you could do is write a custom AbrManager class that proxies to our version.  It could filter out the variants (audio+video pairs) you don't want to play and let our AbrManager pick from the remaining.
Also note that we'll play the highest quality we think we can play.  So if we can play high resolution video, we will probably pick the high resolution audio since it only costs a little bit more.  In fact, we will usually always play the high resolution audio unless we can't play with that little bit more bandwidth.  Having multiple "resolution" for audio is fairly rare since the difference is usually small.

Strange that hls supports it it manifest, but dash not...


Removed extra line in line 65

Fix: removed extra space in line 65
Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Hi, I removed an extra space in Line 65.


Text in Keyboard Shorcuts not visible after search

Issue Type: Bug
After opening the "Keyboard Shortcuts" window and typyng something in the search box("terminal") the text in "Command" column is only rendered halfway(only the top half of the letters is visible), as if the text area is too short. This only happens for commands which have titles and are displayed in 2 lines(ex. "Split Terminal (workbench.action.terminal.split)").
VS Code version: Code - Insiders 1.29.0-insider (5bd6ebe2dbc4dee510699020a25f70a69784ce8c, 2018-10-09T09:31:07.090Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz (4 x 3000)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.87GB (11.91GB free)

Process Argv
--folder-uri file:///d:/Projects/IHD/glowcadihd_esp8266

Screen Reader
no

VM
0%

Extensions (7)

Extension
Author (truncated)
Version

code-gnu-global
aus
0.2.2

spellright
ban
3.0.4

gitlens
eam
8.5.6

cpptools
ms-
0.19.0

vscode-autohotkey
sle
0.2.2

pdf
tom
0.3.0

linkerscript
Zix
1.0.0

A new update just solved this.


Android开发常用命令

命令
Open SDK Manager
android

开启模拟器选择

android avd

打开某个模拟器

emulator -avd Nexus_6_API_25

Nexus_6_API_25是模拟器名称

DocumentDirectoryPath位置：

The absolute path to the document directory

SDK software development kit 软件开发工具包

Android SDK build-tools  platform-tools  tools

Command Line Tools( 这个文档很老旧了)

Always on top
First of all be aware that emulator has two different windows that are attached to each other.

Right Click emulator top bar, and set it as always on top
Right Click emulator icon on the dash, and choose "Emulator" this time use shortcut ALT + SPACE to reveal context menu and again choose always on top.

Note : every time you minimizes emulator window, do steps above again.
emulation - How to keep android emulator always on top in ubuntu 14.04 - Stack Overflow


problems to recognize non-dict words

I have problems to recognize non-dict words (for example 'Zz', 'FfVvZz', 'vZz', Arial font) correctly.
I'm using the release 3.0.2 of your C# wrapper
I'have tried setting various engine variables in according to
http://stackoverflow.com/questions/8940795/strength-of-dictionary-in-tesseract-3
http://stackoverflow.com/questions/29826591/language-model-penalty-non-dict-word-has-no-effect-in-tesseract-3-01
http://stackoverflow.com/questions/14364662/disable-dictionary-in-tesseract
(e.g. engine.SetVariable("load_system_dawg", 0))
but without success.
Any suggestions ?

update: when trying your version 2.2.0 the results are much better for same images (non-dict words)

Make sure your using the language data for the corresponding version of
Tesseract as listed in the readme.
Doing certain preprocessing of the image can also help. The main Tesseract
project has a page dedicated to this.
On 15 Jun 2016 11:15 a.m., "jakobkroeker"<EMAIL_ADDRESS>wrote:

update: when trying your version 2.2.0 the results are much better for
same images (non-dict words)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/issues/276#issuecomment-226132520,
or mute the thread
https://github.com/notifications/unsubscribe/AAPzyJS4QE8L8gDfUSK9z6FykrJIPrfgks5qL8KhgaJpZM4I1c4l
.

Make sure your using the language data for the corresponding version of Tesseract as listed in the readme.

I use training data from here: https://github.com/tesseract-ocr/tessdata. Is that ok?

Doing certain preprocessing of the image can also help. The main Tesseract project has a page dedicated to this.

The problems are not related to preprocessing; using yours 2.4.1 with libtesseract302.dll  everything is fine. The issues seem related to the switch from  libtesseract302.dll to  libtesseract304.dll
If the used training data is fine, I'll try to figure out if this is an upstream issue.
( It is either an upstream issue or caused by changes of this wrapper between version 2.4.1 and 3.0.0, I guess )

Yes but make sure you use the 3.04 tagged release (the master branch could
have changed since).
Url is: https://github.com/tesseract-ocr/tessdata/releases/tag/3.04.00
It's not likely to be a problem with the wrapper persay but it is possible
that there's an issue with the native dlls. Since we compiled our own for
64 bit support. Not sure if the main Tesseract project has created binaries
for windows but you could try theirs and see they also suffer from the
issue.
On 15 Jun 2016 2:21 p.m., "jakobkroeker"<EMAIL_ADDRESS>wrote:

Make sure your using the language data for the corresponding version of
Tesseract as listed in the readme.

I use training data from here: https://github.com/tesseract-ocr/tessdata.
Is that ok?

Doing certain preprocessing of the image can also help. The main
Tesseract project has a page dedicated to this.

The problems are not related to preprocessing; using yours 2.4.1 with
libtesseract302.dll everything is fine. The issues seem related to the
switch from libtesseract302.dll to libtesseract304.dll
If the used training data is fine, I'll try to figure out if this is an
upstream issue.
( It is either an upstream issue or caused by changes of this wrapper
between version 2.4.1 and 3.0.0, I guess )
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/issues/276#issuecomment-226170878,
or mute the thread
https://github.com/notifications/unsubscribe/AAPzyHjG1ONUVaqOTM_rIm-ZsKtReyo8ks5qL-5GgaJpZM4I1c4l
.

I triad the tesseract commandline-tool  to recognize non-dict words (for example 'Zz', 'FfVvZz', 'vZz', Arial font) and the bad change seem to be happen between versions 3.0.2 and 3.0.4,
so it is very likely an upstream issue (or a 'feature')
However, I didn't try long enough to find out how to set variables (http://www.sk-spell.sk.cx/tesseract-ocr-parameters-in-302-version) for the tesseract command line tool.
(maybe the default setting changed?)

I started a thread on the google group a couple of days ago as well, but got no response so far. Here's the link:
https://groups.google.com/forum/#!topic/tesseract-ocr/zFCY5ei6jko

same here. Started a thread on google groups without response:
https://groups.google.com/forum/#!topic/tesseract-ocr/H2sSvw4Nraw
Now opened an upstream issue:
https://github.com/tesseract-ocr/tesseract/issues/360


Enable async delegation

Created PR for https://github.com/jelopezf/Power-Fx/tree/enable_async_delegation

✅ No public API change.

This looks to be same as https://github.com/microsoft/Power-Fx/pull/1170

This can be closed since the changes were checked in using https://github.com/microsoft/Power-Fx/pull/1264 since the PR's between jelopezf:enable_async_delegation and microsoft:enable_async_delegation made a mess of this PR (shows way more files changed than the 8 actual files changed)


Match question

From the project, Benefit a lot!  Would you help to answer a question?
For example we have UserA with OrderA and UserB with Ordre B, and the volume is the same

Matching finished, and push the amqp message to trade_executer, and wait to execute
UserA cancel the order
the UserA volume is zero, and will be failure when strike
In this case, OrderB is already removed from the order book, and it will never be matched.

Should i misunderstanding the logic, would you help to answer how the peatio handle this logic now?

Please see this


When --nullability option enabled, generate constructors with __nonnu…

Why?
Currently, all j2objc classes are generated with nullable constructors. So that in Swift, we have to use:
var myInstance = MyClass()!
to let compiler know, that method instance is for sure not null. Because Java class instance AFAIK cannot never return null, it is safe to declare all constructors with __nonnull annotation.
This commit respects options of j2objc (only insert this annotation, when j2objc runs with --nullability and also checks, if is constructor not annotated by Java - in this case, the generated code is untouched.

I signed it!

As discussed in #960, this change won't be pulled in favor of a simpler solution. We still appreciate your contribution!


Add validation logic for ContainerRuntime extension

How to categorize this PR?

/area ops-productivity
/kind enhancement
What this PR does / why we need it:
This PR introduces validation logic for ContainerRuntime object.
Which issue(s) this PR fixes:
Fixes #4561
Special notes for your reviewer:
Release note:

NONE

/assign

I happened to notice a typo in the validation files of the other extensions. like this,
https://github.com/gardener/gardener/blob/4b68dbc2c6e77a3b74aebfc68f80f956383b3677/pkg/apis/extensions/validation/bastion.go#L79-L80
spec instead of status.
Should we do something about this now, or take care of it later when we introduce the logic for the function?

Feel free to clean this up now :)

/cla

/cla


Proxies that correspond to the same object are not the same

If 2 entities relate to the same 3rd entity that is loaded as a proxy then these 2 related objects aren't equal via === (event if they have the same id)

For this feature we need to create some thing like the ReferenceHeap


Bug Report:

I just wanna alert you but
The background wont load
And any other song exept song 1 crashes the game, so uh, oof

I ran into this bug myself and stumbled on the cause more or less by accident. The problem seems to be caused by a charting error.
The Hard charts for all the songs are set up correctly, but the chart files for Medium and Easy still reference assets from the base game which aren't present in this mod. When the game attempts to load these charts it crashes due to an attempt to fetch resources which don't exist.
For example, this is what the Hard chart for Diagraphephobia looks like:
{
  "song": {
    "sectionLengths": [],
    "player1": "bf-mii",
    "player2": "eteled2",
    "notes": [
       <...>
],
    "gfVersion": "gf-mii",
    "song": "Diagraphephobia",
    "needsVoices": true,
    "sections": 0,
    "stage": "mii-channel-glitch",
    "validScore": true,
    "speed": 2.8,
    "bpm": 140
  }
}

...And this is the Normal chart.
{
  "song": {
    "player1": "bf",
    "sectionLengths": [],
    "gfVersion": "gf",
    "notes": [
        <...>
    ],
    "player2": "spooky",
    "song": "South",
    "stage": "spooky",
    "validScore": true,
    "sections": 0,
    "needsVoices": true,
    "bpm": 140,
    "speed": 2.4
  }
}

I just wanna alert you but
The background wont load
And any other song exept song 1 crashes the game, so uh, oof

the same, even if I manage to remove the loading screen, in a part of the second song of the story mode, when the background changes, the game and my pc stop with it (I don't have a dedicated graphic card).

fixed


Bug fix for truncateHl7Fields setting

This PR fixes a bug where values for fields specified in the truncateHl7Fields setting were being completely removed instead of being truncated.
Test Steps:

add fields to a receiver's truncateHl7Fields setting. For example:

translation: !<HL7>
    schemaName: "classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml"
    truncateHl7Fields: "ORC-12-3, OBR-16-3, ORC-12-1, OBX-15-2"

Note each field's maximum length. Use https://hl7-definition.caristix.com/v2/HL7v2.5/Segments as a reference.
Use a sample fhir bundle and replace values for the fields that were specified in the truncateHl7Fields setting with strings that are the size of each field's maximum length. Add "TRUNCATE THIS" at the end of each string.
Use http://localhost:7071/api/reports to send a report to the receiver
Verify that the HL7 file that was created contains the original values for the fields without the "TRUNCATE THIS" strings.

Changes

bug fix: remove index from path before sending to terser
added tests for truncation with different ways that an hl7FieldPath can be formed

Checklist
Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[x] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[x] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Fixes https://github.com/CDCgov/prime-reportstream/issues/14264

Looking very good.


C++ fails to compile with REVERSE_ORIENTATION

./Clipper2/CPP/Clipper2Lib/clipper.engine.cpp:3296:6: error: no viable overloaded '='
                op = op.next;
                ~~ ^ ~~~~~~~
./Clipper2/CPP/Clipper2Lib/clipper.engine.h:63:9: note: candidate function (the implicit copy assignment operator) not viable: no known conversion from 'Clipper2Lib::OutPt *' to
      'const Clipper2Lib::OutPt' for 1st argument; dereference the argument with *
        struct OutPt {
               ^
1 error generated.

Thanks dev7355608. I've just about finished revising REVERSE_ORIENTATION which is/was broken in several ways (not just the ones you've just reported, including your post on IsClockwise here). I think I've properly fixed this now in both Delphi and C++, and am about to copy these changes to C# before committing them here (hopefully in a couple of hours).
This has been complicated largely because I've developed both Clipper1 and Clipper2 using an inverted Y-axis display so what is clockwise to me, and what is "going up", is reversed for those using cartesian coordinates.


add new send function. use ssl(tls) .

some mail provider need use ssl(tls) to send email.

Since the default smtp.SendMail function that email.Send() uses "switches to TLS if possible", I don't believe this is needed. Let me know if I'm wrong, though!


Integrate the WinGet client with SmartScreen

Description of the new feature / enhancement
I'd like WinGet to be able to warn users when they encounter potentially dangerous URLs.
Proposed technical implementation details
Integrate the WinGet client with SmartScreen.

Handling this within the package manager would allow for a better user experience. instead of getting the package downloaded, then having to click on a prompt, the package manager could add this prompt earlier in the process. Possibly even having a switch, config file entry, or other means to automate clearing the prompt.  Right now, having to click this prompt might be a blocker for large instuttions trying to use software that isn't approved by SmartScreen, and this feature might remove that blocker.


README.md: brief update and github permission test

@leecalcote I suggest you just use the Docs branch, seems more tidy

@zilman sounds good. This particular update/test is to push forward the beginnings of an overall (top-level) project description.