Game Physics in One Weekend Issue with angular velocity and friction?

Hi,
Love the book and it's really helped me get some physics into my in development game engine.
I wanted to share that I think there is an issue in the angular velocity and friction example. My sphere never rotated whenever it impacted the ground and first I thought it was some mistake in my code with the calculation of angular velocity and the impulses but then I noticed you have the ground have its m_friction set to 0.0f. This makes total friction 0.
In my readings elsewhere, I believe that any contact where there is no friction for a sphere with its center of mass equal to that of its position would result in no rotations at all. Correct me if I am wrong here please as I am very new to game physics.
I had to set the ground friction to something other than 0.0f (I set it 1.0f) in order to achieve a result which looks realistic (at least to my eyes).
P.S - I could not find any contact information and anywhere else to share feedback or issues found in the book so posted it here. If this is not the right place, let me know.

Hey there!
First, I'm glad you're finding the book to be useful.
And yes, you need friction on both bodies, otherwise they would just slide without rolling.  Thanks for pointing out this error.  I'll be sure to correct it in the next update.
Also, this is a perfectly fine place to raise an issue, error correction, or just general questions.  If you want to ask in a more private way though, my personal twitter and an email address are listed in the overview section of the first book.
Cheers!


library not found for -lBVLinearGradient  RN 0.61.5

Hello. Have an issue with library autolonking
xCode version: Version 11.2.1 (11B500)
React Native version: 0.61.5
Steps :

Remove Podfile.lock
Remove Pods dir + Build clean && DeliveryData remove
Remove node_modules
yarn install
pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient'
cd ios && pod install

Error when archive.:
ld: library not found for -lBVLinearGradient
clang: error: linker command failed with exit code 1 (use -v to see invocation)

P.S. debug build work as expected

How did you solve this?

How did you solve this?

Having the same issue, spent at least two hours on this...

@LeonidVeremchuk how did you fix this? Really need help with this. As you stated, Debug works for me also just not Release

I have the same problem. any solution?

@EhsanSarshar  any luck? having the same problem.

Here's my solution. Hope it helps someone.
My problem arose cause I'm now using Cocoapods along with Fastlane for deploying to the stores.
Since I upgraded from react-native 0.59.10 -> .61.5 I've moved from manually linking the libraries to using Cocoapods in my project. My debug version was working fine as I was using .xcworkspace instead of the .xcodeproj file.
I was using Fastlane to make deployments to the store and Fastlane was still pointing to the .xcodeproject instead of .xcworkspace thus it could not find any of the libraries. It just so happens to be that BVLinearGradient was the first library ( alphabetically ) that it could not find and it stopped the gym step process there.
I just updated my GymFile and Fastlane files to target .xcworkspace. and now my release version is working and submitting to the store.

I've solved adding pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient' to PodFile and it worked.
Hope it helps!

after upgrading from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>I faced with error again :(

How did you solve this?
UPDATE: check that pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient' is added to your Podfile and you did pod install than open xcworkspace instead of xcodeproj in Xcode and try to build. Worked for me

Thank you, this solved it. Cheers

Hi @foxbit19  i added also "pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient' " to PodFile but its not working for me. do you have any idea. I am using RN 0-62.2 and when i run react-native run-ios I take his error   - react-native-linear-gradient (to unlink run: "react-native unlink react-native-linear-gradient")

@ibrahimyolbir same issue on RN 0.61.5 only on run-ios command. You can try to unlink the library as suggested but I'm not sure that this issue will disappear.

I apologize for not commenting.
"Ah sh*t, here we go again"...
So, first time I avoided this problem accidentally.
Today I switched to my old commit and this problem here.... what a day =(
How to fix:

Delete ~/Library/Developer/xCode/UserData and DerivedData
press Clean Project & Build - no result
in ios folder remove "build" folder
press Clean Project & Build - no result
under ios  remove folder 'Pods' & Podfile.lock  & pod install
Clean Project & Build - no result
had some coffee with a cigarette
press Clean Project with pressing 'option' button
No result damn.
... waiting for indexing project...looking at wall... what happens knows only Steve...

Finally!!!! Its very important!  I just close the project and run under Project/ios/mypro.workport with a double tapping. And WOW -> this is fixed.
Please don't blame me.. we live in a very strange world.  A bit of magic =)
FYI: I think steps № 7 and 10 fixed this problem. 100% ;)

so the general solution is to re create the ios folder.
by creating a brand new react native project and replacing current ios folder with newly created project ios folder

None of these suggestions work for me.

Same here. None of the solution worked for me.

What fixed it for me was:

Removing pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient' on the Podfile
after pod install / npx pod-install I unlinked react-native-linear-gradient
opened ios/Project.xcworkspace and added libBVLinearGradient.a on Build Phases -> Link Binary With Libraries

Build Phases -> Link Binary With Libraries is now consists of:

I tried doing 1 and 3 it didn't work. I tried 2 and 3 still didn't work but when I tried 1, 2 and 3 everything worked out.
Hope this will help anyone.

Here's my solution. Hope it helps someone.
My problem arose cause I'm now using Cocoapods along with Fastlane for deploying to the stores.
Since I upgraded from react-native 0.59.10 -> .61.5 I've moved from manually linking the libraries to using Cocoapods in my project. My debug version was working fine as I was using .xcworkspace instead of the .xcodeproj file.
I was using Fastlane to make deployments to the store and Fastlane was still pointing to the .xcodeproject instead of .xcworkspace thus it could not find any of the libraries. It just so happens to be that BVLinearGradient was the first library ( alphabetically ) that it could not find and it stopped the gym step process there.
I just updated my GymFile and Fastlane files to target .xcworkspace. and now my release version is working and submitting to the store.

Where to update GymFile and Fastlane files?

Tried all the solutions, but build was not successful.
I am on react-native v 0.63.2

@Chanondler have you tried cleaning up every thing.
removing node_modules
clearing the ios pods and cache
and every cleaning thing that you know

@Chanondler have you tried cleaning up every thing.
removing node_modules
clearing the ios pods and cache
and every cleaning thing that you know

Yes tried all the possible solutions. No success

I have tried all the above methods, but none of them worked.
Finally, I solved it like this:
File - Working Settings，don't use Legacy Build System

Please check if your Pod file platform :ios, '11.0' matches with the minimum deployment target in the XCODE setting...

Please check if your Pod file platform :ios, '11.0' matches with the minimum deployment target in the XCODE setting...

This fixed it for me.

This fixed it for me
https://github.com/react-native-linear-gradient/react-native-linear-gradient/issues/452#issuecomment-750325305

Please check if your Pod file platform :ios, '11.0' matches with the minimum deployment target in the XCODE setting...

took two nights before I came to your solution....it works

workport

Unfortunately, for me it is still showing me the same error. Though i also have tried all scenario that you have done. Specially everyone suggesting to open ios/MyProj. xcworkspace and i have opened that one only. Still it is not working. Same error.

您好，我已经收到你的来信。Hello,I have received your letter.                                       -----王乐城 mackwang

For anyone still getting this error, the solution in this thread worked for me. After completely removing react-native-linear-gradient from my project and rebuilding, I ended up with a similar looking error Library not found for -lCocoaAsyncSocket, which suggested that the original error, at least in my case, had nothing to do with react-native-linear-gradient. Hopefully that'll help if all else fails.

您好，我已经收到你的来信。Hello,I have received your letter.                                       -----王乐城 mackwang

Please check if your Pod file platform :ios, '11.0' matches with the minimum deployment target in the XCODE setting...

Genius!


SAKIII-4672 hide expand icon if there are no discussion replies

https://jira.sakaiproject.org/browse/SAKIII-4672

New pull request - https://github.com/sakaiproject/3akai-ux/pull/1514


GetKnownService

Hi everyone,
I have one question about GetKnownService method which can be properly executed when BLE device is connected.  I would like to implement this method in the program when the device is connected.  I know that I can call the GetKnownService in the following way:
this.device
                .WhenStatusChanged()
                .ObserveOn(RxApp.MainThreadScheduler)
                .Subscribe(status =>
                {
                    switch (status)
                    {
                        case ConnectionStatus.Connecting:
                            this.ConnectText = "Connecting";
                            break;

                        case ConnectionStatus.Connected:
                            this.ConnectText = "Connected";
                            this.WaitFlag     = true;
                             this.device.GetKnownService(App.MassService).Subscribe(ser => MassService = ser.Uuid.ToString());
                            break;

                        case ConnectionStatus.Disconnected:
                            this.ConnectText = "Disconnected";
                            try
                            {
                                //this.GattCharacteristics.Clear();
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex);
                            }

                            break;
                    }
                }
                );

But I would like to know how I can call this method directly in Contructor() without nest implementation.
Best regards
Samo

I guess that I found out a solution which is the following code:
this.device.WhenConnected().Subscribe(dv => dv.GetKnownService(App.MassService).Subscribe(ser => MassService = ser.Uuid.ToString()));
I will grateful for any comments
Best regards
Samo

You should look at the extension methods built off the device.  They focus more on the characteristics but that is really what you need.
You really need to be careful about storing references to services and characteristics as they are bad after the device disconnects for any reason

Thanks for help Aritchie.


esim installation

Hi Neethu,
I was trying to install esim with the help of steps provided by you. I am getting some errors after running ./install-eSim.sh --install command. The errors are as follows:
Err:6 http://ppa.launchpad.net/js-reynaud/kicad-4/ubuntu focal Release
404  Not Found [IP: <IP_ADDRESS> 80]
E: The repository 'http://ppa.launchpad.net/js-reynaud/kicad-4/ubuntu focal Release' does not have a Release file.
E: Unable to locate package python-qt4

Hi Praharsha,
Thanks for your inputs.
May I know which version of Ubuntu you are using?
On Thu, 13 Aug, 2020, 2:20 AM Praharsha Mahurkar<EMAIL_ADDRESS>wrote:

Hi Neethu,
I was trying to install esim with the help of steps provided by you. I am
getting some errors after running ./install-eSim.sh --install command. The
errors are as follows:
Err:6 http://ppa.launchpad.net/js-reynaud/kicad-4/ubuntu focal Release
404 Not Found [IP: <IP_ADDRESS> 80]
E: The repository 'http://ppa.launchpad.net/js-reynaud/kicad-4/ubuntu
focal Release' does not have a Release file.
E: Unable to locate package python-qt4
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/neethujohny/10bit-potentiometric-DAC-3.3v-analog-voltage-1.8v-digital-voltage-and-1-off-chip-voltage-reference/issues/3,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APRRNI5CCWTQWZUL3Z4ZJ5DSAL6CNANCNFSM4P5IXODQ
.

I am using Ubuntu 20.04.  I have downloaded the esim for ubuntu 18 as for 20 it's not available on the website. Probably that is causing the issue. Is there any way to download it on Ubuntu 20?

Sorry. I believe this version of eSim doesnot get installed in Ubuntu 20.04. You may have to try with old versions of Ubuntu.
If you have ngspice installed in your Ubuntu version, probably you can try the simulations there.

Oh okay.
Yes I have tried the ngspice simulations. They are perfect.

Thank you Praharsha.
On Thu, Aug 13, 2020 at 10:46 AM Praharsha Mahurkar <
<EMAIL_ADDRESS>wrote:

Closed #3
https://github.com/neethujohny/10bit-potentiometric-DAC-3.3v-analog-voltage-1.8v-digital-voltage-and-1-off-chip-voltage-reference/issues/3
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/neethujohny/10bit-potentiometric-DAC-3.3v-analog-voltage-1.8v-digital-voltage-and-1-off-chip-voltage-reference/issues/3#event-3650441284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APRRNI7TA2FMMEJ6JL7LRXTSANZLDANCNFSM4P5IXODQ
.

--
With Regards,
Neethu Johny
Research Scholar
Department of ECE
*BMSCE, Bengaluru *
Phone:<PHONE_NUMBER>


[REQUEST]

When I try something like this in a table:
smth = f"\u001b]8;;{target}\u001b\\{text}\u001b]8;;\u001b\\"
table.add_row(smth)

It breaks my table. So the question would be: is it possible (and how) to add html-like links to table without breaking it?
I use tilix terminal that supports html-like links and when I print smth variable it works, and it works in a table too but also displaces right border of a cell. So request would be to enable html-like links in tables (maybe it already works but I don't know how to write it). Great library btw.

I guess you discovered the link support?

yes, from your blog :D


Fix Session Side Storage of Track IDs and Recommended Ids (Make persist across requests)

Issue: Hitting memory limits with Flask Session Storage ~4kb, implemented Redis Cloud Caching as a fix


nuitka is slower than standard python for some integer operations

i tested the following demo code and found nuitka is slower than python2.7
import time

t = [ i for i in range(1,10000000)]
s = [ i for i in range(1,50000)]

t1 = time.time()

def test002():
    print(set(s).issubset(t))

def test001():
    sd = True
    for i in s:
        if i not in t:
            sd = False
    print(sd)

test001()
test002()

t2 = time.time()
off = t2-t1
print("used time = %f seconds." % off)

result of python:
build_python python hello.py
True
True
used time = 12.913735 seconds.
result of nuitka:
build_python ./hello.bin
True
True
used time = 18.586609 seconds.
i saw the offical website said "nuitka is about 3 times than standard python," but why is that testing result?

For the test0002  there should be no difference, this is basically C code of Python. For the first one, I am rather surprised indeed. I will look into it. That ought to be faster only. The C type bool will have no effect, because it's not assigned more than once, so either simple iteration or not in test are much slower.

hi,another test case：
import time
def test003():
total = 1
for i in range(1,100000):
total = totali + i -ii
#print(total)

#test001()
test002()
test003()
t2 = time.time()
off = t2-t1
print("used time = %f seconds." % off)
test result：

Your last example is slightly faster on Windows only. I think it ought to be much faster though:
$ /c/Python27_32/python Mini.py
used time = 0.453000 seconds.
$ /c/Python27_32/python bin/nuitka-run Mini.py
used time = 0.438000 seconds.
I am assuming the iteration is slower for some reason, with --verbose, we can see that Nuitka lowers the range to xrange:
Nuitka:DEBUG:Mini.py:1 : new_expression : Using original '__file__' value.
Nuitka:DEBUG:Mini.py:2 : new_statements : Reduced scope of tried block. Leading statements at Mini.py:3/<Node 'STATEMENT_ASSIGNMENT_VARIABLE' with {'variable': <LocalVariable 'total' of 'test003'>}>.
Nuitka:DEBUG:Mini.py:4 : new_builtin_ref : Module variable 'range' found to be built-in reference.
Nuitka:DEBUG:Mini.py:4 : new_builtin : Replaced call to built-in 'range' with built-in call 'EXPRESSION_BUILTIN_RANGE2'.
Nuitka:DEBUG:Mini.py:4 : new_expression : Replaced 'range' with 'xrange' built-in call for iteration.
Nuitka:DEBUG:Mini.py:4 : new_constant : Built-in call to 'xrange' computed. Predicted constant result.

Notice that range should be way slower, esp. for large values, but xrange iteration may not be as optimized, and I think in your first example, it was not used.
Also this was with develop. I will need to check generated code, this is very surprising, loops are of course very relevant.
Yours,
Kay

So, code generation doesn't yet have the nuitka_ilong type supported, that is why all the operations are done with OBJECT_OBJECT functions, rather than ILONG_ILONG functions that do not yet get generated. Would that be the case, the operations would be very fast, esp. with link time optimization.
In this case, things would be faster.
Also, the OBJECT_OBJECT functions are now generated, and do no longer allow for int optimization that Python2 does. In Python2 there is a fast path for integer values, each operation of + checks if it's an int on both sides, then shortcuts.
Obviously for non int that is overhead, which is why I probably didn't immediately introduce it back, but since that type is very prevalent for these operations, it probably should be there.
But what held me back was the size of generated stuff, and the non-reuse of it, due to it not being in a libnuitka.a at least.
So I guess, for this, the attack plan would be to add back integer specialization, not only for OBJECT_INT and INT_OBJECT operations, but also for OBJECT_OBJECT. Then have a TODO about having a specialization that is object but not int or removing that, once sufficient amounts of type alternatives are available, e.g. int or float, and so on.
For Python2, the lack of int or long is particularily striking, because almost every operation with int may or may not overflow to long and we don't know, thus the object fallback.

Then next step, get the nuitka_ilong as a supported C type. This has been started, but needs more generation tricks, to dispatch to INT_INT, INT_LONG, LONG_INT, LONG_LONG from ILONG_ILONG functions depending on their value state enums. Since there is also CLONG woven into this (actually it's defined like this here:`)
typedef struct {
    nuitka_ilong_validity validity;

    PyObject *ilong_object;
    long ilong_value;
} nuitka_ilong;

that means even more cases to generate. And support for CLONG is only partial, but there quite a bit, e.g.
        "BINARY_OPERATION_MUL_OBJECT_LONG",
        "BINARY_OPERATION_MUL_CLONG_CLONG",
        "BINARY_OPERATION_MUL_INT_CLONG",
        "BINARY_OPERATION_MUL_CLONG_INT",

Unfortunately, for the benefits of this to kick in all cases, some stars will have to align for me to finish this, without hurting scalability.

So, I made the template code generation change that makes OBJECT_OBJECT try INT_INT short path for all operations. Still got to measure impact though, but I expect it to be good. I will keep you posted.

Thanks for your response.Im looking forward to test it.

Hi, I found something strange.
If I comipled to binary(without --module), the target executable is obviously slow, but if I compiled with --module parameter, its basicly no difference between cpython and nukita.

The reason for the later is that using the Python DLL there is no chance for the fast path to happen in an accelerated fashion, as it crosses DLL boundaries. The release 0.6.6 of Nuitka ought to be faster for your test case.
Let me know if that holds true. I only made the changes, but didn't test it really.

Hello
I think this is happening in one of our legacy code that we have in 2.7 right now. Unfortunately i cannot provide a detailed info about the code right know, what i can say is that is a Flask application running on uwsgi, compiled with 0.6.7, and out tests shows that the nuitka compiled version doubles the execution time on average.
Is there any progress on this?
Thank you for your work!

I cleaned up your examples and verified, this is still somewhat true, however, I made integer specialization code optimizations recently, and it will be nice to see these at work for at least Python3.

import time

t = [ i for i in range(1,10000000)]
s = [ i for i in range(1,50000)]

def test001():
    sd = True
    for i in s:
        if i not in t:
            sd = False

def test002():
    return set(s).issubset(t)

def test003():
	total = 1
	for i in range(1,100000):
		total = total*i + i -i*i

t1 = time.time()
test001()
t2 = time.time()
off = t2-t1
print("used time = %f seconds." % off)

t1 = time.time()
test002()
t2 = time.time()
off = t2-t1
print("used time = %f seconds." % off)

t1 = time.time()
test003()
t2 = time.time()
off = t2-t1
print("used time = %f seconds." % off)

@kayhayen I thought the integer specialization work was already merged (at least in factory), or did I misread things somewhere? Also could you post the current result of that benchmark?


Firebase Analytics and Cloud Messaging with Capacitor

Hello Everyone
I'm trying to setup Firebase Analytics and FCM using Capacitor, any chance someone did this before? can you share with me your experience? does this plugin work with capacitor/ionic 4?
Thanks

Just released this for analytics, for those who are struggled
https://github.com/stewwan/capacitor-analytics

Just to update everyone, Capacitor now supports FCM for iOS and Android without any external plugin
https://capacitor.ionicframework.com/docs/guides/push-notifications-firebase


Regression test new bc0192 environments

Ticket to track testing out of interoperability and functionality of new Traction deployments
Use Tenant UI for all the following, that will confirm environmental setup for core Traction plugin functionality and desired ACA-Py settings. Intent is not to verify all ACA-Py behaviour (that's what Aries Test Harness is for).

[x] bc0192-dev
Tenant Creation

[x] Can log in as Innkeeper with key
[x] Can log in as Innkeeper with IDIR
[x] Create reservation
[x] Innkeeper and Tenant received emails, email links return to appropriate URL
[x] Approve reservation as Innkeeper, password sent to tenant
[x] Tenant created once entering password on approved reservation status, tenant appears in Innkeeper list
[x] Log in with Tenant wallet id/key
[x] Innkeeper approves to be an issuer, tenant can connect to endorser, register DID
[x] Add a webhook endpoint in tenant settings and confirm for steps below that webhooks send
Connections/messaging
[x] Create single use and multi-use invitations
[x] Accept invitation from another Traction tenant
[x] Accept invitation in a BC Wallet (scan QR)
[x] Messaging to connections
Schema/cred creation/Issuance
[x] Create a schema, create a cred from the schema
[x] Repeat for revocable cred
[x] Offer creds to Traction and BC Wallet connections, accept them
[x] Revoke cred
Verify
[x] Send a proof request to another tenant
[x] Send a PR from the BC Wallet to the Traction tenant

[ ] bc0192-test
Tenant Creation

[ ] Can log in as Innkeeper with key
[ ] Can log in as Innkeeper with IDIR
[ ] Create reservation
[ ] Innkeeper and Tenant received emails, email links return to appropriate URL
[ ] Approve reservation as Innkeeper, password sent to tenant
[ ] Tenant created once entering password on approved reservation status, tenant appears in Innkeeper list
[ ] Log in with Tenant wallet id/key
[ ] Innkeeper approves to be an issuer, tenant can connect to endorser, register DID
[ ] Add a webhook endpoint in tenant settings and confirm for steps below that webhooks send
Connections/messaging
[ ] Create single use and multi-use invitations
[ ] Accept invitation from another Traction tenant
[ ] Accept invitation in a BC Wallet (scan QR)
[ ] Messaging to connections
Schema/cred creation/Issuance
[ ] Create a schema, create a cred from the schema
[ ] Repeat for revocable cred
[ ] Offer creds to Traction and BC Wallet connections, accept them
[ ] Revoke cred
Verify
[ ] Send a proof request to another tenant
[ ] Send a PR from the BC Wallet to the Traction tenant

[ ] bc0192-prod
Tenant Creation

[ ] Can log in as Innkeeper with key
[ ] Can log in as Innkeeper with IDIR
[ ] Create reservation
[ ] Innkeeper and Tenant received emails, email links return to appropriate URL
[ ] Approve reservation as Innkeeper, password sent to tenant
[ ] Tenant created once entering password on approved reservation status, tenant appears in Innkeeper list
[ ] Log in with Tenant wallet id/key
[ ] Innkeeper approves to be an issuer, tenant can connect to endorser, register DID
[ ] Add a webhook endpoint in tenant settings and confirm for steps below that webhooks send
Connections/messaging
[ ] Create single use and multi-use invitations
[ ] Accept invitation from another Traction tenant
[ ] Accept invitation in a BC Wallet (scan QR)
[ ] Messaging to connections
Schema/cred creation/Issuance
[ ] Create a schema, create a cred from the schema
[ ] Repeat for revocable cred
[ ] Offer creds to Traction and BC Wallet connections, accept them
[ ] Revoke cred
Verify
[ ] Send a proof request to another tenant
[ ] Send a PR from the BC Wallet to the Traction tenant

Only DEV is deployed with up to date version of Traction at this time, so siloing this ticket to confirming the dev deployment with 0.8.3pre and all the new helm stuff.

FYI — the 0.9.0-rc0 ACA-Py is available. We’d like it to get used, so if you can easily replace the 0.8.3pre with 0.9.0-rc0, that would be appreciated.  Wade is doing some smoke testing of the release, but the more experience the better before we publish the final version.

@swcurran yeah absolutely, I assume it's this image tag here
https://github.com/hyperledger/aries-cloudagent-python/pkgs/container/aries-cloudagent-python/111618235?tag=py3.9-0.9.0-rc0
?
If so I can add that in to Traction shortly to try out.

Yes — that’s the one.


Robusta can't track secrets changes

Is your feature request related to a problem?
I'm trying to set up kubewatch to track secrets changes.
I added role and role-binding for robusta-forwarder-service-account:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: infra-test
  name: read-secrets-role
rules:
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: infra-test
  name: read-secrets-role-binding
subjects:
- kind: ServiceAccount
  name: robusta-forwarder-service-account
  namespace: infra-robusta
roleRef:
  kind: Role
  name: read-secrets-role
  apiGroup: rbac.authorization.k8s.io

I created custom playbook:
name: UpdateSecret
triggers:
  - on_kubernetes_any_resource_all_changes:
      name_prefix: test-secret
      namespace_prefix: infra-test
actions:
  - create_finding:
      title: "resource $name in namespace $namespace was updated"
      aggregation_key: resource_modified
sinks:
  - robusta-alerts-stage

And added some lines in chart:
kubewatch:
  config:
    namespace: infra-test
    resource:
      secret: true

I received an error:
Traceback (most recent call last):
  File "/app/src/robusta/core/playbooks/playbooks_event_handler_impl.py", line 61, in handle_trigger
    execution_event.sink_findings = sink_findings
AttributeError: 'NoneType' object has no attribute 'sink_findings'

Describe the solution you'd like
I want to be able to track secrets changes. It may not be necessary to grant read permissions to secrets. Watch permissions should be enogh, as I think
Additional context
Robusta chart 0.13.0

HI, does it work for you? seeking to achieve the same exact thing

hey @tpaz1
What exactly are you trying to achieve?

I want Robusta to be able to track secret patching, deletion, ETC.
What I see now is that it is not part of the supported resources in the Docs

thanks @tpaz1
We added it on #1499 (we need to add the new triggers to the docs)
You should be able to do it now
you need to:

Give Kubewatch the permission to read secrets

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  namespace: infra-test
  name: read-secrets-role
rules:
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: read-secrets-role-binding
subjects:
- kind: ServiceAccount
  name: robusta-forwarder-service-account
  namespace: infra-robusta
roleRef:
  kind: ClusterRole
  name: read-secrets-role
  apiGroup: rbac.authorization.k8s.io

Configure Kubewatch to monitor secrets:
Add to Robusta's generated_values.yaml

kubewatch:
  config:
    namespace: infra-test
    resource:
      secret: true

Configure the playbooks that sends a notification when a secret changes:
Add to Robusta's generated_values.yaml

customPlaybooks:
triggers:
  - on_secret_all_changes: {}
actions:
  - create_finding:
      title: "Secret $name in namespace $namespace was changed"
      aggregation_key: SecretModified

This will send a notification when any secret in the cluster is created/updated/deleted

thanks for the update @tpaz1 , and for the kind words
closing the issue


Build failed with an exception

The Studio asks me to sync the Gradle project, but fails every time. Here is the error.
Error:FAILURE: Build failed with an exception.

What went wrong:
Task '' not found in root project 'cardboard-master'.

Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

I copied the treasure hunto project to understand it better, but I can't even run simulation on it.

Bug is long fixed. Closing.


Null Reference Error

I am testing some network code. The nature of the tests requires rapid connection/reconnections. Doing this I think I may have broken LitNet.

NetHost - Detach 1 DISCONNECTED
NetHost - BroadcastOthers UserDisconnectSignal
NetHost - BroadcastOthers EntityDisconnectSignal
UdpHostMiddleware - OnPeerDisconnected Peer:636499487745762458 0 DisconnectPeerCalled
UdpHostConnection - Disconnect ID:1 SEND:False
UdpHostConnection - Disconnect aborted, is DISCONNECTED
[R]Error: ThreadLogic - System.NullReferenceException: Object reference not set to an instance of an object.
at LiteNetLib.NetPeerCollection.RemoveAt(Int32 idx) in F:\Projects\LiteNetLib\LiteNetLib\NetPeerCollection.cs:line 61
at LiteNetLib.NetManager.RemovePeerAt(Int32 idx) in F:\Projects\LiteNetLib\LiteNetLib\NetManager.cs:line 343
at LiteNetLib.NetManager.UpdateLogic() in F:\Projects\LiteNetLib\LiteNetLib\NetManager.cs:line 469
at LiteNetLib.NetThread.ThreadLogic() in F:\Projects\LiteNetLib\LiteNetLib\NetThread.cs:line 100

I modified the NetThread to be like this to catch the exception. Catching leaves the host in a zombie state.

            try
            {
                while (_running)
                {
                    _callback();
                    Thread.Sleep(SleepTime);
                }
            }
            catch (Exception ex)
            {
                NetUtils.DebugWriteError("[R]Error: {0} - {1}", "ThreadLogic", ex.ToString());
            }

NetPeerCollection.RemovePeerAt is being called twice.
The First stack looks like this

NetPeerCollection.RemoveAt 61
NetPeerCollection.Remove 73
NetManager.DisconnectPeer 315
NetManager.DisconnectPeer 1078
NetManager.DisconnectPeer 1044
UdpHostConnection.DisconnectInternal (My Code)
NetManager.NetEvent 394

The Second stack looks like this

NetPeerCollection.RemoveAt 61
NetPeerCollection.RemovePeerAt 343
NetManager.UpdateLogic 469
NetThread.ThreadLogic 100

Please advise on the best way to solve this.
My Setup, running on DNC  :
Manager = new NetManager(this, Options.MaxConnections, Options.Key);
Manager.DiscoveryEnabled = true;
Manager.NatPunchEnabled = true;
Manager.MergeEnabled = true;
Manager.UpdateTime = 16;
Manager.UnsyncedEvents = true;

public void RemoveAt(int idx)
        {
            NetPeer peer = _peersArray[idx];

            if (peer == null)
                return;

            if (!_peersDict.ContainsKey(peer.EndPoint))
                return;

            // move all down ?
            _peersDict.Remove(peer.EndPoint);
            _peersArray[idx] = _peersArray[_count - 1];
            _peersArray[_count - 1] = null;
            _count--;
        }

Working mod. Worried about any side effects this might cause.

I solved the bug in my code.
My manager was handling the disconnect event and telling the peer instance to close. The peer was closing and detaching from the manager, causing a call to my manager (loop).

@NVentimiglia there is some places (i think one) where that can be. But this code refactored in new branch (very unstable for now, but i almost fixed) and this bug will be fixed.

@NVentimiglia try new branch "packetprocessor". There is better peer handling code (but can be some new bugs). Also i need heavy testing of all new features)


added docker init for web container

Related PR Canasta#222
This PR adds the docker init to the web container to manage Apache and php-fpm processes as discuussed in this comment.

@jeffw16 please approve this PR.

@PiyushRaj927 I'm sure you didn't mean this on purpose, but nobody's PR is entitled to approval. Please kindly revisit your tone when asking for a code review.

If you want to remind me to take a look, there's better ways of saying it. For instance: "@jeffw16 This PR is in tandem to the previous PR you just approved. Would you have some time to take a look at it? It's very important that this is also incorporated into the Docker Compose stack."
By the way, thank you for tagging me. Just please kindly rephrase your request next time.

@jeffw16, I apologize for my previous comment, it was not my intention to be disrespectful.
I understand that my request may have caused offense, I am truly sorry for that.
Thank you for showing me how to make an appropriate request. I want to assure you that I will be mindful of my request in the future.

@jeffw16
What here now?

It doesn't look like we have enough community or developer support to put this plan into action. Sorry, but we can't accept this PR at the moment. It's a shame, because I really would have liked to see it happen :(


Model.set: Triggering before setting values for all attributes

trigger should be called AFTER setting attributes' values.

thanks for creating an issue!
Can you provide a more detailed use case for this? Here's an empty jsfiddle template set up with Backbon to get you started: http://jsfiddle.net/wookiehangover/HjmVp/

The change event is fired after all attributes values have been set. The individual change:attr events are fired at the same time that the attributes are being set. The reason for this is so that if you have nested changes, you are still able to get the events in the proper order, instead of the indeterminate one after all inner changes have been finished.
If you would like to wait, use change and hasChanged, not change:attr.


Cannot select dropdown menu item if it drop over textarea codemirror

I have a editor from textarea by codemirror. Above it is a dropdown menu, but if any dropdown items drop over textarea editor then i can't select that (when i hover mouse over it lose).
How can i prevent it?

This is probably a z-index issue in your CSS. CodeMirror can't help it.


[Bug]: AutoHotKey download url moved

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
autohotkey
Expected/Current Behaviour
Failed to install autohotkey, the download url seems to have changed.
Steps to Reproduce
> scoop install autohotkey
WARN  Purging previous failed installation of autohotkey.
ERROR 'autohotkey' isn't installed correctly.
Removing older version (2.0.4).
'autohotkey' was uninstalled.
Installing 'autohotkey' (2.0.4) [64bit] from extras bucket
The remote server returned an error: (403) Forbidden.
URL https://www.autohotkey.com/download/2.0/AutoHotkey_2.0.4.zip is not valid

Possible Solution
The new download url from official website is now https://www.autohotkey.com/download/ahk-v2.zip.
Scoop and Buckets Version
Current Scoop version:
v0.3.1 - Released at 2022-11-15

'extras' bucket:
989df8fb9 (HEAD -> master, origin/master, origin/HEAD) steamcmd: Update to version<PHONE_NUMBER>

'main' bucket:
727f1212d (HEAD -> master, origin/master, origin/HEAD) red: Update to version 10aug23

Scoop Config
last_update        aria2-enabled scoop_repo                              scoop_branch
-----------        ------------- ----------                              ------------
2023/8/10 17:31:23         False https://github.com/ScoopInstaller/Scoop master

PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.3.6
PSEdition                      Core
GitCommitId                    7.3.6
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Softwares
No response

Cause by Cloudflare protect.

Upstream releases zip package in github release now. Switch to GH, if the issue reappears

https://github.com/ScoopInstaller/Extras/commit/e3dd5e9ed73cbdbd18c6a50f0da87d15e0a749bb
Switched to github releases now.


503s under concurrent load with istio 1.0.3

Just creating this placeholder issue, the title describes the observation, the underlying problem we're yet to locate.
Following the ongoing conversations with @mandarjog tonight; we've rolled back to 1.0.2 due to seeing approximately a 5-10% error rate (503s) for services deployed AFTER pilot.
So just to be clear:

Pilot started
App started (app has error rate)
Pilot restarted (resolves app errors)
App restarted (app has error rate)

These errors were more pronounced when multiple concurrent requests were hitting a service.
All logs provided to @mandarjog privately as they contain potentially sensitive information.

Hey folks,
Are we getting anywhere debugging this?

@costinm @mandarjog any update here?

@Stono EDS has now become much faster, so it delivers endpoint updates to all sidecars in under 1s. We were checking if non-ready endpoints are being sent to sidecars, but we don't think this is happening.  We will have more updates tomorrow.

@mandarjog that'd make sense if I saw 503s only briefly after the sidecars came up (but weren't ready) but surely we'd then expect it to settle down - which it didn't.
The only way I was able to "reset" things and get the 503's to go away would be to restart pilot.

I believe i was having a similar problem to this.  Right after the upgrade from 1.0.2 to 1.0.3 via helm on 1.10.7-gke.6 .  After the upgrade i began getting 503 errors from my external health checks with no 503s coming from the inside of my application pods.  A rollback to 1.0.2 fixed it for me.

Any updates @mandarjog ?

@mandarjog @costinm that linked issue looks very interesting

https://github.com/istio/istio/pull/9805

@roblg I believe i've seen that too, just never narrowed it down to mixer (see https://github.com/istio/istio/issues/8243)

Potentially related to #9906

This issue has been addressed by #9805

It has, I think there are still some lingering EDS issues though, see: https://github.com/istio/istio/issues/10116 - but this one can be closed


Auto stash after branch switch doesn't stash new files

Type: Bug
When switching to another git branch, VScode offers to stash any current changes. But when I choose that option, it only stashes changed files, but leaves new files out of the stash.
It makes sense to also stash new files, because they are part of the set of changes that was being worked on, and should not accidentally become part of the branch being switched to.
So currently the changes that stashes only partly, which effectively splits the not-yet-committed changeset in twine, which is probably bad in most scenarios, and can lead to confusion and bugs.
To reproduce:

Be on branch A
Have some changed as well as some new files
Checkout branch B
VScode will ask what to do - choose to stash
Observe the split between what's now stashed (changed files), and what isn't (new files)

After step 5, those new files will be "part of" the new branch if you're not careful in selecting what to commit.
Instead, new files should also be put into the stash that was offered in step 4.
 It looks like you may be using an old version of VS Code, the latest stable release is 1.90.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Whoops, that's right. The problem still happens on 1.90.0, unfortunately.


enhancement - cherry pick Michael Hayman's project

https://github.com/michaelhayman/OHHTTPStubsExtensions
It appears this could be very useful for ui testing
Also the current examples could use some json parsing example.
https://github.com/michaelhayman/OHHTTPStubsExtensions/blob/master/Example/OHHTTPStubsExtensions/http_success_stubs.bundle/GET_Medications_200.json

https://github.com/michaelhayman/OHHTTPStubsExtensions/blob/master/Example/OHHTTPStubsExtensions/http_success_stubs.bundle/stubRules.plist

it would nice to have afnetworking / alamofire samples.
https://github.com/billyto/Apptester/tree/15d55e7c0f4aa87e3a3fb5bec08b66fb15c69d0f

closing this as part of spring cleaning exercise.


Make SST-2 readme render correctly

This is a duplicate of #164
I added a bit more fixing there, so please close this one. Thanks for the quick action though @AlexeyG  :)


[FIX] Correct type of AnimClip eventHandler parameter

Fix JSDoc declaration for eventHandler parameter of the AnimClip constructor.
Fixes #4117
I confirm I have read the contributing guidelines and signed the Contributor License Agreement.

I had a go at fixing this @ellthompson - let me know if it's OK. 😄


Add "flatten" attribute to field

As discussed in #28, it would be nice to have a flatten attribute on fields. Note: This does not seem to be possible as of now! This issue is just a reminder to implement it when it becomes possible. Here is a very basic example of what we want to accomplish:
#[SimpleObject]
struct Info {
    #[field]
    base_field: String
}

#[SimpleObject]
struct MyInfo {
    #[field(flatten)] // <<<-------------------------
   info: Info,

    #[field]
    additional_field: String,
}

pub struct QueryRoot;

impl QueryRoot {
    async fn info(&self) -> MyInfo {
        unimplemented!()
    }
}

Instead of getting this:
{
    info {
        info {
            baseField
        }
        additionalField
    }
}

You would be getting this:
{
    info {
         baseField,
         additionalField
    }

This is pretty easy to implement, but I can't make an object that contains the flatten fields support Interface.😭

I think having flatten would kind of sort #35 in that you can combine a SimpleObject with an Object. Does that mean you cannot support the flatten attribute on interfaces or objects that use flatten cannot implement an interface?

Yes, it's the same problem. I can't pass data between macros, which makes it impossible. But all of these problems can be solved with generic specialization, so let's wait for this feature to stabilize. 😂

So I poked around a little in the code base. I tried to manually (without macros) implement an "Object" by implementing ObjectType, OutputValueType and Type on a struct. I can't quite get create_type_info to work correctly but I thought it should be possible to create a trait Merge with required methods async fn base(&self) -> impl ObjectType and async fn extend(&self) -> impl ObjectType and then implement impl<T> ObjectType for T where T: Merge { ... } so that it registers all fields on the object returned from a call to self.base() and self.extend().  Or maybe even a method like async fn objects(&self) -> Vec<Box<dyn ObjectType>>. Could that work or have I hit a dead end?

The main reason is that Interface cannot be supported. The field of Interface is  function forwarding, which can achieve the purpose of type safety.

If I don't need to support the Interface, I've actually implemented it.😁

Unless you abandon the type-safety of the interface, which is not what this library is for.

The Edge type actually does that, it moves the extra_type to a higher level, but the field inside the extra_type doesn't support interface.
fn Edge::node() and fn Edge::cursor()  are actually intended to support the interface.

Branch dynamic-interface supports the flatten property, we may need sufficient validation to merge to the master, because this will break the type safety of the interface.
Here are all the tests:
https://github.com/async-graphql/async-graphql/blob/8714185ae139dc42d57b89c3174112188c49c880/tests/object.rs#L4
https://github.com/async-graphql/async-graphql/blob/8714185ae139dc42d57b89c3174112188c49c880/tests/object.rs#L41
https://github.com/async-graphql/async-graphql/blob/8714185ae139dc42d57b89c3174112188c49c880/tests/object.rs#L73

That is very nice! 👍


Support lightgbm >= 3

setup.py requires lightgbm < 3, I'm using the current version of lightgbm so hummingbird reports that it's not installed. Is there any blocking incompatibility or is it just that the requirement version is out of date?

Not the same, but related https://github.com/microsoft/hummingbird/issues/282

I think we just didn't test it with >= 3. We found #282 when we tried with v3. As far as I remember this was the only problem, so beside random forest it should just work.

That was fast! It's weird that it is complaining that lightgbm is not installed then, but if you say it should work I will give it another try and let you know, thanks!

I saw warning that the version is not supported etc., but not real errors. So if the complaining is just a warning, I think it should work. Otherwise if you installed from source, you can just change setup.py and remove the <3 for lightgbm.

Ok, another similar issue is that it wants to downgrade numpy from 1.19.4, do you think it would be a problem if I keep 1.19.4, now that I'm in the business of forcing dependencies?
And even more OT: currently I'm using onnxtools, which is compiling to the tree ensamble operator (in the ML set) that is later evaluated by onnx runtime (C++ code that more or less straightforwardly evals the ensamble). Should I expect a significative performance gain if I compile without the ML set using hummingbird?

Ok, I've been trying again, this was my test code:
from hummingbird.ml import convert
import numpy as np
import lightgbm as lgb
import timeit

import onnxruntime as ort
from onnxmltools.convert import convert_lightgbm
from onnxconverter_common.data_types import FloatTensorType

max_depth = 4
n_estimators = 100
n_features = 100
n_classes = 2
n_cats = 20
n_fit = 10000
n_pred = 10
X_fit = np.random.randint(n_cats, size=(n_fit, n_features)).astype(np.float32)
y_fit = np.random.randint(n_classes, size=n_fit)

model = lgb.LGBMClassifier(n_estimators=n_estimators, max_depth=max_depth)
model.fit(X_fit, y_fit, categorical_feature=list(range(n_features)))

input_types = [("input", FloatTensorType((n_pred, n_features)))]
onnx_model = convert_lightgbm(model, initial_types=input_types)
hum_onnx_model = convert(model, 'onnx', extra_config={"initial_types": input_types})
hum_torch_model = convert(model, 'pytorch')

convert_lightgbm in onnxtools works fine, but both attempts to convert using hummingbird failed:

onnx backend:

MissingConverter: Unable to find converter for SklearnLGBMClassifier type <class 'NoneType'> with extra config: {'initial_types': [('input', FloatTensorType(shape=(10, 100)))], 'container': True, 'n_threads': 2, 'tree_implementation': 'tree_trav', 'post_transform': <function convert_gbdt_common.<locals>.apply_sigmoid at 0x11ef0eb80>}.
It usually means the pipeline being converted contains a
transformer or a predictor with no corresponding converter implemented.
Please fill an issue at https://github.com/microsoft/hummingbird.

pytorch backend:

~/Projects/Jampp/Venvs/LTV/lib/python3.8/site-packages/hummingbird/ml/operator_converters/_tree_implementations.py in depth_f_traversal(node, current_depth, node_id, leaf_start_id)
    359         def depth_f_traversal(node, current_depth, node_id, leaf_start_id):
    360             weight_0[node_id] = node.feature
--> 361             bias_0[node_id] = -node.threshold
    362             current_depth += 1
    363             node_id += 1

TypeError: bad operand type for unary -: 'str'

Maybe this is related to lightgbm version, maybe not, but I have no clue.

This is with lgbm 3.0m right? I am worried that to return that error they changed the encoding of the tree. I will take a look.
BTW, Hummingbird is already integrated with onnxmltools and the lgbm converter. You can translate into onnx op sets by using the flag without_onnx_ml=True (but I guess it will not work because of a similar exception as above).
Regarding the performance, are you testing on CPU of GPU? For GPU we should definitely be faster (than CPU). For CPU, I don't think we will be faster if you using the onnx runtime (to get the best performance you will have to use TVM as backend) but it might, it depends on the number of trees and max tree-depth.

BTW, Hummingbird is already integrated with onnxmltools and the lgbm converter. You can translate into onnx op sets by using the flag without_onnx_ml=True

I know but it has not been released yet and I am stuck with the stable release for now.
I'm using CPU right now but part of what I'm trying to do is testing GPU performance. About 100 trees with 4-5 depth, pretty standard ensamble.
I'm not in my computer but lgb version is the latest stable one, I believe 3.1 or so. Definitely > 3.
Thanks for the advice.

Regarding Ok, another similar issue is that it wants to downgrade numpy from 1.19.4; as far as I know this works.  Other users have mentioned issues about the numpy downgrade (#372 ), and I  think it is ok since for now you're already in the business of forcing dependencies  :-D  Please let us know if you have issues with that!

@interesaaat one thing I should have mentioned is that the example above uses categorical variables, maybe they are not supported by hummingbird?
AFAICS lightgbm encodes the split subsets like n1||n2||n3||..||nk and one of the errors I get when trying to convert the ensamble is like:
could not convert string to float: '2||4||6||7'

Looking at the tree onnx ensamble operator specification I don't see direct support for such stuff, all comparisons seem to be against numbers. So I'm not sure whether it is supported at all or maybe a transformation happens first in the graph, I'm still investigating that. Now, hummingbird is a different beast so it might still support categorical features through non ML operators.

Also the comparison is codified as == in those cases:

So only by inspecting the threshold it is possible to recognize it is a set operation and not simply numerical equality.

https://github.com/onnx/onnxmltools/issues/309

Ah-ha! This explain the error. Yes, neither onnxmltools nor Hummingbird (#245) support categorical values in the trees, yet. Do you want to give it a shot? :)
The easy way would be to add a one-hot encoder right before the tree, but perhaps we can do something better. We already convert strings into 2d tensors of numbers, perhaps we can use a similar trick here.

For onnx / onnxmltools maybe the way to go is to add support for set membership in the operator definition itself and implement it in the runtime in a straightforward way.

We already convert strings into 2d tensors of numbers, perhaps we can use a similar trick here.

Could you expand on this a bit more?

@interesaaat, was there one lingering test/issue you wanted to look at (@unittest.skipIf(True, reason="boosting_type=='rf' produces different probabilites.")),  or does #523 close this since we support lgbm>=3?

Yes let me take a look at that test. If it does not work I can try to fix it.

Can we close this since we support lgbm>=3 and we concluded that it wasn't the cause?  It seems like the issue here is now just in #245 ?

Yes let's close this one. Thanks!


Drop the changes to variables in async functions

e.g.
set i 0
function fish_prompt
    set i (math $i + 1)
    echo $i >
end

set -g async_prompt_inherit_variables status i

The above don't increment.

If anyone wants this fixed, mention or reaction here.

I love what you did.
As I did understand - the variables do not change in the scope.
So far I want the exported variables be immutable, it is also a lot easier to keep the async running properly, when you would add backward variable sharing - it would have an effect complicating everything further.
Everything is working (I have my complex setup & exported to async a bit of side-processes) now. I think the default should be that scope of global values should stay immutable for async processes. Async processes can import & shadow them with local copies, mutate local variables for themself, but those changes should not be exported to global fish scope. This approach allows most things needed by people & simplifies async greatly.
And if a person requires - make a switch that allows mutating the global scope values. And you would see how many people need that and what are the cases & how much those cases valid.


color documentation for .log switched

The README.md says numbers etc. are colored in cyan and strings are colored in magenta. For one this is confusing because .log doesn't auto-color. The second issue is that if you follow this guideline and compare this to the default output from gulp the colors will actually be switched.
tl;dr
numbers are in magenta
strings are in cyan
The docs should note this as a guide, not suggest auto-coloring.

PR?

Pull request made (https://github.com/gulpjs/gulp-util/pull/88)


Unable to connect to AmazonMQ via MassTransit ASP.NET Core

Is this a bug report?
Yes

Can you also reproduce the problem with the latest version?
Using the following versions
MassTransit.AspNetCore - V5.5.4-develop.2097 (Also, tried stable 5.5.3)
MassTransit.ActiveMQ - V5.5.4-develop.2097 (Also, tried stable 5.5.3)
Environment

Operating system: Windows 10
Visual Studio version: VS Community 2017
Dotnet version: .NET Core 2.2

Steps to Reproduce

(Write your steps here:)

Connecting to ActiveMQ using the AmazonMQ broker via SSL
         var busControl = Bus.Factory.CreateUsingActiveMq(cfg =>
         {
             var host = cfg.Host($"{brokerId}.mq.us-west-2.amazonaws.com", 61617, h =>
             {
                 h.Username(username);
                 h.Password(password);
                 h.UseSsl();
             });
             cfg.ReceiveEndpoint(host, queue, ec =>
             {
                 ec.Consumer<SendMessageConsumer>();
             });
         });
         busControl.Start();

Isn't GetProbeResult() supported for .NET Core?

Expected Behavior

I expected the scheme to be SSL but I see it is 'activemq'.
Successful connection to the AmazonMQ broker and creation of the queue in ActiveMQ that specified in the receive endpoint.

Actual Behavior

Following exceptions

      at Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransportFactory.DoConnect(String host, Int32 port, String localAddress, Int32 localPort)    at Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransportFactory.CompositeConnect(Uri location)    at Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransportFactory.CreateTransport(Uri location)    at Apache.NMS.ActiveMQ.Transport.TransportFactory.CreateTransport(Uri location)    at Apache.NMS.ActiveMQ.ConnectionFactory.CreateActiveMQConnection(String userName, String password)    at Apache.NMS.ActiveMQ.ConnectionFactory.CreateConnection(String userName, String password)    at Apache.NMS.NMSConnectionFactory.CreateConnection(String userName, String password)    at MassTransit.ActiveMqTransport.Transport.ConnectionContextFactory.CreateConnection(IAsyncPipeContextAgent1 asyncContext, IAgent supervisor)
at MassTransit.ActiveMqTransport.Transport.ConnectionContextFactory.CreateSharedConnection(Task1 context, CancellationToken cancellationToken)    at GreenPipes.Agents.PipeContextSupervisor1.GreenPipes.IPipeContextSource.Send(IPipe1 pipe, CancellationToken cancellationToken)    at GreenPipes.Agents.PipeContextSupervisor1.GreenPipes.IPipeContextSource.Send(IPipe1 pipe, CancellationToken cancellationToken)    at GreenPipes.Agents.PipeContextSupervisor1.GreenPipes.IPipeContextSource.Send(IPipe`1 pipe, CancellationToken cancellationToken)
The credentials for ActiveMQ are correct. I was able to tunnel and connect to the broker via browser

Confused about the scheme being used.

Reproducible Demo

https://github.com/keerthimaryala/connect-api-mq-service

I just verified it works for me with the Amazon MQ connection. is your security group setup right?
MassTransit.ActiveMqTransport.Tests.Configuring_ActiveMQ.Should_succeed_and_connect_when_properly_configured

2019-07-20 12:57:36,105 [NonParallelWorker] DEBUG MassTransit.MassTransitBus - Starting bus hosts...
2019-07-20 12:57:36,155 [15] DEBUG MassTransit.ActiveMqTransport.Transport.ConnectionContextFactory - Connecting: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:36,968 [15] DEBUG MassTransit.ActiveMqTransport.Transport.ConnectionContextFactory - Connected: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617 (client-id: ID:PhatBoyG-Pro15-51204-636992242562603720-0:0, version: <IP_ADDRESS>)
2019-07-20 12:57:37,024 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare exchange (name: VirtualTopic.MassTransit.TestFramework.Messages.PongMessage, durable)
2019-07-20 12:57:37,024 [14] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare exchange (name: VirtualTopic.MassTransit.TestFramework.Messages.PingMessage, durable)
2019-07-20 12:57:37,024 [10] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare queue (name: PhatBoyGPro15_dotnet_bus_tjdoyyb1wnsm3j4abdmo4q79ny, auto-delete)
2019-07-20 12:57:37,026 [18] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare queue (name: input-queue-too, durable)
2019-07-20 12:57:37,026 [6] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare queue (name: input-queue, durable)
2019-07-20 12:57:37,026 [18] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare queue (name: Consumer.input-queue-too.VirtualTopic.MassTransit.TestFramework.Messages.PongMessage, durable)
2019-07-20 12:57:37,026 [6] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Declare queue (name: Consumer.input-queue.VirtualTopic.MassTransit.TestFramework.Messages.PingMessage, durable)
2019-07-20 12:57:37,202 [19] DEBUG MassTransit.ActiveMqTransport.Transport.SessionContextFactory - Creating session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,207 [19] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.SendSettings> - Declare queue (name: input-queue, durable)
2019-07-20 12:57:37,430 [20] DEBUG MassTransit.Messages - SEND activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue 8a470000-32a0-acbc-99ae-08d70d3bc010 MassTransit.TestFramework.Messages.PingMessage
2019-07-20 12:57:37,497 [15] DEBUG MassTransit.ActiveMqTransport.Transport.SessionContextFactory - Creating session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,498 [20] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.SendSettings> - Declare exchange (name: VirtualTopic.MassTransit.TestFramework.Messages.PongMessage, durable)
2019-07-20 12:57:37,649 [13] DEBUG MassTransit.MassTransitBus - Stopping hosts...
2019-07-20 12:57:37,658 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Stopping consumer: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue
2019-07-20 12:57:37,667 [10] DEBUG MassTransit.Messages - SEND activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/VirtualTopic.MassTransit.TestFramework.Messages.PongMessage 8a470000-32a0-acbc-ef1e-08d70d3bc03b MassTransit.TestFramework.Messages.PongMessage
2019-07-20 12:57:37,668 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Stopping consumer: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue
2019-07-20 12:57:37,670 [10] DEBUG MassTransit.Messages - RECEIVE activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue 8a470000-32a0-acbc-99ae-08d70d3bc010 MassTransit.TestFramework.Messages.PingMessage MassTransit.MessageHandler<MassTransit.TestFramework.Messages.PingMessage>(00:00:00.1831739)
2019-07-20 12:57:37,673 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Stopping consumer: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue-too
2019-07-20 12:57:37,674 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Stopping consumer: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue-too
2019-07-20 12:57:37,674 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Stopping consumer: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/PhatBoyGPro15_dotnet_bus_tjdoyyb1wnsm3j4abdmo4q79ny?durable=false&autodelete=true
2019-07-20 12:57:37,675 [13] DEBUG MassTransit.Messages - RECEIVE activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue-too 8a470000-32a0-acbc-ef1e-08d70d3bc03b MassTransit.TestFramework.Messages.PongMessage MassTransit.MessageHandler<MassTransit.TestFramework.Messages.PongMessage>(00:00:00.0289396)
2019-07-20 12:57:37,677 [15] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqConsumerFilter - Consumer completed: 0 received, 0 concurrent
2019-07-20 12:57:37,680 [15] DEBUG MassTransit.ActiveMqTransport.Pipeline.ConfigureTopologyFilter<MassTransit.ActiveMqTransport.Topology.ReceiveSettings> - Delete queue (name: PhatBoyGPro15_dotnet_bus_tjdoyyb1wnsm3j4abdmo4q79ny, auto-delete)
2019-07-20 12:57:37,681 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Consumer shutdown completed: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue-too
2019-07-20 12:57:37,681 [10] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqBasicConsumer - Consumer shutdown completed: activemq://b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617/input-queue
2019-07-20 12:57:37,681 [15] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqSessionContext - Closing session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,682 [13] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqConsumerFilter - Consumer completed: 1 received, 1 concurrent
2019-07-20 12:57:37,682 [19] DEBUG MassTransit.ActiveMqTransport.Pipeline.ActiveMqConsumerFilter - Consumer completed: 1 received, 1 concurrent
2019-07-20 12:57:37,683 [13] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqSessionContext - Closing session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,683 [19] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqSessionContext - Closing session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,694 [15] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqConnectionContext - Disconnecting: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,703 [19] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqSessionContext - Closing session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,703 [10] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqSessionContext - Closing session: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617
2019-07-20 12:57:37,752 [15] DEBUG MassTransit.ActiveMqTransport.Contexts.ActiveMqConnectionContext - Disconnected: masstransit-build@b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com:61617

And this is my configuration:
  var host = cfg.Host("b-15a8b984-a883-4143-a4e7-8f97bc5db37d-1.mq.us-east-2.amazonaws.com", 61617, h =>
                {
                    h.Username(TestUsername);
                    h.Password(TestPassword);

                    h.UseSsl();
                });

Given that it works out of the box, I'm going to close this.

Yes, the security group setup seems to be right. Both the security group and the subnet belong to the same VPC. Is there anything else I have to setup here?


Use multi-thread to generate report markdown

I think that it's easy to add multi-thread support by using rayon.

Does report generation currently take significant amount of time?

There was a bottleneck in report generation. But, it was resolved in https://github.com/optuna/kurobako/pull/25. So it seems okay to close this PR now.


feat: add transaction functions to mongoose adapter

Notes:

Transactions should be moved to a deeper level to support REST, GraphQL, and local API. Remove from handlers -> operations.
Move sessions to request level instead of at the adapter level to prevent session conflicts.
Rename session to transaction on request
Add ability to rollback

[x] Transactions should be moved to a deeper level to support REST, GraphQL, and local API. Remove from handlers -> operations.
[x] Move sessions to request level instead of at the adapter level to prevent session conflicts.
[x] Rename session to transaction on request
[x] Add ability to rollback
[x] Wrapped migrations in transactions


Clarify createClient in README as per #781

fair enough

@stockholmux Why did you close it? I would like to merge it in when those two tiny changes are made.

@erinspice Just did a another PR with the tiny changes - #783


Runtime error

There appears to be a typo on line 112, I believe it should be render_file (i have fixed that and gotten another error)
I have the program currently running in a HuggingFace private space, however after feeding an OpenAI key and uploading a PDF, any question is met with the please upload a key but you cannot continue further
To create a public link, set share=True in launch().
Traceback (most recent call last):
File "/home/user/.local/lib/python3.8/site-packages/gradio/routes.py", line 422, in run_predict
output = await app.get_blocks().process_api(
File "/home/user/.local/lib/python3.8/site-packages/gradio/blocks.py", line 1323, in process_api
result = await self.call_function(
File "/home/user/.local/lib/python3.8/site-packages/gradio/blocks.py", line 1067, in call_function
prediction = await utils.async_iteration(iterator)
File "/home/user/.local/lib/python3.8/site-packages/gradio/utils.py", line 336, in async_iteration
return await iterator.anext()
File "/home/user/.local/lib/python3.8/site-packages/gradio/utils.py", line 329, in anext
return await anyio.to_thread.run_sync(
File "/home/user/.local/lib/python3.8/site-packages/anyio/to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "/home/user/.local/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "/home/user/.local/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 807, in run
result = context.run(func, *args)
File "/home/user/.local/lib/python3.8/site-packages/gradio/utils.py", line 312, in run_sync_iterator_async
return next(iterator)
File "app.py", line 66, in generate_response
chain = process_file(btn)
File "app.py", line 45, in process_file
raise gr.Error('Upload your OpenAI API key')
gradio.exceptions.Error: 'Upload your OpenAI API key'

Hi, @ShinySylveonn, It must be something to do with the way we set env key. i haven't tested it yet on Higgingface spaces. Looking into it.

I did try on a Hface space, it seems to be working fine.


Correction for raw affiliation Faculty of Education and Teacher Education, Aeres University of Applied Sciences, Wageningen, The Netherlands

Correction needed for raw affiliation Faculty of Education and Teacher Education, Aeres University of Applied Sciences, Wageningen, The Netherlands
raw_affiliation_name: Faculty of Education and Teacher Education, Aeres University of Applied Sciences, Wageningen, The Netherlands
new_rors: 03jnx2c74
previous_rors: 015d5s513
works_examples: W4404228839
contact: b08b4674dfdfc5e2b732574ef0f6b0d9:9de2e01c71543169 @ aeres.nl

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Follow up to: #2191 Switch ColorPicker to use tracker_ref

#2191 got merged before all PR feedback was addressed.
This change updates the use of local variables assigned to objects from tracker_ref to use 'auto&&' instead of 'auto'. This allows the local use of the tracked object without an addref/release call.

/azp run

/azp run


[Bug]: Assertion causes the program to terminate

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Branch name
main
Commit ID
c0d71adaa2c6c8d5b54d2ec5e4fe51ad0ea07c01
Other environment information
No response
Actual behavior
因为 tasks = TaskService.get_tasks(msg["id"])返回空数组，导致assert tasks, "{} empty task!".format(msg["id"])抛出异常，程序终止

Expected behavior
对抛出的断言异常进行捕获处理
Steps to reproduce
1、启动ragflow_server、task_executor、前端项目
2、在系统页面知识库->数据集中新增一个待解析文件，并点击执行按钮
3、在task_executor下的控制台中，提示报错

Additional information
/root/miniconda3/bin/conda run -n ragflow --no-capture-output python /mnt/e/work/shanghai_workspace/ai/ragflow/rag/svr/task_executor.py
[WARNING] Load term.freq FAIL!
[WARNING] [2024-05-24 17:25:31,492] [synonym.init] [line:24]: Realtime synonym is disabled, since no redis connection.
Traceback (most recent call last):
File "/mnt/e/work/shanghai_workspace/ai/ragflow/rag/svr/task_executor.py", line 375, in
main()
File "/mnt/e/work/shanghai_workspace/ai/ragflow/rag/svr/task_executor.py", line 294, in main
rows = collect()
^^^^^^^^^
File "/mnt/e/work/shanghai_workspace/ai/ragflow/rag/svr/task_executor.py", line 117, in collect
assert tasks, "{} empty task!".format(msg["id"])
AssertionError: 7fce51b819
ac11ef964e00155d0024f8 empty task!
ERROR conda.cli.main_run:execute(124): conda run python /mnt/e/work/shan ghai_workspace/ai/ragflow/rag/svr/task_executor.py failed. (See above for error)

This is caused by dirty data after restarting the system.
Ignore that and the task_executor will restart itself.
And cancel the task after restarting the server.


rename mesh types

As discussed in #542.
Pinging @andrewwinters5000 @efaulhaber to let them know what's going on.
TODO:

[ ] Change CurvedMesh to StructuredMesh in Trixi2Vtk (will fix docs)

This renaming looks fine to me, but one question. Does the UnstructuredMesh2D also interface with the triangular/quad meshes from @jlchan ? Or does that mesh live inside StartUpDG.jl?
It is stated several places, e.g. in meshes/unstructured_quad_mesh.jl and in the Trixi docs that the unstructured solver is quads only, but I wonder if this will confuse people

This renaming looks fine to me, but one question. Does the UnstructuredMesh2D also interface with the triangular/quad meshes from @jlchan ? Or does that mesh live inside StartUpDG.jl?
It is stated several places, e.g. in meshes/unstructured_quad_mesh.jl and in the Trixi docs that the unstructured solver is quads only, but I wonder if this will confuse people.

The UnstructuredMesh2D will only be a quad mesh. The new mesh types of @jlchan will get some appropriate name later.

It is stated several places, e.g. in meshes/unstructured_quad_mesh.jl and in the Trixi docs that the unstructured solver is quads only, but I wonder if this will confuse people.

I thought about this as well. Is there a well-known (and commonly used!) general, single term for quad/hex like objects, as there is with "simplex" for triangles/tets? If not, I think we stick with what we have here.

well-known (and commonly used!) general, single term for quad/hex like objects,

Not that I know of, although I am not a geometer ;)

well-known (and commonly used!) general, single term for quad/hex like objects

That's a hypercube, but I guess we will confuse more people when using that name...

well-known (and commonly used!) general, single term for quad/hex like objects,

Not that I know of, although I am not a geometer ;)

That is enough evidence for me to be convinced that there is no term both well-known and commonly used.
However, this raises another thought: Should we just keep UnstructuredQuadMesh as it is for now? If and when we get a 3D version that is based on the same data structure, we can rename it to UnstructuredMesh{NDIMS} as planned. However, if we do end up with two different data types, we can just name the 3D version UnstructuredHexMesh and remain unambiguous wrt tri/get meshes. What do y'all think?
Sorry if it seems like I'm going around this on circles, clearly I need to better document prior discussions.

Well, you can also have a tree mesh based on simplices... or a structured mesh using triangles...

Well, you can also have a tree mesh based on simplices... or a structured mesh using triangles...

Both good points. However, maybe it's my engineering background, but for me "unstructured mesh" is hardwired to "triangular mesh", while "structured mesh" is just an alias for "structured quad/hex mesh". Thus in one case there's always confusion that "unstructured" now means "unstructured quad/hex", while I don't think twice about the other case.
However, I realize that this may be just me, so we can leave it as you proposed.


Funnily enough, the Clang build has no such dependency on that file and runs without problems (https://github.com/lefticus/json2cpp/releases/download/snapshot-fc69acfd190ff0aa23689fae339ed89db4c3ed75/json2cpp-0.0.1-fc69acfd-Windows-Release-Clang-15.0.2.tar.bz2)

Same here. I get an error on the same exact snapshot :
dyld[50669]: Library not loaded<EMAIL_ADDRESS>  Referenced from: <D055DC41-468B-3AD5-84E5-9B111A0A03BB> /Users/jessbauer/Development/STN_TFT_Adapter/cstn-lcd-controller/CSTNController/cstn_controller/json2cpp/bin/json2cpp
  Reason: tried<EMAIL_ADDRESS>(no such file<EMAIL_ADDRESS>(no such file<EMAIL_ADDRESS>(no such file), '/usr/local/lib/libasan.6.dylib' (no such file), '/usr/lib/libasan.6.dylib' (no such file, not in dyld cache)

That's an error - I shouldn't be shipping binaries with ASAN enabled


rmate-sh: init at 1.0.2

Description of changes
I use this constantly whenever i can't be bothered to setup vscode/atom to use SFTP / a remote server.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

(It replaces resholve, in case you know about that one).

@NickCao It does no such thing.

(It replaces resholve, in case you know about that one).

@NickCao It does no such thing.

I did a force-push using patsh, and the outputs looks good. Are you arguing against using it?

@pbsds I'm just trying to avoid misrepresentations and prefer to stop shy of telling you what to use or not.
The single biggest difference for now is that resholve blocks the build when it can't find dependencies (or notices dynamic syntax that prevents it from assessing whether an external dependency is present) and makes you whitelist them if they're really supposed to come from the user's PATH at runtime.
patsh isn't (yet) ensuring that the script doesn't use external commands that aren't on the PATH. If the upstream adds a new external dependency it'll be up to you to know/notice; build failures won't keep the update bot or other packagers from rubber-stamping updates that don't cause a failure. (This probably isn't a big deal in your case; it doesn't seem like your upstream is very active.)
The output looks fine in this case because all but one of the external commands used in rmate-sh come from coreutils, and coreutils just happens to be part of the standard build environment. patsh picks coreutils up from the PATH automatically and produces a result that smells ~fine. But it didn't tell you that hostname is also a dependency in the script (and it wouldn't have told you if you missed any other external dependencies that you didn't already know about.)
Unfortunately, shell is a gnarly language with a lot of bespoke dynamic practices out in the wild that just don't really square well with how Nix works, and the dynamic hostname detection routine at https://github.com/aurora/rmate/blob/5f8a56678eacee80388c9dbd10fe28e6f83196a4/rmate#L41-L55 qualifies.
The ~cleanest way to deal with this is probably to just use makeWrapper to wrap the executable and inject a PATH that includes coreutils + hostname, but that likewise provides no protection against upstream introducing new dependencies.
resholve has levers that are able to ~fix this, but they're all a little awkward, so if it were my package, I would probably bother adding a patch or using subsituteInPlace to change  hostname=$($(hostname_command)) to  hostname=$(hostname) and then let resholve handle the rest.
Here's a commit showing what that would look like: https://github.com/abathur/nixpkgs/commit/fe49c28642443e411358c1b3ab8412a6bbee974a
And here's the diff between that and what patsh is currently giving you:
diff --git a/rmate-patsh-result/bin/rmate b/rmate-resholve-result/bin/rmate
index 2825e080bf3..0d8668e74a8 100755
--- a/rmate-patsh-result/bin/rmate
+++ b/rmate-resholve-result/bin/rmate
@@ -39,7 +39,7 @@ version_string="rmate-sh $version ($version_date)"

 # determine hostname
 function hostname_command(){
-    if command -v hostname >/dev/null 2>&1; then
+    if command -v /nix/store/m4i99396s69r4545id92flv62kbb53i5-hostname-shell_cmds-187/bin/hostname >/dev/null 2>&1; then
         echo "hostname"
     else {
         HOSTNAME_DESCRIPTOR="/proc/sys/kernel/hostname"
@@ -52,7 +52,7 @@ function hostname_command(){
     fi
 }

-hostname=$($(hostname_command))
+hostname=$(/nix/store/m4i99396s69r4545id92flv62kbb53i5-hostname-shell_cmds-187/bin/hostname)

 # default configuration
 host=localhost
@@ -430,3 +430,15 @@ if [[ $nowait = true ]]; then
 else
     handle_connection
 fi
+
+### resholve directives (auto-generated) ## format_version: 3
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/basename
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/cat
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/dd
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/dirname
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/readlink
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/rm
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/touch
+# resholve: keep /nix/store/bwrmdh64v9b0ygl3bv3ys0x7fw4pykg5-coreutils-9.1/bin/wc
+# resholve: keep /nix/store/m4i99396s69r4545id92flv62kbb53i5-hostname-shell_cmds-187/bin/hostname

I think using patsh now is fine, resholve depends on python2 and is thus no longer recommended.

is thus no longer recommended.

Citation needed.
As many have said, build-time dependency on python2 in the sandbox is fine.

As many have said, build-time dependency on python2 in the sandbox is fine.

Yes, yes, that is fine, but keeping python2 around for long (one of resholve's dependency is stuck with python2 and there seems to be no way to easily migrate away from that) is not the best thing I could imagine, and we should really give patsh and other alternatives a chance.


Update Sample 190

Sample 190 has been expanded. Clicking a button in the sub-app binds to an attribute within the app. Unfortunately this fails.

Thank you for the sample, I will check this. Can you maybe copy the sample 190 and put this error case in a separated one? This makes testing easier and helps me a lot to enclose and identify problems in the future.

Thanks


[WIP]Generate boilerplate or no code deploy common contracts #77

Closes #77

@jmank88 thoughts?

To expand on that, like the blog post, this should probably do the git clone part of that and things to setup the users environment to make mods and do what they want with other openzeppelin features if they want.

@treeder updated, could you take a look

@treeder @jmank88  guys please check erc721 code and I'll merge


[Bug]: Incorrect autocomplete suggestion shows up for object path reference

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Incorrect autocomplete suggestion shows up for object path reference and selecting this suggestion leads to a lint error
Steps To Reproduce

Public Sample App
No response
Environment
Production
Issue video log
https://www.loom.com/share/9d69977b447140d8ad88ccad13ff44b4
Version
Cloud

@arunvjn is this related to #11912?

closing this in favor of #11912


Update cardano-ledger to use latest Plutus

https://github.com/input-output-hk/cardano-ledger/pull/3430

PR is https://github.com/input-output-hk/cardano-ledger/pull/3430 .

PR merged.


Add sprout 0.2.0 compatibility

Still ned to discuss generator support.
cc/ @jenius @kylemac

Ok so failing tests and a couple hound comments here, any chance you could patch those up then I'll take another look?
Also we need to talk about how exactly this will break things. Have we done any tests on machines that have the previous version installed? Do all templates break? What is your plan for smoothly upgrading here without messing up people's stuff?

@jenius :tennis: :point_up:

Sorry for the delay, will take a look at this in the next couple days for sure :+1:

Closing bc of #644


Add the sphinx_copybutton extension

Add the sphinx_copybutton extension to the docs.
This lightweight utility is a one-liner that adds copy buttons to code blocks, which makes the documentation significantly more user-friendly:

Looks good to me!


[Suggestion] Add config to change biome rarity.

As for future reference, please keep suggestions either in the comments on CF or in the discord server. I'll look into it, as there should be a weight option with Nether API biomes.

This config option has been added in 0.8


[🐛] Permission Denial: reading com.google.android.apps.photos.contentprovider.impl.MediaContentProvider uri

Description
[ Android ]
it failed to read content after fetching uri from google photo
  Unhandled promise rejection [Error: Permission Denial: reading com.google.android.apps.photos.contentprovider.impl.MediaContentProvider uri content://com.google.android.apps.photos.contentprovider/0/1/content:/media/external/images/media/1259/ORIGINAL/NONE/image/jpeg/1615980699 from pid=20074, uid=10303 requires the provider be exported, or grantUriPermission()]
How to repeat issue and example

step to reproduce the issue
open google photo  and choose file
and read file as base64
   const base64Content = await RNFetchBlob.fs.readFile(     decodeURIComponent(filePath),     "base64"   );

Solution
Need to inform how to handle ungranted permission
Additional Information

Image Picker version: [ "react-native-image-picker": "3.0.0-vnext.4".]
React Native version: [ "react-native": "^0.63.2".]
Platform: [Android]
buildToolsVersion = "29.0.2"
minSdkVersion = 24
compileSdkVersion = 29
targetSdkVersion = 29
supportLibVersion = "28.0.0"
Development Operating System: [MacOs]
Dev tools: [vscode]

Update to latest version and check if this issue happens

Update to latest version and check if this issue happens

Update to latest version and check if this issue happens
Thank you
it works with
<EMAIL_ADDRESS>

Update to latest version and check if this issue happens
Thank you
it works with
<EMAIL_ADDRESS>

Having the same issue, but when trying to read from response.uri.
Same error on<EMAIL_ADDRESS>

Having the same issue, but when trying to read from response.uri.
Same error on<EMAIL_ADDRESS>

this came into crashlytics today:
Fatal Exception: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=13002, result=-1, data=Intent { dat=content://com.google.android.apps.photos.contentprovider/-1/1/content://media/external/images/media/963/ORIGINAL/NONE/image/jpeg/1882044403 flg=0x1 clip={text/uri-list U:content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F963/ORIGINAL/NONE/image%2Fjpeg/1882044403} }} to activity {com.XXX/com.XXXX.MainActivity}: java.lang.NullPointerException: uri
       at android.app.ActivityThread.deliverResults(ActivityThread.java:4544)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:4586)
       at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:205)
       at android.app.ActivityThread.main(ActivityThread.java:6991)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)

i'm using 3.2.1

@efstathiosntonas thanks for the stack trace, the error is happening on Android ContentResolver.query. So I feel its a rare issue on android side. Keep an eye on the crash reports and ping me if there is lot of reports.

@ravirajn22 sure, it appeared only one time, will keep track.

Any update? I'm still getting this issue!

It seems to be an issue when reading from photos saved in Google Photos.
I've worked around this problem with a solution that looks like this:

import RNFetchBlob from 'rn-fetch-blob';
// ...
export async function getPathForFirebaseStorage(uri: string) {
  // The reason we have this function is that on android if the file comes from google photos we can't access it directly
  if (Platform.OS === 'ios') {
    return uri;
  }

  if (!uri.includes('content://com.google')) {
    return uri;
  }

  const stat = await RNFetchBlob.fs.stat(uri);
  return stat.path;
}

The function above will receive the path given by the picker and then return a proper path you can read from without any permission error

Latest version returns fileUri for images.
I hope the issue is solved, if not reply here or create new issue with details I am happy to fix it.

I am getting similar error, when trying to pick video files:
 Permission Denial: reading com.google.android.apps.photos.contentprovider.impl.MediaContentProvider
    "react-native-image-picker": "^4.7.1",

@ravirajn22
It's still returning the content:// path for videos
Permission Denial: reading com.google.android.apps.photos.contentprovider.impl.MediaContentProvider uri content://com.google.android.apps.photos.contentprovider/0/2/mediakey:/local%3Af32464a1-46cf-40a5-9a22-99da30478e92/ORIGINAL/NONE/video/mpeg/982110991 from pid=7300, uid=10154 requires the provider be exported, or grantUriPermission()

For people that didn't solve the problem using the above solution, double check if the image was actually in the local device or in Google Photos Cloud...


Add question 079 about scheduled workflows in GitHub Actions

PR Type

[x] Adding new question(s)

Warning: We do not support the inclusion of questions directly copied from official GitHub certification exams. Please only submit original questions and content that you have created.

[ ] Other content changes (updating questions, answers, explanations or study resources)
[ ] Code changes (non-content)
[ ] Documentation changes
[ ] Other

What's new?

Related issue(s)

Screenshots

@FidelusAleksander Thank you for review and suggestion. - This is my first PR on open source project, happy to contribute 😆


GtDocument mangles contents

Pillar formatted text is mangled when inspecting through a GtDocument, e.g. the following text:
!Heading 1

!Heading 2

- Item 1
- Item 2

!Heading 3

- Item 3
-- *https://github.com/feenkcom/gtoolkit/issues/564*

is displayed  as:

This has a significant impact as it means that class comments, files, etc. can't be edited.
Pharo8.0.0
Build information: Pharo-8.0.0+build.1095.sha.a3829b06f0bc488adf52053b1dd7a5f0a2c6c499 (64 Bit)
Ubuntu 18.04
Gtoolkit 670e4b4

Changing the last bullet point from level 2 back to level 1 is enough to avoid the bug.

Indeed, the lists are not handled well

To handle lists correctly, in particular sublists, a new Pillar parser needs to be implemented. As a workaround, please, omit using sub-lists. Only one-level lists work.

As a partial solution, we ignore sub-lists:


Added Hikey970 yocto support

Added necessary files for Hikey970 including machine conf, bsp and kernel.

@nishantpoorswani you should resubmit the PR against the master branch. Yes, it will be a separate PR.

@fboudra and @rsalveti I've sent another pr with changes for the master branch like you'll suggested. Is it possible to review it.

@nishantpoorswani I'll review it later today.

Thanks @fboudra