The caching architecture is a mess

Hey guys,
I have been trying to figure out the hierarchy around the caching framework.
So far everything seems to be a huge mess:

LocalCache implements IDistributedCache which does not make any sense.
IDistributedCache works with byte[] but there is no binary serializer in .NET Core.
MemoryCache implements IMemoryCache which does not inherit from a more generic caching interface.

I have been trying to wrap a local in-memory cache which I should be able to replace by changing the cache which I am using. However, I find it quite difficult to use LocalCache because it requires a binary serializer which is an unnecessary overhead and there isn't a build-in one in .NET Core anyway. I cannot wrap directly MemoryCache because the interface it implements basically means that I will be stuck using an in-memory cache and I will not be able to switch at a later point.
I am sorry if I sound too harsh but the current architecture is a mess. Please fix/rewrite this architecture before you release a final version and we get stuck with something which cannot be changed because it will require breaking changes.

No problem. I'll explain the architecture by answering your observations.
There are 2 core interfaces that your application can used when caching, IDistributedCache and IMemoryCache. As you've observed they are very different and that is intentional. The major differences are the fact that IDistributedCache is async and requires a serialization mechanism. They are used for different things but that should be obvious from the interfaces themselves. The IMemoryCache represents in memory storage, it handles things like memory pressure (at least the default implementation does)

LocalCache implements IDistributedCache which does not make any sense.

Sure it does, LocalCache is an implementation of IDistributedCache that runs in memory. The key thing to look at is the interface. If you intend to use the cache to store things in a distributed store, then it's the interface that matters the most.

IDistributedCache works with byte[] but there is no binary serializer in .NET Core.

.NET Core has BinaryWriter and BinaryReader but that's besides the point. In time all of the popular serializers like protobuf, bond etc. will be ported to .NET Core.

MemoryCache implements IMemoryCache which does not inherit from a more generic caching interface.

Don't know why it would need to.

I have been trying to wrap a local in-memory cache which I should be able to replace by changing the cache which I am using. However, I find it quite difficult to use LocalCache because it requires a binary serializer which is an unnecessary overhead and there isn't a build-in one in .NET Core anyway. I cannot wrap directly MemoryCache because the interface it implements basically means that I will be stuck using an in-memory cache and I will not be able to switch at a later point.

What exactly are you trying to do. Maybe you used the wrong interface.

Thank you for the answer.
 I am trying to help.

Sure it does, LocalCache is an implementation of IDistributedCache that runs in memory.

Is it distributed? If not, it shouldn't implement IDistributedCache because it is confusing. Maybe the interface name is wrong, maybe it needs to extend something like ICache which could be a base interface of IDistributedCache.

The major differences are the fact that IDistributedCache is async and requires a serialization mechanism.

The latter is an implementation detail which I do not necessarily need to know and makes the interface more difficult to use. It can use a binary serializer under the hood and a second constructor which allows you to pass in a custom one so that we can replace with protobuf or something else. This way the interface would not be restricted to using a byte[] value which in the case of LocalCache is a completely unnecessary overhead since it uses MemoryCache internally which works with objects anyway. LocalCache is a good example of how the interface is a problem. It if worked with objects, there would be no reason to use a binary serializer with it.
I am trying to make a caching layer which can be changed through a configuration. I thought about using IMemoryCache as a base interface, but this will limit me to an in-memory cache only. I decided to try using IDistributedCache but the fact that everyone who would need to get or set an item would need to have access to a binary serializer as well made it horrible to use. I figured that the solution would be to make a wrapper with a more usable interface which uses a binary serializer internally. The problem with that is that I shouldn't need to use a wrapper and fix the interface of a library which is not a legacy library that cannot be fixed because it would require breaking changes. If the interface is not made more usable by the time it gets out of beta, it will be just that - legacy code.
I might have been wrong about not having a binary serializer but all I have been able to find on binary serialization in .NET Core is this post. Could you tell me in which NuGet package are BinaryReader and BinaryWriter?

 I am trying to help.

Sure, no harm done. The tone is a bit odd for trying to help thought :wink:

Is it distributed? If not, it shouldn't implement IDistributedCache because it is confusing. Maybe the interface name is wrong, maybe it needs to extend something like ICache which could be a base interface of IDistributedCache.

A good analogy would be writing a unit test. The testable distributed cache isn't distributed either but it's all about the interface. The distributed cache and memory are different and will remain that way. You can use this as a decision point, if you want to cache to be shared across processes/instances/machines, whatever your unit of isolation is then you should code against the IDistributedCache interface. One again, you're coding against the interface, the LocalCache implementation is just something you would use if you wanted to code against the interface but have a default implementation that assumed you were in memory. It's so you can still function if you're running on one box without having to configure something like redis or sql server.

The latter is an implementation detail which I do not necessarily need to know and makes the interface more difficult to use. It can use a binary serializer under the hood and a second constructor which allows you to pass in a custom one so that we can replace with protobuf or something else. This way the interface would not be restricted to using a byte[] value which in the case of LocalCache is a completely unnecessary overhead since it uses MemoryCache internally which works with objects anyway. LocalCache is a good example of how the interface is a problem. It if worked with objects, there would be no reason to use a binary serializer with it.

It's a very large implementation detail, so large that it's in the interface. One thing we're not going to do again is try to serialize arbitrary object graphs into an off box cache. There's tons of considerations when taking serialization into account and it's up to customers to think about how their objects turn into byte[]. As for the LocalCache implementation being inefficient, sure you're right about that. It's less efficient than not serializing, but since it does use that code path you'll see if you have any problems with serialization earlier rather than later. Many times people assumed the things they were putting in the cache would just work when moving to an off box cache, and that turns rarely turns out to be the case.

I am trying to make a caching layer which can be changed through a configuration. I thought about using IMemoryCache as a base interface, but this will limit me to an in-memory cache only. I decided to try using IDistributedCache but the fact that everyone who would need to get or set an item would need to have access to a binary serializer as well made it horrible to use. I figured that the solution would be to make a wrapper with a more usable interface which uses a binary serializer internally. The problem with that is that I shouldn't need to use a wrapper and fix the interface of a library which is not a legacy library that cannot be fixed because it would require breaking changes. If the interface is not made more usable by the time it gets out of beta, it will be just that - legacy code.

I'm pretty sure we're not changing the interface at this point. The things you mention could be added in extension methods completely outside of the cache. See https://github.com/aspnet/Caching/pull/94.

I might have been wrong about not having a binary serializer but all I have been able to find on binary serialization in .NET Core is this post. Could you tell me in which NuGet package are BinaryReader and BinaryWriter?

The System.IO package.

Thank you for the quick answer and the links, David.
I understand now more of the reasoning behind the current implementation.
My main concern that remains is that if you need to use the caching in 5 different places in your implementation, you will need to have access to the serialization in those 5 places as well unless you wrap the IDistributedCache and the serializer in an object which is used instead. Extension methods would either hardcode the serializer being used or get it as a parameter in which case you will need access to a serializer everywhere again.
I am going to close this issue now. Please reconsider changing the interface and making an interface for a serializer that would be passed in through the constructor. This would make IDistributedCache much easier to use and clients will need to worry about the serializer only on creation.

Please reconsider changing the interface and making an interface for a serializer that would be passed in through the constructor. This would make IDistributedCache much easier to use and clients will need to worry about the serializer only on creation.

We've discussed this several times and haven't really settled on anything. The design is such that it would be trivial to add an interface that sat in between user code and and the IDistributedCache that would be a convenience API for serializing/deserializing data. Nothing planned but it would be easy to do in the future.

Why has the MemoryCache.AddOrGetExisting() API been removed? It allowed me to perform an atomic  Get or Add operation.

Because it wasn't actually atomic and was giving developers the wrong impression.

I believe the point being made here is similar to the one I'm running into now.  There should be one generic interface for both and the implementation can deal with the details.  Now if I have a project that I start with just Memory cache and after a while I realize I need to change to either distributed or Redis or something else, I have to go back and update ALL my code to use the other style instead of just changing it in one place (assuming the data being saved is serializable to a byte[]).  However, I also hate depending on 3rd party interfaces in core/common logic across my application (even if it is Microsoft).  Any change above and I end up screwed.  If we had 1 interface here, fixing that becomes much easier.  I will probably be abstracting both of these myself, but now I kind of have to merge 2 interface implementations that end up with the same result of just wanting to cache something.  Though, I do understand that the implementations are quite different and how the management of them is quite different.

assuming the data being saved is serializable to a byte[]

Use the IDistributedCache interface then, not the memory cache.

I also hate depending on 3rd party interfaces

You should create your own abstraction so you can use any other service whenever you need to. Even better, you can define many interfaces for each of your components. This will let you change the actual implementation for each of them.

I don't want to take the serialization hit if I don't have to.  In fact, I'd rather have a hybrid scenario where depending on the situation, one might go to memory while the other goes distributed (with the proper options that would end up preferring one or the other).  But it would be up to the implementation to decide where to put it.  Then again, this might be breaking SRP a bit, but the alternative is to essentially leak caching logic into your code base.

I'd rather have a hybrid scenario where depending on the situation, one might go to memory while the other goes distributed

I like this too. This is why not so ironically I personally depend on IMemoryCache and other times IDistributedCache.

In your case, though, it sounds like the service is making the determination as to which cache to use.  I would say it is the cache's own responsibility to determine which to use, not the service's job.  If the service makes the decision, I feel like it knows too much.


Update AFHTTPSessionManager.h

Issue Link :link:

Goals :soccer:

Implementation Details :construction:

Testing Details :mag:

unnecessary


Please create new secrets/tokens and in future do not expose them in the repo

For example: https://github.com/opea-project/GenAIInfra/blob/main/microservices-connector/templates/MicroChatQnA/gmc-secret.yaml
Perhaps they can be environment variables even for the samples.

I think it is fixed.


Remove broken format script

This script is broken, because no .prettierrc file is included in the repo.
We're relying on the prettier plugin for eslint to do code formatting & checking, e.g. in .github/workflows/ci-cd.yml where we invoke yarn lint to check the formatting.
Similarly, the lint:fix script can be used to apply formatting. So the format script is redundant and potentially confusing to new developers.

LGTM

Thanks, @danhalson. I seem to have lost your review approval by rebasing the branch and fixing the conflicts. Any chance you could re-add it?


Efficient Node Heartbeats

Feature Description

One-line feature description (can be used as a release note): Efficient Node Heartbeats
Primary contact (assignee): @mtaufen
Responsible SIGs: sig-node
Design proposal link (community repo): https://github.com/kubernetes/community/blob/master/keps/sig-node/0009-node-heartbeat.md
Link to e2e and/or unit tests:
Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred:
Approver (likely from SIG/area to which feature belongs): @dchen1107 @derekwaynecarr
Feature target (which target equals to which milestone):

Alpha release target (x.y) 1.12
Beta release target (x.y)
Stable release target (x.y)

@derekwaynecarr this has been added to the 1.12 feature tracking sheet.
@justaugustus please apply the appropriate labels

/stage alpha

We already have a feature for this, see #589.
On Wed, Aug 1, 2018, 8:40 AM Michael Grosser<EMAIL_ADDRESS>wrote:

/stage alpha
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/features/issues/608#issuecomment-409619772,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3JwaWxDsMs8TLW-TjZDjQxKG7KUZPvks5uMcv5gaJpZM4Vpgz5
.

thanks @mtaufen. I've removed this from the tracking sheet.

/close


[type:feat] add projectVersion when admin and bootstrap start

add projectVersion to bannet.txt in admin&bootstrap
add projectVersion to applition.yml in admin&bootstrap
add resouces and plugin to config in project pom.xml

result:

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (a02386b) 62.01% compared to head (8b66a03) 61.86%.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5303      +/-   ##
============================================
- Coverage     62.01%   61.86%   -0.15%
+ Complexity     8726     8712      -14
============================================
  Files          1244     1244
  Lines         38353    38352       -1
  Branches       3700     3696       -4
============================================
- Hits          23785    23728      -57
- Misses        12447    12508      +61
+ Partials       2121     2116       -5

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

use ShenYu Version?

use ShenYu Version?

has changed


Checklist for maturity

Checklist for Maturity
Copied from shimmy a few months ago, feel free to mark things as complete (I believe anyone can)

[ ] Support serialization via Pickle/EzPickle
[x] Fully deterministic

As far as possible

[ ] Explicit Versioning
[ ] Farama Notifications
[ ] PyPI
[ ] Full Package Description
[x] Deploy via GH Actions
[ ] Website
[x] Linux and MacOS
[x] Precommit
[x] Typehinting
[x] Docstrings
[x] CI Testing
[ ] Logo
[ ] CoC (code of conduct)
[x] Gymnasium/PZ API
[x] Python Versions
[x] JKTerry and Mark as owners (pypi)
[ ] TOTP (time based one time password)
[ ] Google Analytics
[x] License
[ ] Sponsor this project button

@elliottower For "Support serialization via Pickle/EzPickle", you mean for serializing envs?

@elliottower For explicit versioning, does shimmy plan to use that? looking at the repo it's still using the 3 number versions

Oh sorry I think there’s a misunderstanding. Explicit versioning is for environments so like whenever you change the logic or anything that would make training go differently, change it from pong_v0 to v1, etc. For emulated envs like here I would think it would be more similar to shimmy having DmControlCompatibilityWrapperV0 for example, which gets updated when it loads the envs differently or would somehow otherwise affect training like rewards changed etc. See the farama.org project standards for more info

@elliottower So the checklist is progressing, there is two remaining items:
Google Analytics ID, where can I get the ID that Farama uses?
For the Farama notifications, is there a guide on how to integrate that?

Tagged you in a discord thread with the web dev guy manuel and a thread in all devs about farama notifications


Fix checkArgument format string in ExecutionStateTracker

Another format string found via errorprone. Just opening a PR for each because I am taking them as they come...

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PreCommit

Will circle back to https://ci-beam.apache.org/job/beam_PreCommit_Java_Phrase/5697/ and check we have issues for the flakes.

Run Java PreCommit


Fire TV add-on for Hassio

Hi all,
I am trying to setup my hassio config to connect to my fire tv stick but I can't get the fire tv server component to build and load onto my config as hassio doesn't support python ran scripts.
I can seem to find a guide online, detailing how to do it. Any advice would be appreciated.

Please use our help channels for support:
https://home-assistant.io/help/#communication-channels


Time examples not showing local time

Describe the bug
The TimeReactHooks and TimeHalogenHooks have different behavior than the Elm example.
To Reproduce
Steps to reproduce the behavior:

Clone this repo
Run make TimeReactHooks-web (or make TimeHalogenHooks-web)
Go to http://localhost:1234 (or wherever the recipe app is running)
Compare the output to https://elm-lang.org/examples/time

Expected behavior
I would expect the time displayed to be equivalent, but it seems that the Elm example shows the current time according to my locale (EDT), the recipe examples seem to show GMT.
Screenshots

Environment:

OS: MacOS
Browser (if applicable): Firefox
Node Version:
Spago Version: 0.15.3
PureScript Version: 0.13.8

Additional context

Not sure the solution here, might need to use Data.JSDate to get local time?

Yeah, this is not ideal.
Some other discussion about this in: https://github.com/JordanMartinez/purescript-cookbook/pull/115#issuecomment-652742191
There's a note about UTC display in the halogen recipe readme:

The browser will display the current time in UTC, not the end-user's computer's time zone.

But it would definitely be better to match Elm behavior.

Not sure the solution here, might need to use Data.JSDate to get local time?

That sounds good.
Elm also uses Date().
https://github.com/elm/time/blob/1.0.0/src/Elm/Kernel/Time.js#L32

Fixed in #179


Increase limits.invocationsPerMinute default value

Sometimes, when run the test cases, the apigw request may exceed the default
value(60), so it is necessary to increase the limits.invocationsPerMinute
default value.

This question has relation with below issue:
https://github.com/apache/incubator-openwhisk/issues/2961#issuecomment-346542753

These tests are supposed to settle the throttles accordingly though. Bumping the limit unfortunately only hides the issue of a buggy test.

@markusthoemmes , have any better solution?

Have you had a look into the tests implementation? There are helpers in BaseApiGwTests.scala which are supposed to settle the throttles after X invocations (where X is the allowed number of executions per minute in that env). Seems like something is wrong there.

ok. i will look into it.

The 429 response contains enough information to know how much to settle the throttle which takes the guesswork out of the current tests. It would be great to take the response and add an appropriate delay.
Example response: made 67 requests in last minute 60 allowed.

Below is failed log
whisk.core.cli.test.ApiGwRestTests > Wsk api should verify delete basepath/path STANDARD_OUT
    Action invokes within last minute: 47
    Action invokes within last minute: 48
    Action invokes within last minute: 49
    Action invokes within last minute: 50

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify delete basepath/path FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

whisk.core.cli.test.ApiGwRestTests STANDARD_OUT

    Finished test Wsk api should verify delete basepath/path at 2017-11-23 15:09:57.163

    Starting test Wsk api should verify delete single operation from existing API basepath/path/operation(s) at 2017-11-23 15:09:57.163

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify delete single operation from existing API basepath/path/operation(s) STANDARD_OUT
    Action invokes within last minute: 51
    Action invokes within last minute: 52

It seems the apiGw requests number doesn't reach to default value(60),  still export 429(too many reqeust) error.
It seems has some bug on the codes.

I added some more logs on in WskRest.scala's def invokeAction(...)
   ....
    if (!isStatusCodeExpected(expectedExitCode, r.statusCode.intValue)) {
      if (blocking || result) {
        println("(blocking||result)========");
        println("invokeAction->msg:"+r.respData);
        println("invokerAction->statusCode:"+r.statusCode);
        println("OK.intValue:"+OK.intValue);
        validateStatusCode(OK.intValue, r.statusCode.intValue)
      }

And run tests case again. some part of the logs as below
    Starting test Wsk api should verify API with http response type at 2017-11-24 12:02:48.628

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify API with http response type STANDARD_OUT
    Action invokes within last minute: 58
    (blocking||result)========
    invokeAction->msg:{
      "error": "Too many requests in the last minute (count: 70, allowed: 60).",
      "code": 2126
    }
    invokerAction->statusCode:429 Too Many Requests
    OK.intValue:200
    Action invokes within last minute: 59

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify API with http response type FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

It seems need to change the default value from 60 to 70

After test deeply,
if use this commit: https://github.com/apache/incubator-openwhisk/commit/1a4493f1facd301d34c2beb5dd011c52d3b2953c and test.
The problem gone.
If remove that commit and test again, the problem exist,
It seems that commit solve this problem fundamentally.
So close this issue.

Oh, sadly,
We use the latest codes, the problem is still exist(not very stable) which means happen somtimes and not happen sometimes.

Thanks for the catch. The proper fix is to settle the throttle properly in the test suite based on the controller report/error message. I would leave this limit alone (it hides the defect in the test suite).

Can close


SSL error after sendingMessage

Hi,
I'm receiving the error below when sending message with my bot.
I'm not sure if it's based on tourmaline, tourmaline's shards, or Crystal OpenSSL binding.
Can you help me understanding this error.
Thanks.
E, [2020-05-25T00:05:02.950958000Z #14264]   ERROR -- crystal-run-main.tmp:tourmaline.client: SSL_read: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac (OpenSSL::SSL::Error)
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/openssl/ssl/socket.cr:124:9 in 'unbuffered_read'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io/buffered.cr:240:12 in 'fill_buffer'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io/buffered.cr:103:7 in 'peek'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io.cr:623:37 in 'gets'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io.cr:582:5 in 'gets'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client/response.cr:126:5 in 'from_io?'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:588:5 in 'exec_internal_single'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:574:5 in 'exec_internal'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:570:5 in 'exec'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:692:5 in 'exec:method:headers:body:path'
  from lib/tourmaline/src/tourmaline/client.cr:80:9 in 'request'
  from lib/tourmaline/src/tourmaline/client/core.cr:33:7 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:27:5 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:1177:21 in 'poll'
  from src/main.cr:19:1 in '__crystal_main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:105:5 in 'main_user_code'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:91:7 in 'main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:114:3 in 'main'
  from __libc_start_main
  from _start
  from ???

[Error  ] [tourmaline.client] - SSL_read: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac (OpenSSL::SSL::Error)
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/openssl/ssl/socket.cr:124:9 in 'unbuffered_read'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io/buffered.cr:240:12 in 'fill_buffer'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io/buffered.cr:103:7 in 'peek'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io.cr:623:37 in 'gets'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io.cr:582:5 in 'gets'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client/response.cr:126:5 in 'from_io?'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:588:5 in 'exec_internal_single'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:574:5 in 'exec_internal'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:570:5 in 'exec'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:692:5 in 'exec:method:headers:body:path'
  from lib/tourmaline/src/tourmaline/client.cr:80:9 in 'request'
  from lib/tourmaline/src/tourmaline/client/core.cr:33:7 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:27:5 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:1177:21 in 'poll'
  from src/main.cr:19:1 in '__crystal_main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:105:5 in 'main_user_code'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:91:7 in 'main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:114:3 in 'main'
  from __libc_start_main
  from _start
  from ???

E, [2020-05-25T00:05:02.956773000Z #14264]   ERROR -- crystal-run-main.tmp:tourmaline.client: SSL_write: I/O error (OpenSSL::SSL::Error)
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/openssl/ssl/socket.cr:137:7 in 'unbuffered_write'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io/buffered.cr:218:5 in 'flush'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:651:5 in 'send_request'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:587:5 in 'exec_internal_single'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:574:5 in 'exec_internal'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:570:5 in 'exec'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:692:5 in 'exec:method:headers:body:path'
  from lib/tourmaline/src/tourmaline/client.cr:80:9 in 'request'
  from lib/tourmaline/src/tourmaline/client/core.cr:33:7 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:27:5 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:1177:21 in 'poll'
  from src/main.cr:19:1 in '__crystal_main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:105:5 in 'main_user_code'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:91:7 in 'main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:114:3 in 'main'
  from __libc_start_main
  from _start
  from ???
Caused by: SSL_write: Success (RuntimeError)

[Error  ] [tourmaline.client] - SSL_write: I/O error (OpenSSL::SSL::Error)
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/openssl/ssl/socket.cr:137:7 in 'unbuffered_write'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/io/buffered.cr:218:5 in 'flush'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:651:5 in 'send_request'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:587:5 in 'exec_internal_single'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:574:5 in 'exec_internal'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:570:5 in 'exec'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/http/client.cr:692:5 in 'exec:method:headers:body:path'
  from lib/tourmaline/src/tourmaline/client.cr:80:9 in 'request'
  from lib/tourmaline/src/tourmaline/client/core.cr:33:7 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:27:5 in 'get_updates'
  from lib/tourmaline/src/tourmaline/client/core.cr:1177:21 in 'poll'
  from src/main.cr:19:1 in '__crystal_main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:105:5 in 'main_user_code'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:91:7 in 'main'
  from /home/christian/opt/crystal-0.34.0-1/share/crystal/src/crystal/main.cr:114:3 in 'main'
  from __libc_start_main
  from _start
  from ???
Caused by: SSL_write: Success (RuntimeError)

Good to see someone else is seeing this happening too. Well not good, just good to know I'm not alone. As far as I can tell the bug has to be in Crystal itself, because there's nothing really fancy going on in the HTTP client, and even if there were this should not be happening.
I just need to figure out what the factors are that lead to this issue occurring so that I can duplicate it outside of Crystal. Any help in that area would be much appreciated.

@fenicks do you think you could post a minimal working (or in this case breaking) example of a bot that results in this error happening?

@fenicks do you think you could post a minimal working (or in this case breaking) example of a bot that results in this error happening?

Yes, I will prepare a minimal working program this evening (from Paris).

@fenicks Much appreciated :) it could help narrow down the issue so I can get an issue report filed in the crystal-lang repo.

@fenicks I think I figured out the issue. Were you, by chance, trying to make requests from within a fiber? Go ahead and try the latest master branch update and see if it fixes your problem.

@watzon I use parallel I my code which uses spawn (Fiber).

I didn't reproduce the bug because in my code I was using parallel but a dedicated HTTP::Client.

By using a new HTTP::Client or the ConnectionPool in the last commit it works.
Thanks.


Support update signature request

I'm looking to update a signature request ref https://app.hellosign.com/api/reference#update_signature_request. What is the recommended method to achieve this with this SDK?

Nvm. I updated the SDK to version 3.9.0 and found the update_signature_request method!


Trickle down errors from gtest

See #523 for the fix for our own repo.
See: dep: https://github.com/jbeder/yaml-cpp/issues/996 (Resolved with https://github.com/jbeder/yaml-cpp/pull/1086)

Closed with https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/commit/204cd89cd86add33c3ffbdf70b54426cd4923fa9


Local Supabase Doesn't Auth Local Tokens

Bug report
Describe the bug
Using Supabase locally in my project works great to log in from the React Native app. However, I'm using a NestJS backend to authenticate tokens like the official NestJS authentication reference here https://github.com/doug-martin/nestjs-query. The tokens are not authenticated and my RN app always gets a 401 and never lets the request through.
My same setup works like a charm using my Supabase project credentials from https://app.supabase.io. It's just Supabase local tokens that always return a 401.
To Reproduce
In this repo (using this branch)
1a. run supabase start at the root of the repo
1b Yarn install in root of repo
1c Yarn install in server folder
2a. Update supabase keys in the supabase strategy
2b Add a new .env file with updated supabase keys like in sample.env
3a. Yarn start in the root of the project to run the expo project. Open iOS app - I haven't tested Android yet.
3b. Yarn start in server folder to start the backend
4 SignUp - go to i icon in the upper right
5 See modal
Expected behavior
Successful GQL response with local Supabase issued token.
Screenshots
Successful request - using remote  Supabase creds
https://user-images.githubusercontent.com/10850753/139571058-bd6a663c-028e-4c28-84f0-eb8695544a65.mp4
Failed Request - using local Supabase creds
With this error.
{
  "graphQLErrors": [
    {
      "message": "Unauthorized",
      "extensions": {
        "code": "UNAUTHENTICATED",
        "response": {
          "statusCode": 401,
          "message": "Unauthorized"
        }
      }
    }
  ],
  "clientErrors": [],
  "networkError": null,
  "message": "Unauthorized"
}

https://user-images.githubusercontent.com/10850753/139571215-9b1e6a01-0ac9-4cc7-9ede-ee634239247a.mp4
System information

OS: macOS Big Sur
iOS with Expo React Native
Version of supabase-js:  "@supabase/supabase-js": "^1.24.0",
Version of Node.js: v14.15.0

Additional context

Supabase strategy in my repo https://github.com/TylerSustare/preschool/blob/move-app-to-folder/server/src/auth/supabase.strategy.ts

The modal making the GQL request https://github.com/TylerSustare/preschool/blob/move-app-to-folder/screens/ModalScreen.tsx

Lovely emojis for making such an awesome suite of tools for an awesome service THANK YOU ✨ ❤ 🤟 💘 🏅 😺 💯 ✨ ❤ 🤟 💘 🏅 😺 💯 ✨ ❤ 🤟 💘 🏅 😺 💯 ✨ ❤ 🤟 💘 🏅 😺 💯 ✨ ❤ 🤟 💘 🏅 😺 💯 ✨ ❤ 🤟 💘 🏅 😺 💯 ✨ ❤ 🤟 💘 🏅 😺 💯

Hey, thanks! Will try to repro with the linked repo 👍

👋 Hi @soedirgo have you been able to reproduce the issue? I can try to duplicate this it in a small react site instead of an expo RN app if it helps simplify it.

Hey Tyler, sorry this took a while! I was able to reproduce the issue. I'm seeing these from the auth logs:
time="2021-11-09T15:19:23Z" level=info msg="request started" component=api method=GET path=/user referer= remote_addr="<IP_ADDRESS>:50948" request_id=b32314ac-bd52-475a-88e9-059d20727f1b

time="2021-11-09T15:19:23Z" level=info msg="401: Invalid token: signature is invalid" component=api error="401: Invalid token: signature is invalid" method=GET path=/user referer= remote_addr="<IP_ADDRESS>:50948" request_id=b32314ac-bd52-475a-88e9-059d20727f1b

time="2021-11-09T15:19:23Z" level=info msg="request completed" component=api duration=4995458 method=GET path=/user referer= remote_addr="<IP_ADDRESS>:50948" request_id=b32314ac-bd52-475a-88e9-059d20727f1b status=401

I'll give this a look. Thanks for bringing it up!

Some updates:

seems like this affects the self host setup too - it has the same issue when I tried setting it up with this
it works fine if you run the app on the browser (haven't tested android)
when I tried clicking the Sign up button, it just stalls. The auth.users table wasn't populated with a new row either so the signup must not have been successful, though I saw no error message. onAuthStateChange doesn't trigger either, whereas with a hosted Supabase setup it triggers a SIGNED_IN event (probably related to the stalling).

I'm not familiar with Expo/RN, so a smaller repro on iOS would help, but I'd wager it's something to do with how the auth server is set up.

@soedirgo Thank you for looking into this! I'll set up a small react repo with a tiny Nest server so it's even easier and put it in here when I'm done 😸

@soedirgo Here is the simpler version with just a vite react setup and the minimal server code. Let me know if you have any issues 🤝
https://github.com/TylerSustare/supabase-local-auth/

I tried the repo and it seems to work fine:
https://user-images.githubusercontent.com/31685197/143463210-21829137-04aa-4fa0-ad54-cf367d9434e2.mov
This is on the browser though, so doesn't rule out the possibility of mobile-specific issues.

Oh my goodness, it is working fine in a web app 🤔 🤯
I'll try one more time to add an app folder to the repo https://github.com/TylerSustare/supabase-local-auth/ in order to run a react native mobile app with the exact same setup as the working web app. Thank you for your patience on this.

So I added the /app folder to the top level and I have no idea why but the local supabase auth seems to be working swimmingly. I can't help but think that the original bug was due to a nested /server/supabase folder structure instead of each aspect of the project in its own folder
old structure - initial bug
react_native_app/
├── App.jsx
├── server/
│   ├── server.ts
│   ├── ormconfig.json
│   └── supabase/
│       └── wizardry.magic

project with working structure
/
├── app/
│   ├── App.tss
│   ├── expo.json
├── web/
│   ├── App.tsx
│   ├── style.css
├── server/
│   ├── server.ts
│   ├── ormconfig.json
├── supabase/
    └── wizardry.magic

https://user-images.githubusercontent.com/10850753/143671061-387d098b-1f6c-400f-becb-8cf2e4bf1407.mp4

I'm not sure if this still needs to be addressed. There is a work around but I'm not sure if I'm any wiser about why 😅
@soedirgo feel free to close this issue, but it may be worth keeping around for the issue in the auth logs you mentioned.


Make doggy 2.0 compatible

Ruby 2.0 is the default Ruby version on OSX; it would be nice if doggy could work with that without having to install Ruby.

Fixed in https://github.com/bai/doggy/commit/d8bcfa3506b789fec7c41b41a60e33af5e5b68d0

:clap:


Add Dutch locale (nl)

Discussed in https://github.com/totaldebug/atomic-calendar-revive/discussions/1403

Originally posted by rononline January 29, 2024
Hello,
can you add the dutch translation??

asjeblieft? https://github.com/totaldebug/atomic-calendar-revive/pull/1446


In some cases, api returns the wrong size of the image

I used the API to generate images, and the result was impressive. However, I found an issue: although I set the image size as 675 x 1200, the images that were generated had a size of 672 x 1024.  I reviewed my code and didn't find any issues.
Here is the JSON file that I used.
{     "prompt": "(8k, RAW photo, best quality, masterpiece:1.2), (realistic, photo-realistic:1.37),1 girl,(Kpop idol), (aegyo sal:1),hair ornament, portrait, cute, night, professional lighting, photon mapping, radiosity, physically-based rendering, thighhighs, smile, long hair, (sexy shorts),wavy hair, warm light, shiny eyes, pureerosface_v1,detailed clothes,cleavage, (scattered sakura petals:1.331),(nude:1),pov, nsfw, bed, slim legs, loving, (black hair:1.4)",     "loras": [         ["62efe75048d55a096a238c6e8c4e12d61b36bf59e388a90589335f750923954c", 0.3],         ["3e5d8fe726b4c0f1e7f0905f32ea3d1c9ce89a54028209e8179d64d323048dac", 0.7]     ],     "seed": -1,     "sampler_name": "DPM++ SDE Karras",     "steps": 20,     "cfg_scale": 7,     "width": 675,     "height": 1200,     "negative_prompt": "sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy,DeepNegative,(fat:1.2),facing away, looking away,tilted head, {Multiple people}, lowres,bad anatomy,bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worstquality, low quality, normal quality,jpegartifacts,signature, watermark, username,blurry,bad feet,cropped,poorly drawn hands,poorly drawn face,mutation,deformed,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,extra fingers,fewer digits,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,text,error,missing fingers,missing arms,missing legs,extra digit, extra arms,wrong hand",     "model": "3a17d0deffa4592fd91c711a798031a258ab44041809ade8b4591c0225ea9401" }

Got it. Thanks.


How to let users pick different escape character for CSV?

At the moment we have assumed the escape character is " within a csv.
What the escape character is may differ dependent on how the csv was generated.
I think we want to add the functionality to pass key word arguments into the csv to arrow function.

We should add **kwargs into our function that just get passed down to the pyarrow.csv function

We've tested " and ' as escape characters: " works, ' doesn't.


[bugfix] List inherited pipeline hooks with the -L option

Closes #1566.

@vkarak In the listing of the tests ith -L do we want to print disabled hooks as well?

@vkarak In the listing of the tests with -L do we want to print disabled hooks as well?

I thought the same thing yesterday, but I don't have a strong opinion. For the moment I would say, whichever is the most straightforward to implement.

Codecov Report

Merging #1597 (19ff896) into master (7ee99e8) will decrease coverage by 0.18%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1597      +/-   ##
==========================================
- Coverage   87.80%   87.62%   -0.19%
==========================================
  Files          45       45
  Lines        7112     7258     +146
==========================================
+ Hits         6245     6360     +115
- Misses        867      898      +31

Impacted Files
Coverage Δ

reframe/frontend/cli.py
79.51% <ø> (-0.25%)
:arrow_down:

reframe/core/pipeline.py
92.25% <100.00%> (+0.18%)
:arrow_up:

reframe/utility/osext.py
84.71% <0.00%> (-7.86%)
:arrow_down:

reframe/core/runtime.py
89.63% <0.00%> (-4.88%)
:arrow_down:

reframe/frontend/executors/policies.py
99.33% <0.00%> (-0.01%)
:arrow_down:

reframe/frontend/check_filters.py

reframe/frontend/filters.py
100.00% <0.00%> (ø)

reframe/utility/__init__.py
91.79% <0.00%> (+0.23%)
:arrow_up:

... and 3 more

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 7ee99e8...19ff896. Read the comment docs.

@jenkins-cscs retry dom


Api Management limit-concurrency inbound

The documentation for limit-concurrency says it can be used in the policy section "inbound". However, it does not seem to do anything when used in the inbound policy section. It does however work in the backend policy section (as in the example).

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

ID: 5310021d-de39-9418-2a55-ccdd9c2f4db0
Version Independent ID: ad38bf02-de35-7d67-def7-b1a064dd032f
Content: Azure API Management advanced policies
Content Source: articles/api-management/api-management-advanced-policies.md
Service: api-management
GitHub Login: @dlepow
Microsoft Alias: danlep

@FilipBruins Thanks for your feedback. We will review and update as appropriate.

Hi @FilipBruins Limit-concurrency should work in inbound scope too. you may not notice it because maybe the policy code runs very fast.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


client init error with "init() got multiple values for argument 'reason'"

v6.0.1
MacOS intel
py 3.8.13
error msg as follow:
[WARNING] client reconnecting https://www.tiktok.com/@anwarsizent/live
Task exception was never retrieved
future: <Task finished name='Task-9' coro=<TikTokLiveMonitor.detect_monitoring() done, defined at /Users/User/PycharmProjects/tiktok_live/maingui.py:238> exception=TypeError("init() got multiple values for argument 'reason'")>
Traceback (most recent call last):
File "/Users/User/PycharmProjects/tiktok_live/maingui.py", line 247, in detect_monitoring
await client.connect()
File "/Users/User/.pyenv/versions/3.8.13/lib/python3.8/site-packages/TikTokLive/client/client.py", line 152, in connect
task: Task = await self.start(**kwargs)
File "/Users/User/.pyenv/versions/3.8.13/lib/python3.8/site-packages/TikTokLive/client/client.py", line 126, in start
webcast_response: WebcastResponse = await self._web.fetch_sign_fetch()
File "/Users/User/.pyenv/versions/3.8.13/lib/python3.8/site-packages/TikTokLive/client/web/routes/fetch_sign.py", line 127, in call
raise SignatureRateLimitError(
File "/Users/User/.pyenv/versions/3.8.13/lib/python3.8/site-packages/TikTokLive/client/web/routes/fetch_sign.py", line 73, in init
super().init(reason=SignAPIError.ErrorReason.RATE_LIMIT, *args)
TypeError: init() got multiple values for argument 'reason'

async def detect_monitoring(self, url):
client = self.clients.get(url)
if client:
if client.connected:
print(f'[INFO] client {url} is live')
else:
print(f'[WARNING] client reconnecting {url}')
await client.connect()

tôi cũng bị lỗi tương tự

This is a rate limit error. Seems that the message handling was improper causing an exception to be raised when raising the exception (meta, I know).
See fixed release https://github.com/isaackogan/TikTokLive/releases/tag/v6.0.1-post1


Matrix values can now go into plugin config

We're updating command steps to allow using matrix interpolation within plugin configuration. Adjust the docs to match.
Not ready to merge — the supporting change is yet to be deployed.

This feature has shipped and is working on production, so merging the docs.


[wip] nixos/lsb.nix: init

Add an LSB module to run binaries built for other distros. Two
sub-options are available:

enableDesktop: add extra desktop libraries like gtk & qt
support32Bit: support 32-bit binaries

Motivation for this change
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@edolstra

then what really is the point of running NixOS rather than a conventional Linux distribution?

I disagree. There is point in running NixOS even when lsb.enable option exists. We only have to enforce that PR contributor and PR reviewer both have lsb.enable = false && nix.sandbox = true;.
This option is perfectly fine for end-users as long as contributors have pure systems.

@matthewbauer I understand you won't continue work on this PR, but I'll throw in my suggestion.
I think list of packages included under enviornment.lsb.enable should be autogenerated from webpage, so it is clear it is not "arbitrary" or something is missing, or something is added ad-hoc.
Also, I'm waiting for options environment.ubuntu."19.10".enable, environment.debian.enable, environment.gentoo.enable which will masquerade NixOS as another distribution. environment.lsb.enable is first step here :)
And yes, it should be done more like in https://github.com/NixOS/nixpkgs/pull/69057

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/add-bin-bash-to-avoid-unnecessary-pain/5673/26

I disagree. There is point in running NixOS even when lsb.enable option exists. We only have to enforce that PR contributor and PR reviewer both have lsb.enable = false && nix.sandbox = true;.
This option is perfectly fine for end-users as long as contributors have pure systems.

If you don’t want a pure system, there are plenty of other distributions that will serve your needs much better than NixOS.
Your suggestion means that in order for somebody to contribute to NixOS, they have to break installations of software that otherwise work for them. That’s going to be great for attracting new contributors! Part of the reason NixOS is so successful is that it’s so easy to go from being an end-user to a contributor.
Plus, if contributors aren’t allowed to use an option, who’s going to maintain it?

@alyssais I still like NixOS. On landing page https://nixos.org/nixos/ you don't see "purity" as an advantage. All of the "declarative", "reliable" and "devops-friendly" will still stay even with LSB/FHS stuff.
Disabling LSB by default is understandable, but forbidding it is too opinionated.

On landing page https://nixos.org/nixos/ you don't see "purity" as an advantage.

It literally says “The Purely Functional Linux distribution” and all the benefits listed are consequences of purity. It is not “too opinionated” to break purity when the whole point of the project is to create a pure system.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/add-bin-bash-to-avoid-unnecessary-pain/5673/29

If you don’t want a pure system, there are plenty of other distributions that will serve your needs much better than NixOS.

From my experience, there is an opposition of NixOS Server and NixOS Workstation (to name it after old Windows, and I do have a lot of if isWorkstation then in my NUR):

server should be immutable, pure, reproducible, etc, while
workstation should be flexible and allow everything.

It might have sense to use another distro for workstation, but there is a strong pro-NixOS argument: nixops (and clones). One could manage eir laptops (and even laptops of granma) using the same server management tools
The opposition already leaked in nixpkgs, for example in form of users.mutableUsers setting.
The question is: how should we allow the features which belong to the workstation case?

in nixpkgs
in a fork
in NUR
?

From my experience, there is an opposition of NixOS Server and NixOS Workstation (to name it after old Windows, and I do have a lot of if isWorkstation then in my NUR):

server should be immutable, pure, reproducible, etc, while
workstation should be flexible and allow everything.

It is not that clear-cut. On the one hand, the current discussion is partially fueled by requests of the people who want to manage computation servers where sometimes they need a proprietary binary for HPC tasks and sometimes they need Matlab or whatever. On the other hand, I have done a bisection of laptop configuration to debug a change in Xorg driver behaviour (it wasn't literally NixOS, but Nix-based), and of course impurities that might or might not affect the tests should better be a short list for that.
Also, of course, some desktop users would like the tested-on-NixOS checkmark on GitHub mean something compared to non-NixOS Linux.
There is also a user-facing NixOS feature that would suffer: the more impurities and system-wide settings there are, the easier it is to find yourself in a situation where you can easily install either X or Y, but installing both is complicated.

It might have sense to use another distro for workstation, but there is a strong pro-NixOS argument: nixops (and clones). One could manage eir laptops (and even laptops of granma) using the same server management tools

So, it should be NixOS with some extra modules but very clearly different name? It would be more Nix than Nix-on-Arch, but some of our promises do not apply and you should not say you tested something on NixOS if you only tested it there etc.

The opposition already leaked in nixpkgs, for example in form of users.mutableUsers setting.

… and I think some people use immutable users on laptops/desktops, and for some servers (long-living multi-user ones) mutable users make sense.
The option has the benefit that non-user-management software affected by it would be pretty damning for the said software.

@7c6f434c by server and workstation I did not mean exact the use cases of server and workstation, it is just to mark the dichotomy of

systems closely supervised by a human, so the flexibility is more important then enforcing rules vs.
something deployed en mass with containers and EC2 on the extreme end.

They could be called using old-fashioned master and slave (and it would be more accurate) :)
So the exceptions like "long-living multi-user servers" are workstation in this axis.

@7c6f434c by server and workstation I did not mean exact the use cases of server and workstation, it is just to mark the dichotomy of

systems closely supervised by a human, so the flexibility is more important then enforcing rules vs.
something deployed en mass with containers and EC2 on the extreme end.

They could be called using old-fashioned master and slave (and it would be more accurate) :)

Slave is the one closely supervised, right?
I guess pet/cattle dichotomy is almost there.

So the exceptions like "long-living multi-user servers" are workstation in this axis.

I specifically gave an example where very much a «pet» system needed the «cattle» features to move forward (bisecting Xorg setup on a laptop)

This discussion reminds me a bit of Debian and Ubuntu where Debian took a principled approach, did a lot of amazing ground work. Then Ubuntu came along, added a graphical installer, added all the proprietary graphical drivers, picked a default desktop environment, created a great default user experience and became very popular because of it. I don't know if there are necessarily lessons to take from that except that NixBuntu will probably happen at some point. It's our choice if we want to make it part of the main project or have it as a (friendly) fork.

For anyone interested, I've created https://github.com/balsoft/nixos-fhs-compat which implements this functionality as well as basic FHS support (yes, yes, linking stuff to /bin and /usr/bin etc). It's available as a flake and intended for use in nixos-containers and virtual machines specifically tailored for running stubborn executables and scripts without patchelfing them. I'm going to add a separate module that generates a container that does this and a simple command to run something in that container soon.

For anyone interested, I've created https://github.com/balsoft/nixos-fhs-compat which implements this functionality as well as basic FHS support (yes, yes, linking stuff to /bin and /usr/bin etc). It's available as a flake and intended for use in nixos-containers and virtual machines specifically tailored for running stubborn executables and scripts without patchelfing them. I'm going to add a separate module that generates a container that does this and a simple command to run something in that container soon.

Nice! I was meaning to make something like this.
The one piece that is still missing from all of this is a patch to glibc to add support for something like LD_FALLBACK_LIBRARY_PATH that is only used when a library is not in DT_RUNPATH.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixos-flakes-and-kiss/10602/6

I'd just like to register my objection that this is the issue provided to justify the reversion of af665d8 (cf. 26aba55951a09340959b68330875904ac43a3a31 commit message).

I just made some research to find possible solutions for NixOS/nix-idea#30. I have to say that I am not quite satisfied with the argumentation for reverting config.environment.ld-linux (26aba55951a). I think there is one simple question: Do we want to allow executables to work if they are build outside Nix? If the answer is “no”, we should remove bin/sh and /usr/bin/env. Otherwise, we should support the most common interpreters for ELF files.
If I understand it correctly, it is currently impossible to build an ELF executable outside the Nix store with dynamic linking that supports NixOS. Note that ELF does not support any dynamic resolution of the interpreter. I guess you could even argue that this makes these interpreters even more important than /bin/sh.
Anyway, I agree that having these binaries at these global paths is not ideal. I personally think that the concept of nix-ld or envfs could be a good compromise. Both of them avoid the problem of /bin/sh, that the resource is always available regardless of the environment.
PS: Why does #69057 not exist anymore? I have found a bunch of references to this issue, which obviously do not work anymore.

PS: Why does #69057 not exist anymore? I have found a bunch of references to this issue, which obviously do not work anymore.

There is a certain user who got "disappeared" from GitHub. And when that happens project information gets disappeared too, which in turn means we're left with well gaslit holes in our history :(.

we should remove bin/sh and /usr/bin/env

I was going to argue that /usr/bin/env makes sense to stay because many people rely on that for script shebangs. But then I realized that such Nix-external shell scripts are no different than Nix-external binaries, but we allow the former while disallowing the latter.

we should remove bin/sh and /usr/bin/env

I was going to argue that /usr/bin/env makes sense to stay because many people rely on that for script shebangs. But then I realized that such Nix-external shell scripts are no different than Nix-external binaries, but we allow the former while disallowing the latter.

I guess you could argue that binaries are build by a compiler, while shell scripts are written by hand. If you develop a binary on your local machine, you don't have to set the interpreter manually. If you write a shell script, you have to manually specify the path to bash. So it is a bigger annoyance for scripts then for binaries if you develop them locally. 🤔

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-to-make-nixos-so-easy-that-people-can-be-productive-up-front-without-having-to-first-learn-the-nix-language/5625/51


Introduce bitMatrix to replace mat.Dense

This PR introduces a structure that replaces mat.Dense and gets rid of the gonum dependency.
Hence, it is half the story of closes #22.
It could use some light fuzzing but given that this is essentially a simple bit-mask I don't think that is urgent.
Can open a separate PR to actually use the structure, or, replace mat.Dense in here.

As requested, this PR also replaces gonum now. It would have been nice to measure the impact with benchmarks but we already know the ballpark of improvment (see #22).

I ran this quick fuzzing test locally in lazyledger-core, which continually runs the TestBlockRecovery test. With the master version of rsmt2d, this test passes, but with this branch of rsmt2d, it fails.
func TestFuzzTestBlockRecovery(t *testing.T) {
	ctx, _ := context.WithTimeout(context.Background(), time.Minute)
	for {
		select {
		case <-ctx.Done():
			return
		default:
			TestBlockRecovery(t)
		}
	}
}

    --- FAIL: TestFuzzTestBlockRecovery/missing_1/2_shares#295 (0.00s)
        read_test.go:220:
                Error Trace:    read_test.go:220
                Error:          Received unexpected error:
                                failed to solve data square
                Test:           TestFuzzTestBlockRecovery/missing_1/2_shares#295

I'm not sure if it's just TestBlockRecover that is wrong, or if it's something here.

Is there a reason not to use big.Int as the backing type instead of a []uint64?

Is there a good reason to do so? I think the main reason is that you can not directly operate on the underlying []uint and would need to use Bits() which returns almost the same as we are already using. Then, big.Int is signed which do not need. Also, the underlying "words" used are Word uint and uint's size depends on the platform used: https://golang.org/pkg/builtin/#uint

uint is an unsigned integer type that is at least 32 bits in size.

can someone with write access approve the PR (or request changes): cc @musalbas @evan-forbes


[BUG] authentication pages are not responsive for mobile screen sizes and authentication giving 500 error in deployment

Description
Please assign me and I will work on seller authentication page responsiveness under this issue.
Screenshots

Any additional information?
No response
What browser are you seeing the problem on?
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

This is an update on this issue:
I found one more issue while working, there are bug in the backend that are causing the users an error while authenticating themselves:

I have worked on this bug can I include that in this pr only?
@mdazfar2

Thanks for letting me know, @ShivanshPlays. Sure, you can attach the same thing to that issue and raise a PR accordingly.


Antivirus bug

antivirus says its trojan and keeps trying to remove it the previous version didint have this problem

you just gonna ignore this?


Linear search

Hello @coredev100 , first of all thanks for collaborating with us!!! This Linear search already exists in the corresponding folder --"search operation in array". So please add those algorithms which does not exist in the corresponding folder... And thank you..


Implemented Waitlist api endpoint

Description
Create a backend API endpoint to receive and store user information submitted through the waitlist signup form on the website.
Acceptance Criteria

The endpoint should be accessible at /api/v1/waitlist.

The endpoint should accept POST requests to receive user information.

Given a POST request with user data, the system should validate and sanitize the incoming data.

Validation rules should include:

Email format validation.
Required fields: email, name.
The name should be a non-empty string.

Given valid user data, the system should securely store the information in the database.

Upon successful signup, the system should send a confirmation email to the user.

Return a 429 Too Many Requests status with an appropriate error message if the rate limit is exceeded

The system should handle errors gracefully and return appropriate status codes.

Request Body
{
  "email"<EMAIL_ADDRESS>  "fullName": "John Doe"
}

Successful Response (status code: 201)
{
  "message": "You are all signed up!",
}

Error Response
{
  "message": "Invalid email format",
  "status_code": 400,
  "error": "Bad Request"
}

Purpose
To allow potential users to join a waitlist for our product/service by submitting their information through a form on the website.
Requirements

[x] Develop a RESTful API endpoint to handle POST requests
[x]  Validate and sanitize incoming user data
[x]  Store user information securely in the database
[x]  Implement rate limiting to prevent abuse
[x]  Send a confirmation email to the user upon successful signup
[x]  Handle errors gracefully and return appropriate status codes

Expected Outcome
A secure and efficient API endpoint that can receive user information, store it in the database and confirm the user's addition to the waitlist.
Testing

Test that the endpoint returns a 201 status code with a success message on valid submissions.
Test that invalid data triggers a 400 Bad Request response with an appropriate error message.
Test that a confirmation email is sent upon successful signup.
Test that the rate-limiting works correctly and returns the appropriate status code when exceeded.

Fix your branch conflicts

I have resolved it. Thanks


Make a Travis build that tests with all dependencies = "*"

Basically replace all version requirements in Cargo.toml under [dependencies] with "*", then cargo test. This will notify us when a crate releases a new major version that is incompatible with our example code, meaning the example needs to be updated.

Fixed in #118.


more formatting options

the options at http://procssor.com/ pretty much capture the most common style differences between authors.
having those present would be awesome.

We'll slowly go there :)
Next in my TODO list is an option to split the selectors, each into its own line.

I’d like to see an option to automatically add ; after each declaration (even if the source file didn’t have one). So…
menu{color:red} navigation{background-color:#333}

…which currently beautifies into:
menu {
    color: red
}

navigation {
    background-color: #333
}

…would become:
menu {
    color: red;
}

navigation {
    background-color: #333;
}


Notification Hub - Can't update Google API key

Issue
We're using an Azure CLI script to update the Google API key of this Notification Hub. However, az notification-hub credential gcm update started randomly "failing". This Azure CLI command doesn't seem to have a timeout; it just spins forever.
az notification-hub credential gcm update --resource-group $resourceGroup --notification-hub-name $notificationHub --namespace-name $hubNamespace --google-api-key $googleKey
We've contacted Azure support about this and they told us that, to perform this operation, Azure contacts Google's servers to validate those gcm credentials. This is a synchronous operation. Google is taking 85 seconds to perform that validation, and Azure is timing out after 60 seconds, so the request doesn't get through.
Suggestion
Adding a timeout parameter or simply timeout after ~60 seconds, instead of running forever.

route to CXP team

Adding Service team to look into this ask.
@tjsomasundaram-zz Could you please look into this ask and provide an update ?


Detached (Remote)StreamEnvironment execution

Detached execution option from api

I guess for backward compatibility this last commig would do.

Why isn't it implemented yet ? Expect the conflicting files, it's still not possible to launch a flink job in a detached mode.


fix coords when retrieve governor id

Currently the coord gonna get the "Governor" text along with the id, which it added 7504 before the real governor id
Also add comma seperator when showing info on terminal, which is easier to find which data is incorrect.

Thank you for mentioning these issues. It seems that your coords are not exact though in the first issue fix. I suggest you to use this

roi = (779, 230, 200, 35)

The other one seems pretty fine. I will include that on the next version.
Thank you again.


User.current_user= and User.with_user (not userid)

back story:
In automate and other areas of the code, the user object may have a different tenant or group than what is stored in the database (users.current_group_id).
So I want to start phase out passing around userid, and pass around user objects instead.
For automate, when saving to the queue and database (e.g. miq_request) we're actually serializing all 3.
this pr:
This change allows the code to set the full user object, with the correct group and tenant (rather than looking it up again in the database and possibly getting a different answer)
Currently, we allow the userid to represent a user that is not stored in the database. This code is not making a stance against that. But is paving the way to ensure that the userid is valid and the group/tenant are correct.
/cc @Fryguy @jrafanie Does this look good?
/cc @abellotti fyi

@kbrock While it makes sense, there are areas of the code that expect userid such as Rbac.search, same for miq_group_id... let's see if the tests pass.  Also, not sure if the user object would be stored in session and if this is ok.  But yeah, I'm good with this, just don't know what's involved detangling the requirement on userid.

@jrafanie

While it makes sense, there are areas of the code that expect userid such as Rbac.search, same for miq_group_id... let's see if the tests pass.

Rbac.search uses miq_group_id to set user.current_group. We will continue to send sending both to Rbac for now. In the future, we can call Rbac with an actual User object and Rbac won't have to munge the current_group as it will already be set correctly. There are a few minor wrinkles, but they look to be minor.

Also, not sure if the user object would be stored in session and if this is ok.

For now, the ui uses user.current_group to populate session[:group] and determine tenant/ group. In the ui, the user's group is accurate. It is automate/rest api/reporting that possibly have the wrong group/tenant.
In the future, we can either move to urls defining the tenant, or find a different way to populate session[:group] - and this would allow us to have a user logged into multiple browsers with different tenants/groups.

But yeah, I'm good with this, just don't know what's involved detangling the requirement on userid.

Yes, this detangling is what is forcing this current change.

Rbac.search uses miq_group_id to set user.current_group. We will continue to send sending both to Rbac for now. In the future, we can call Rbac with an actual User object and Rbac will no longer modify user.current_group. There are a few wrinkles, but they look to be minor.

I was thinking more of this:
https://github.com/ManageIQ/manageiq/blob/5b0ac0fe3bc9eac98dee0d4e39d24260bdd235ff/app/models/rbac.rb#L413-L416, if you provide only a userid, no miqgroupid, it will user that userid to lookup the user.
Also, another reason we might be using userid in some places are for when we serialize work such as "do this job for this user" into the miq_queue.
I don't know how much work that is to use user wherever possible.

@jrafanie ok, so I heard you say, this could be hard... I concur.
You ok merging this?

Would like @h-kataria @dclarizio to review/try this out, if the test suite passes, then my concerns in the backend are ok for now....  We use current_user* in the UI so I don't know if there's something else to look at.

UI uses the controller current_user -- which this is relying on, but not changing -- so this is fine.


[tests-only] test update-getPersonalSpaceIdForUser

core PR https://github.com/owncloud/core/pull/39793 changes test method getPersonalSpaceIdForUser so that it can work with 2 different space id formats.
This PR is to test that the core code does correctly process the current base64-encoded space-id.
Running with edge branch.

passed - good


Use a custom conversion service

You can have multiple conversion services on the classpath, with the current setup it will lead to context not starting. Try generating a project with Square & Spring Cloud Stream on the classpath and you'll get the following
2022-02-13 14:49:22.134 ERROR 55883 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 1 of method springConverterFactory in org.springframework.cloud.square.retrofit.DefaultRetrofitClientConfiguration required a single bean, but 2 were found:
	- mvcConversionService: defined by method 'mvcConversionService' in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]
	- integrationConversionService: defined in null

Action:

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

Merged within 41d40d3de4caff21c04ff117c00b71e5ae46c314.


feat: ignoreNpmrcFile

This feature adds support for ignoring .npmrc files in a repository. Set config option to true if you wish to enable ignoring.
Closes #851

:tada: :heart:


Chain depth in tables is high in larger programs

In minesweeper with 10x10 cells, chain depth approaches 30 on table finds. This can easily be a factor of two performance difference

No longer an issue in 0.2


admin Login page not found and 404 error after first install

Hello, I just installed Boxbilling for the first time and all went wonderfully until I selected to login administration area. The button renders the correct url from what Ive read: /index.php?_url=/bb-admin ------> bb-admin/staff/login. Unfortunately, I am getting a 404 error and page not found on server. The User login page is working correctly. I also checked the URL settings in the config file and all appears correct. Anything else I am missing? I also tried debug but it rendered no additional info on the page. Thank you for any assistance. (Installed latest <IP_ADDRESS>)

same issue with registration page: https://webdomains.cloud/login?&register=1

Running Centos 7

Nginx or Apache2?

pardon me it is apache2

Renaming htaccess.txt to .htaccess should work.
We also heavily advise you to switch to FOSSBilling, the well-maintained fork of BoxBilling. We are the team who revived BB from its 5 year silence and has been maintaining it for the last 2 years.
We had to move to a new organization called FOSSBilling due to issues with the original author and the owner of the organization. We also have a Discord server if you want to join.

ok great! I will give that a shot and will look at getting on FOSSBilling as well! Thank you for your help!

Hello, I have changed to FOSSBilling as suggested. I am installing through
cpanel and keep getting internal server error. I cannot find requirements
in the documents. Can you point me to the right direction? When you go to
webdomains.cloud you can see that it directs to the install folder but
gives error. Please help. I also tried renaming the htaccess as suggested
with the box billing install but still no luck.
On October 12, 2022 at 5:10:05 AM, Yağızhan @.***)
wrote:
Renaming htaccess.txt to .htaccess should work.
We also heavily advise you to switch to FOSSBilling, the well-maintained
fork of BoxBilling. We are the team who revived BB from its 5 year silence
and has been maintaining it for the last 2 years.
We had to move to a new organization called FOSSBilling
https://fossbilling.org due to issues with the original author and the
owner of the organization. We also have a Discord server
https://fossbilling.org/discord if you want to join.
—
Reply to this email directly, view it on GitHub
https://github.com/boxbilling/boxbilling/issues/1446#issuecomment-1275842388,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG2MLCJC7X4P5S646ARINLTWCZ56ZANCNFSM6AAAAAARCZZLH4
.
You are receiving this because you authored the thread.Message ID:
@.***>

file not found for admin login url. I never had to rename .htaccess, it was already named properly after install. Please advise.

If you re using Nginx server you need to apply the nginx.conf in the example. But even then I still suggest switching to Fossbilling ...

my bad, I thought this was the FOSSBilling Thread. I can see from url that it is not, lol


DisguiseLib 1.2.0 on Minecraft 1.18.1 crashes on startup

As of DisguiseLib release 1.2.0 (commit 3ba119472e750f3cf09fe9eb9421fa217c787715) and Minecraft 1.18.1, the game crashes on startup with the following error: https://gist.github.com/James103/358cbee1ff9dd081f4f77aebf42b367c
Is there any way that I can run DisguiseLib on Minecraft 1.18.1 without crashing on startup?

Thanks for report! Seems like refmap isn't loading.


Docker install example for local mode

Issue #, if available: N/A
Description of changes:
Re-raising https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples/pull/43 as requested against this repo for new SageMaker Studio.
SageMaker Local Mode is now available within SMStudio to accelerate debugging workflows (yay!), but requires some extra setup to enable. This new script example attempts to walk customers easily through a persistent Docker CLI setup to enable Local Mode.
Testing done:
In addition to the testing for the original PR, re-tested on current SageMaker Distribution image in us-west-2 as of today and the setup is working fine.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This feature is exactly what my teams needs!


When right clicking over connected cluster icon - display option to disconnect

https://github.com/user-attachments/assets/ddcf9efc-c880-4029-b80b-9800858a67be


MQTT setup

As a user, I want to be able to navigate the Smartcar through the application.
Acceptance criteria:

Smartcar turns left and right
Smartcar moves forwards and backwards
Smartcar stops on call

@Druner what do you think of this user story for this issue?


Setup Testflight

I want to find bugs pls make Testflight

I've got plenty in prod for you

ok but I want test flight sir


Update doc-template component to support custom props-table

Feature Request
Description
Some components our users have built are not compatible with react-docgen. Either they have a list of props-types in a separate file they import across components (react-docgen parse files individual, thus does not support this use-case) or they are using more complex HOC components. In these scenarios, we'd still want people to be able to use the doc-template, however, they'd need to provide their own props documentation instead of using the autogenerated doc via react-docgen.

Tech design
Add new prop, customPropsTable that takes a node. This allows people the ability to render whatever custom props table doc they need for cases where react-docgen is unable to parse the prop-types of their component.


Display ability source location when it's triggering not from hand/play

Fixes #1154.

This is a very simple stab at fixing ####, simply showing the source location in the button prompt for any ability that’s triggering not from hand or play. Another option would be only showing source locations whenever a duplicate ability, with differing source locations, are present in the same prompt. But that would be quite a bit more code to get right, for possibly not much gain.
A side effect is a card like Freedmen, which triggers from discard pile by default, will always have its source location shown, which might or might not be desired.

I'm not sure I like it showing for when it's just triggering from the discard pile and there's no other effect to trigger
Feels like this should be a little more visual too, but happy for that to be part of a 2.0


Spelling Fix Wave 1

Christmas is early and you get the first of many little presents in the shape of spelling fixes. Enjoy !

@ArieHein This is the good stuff. Thank you for your contribution.
I will have to go through our entire content set to see if we can match other areas with your suggested corrections, so this PR will likely be closed, but rest assured you will get credit for this contribution.
Thank you again.

@rwestMSFT
I have about 150 more spelling fixes, but i decided to send them in batches as its hard to review them.
What would be the best approach ?

We won't accept any fixes in the errors and events includes folder. Those come straight out of the product source code.
You can do the rest in a single PR, and I'll take care of it if you ping me in the PR comment.
I'm going to close this PR now, because we have an internal PR that will publish after the Ignite content freeze. Your name will appear in the contributor list.

@rwestMSFT
Ok, I will wait for after the freeze for it to be merged and then will open a new one with the remaining. Unless i understood you wrong.
There are about 30 spelling fixes in the error-events as well. Based on your comment, i assume its auto generated from the source code but i dare say its was either manually changed after the generation or those spelling issues are at the source code. I can make an MD file with all the details of the files, line numbers and issue and attach it to the second PR as i think it merits the PM/Devs taking a look at it to validate and fix. As a long time SQL admin, i made sure its not syntax related but pure spelling.

Go ahead and open at your leisure. You don't have to wait. The PR that I closed is what we're waiting for, that's what I meant.


Repackage as ESM for both node and browser

Keeping the CJS builds but only for running unit tests – published package will require ESM.

Blocked — can't update to ESM here would gltf-transform still requires the CJS builds.
This repo should (for now) follow the setup in KTX-Parse instead, switching to Ava and "type": "module", and the ESM switch can follow more easily after that. So this PR is not the right approach.


UWP isn't currently able to work with V8

When building against UWP, while using V8 as the JavaScript engine, this code will not function properly.  It appears that the reason for this is because the V8 files needed aren't being copied.  If they are manually copied, things will work though debugging is still broken.  A separate issue has been filed for that (https://github.com/BabylonJS/JsRuntimeHost/issues/61)

I'm taking a look as I have to fix an issue with V8Inspector


Unable to generate a URL for the named route "login" as such route does not exist.

It assumes your default login route is called login. You can change it:
https://github.com/ldaptools/ldaptools-bundle/blob/master/Resources/doc/Configuration-Reference.md#start_path
ldap_tools:
    security:
        guard:
            start_path: 'fos_user_security_login'

Or define your own route called 'login' that maps to '/login' so you're not dependent on that fosuser one.

THANK YOU. This solved the problem.
A side note. Can you point me on the right direction on how to validation works with FOSUserBundle? Or by entering the ldaptools' config info is enough? If not, can you outline the required steps?
First time implementing ldap sorry.

What do you mean by validation? Like checking whether the FOSUser is a member of a LDAP group to restrict login or something? Kinda depends on the flow and what you're trying to achieve I guess.


Add TrackEnd event or fire PlaybackProgressUpdated at the end of the track

What is the need and use case of this feature?
I want to implement sleep timer which stops the player at the end of a (current) chapter.
Describe the ideal solution
Have a dedicated TrackEnd event.
Describe alternatives you've considered
If PlaybackProgressUpdated reliably was called with progress equal to track duration this would also be acceptable.
Additional context
Add any other context or screenshots about the feature request here.
How I can Help
I'm not skilled in android or ios development, but could do a PR if it could be a JS solution.

for a JS solution any ActiveTrackChanged and QueueEnded events that were not caused by TP.skip and remote calls are effectively a result of the current track fully played and jumped to the next item in queue. or playback.state changed to stopped but not by TP.stop. or manage your queue outside of RNTP and only keep one track in RNTP; QueueEnded will be what ur looking for.
to properly do in native look for where PlaybackQueueEnded is and take out the queue check.
eg android:
emit your event here but without the nextitem = nil check
https://github.com/doublesymmetry/react-native-track-player/blob/a0fdd21f77afb4c11cb7062c6665dfd337cef117/android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt#L609

At the moment there are no plans to enhance the current sleep timer capabilities beyond their current state.


How to build the armory-embeds service on my server?

Hello Madou,
I am using your JS on my site (https://mists.cn, which old one is mists.co) throught this way:
<script async<EMAIL_ADDRESS>
I am a new player with nodejs, can you tell me how to build armory-embeds.js by myself? I want to make the armory-embeds.js for my wordpress server with Docker.
Thank you!

hi - you can install the npm package and reference it that way instead?
npm i armory-embeds

and then grab the script out of node modules
https://www.npmjs.com/package/armory-embeds

Thanks for your replay!
Can I get the GW2 wiki images into my server (or my CDN)? It seems the armory-embeds will request the static resouces. Is there any way that I build the database?

unfortunately no it uses the gw2 api directly and isn't built to store them in another db

Thank you!


3260, 3261, 3262, 3264

#3264 R Interactive steals focus when debugging Python.

add explicit check for R debugger session

#3260 Making a pipeline marks other code sections as touched

start of expression locator returned relative position rather than absolute

#3262 Typing ::: sometimes gets messed up

in case of typing stats::: in front of the existing member last :completed to the member and then : appeared after the member name. ':should only complete right after the package name and not after another:`.

#3261 Inconsistent formatting of spaces around =

brace handler is not active for partial formatting so we have to always use option for spaces around =, not just in arguments. However, using = instead of <- is highly discouraged and if someone does want to use it, default is to put spaces around = so it will work.

👍

👍


Incomplete or incorrect battery stats

After updating to v1.4.0, I have set up Tile text as %t°C            %cmA • %vV. It is displayed as following (left tile)

The right hand side tile is from Battery Quick Tile app. The temperature on the left (this app) is incomplete.
Also the current (both current and average) is incorrect (is always 0), and the voltage is incomplete. Following shows the stats form Device info HW app from the same moment

I use Charge monitor app to see stats chart. It shows the same stats as Device info HW app, but it says it does some sort of calibration.

Following is the log form Charge monitor app found in Settings>Calibration>Log if that helps
Charge Monitor 1.6.3
Brand: samsung
Model: SM-J600G
Hardware: samsungexynos7870
Android: 10

/sys/class/power_supply/ exits = true
/sys/class/power_supply/ readable = false
/sys/class/power_supply/battery exits = false
/sys/class/power_supply/battery readable = false

Jan 5 2022 20:35:56 Calibration in progress
Battery capacity start : 36%
Battery capacity now: 39%
Voltage: 3876mV
Current: 552
Jan 5 2022 21:02:12 Calibration in progress
Battery capacity start : 44%
Battery capacity now: 47%
Voltage: 3928mV
Current: 698
Jan 5 2022 21:07:18 Calibration in progress
Battery capacity start : 46%
Battery capacity now: 49%
Voltage: 3962mV
Current: 683
Jan 5 2022 21:26:40 Calibration has finished
Battery capacity: 61%
useKitKatCurrent: false
currentDivider: 1
Current is positive: true
Maximum current: 958mA

Looking into this. Most of the issues you've reported (except the one about temperature) I can't reproduce on my own devices, so I'm trying to figure out what's causing this.

This has been resolved in v1.5.0! Thanks for pointing these issues out.

In the previous version, a 'space' in the text string caused the line to break. In the update, no matter how many spaces I put in, the line never breaks and all text is shown in a single line (line scrolls if the string is too long, instead of breaking at space and showing the rest on the second line as seen in above screenshot). Is this intended behavior? Or should I post a new issue about this?

As far as I know, quick settings tiles have never supported line breaks. Rendering of the tile text is handled by the Android System, so its possible that an update to a system component may have changed how the text is displayed.

Ahh okay, Thank you for the update 👍. The app works flawlessly now


Text inside TextInput that have background make cursor disappear

Description
If you have TextInput with children and one of the Text elements has a background the cursor on that element disappears (only the selection marker is visible). Found this while working with react-native-syntax-highlighting that was adding background but figured out how to remove the background that was on a wrapper.
Steps to reproduce

git clone https://github.com/jcubic/react-native-text-input-cursor.git
cd react-native-text-input-cursor
npm install
npm start

React Native Version
0.72.6
Affected Platforms
Runtime - Android
Output of npx react-native info
System:
  OS: Linux 6.6 Fedora Linux 39 (Xfce)
  CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
  Memory: 5.33 GB / 15.28 GB
  Shell:
    version: 5.2.21
    path: /bin/bash
Binaries:
  Node:
    version: 20.10.0
    path: ~/.nvm/versions/node/v20.10.0/bin/node
  Yarn: Not Found
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v20.10.0/bin/npm
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
IDEs:
  Android Studio: Not Found
Languages:
  Java:
    version: 17.0.9
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/local/rvm/rubies/ruby-2.6.10/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.6
    wanted: 0.72.6
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

I'm not sure why npx react-native info doesn't work on my system (Fedora) I do have an SDK and Android Studio.
Stacktrace or Logs
none

Reproducer
https://github.com/jcubic/react-native-text-input-cursor
Screenshots and Videos

I use Expo I can upgrade the version of RN.

Do you still experience this issue? If yes, I will publish the fix in the react-native-improved package https://github.com/fabriziobertoglio1987/react-native-improved. Thanks a lot

@fabriziobertoglio1987 the issue was not fixed if this is what you're asking. I fixed my code by not using background but this doesn't mean that the bug is not there.


Memory error on stitch

Hi there,
I created two sets of calibration data - one using your web page thingy and the other one by reformatting some PTGui project data.
In both cases calibrate works fine but when I try to stitch I always get the following error:

F:\Mi_Sphere_Export\GyroTest\FishPyPano-master> py -3.6 .\stitch.py -d -c .\calib_data.json -i .\test.JPG
Loaded calibration data..
Projecting fisheye images to equirectangular projection..
Projecting left fisheye image..
Traceback (most recent call last):
File ".\stitch.py", line 84, in
equi1 = fisheye_img_to_equirect(img1, np.pi, circles[0])
File ".\stitch.py", line 17, in fisheye_img_to_equirect
xy_e = (xy_e / [x_lim / 2, y_lim / 2]) - 1
MemoryError

The zip file contains the image, the control point data created using the web page and the calibration data created from the control points.
MemError.zip
Am I doing something wrong here??
Cheers.
P.S.: Interesting - I think you are trying to deform the image so it fits ( and some more clever things CV provides)
I was looking into ImageMagick bcmatch (brightness color match), meshwarp (deform) and fisheye2pano to do something similar (all scripts available here: http://www.fmwconcepts.com/imagemagick/bcmatch/index.php )

I see the control points are collected correctly, but there are some slight mismatches.
Though it gave not so good result because of mismatches, I am able to finish the stitching though. How much RAM does your machine have?
PS: https://github.com/rnbdev/FishPyPano/blob/master/util/debug.py draws matched point pairs and circles on fisheye image. You can use it to check if the calibration data and control points are good.

16GB - should be enough.
I am not very good with python - is there an option when I call python how much memory I allow it to use for it's environment??

Hmm, strange.
Had a bit of a play with fisheye2pano imagemagick today - not sure it works with Mi SPhere images but I might be wrong.

PS F:\Mi_Sphere_Export\PixProTest> py -3.6
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
That might be the culprit?? I got a 32bit version on windows 10
Guess I might try to install a 64bit version of Python - see if that helps

OK, the 64bit python version sorted the memory problem.
Now I need to look into the control points and how to create better ones.
I guess this issue can be closed - might be worth saying a 64 bit version of python 3 is needed.
Cheers.

OK - I have produced another control point file using PTGui (saveed the project and extracted the control points from there) and it is looking good - not perfect but quite good.
Looking forward to any improvements here!! Great work.

Can't do anything today any more but this one might be handy to match the colors
https://github.com/jrosebr1/color_transfer
haven't tried it yet though - just an idea.

Awesome! Thanks for the suggestion for color transfer. If you see anything for mesh warping, let me know.

Was thinking about that - will keep an eye on it

Imagemagick has https://www.imagemagick.org/Usage/distorts/#shepards and somehow (that is the part I don;t know) you can access all of imagemagick via a python API???