Maxpool Support

Thank you for this wonderful library/paper!
I was wondering if you are planning to add support for maxpool2d in the near future, as I'm hoping to run SplineCAM for a resnet.

Hi Ahmed, thanks for getting back to me. While exact visualization would have been a cherry on top, my main use case is actually counting the number of regions in a ball and computing statistics. So the approximation library sounds very helpful for my purposes ! Of course no rush, but is there a general date which you think this library would be added by ?

Thanks for your interest! I expect to have a version ready by the end of October.

Hi Ahmed, I was wondering if you were still planning to release an approximation library which works with out of the box ResNets, with MaxPool (or if this is already online and I can't find it :-) ). I think the code in your grok-adversarial repo has some similar functionality, however I noticed the ResNet in that repo does not use MaxPool.
On a related note I see the ReadMe for the grok-adversarial RePo says "Coming Soon". Does this mean I should wait before using/building on the code in that RePo for my purposes --- or is the version uploaded online working as intended?
Thanks again for the excellent papers :-) I'm a big fan of of this line of work.

Hi Max,
Really appreciate your comments! The grok-adversarial repo is working, I'm
yet to upload some MLP-MNIST codes that will complete the repo with all the
experiments done in the paper, that's why it's still coming soon 😅
Right now that code will work for networks with maxpool but won't give
appropriate numbers for the complexity induced by a maxpool layer I think.
Was that something you needed? As in measure the non linearity due to
maxpool? Do you wanna try it out and see if it matches your intuition? I'll
try to give it some thought as well!
Best,
Imtiaz
On Sat, Apr 13, 2024, 2:52 PM Max Torop @.***> wrote:

Hi Ahmed, I was wondering if you were still planning to release an
approximation library which works with out of the box ResNets, with MaxPool
(or if this is already online and I can't find it :-) ). I think the code
in your grok-adversarial repo
https://github.com/AhmedImtiazPrio/grok-adversarial/blob/main/local_complexity.py
has some similar functionality, however I noticed the ResNet in that repo
does not use MaxPool.
On a related note I see the ReadMe for the grok-adversarial RePo says
"Coming Soon". Does this mean I should wait before using/building on the
code in that RePo for my purposes --- or is the version uploaded online
working as intended?
Thanks again for the excellent papers :-) I'm a big fan of of this line of
work.
—
Reply to this email directly, view it on GitHub
https://github.com/AhmedImtiazPrio/splinecam/issues/8#issuecomment-2053743020,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH2F56NR5GILK3AISZ7MNNDY5GEGTAVCNFSM6AAAAAA33W3CACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJTG42DGMBSGA
.
You are receiving this because you commented.Message ID:
@.***>

Hi Ahmed,
Thank you for the fast response! Ok, that's great about the grok-adversarial repo, I will start playing around with it!
My interest isn't purely in the MaxPool itself per-se, but rather I was hoping to quantify the complexity in a "classic" ResNet architecture (i.e. conv --> maxpool --> a bunch of blocks --> avg pool --> classification head) --- only because that's what is usually trained on higher dim datasets in benchmarks. Since the MaxPool is near the beginning of the architecture, my intuition is that accounting/not accounting for it may have a significant effect on the post-hoc measured complexity, since latter layers may further sub-divide the polytopes induced at earlier layers.
In the meantime I can check some of my intuitions with your code on CIFAR10/100, since ResNets are generally not trained on these datasets with MaxPool anyway. I'll also check later on higher dimensional datasets with the "classic" MaxPool ResNet architecture and see if they match the intuitions I get on CIFAR10 --- and then later again if MaxPool complexity measurement functionality is developed.
Best,
Max


WPF window not loading after .net 4.7 install on server core

After installing .net framework 4.7 on Windows Server 2016 Core, WPF window does not load. It loads perfectly on full install of Windows Server 2016. Here is an example code (using PowerShell, which is how I use WPF windows to load and show some reports) which I have re-produced few times:
`PS C:> Add-Type -AssemblyName PresentationFramework -Verbose
PS C:> $wd = New-Object System.Windows.Window
New-Object : Exception calling ".ctor" with "0" argument(s): "The type initializer for '' threw an exception."
At line:1 char:7

$wd = New-Object System.Windows.Window

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand`

PowerShell version installed on the server:
`PS C:\Users\umesh> $PSVersionTable
Name                           Value

PSVersion                      5.1.14393.1358
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.1358
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>`

Did this work before you installed .NET Framework 4.7?

yes it did. its after .net 4.7 installation that it stopped working. I tested it couple of times and results have been consistent (wpf worked before .net 4.7 installation, not afterwards)

I passed on the issue to the WPF team. They are looking at it.

great..thanks a lot!

Hi there, any workaround for this? I have tried to uninstall .net 4.7 and reinstall .net 4.6.2 but the issue is still there. I am experiencing not working VS tools installer (visualcppbuildtools_full.exe running on Windows Server 2016 core) since it needs WPF for some reason. It ends up with last entry in log "starting UX" and then it creashes with exception like here (from minidump: ModuleLoadException: The C++ module failed to load during appdomain initialization. DllNotFoundException: C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\wpfgfx_v0400.dll
Win32Exception: The specified module could not be found).
But the dll is there (1 343 664 B, file version 4.7.2053.0).
Any help or hint appreciated.
I can even send you the minidump if this will help.

Hurray! I actually found it: after uninstalling .NET 4.7 and reinstalling .NET 4.6.2 I have enabled .NET 3.5 feature and now it works!
Add-WindowsFeature -Name NET-Framework-Core

the .net seems to be badly broken as I see it. After performing a fresh install of Windows Server 2016, I patched it with August 2017 cumulative patch (KB4034658), did not install .net 4.7 and guess what, I experience the exact same problem as mentioned in this issue with 4.6 as wel!! on a fresh install without patching it, everything was working great.
This is too frustrating indeed. I do not unnecessarily want to install .net 3.5 on my system. How can this be fixed?

I just sent mail to the team again.

Is there an update on this issue? When trying to install TFS 2018 on Server Core 2016, I am unable to run tfsconfig due to the same error.

any updates ? i'm trying to install TFS 2018 on server core and after the required restart i get the following error ... "tfsmgmt.exe has stopped working". tfsconfig gives the previous exception of "ModuleLoadException: The C++ module failed to load during appdomain initialization. DllNotFoundException: C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\wpfgfx_v0400.dll"

i tried the beta version of the new framework 4.7.1 from microsoft at
https://www.microsoft.com/en-us/download/details.aspx?id=56115
and it seems to have fixed my issues ...

@Abdulrazik That's not a beta version, but the release version.
Hey @ucthev have you tried 4.7.1?

Hi Rich,
I am going to give it a try today.. will be updating shortly

From: Rich Lander<EMAIL_ADDRESS>Sent: Friday, December 8, 2017 7:50:47 AM
To: Microsoft/dotnet
Cc: ucthakur; Comment
Subject: Re: [Microsoft/dotnet] WPF window not loading after .net 4.7 install on server core (#431)
@Abdulrazikhttps://github.com/abdulrazik That's not a beta version, but the release version.
Hey @ucthevhttps://github.com/ucthev have you tried 4.7.1?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/dotnet/issues/431#issuecomment-350153398, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJYl1_J5ZodnHP8wJSWCUxHOVWgLsGs3ks5s-Jz_gaJpZM4OFEFG.

I downloaded .net 4.7.1 installer, tried to run it on Windows Server 2016 Server Core installation but it failed to run at the point where it tries t verify "setuputility.exe". I tried using both online as well as offline installer and both had same results.
These are the last lines from log file:
[12/8/2017, 2:12:28] Action: Downloading and/or Verifying Items
[12/8/2017, 2:12:28]Verifying Digital Signatures: C:\200815f6dbddb59efc\SetupUtility.exe
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 1
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 2
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 3
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 4
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 5
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 6
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 7
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 8
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 9
[12/8/2017, 2:12:28]LoadImage failed for rotation icon 10
Has anyone tried it on Server Core?

Just asked team to take a look.

@ucthakur, try installing silently with the /q command line parameter. That should get everything installed. We are taking a look at how to allow UI based setup on Server Core again in a future release.

@merriemcgaw and @richlander thanks a lot! I was finally able to install it using /q command and I can see that WPF windows are now loading correctly! This has taken some time but glad to see it fixed!
thanks again,

As per last comment looks like this issue resolved, if still a problem kindly raise a new issue in the appropriate repo as mentioned in dotnet/1275


Build fix for VS2010

Hi @Miloslav, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


Improve performance of string matching and add Cache-variant FuzzySearchable protocol

These changes aim to improve speed of re-parsing the same string many times.
I bumped into this while adding fuzzy search for a combo box that had ~1000 values, and I noticed that the lib was splitting fuzzyStringToMatch over and over again even though it did not change for each combo box entry.
Aiming to solve this, I've added a CachedFuzzySearchable that adds an opaque cache of pre-tokenized strings to match against, and keeps track of changes by checking the string's hash match. Implementers simply have to add a caching field var fuzzyCache: FuzzyCache = FuzzyCache(), and the code handles fuzzyStringToMatch changes in the cache automatically, as well.
I've also changed a String.substring call to cast to NSString and use NSString.substring(from:), seems like it's faster this way.
Great little library, by the way!
Cheers.

Hey, thanks for PR. The intention is great, I'm thinking if it would be possible to always have cache and always have optimized search. In example making fuzzyCache associated object?

Hmm seems like we can't really hide FuzzyCache since it's used in CachedFuzzySearchable as a field.
But we can hide the fuzzyTokenized() method, but that requires doing some awkward gymnastics to FuzzySearchable.fuzzyMatch since private protocol extensions do not override one another, so fuzzyMatch must be implemented for both FuzzySearchable and the Cached- variant. I managed to extract the bulk of the code to another method, but I'm not sure it's really ideal.
Thoughts?

Oh I've just read your comment. Yeah using associated object would be really nice and transparent.
I'll give another shot at rewriting it in a bit!

I've added the commit for the associated object version.
One thing that I've noticed is that since value-types are not very sticky with objc_setAssociatedObject we end up with re-tokenization every time, something that didn't happen with the var fuzzyCache version because it was explicitly carried around with the value type.
I may be doing associated objects wrong with value types, though, need to look into that.

I just forked your branch and I don't see that FuzzySearchable is being retokenized. When running testThatChangingFuzzyStringAffectsCache test FuzzySearchable's fuzzyTokenized method is called only once and after that lastTokenization is used successfully. Isn't that right?

Yes, for classes it works flawlessly, but not for structs. Try this to see what I mean:

FuzzySearchTests.swift:18: switch class CachedString: FuzzySearchable to struct CachedString: FuzzySearchable
And on line 53: switch let to var to make the compiler happy

The last line will fail, because every access to str.fuzzyCache now ends up creating a new instance of FuzzyCache(). My suspicion is this might be because since CachedString is now a value type, associated objects don't stick to it properly. Structs holding on a cache might be desirable for light model structures that might be searchable on a UI input, like struct User { var id: Int; var name: String }, specially if tons of them show up, like in the combo-box usage that prompted me to propose this pull request.

I'll try to figure out how we could achieve the out-of-the-box caching. Otherwise we will probably have to have leave manual cache container implementation.

Sorry for late feedback, seems like there is no way to set associated object to struct so that it could be copied when copy-on-write happens (at least as far as I know). So we should consider leaving like it was done at first, manual declaration of cache container. Can you rollback last changes and hide under private encapsulation things that should not be public. + would be good to have Readme updated.

Just checked out your branch b1ee50cbb988318bbeb03fdcab37c2fef2b6db8b commit and played around trying to hide cache implementation details and ended up with composition pattern. So first of all I'd like make cache implementation as hidden as possible, but if you think that your first implementation fits better your needs (as the feature was yours) then we will leave it as it was.
public struct CachedFuzzySearchable<T> : FuzzySearchable where T : FuzzySearchable {
    fileprivate let searchable: T
    fileprivate var fuzzyCache = FuzzyCache()

    public init(searchable: T) {
        self.searchable = searchable
    }

    public var fuzzyStringToMatch: String {
        return searchable.fuzzyStringToMatch
    }
}

leaving FuzzyCache class private (another question whether it should be class or struct?)

Hmm yeah I was afraid we'd have to pick one of the two implementations.
When I have time I'll revert this branch to the explicit CachedFuzzySearchable and create a separate push request w/ your proposal with the wrapper CachedFuzzySearchable<T>, then we can have the two up for comparison and review.

And yes, FuzzyCache must be a class otherwise we suffer from the same issue we're facing of persisting cached contents on structs, by making the struct point to a FuzzyCache we can retain mutation to the cache without marking fuzzyTokenized method as mutating as well.

Good, looking forward to that


Add support for ignoring hints and warnings in astro check

What version of astro are you using?
2.5.7
Are you using an SSR adapter? If so, which one?
None
What package manager are you using?
pnpm
What operating system are you using?
Linux
What browser are you using?
N/A
Describe the Bug
The astro check command is a diagnostics tool used to report errors detected inside .astro files. When using <script> tags inside an Astro files, these tags are bundled by default and offer TypeScript support. The TypeScript comment // @ts-ignore can be used in these bundled script tags to also silence errors thrown by astro check.
However, script tags that aren't bundled by using the is:inline directive don't acknowledge the ts-ignore comment and still throw errors. This makes sense as the files aren't TypeScript and don't know to recognize comments prefixed with ts-, but it makes it impossible to stop Astro from throwing on known and expected errors for JavaScript code.
The MRE linked should go to line 38 of src/index.astro, which has an inline script that isn't called anywhere in the code. When running pnpm astro check from the CLI, this error is reported despite having the // @ts-ignore comment one line above.
One solution could be to help the Astro language parser, which is used by the check command, to look for ts- comments even in inline scripts. If that's an acceptable fix, I could potentially submit a PR with some guidance; looking through some of that code right now.
Thanks!
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-d56kwk?file=src%2Fpages%2Findex.astro%3AL38&view=editor
Participation

[X] I am willing to submit a pull request for this issue.

Edited the title and moved to language-tools in order to better reflect the status (and needs) of the issue

So is there any way to disable type suggestions in VS Code configuring some file in the project or something similar? I'm using custom elements inside .astro files using the <script> tag, and all the time I get annoying TypeScript errors. They disappear if I add types, but I don't want to add types, I want to write only JavaScript. I haven't found a way to disable it, it's getting very frustrating. Thanks for any help

So is there any way to disable type suggestions in VS Code configuring some file in the project or something similar? I'm using custom elements inside .astro files using the <script> tag, and all the time I get annoying TypeScript errors. They disappear if I add types, but I don't want to add types, I want to write only JavaScript. I haven't found a way to disable it, it's getting very frustrating. Thanks for any help

Looking for same, writing in plain javascript and keep getting these under "Problems", wish there was a way to disable them.

To disable checking you can insert // @ts-nocheck comment after the opening <script> tag. For example:
---

<script>
    // @ts-nocheck
    ...
</script>

This will completely disable checks in this file and it will not appear in the astro check report. Btw, astro will remove the comment when building.

I know, but I want to disable this at the project level. If I'm writing in JavaScript, why do I have to write to every file that doesn't do type checking? Astro in the generator of a new application asks if I want to use TypeScript. I say no, then they shouldn't bother me with types anywhere.

In a (hopefully soon) future version of the VS Code extension we'll have support for typescript.validate.enable to disable TypeScript validation. In the meantime, I don't think there's a workaround apart from using // @ts-nocheck.
I'll note that Astro is TypeScript-only, Astro files and hoisted script tags are always considered to be TypeScript. The prompt essentially tells you this when you say "No" to it, by saying that TypeScript is always supported.


Bug: typos in traveling salesman problem section

Where does the issue happen?
https://qiskit.org/textbook/ch-paper-implementations/tsp.html
What is the content issue?

[ ] The sentence below appears in the text

Lets construct the unitarie for j = 1, 2, 3, & 4:
Lets should be Let's and unitarie should be unitary

[ ] Lets is misspelled throughout the page

[ ] Further down the page, the sentences copied below need changing for consistency for singular/plural agreement

U_j are diagonal unitary matrices. It will be  ...
Proposed change could be
Each U_j is a diagonal unitary matrix and it will be...

[ ] "only the (n−1)contain length" is missing a space in between (n-1) and contain

[ ] "But, keep in mind, Finding" shouldn't have a capital in Finding

[ ] A more thorough editing of the grammar and style on this page would improve it and make it more consistent with the language in the rest of the qiskit textbook

Working on this

This repository is no longer maintained. It has been superseded by IBM Quantum Learning.


(PUP-10798) Fix RHEL9 support for service provider

The systemd provider should be the default since RHEL7 and going
forward. With CentOS Stream 9 coming out shortly, it should continue to
function like CentOS 8 by using the systemd provider by default. This
change is similar to the change made for the dnf provider via PUP-9198.
Signed-off-by: Alex Schultz<EMAIL_ADDRESS>

Wrong PUP, closing and reopening


add polyfills for Object.assign and Promise

Adds polyfills for Object.assign() and Promise for older brosers. Longer term fix is to use Babel to add all necessary polyfills.
/cc @stevenschlansker #1046

@ssalinas we should also probably release a 0.6.1 for folks that aren't ready to update their Mesos cluster. We can square that away separately (probably via branching off the Singularity-0.6.0 tag).

Yeah, sounds good. I can do the git work for that when we are ready to release

Thanks guys, you're the best!  FWIW I solved my issue locally: https://addons.palemoon.org/extensions/other/pm-promises/ but I'm sure someone else will run into this as well.


A few projects got lost after upgraded to 10.0.3

I noticed that a few of my projects under projects tab were lost after ARC upgraded to 10.0.3.
However, I can still find those single requests under saved tab. And it is pain to go through all the saved single request to find what i want..
Is there a maximum number of projects that can be displayed under Projects tab? (and looks like it is 25? because i have only 25 projects left and lost all the rest projects.. I'm just randomly guessing why would my projects get lost..)..

There was no changes in the data store. Only the UI.
Possible reason is that the list of projects do not request for more project when you scroll to the end of it. I'll check this later today.

I got it. Pagination was disabled in projects navigation. It is now enabled.
Please, give me an hour to publish the release with bug fix.

Awesome. Thanks!

I've published the app seconds ago. It takes up to 60 minutes to update.


feat: add filters for system country codes

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Test apk

is there any apk for install and checking that?

test apk is now added

don't support click sir?

It supports.


[FIX - 539] - Update env_sample file adding a vite_secret_key property

Fixes Issue
My PR closes #539
👨💻 Changes proposed(What did you do ?)

Updated the .env_sample adding a VITE_SECRET_KEY property

✔ Check List (Check all the applicable boxes)

[X] My code follows the code style of this project.
[X] This PR does not contain plagiarized content.
[X] The title and description of the PR is clear and explains the approach.

Note to reviewers
📷 Screenshots

Your pull request is rejected, reason 👉🏾is here👈🏾
Thanks for wanting to contribute, I hope you continue to do so properly.


Famous last messages of opensource game projects before they went AWOL

Please only one per comment including link to source.

Yan and I started a major overhaul of the Openglad-e code, rewriting some major parts of it. I believe the code will become beautiful when we are done with it...

http://snowstorm.sourceforge.net/cgi-bin/site.cgi

I still exist! … I’m hoping to get back to games.

http://www.rpgobjects.com/index.php?c=orpg

I hope to bring the graphics and sound of the original to a modern level while retaining the essence of the original.

http://herzog3d.sourceforge.net/
This summarizes nicely the dream of so many developers.

I have not abandoned this project, but work is very sporadic.

https://web.archive.org/web/20180418191859/http://rogue.rogueforge.net/
The end is almost never intended, it just happens.

Most recently I started a full rewrite in Rust.

https://github.com/Zalasus/opendrakan/commit/00b44dd5688e3864f781eaf370196f863fcbfa00
Going back to start is usually not helping in reaching the end.


[Bug]: there is no audit event record about sql-check rule changing

ODC version
4.2.1
OB version
not releated
What happened?
I change the sql-check settings and do not find any audit events.
What did you expect to happen?
audit event can record this behavior.
How can we reproduce it (as minimally and precisely as possible)?

change sql-check rule's setting.
view audit events.

Anything else we need to know?
No response
Cloud
No response

pass


Can not run main.py

As i followed the steps, i got stuck when running the main.py
[root@ip-10-0-7-118 Minecraft]# python main.py
Traceback (most recent call last):
File "main.py", line 7, in
from pyglet.gl import *
File "/usr/lib/python2.7/site-packages/pyglet/gl/init.py", line 97, in
from pyglet.gl.lib import GLException
File "/usr/lib/python2.7/site-packages/pyglet/gl/lib.py", line 142, in
from pyglet.gl.lib_glx import link_GL, link_GLU, link_GLX
File "/usr/lib/python2.7/site-packages/pyglet/gl/lib_glx.py", line 50, in
gl_lib = pyglet.lib.load_library('GL')
File "/usr/lib/python2.7/site-packages/pyglet/lib.py", line 160, in load_library
raise ImportError('Library "%s" not found.' % names[0])
ImportError: Library "GL" not found.
Can you tell me how to fix it please?
I'm running python 2.7.5 on Centos 7.2

Try this: http://stackoverflow.com/a/7941950/539465

Ah sorry i think i just forgot.
I don't have OS graphic version, now i'm running CentOS7 on Instance EC2 on AWS. That's totally command-line interface.

You need an X server to run this.


Update README.md

Add instructions to update the org name in the autoscale webhook configuration

Good addition, thank you!


Using 6 digit codes to identify devices

We would like to use 6 digit codes in our app to identify user devices so we can connect and help users who haven't fully set up accounts yet. Right now all it seems we can do is set up a user account and pass information from the user's account details to the plug in so that we can identify devices in the cobrowse dashboard. Are there any properties in the package right now for accessing the 6 digit codes generated for a device? We would like to display the identifying code to the user so they can pass it along to a support agent.

Thanks for the feedback.
I've just implemented the 6-digit code functionally. Update this package to versions 1.0.1 in your pubspec.yaml file and then call: String code = await CobrowseIO.getCode() after init.
See the readme and example for more details.

Thanks so much!


"public_id not defined" error when trying to generate downloadable link.

Hi, thanks for the this package :)
We're using it to upload files from a form, and generating an email with a downloadable link to the file.
The upload is working fine, but we're getting a "public_id not defined" error when using Meteor.call("c.get_download_url", public_id,ops,callback)
My cloudinary.coffee in the client:
$.cloudinary.config
cloud_name:"****"

Template.submitDesign.events
    "change input[type='file']": (e) ->
    files = e.currentTarget.files

    Cloudinary.upload files

     Meteor.call "c.get_download_url", public_id,(err,download_url) ->
	        console.log "Upload Error: #{err}"
	        console.log "#{download_url}"

After you upload your files to Cloudinary, you'll be able to access their public_id's in the callback response. Save this in your db so you can access it later. It's useful for doing future transformations.
Submit this public_id as the first argument to the c.get_download_url method in order to get the download link.


using MD5 dependency rather then writing a function

This is not a good change.

Without updating other parts of this file to use md5 this is just breaking code

aah ...

@TheFenderStory can you plz tell me ?
how can i contact you ?


Example Not Working

Hi Albin,
First of all congrats for the nice job you've done here. I'm relatively new in the Unity world. I have followed some tutorials and I have implemented some Unity projects based on my curiosity. After familiarizing myself with some basic HLAPI features in the Multiplayer Networking Unity-tutorial, I came across MLAPI which is inspired from the HLAPI as you mentioned.
Having read your wiki I tried to test your example, but I didn't manage to get it working.  So, I what I've done so far is to download your example project, load it on my Unity2017 and from the Build Settings I choose "Build And Run". When the standalone application starts, pressing any of the three buttons (Server, Host, or Client) has no effect. When I try it in the Unity editor I see no difference in selecting any of the three options. My intention was to use the standalone app as the HOST and the Unity Editor as the CLIENT. Could you please give me a hint on what I'm doing wrong? Moreover, could you briefly describe what someone should expect to get from this example?
Thanks in advance for you response.

The example has missing components by default. It will get resolved in version 1.0 which is hopefully coming soon. If you check the NetworkManager, it probably has missing components.
Please see this issue for a solution
https://github.com/TwoTenPvP/MLAPI-Examples/issues/1
My priority right now is to finalize the features for version 1.0

Thanks for your immediate response. First I dragged your prefab ThirdPersonController onto the Hierarchy to commit the changes you mentioned. I removed the problematic components and re-added them. I updated the prefab and I erased the ThirdPersonController from the MenuScene. When I try to build the project now I get the following compiler errors:
Assets/Editor/MLAPI/NetworkedObjectEditor.cs(23,86): error CS0122: `MLAPI.MonoBehaviours.Core.NetworkingManager.isServer' is inaccessible due to its protection level
Assets/Editor/MLAPI/NetworkedObjectEditor.cs(23,127): error CS0122: `MLAPI.MonoBehaviours.Core.NetworkingManager.isClient' is inaccessible due to its protection level
Assets/Editor/MLAPI/NetworkedObjectEditor.cs(26,34): error CS0122: `MLAPI.MonoBehaviours.Core.NetworkedObject.isSpawned' is inaccessible due to its protection level
Assets/Editor/MLAPI/NetworkedObjectEditor.cs(26,114): error CS0122: `MLAPI.MonoBehaviours.Core.NetworkingManager.isServer' is inaccessible due to its protection level
Assets/Editor/MLAPI/NetworkedObjectEditor.cs(37,37): error CS0122: `MLAPI.MonoBehaviours.Core.NetworkedObject.isSpawned' is inaccessible due to its protection level
Assets/Editor/MLAPI/NetworkedObjectEditor.cs(41,75): error CS0122: `MLAPI.MonoBehaviours.Core.NetworkedObject.isSpawned' is inaccessible due to its protection level
which are in lines 23-41 in the NetworkedObjectEditors.cs file.
Any clue?

I just dragged the MLAPI-0.1.6 folder inside the example project. After correcting certain things related to C# version in VisualStudio I still get these build errors:
Assets/Scripts/NetworkingManagerComponents/Cryptography/DiffieHellman.cs(64,39): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/DiffieHellman.cs(86,36): error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/DiffieHellman.cs(86,55): error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/DiffieHellman.cs(101,66): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/DiffieHellman.cs(102,47): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/EllipticCurve.cs(96,41): error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/EllipticCurve.cs(96,55): error CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/EllipticCurve.cs(122,44): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/EllipticCurve.cs(147,49): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/EllipticCurve.cs(148,72): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
Assets/Scripts/NetworkingManagerComponents/Cryptography/EllipticCurve.cs(165,36): error CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification
I'm looking forward to your reply.

Try building the MLAPI project separately and copying the contents of the bin folder to the example project.

Thanks.


Update upload artifact action usage

Update to the v4 of the action.
Part of https://github.com/adoptium/infrastructure/issues/3534

Fixed by dependabot


[Event Change Request] - SalesPost.Codeunit.al - OnAfterPurchRcptLineInsert

We like to request the following event change:
Object: SalesPost.Codeunit.al
ToDo: add var TempSalesLineGlobal as parameter
Where is the event placed:
local procedure InsertPurchRcptLine(PurchRcptHeader: Record "Purch. Rcpt. Header"; PurchOrderLine: Record "Purchase Line"; DropShptPostBuffer: Record "Drop Shpt. Post. Buffer")
var
    PurchRcptLine: Record "Purch. Rcpt. Line";
begin
    ...
        if Quantity <> 0 then begin
            "Item Rcpt. Entry No." := DropShptPostBuffer."Item Shpt. Entry No.";
            "Item Charge Base Amount" := PurchOrderLine."Line Amount"
        end;
        OnBeforePurchRcptLineInsert(PurchRcptLine, PurchRcptHeader, PurchOrderLine, DropShptPostBuffer, SuppressCommit);
        Insert;
        OnAfterPurchRcptLineInsert(PurchRcptLine, PurchRcptHeader, PurchOrderLine, DropShptPostBuffer, SuppressCommit, TempSalesLineGlobal);
    end;
end;

Event Code:
[IntegrationEvent(false, false)]
local procedure OnAfterPurchRcptLineInsert(var PurchRcptLine: Record "Purch. Rcpt. Line"; PurchRcptHeader: Record "Purch. Rcpt. Header"; PurchOrderLine: Record "Purchase Line"; DropShptPostBuffer: Record "Drop Shpt. Post. Buffer"; CommitIsSuppressed: Boolean; var TempSalesLineGlobal: Record "Sales Line" temporary)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


[Suggestion] Option to disable specific world actions causing saves on new chunks

When a new chunk is generated, sometimes water/lava starts flowing or gravel will fall. I have a sneaking suspicion that these are causing chunks that would otherwise delete themselves and aren't needed to be saved.
That or I have a mod installed that is interfering with this mod... There are regions of my world that should be completely empty with this mod installed because I've only flown through them, yet they exist.

Hello!
I believe you are right when it comes to block updates taking place right after chunk generation, such as flowing liquids and falling blocks. I had that on mind when writing this mod as well, so this very likely is the case. Another thing to have in mind is newly generated mobs triggering block updates, such as sheep eating grass and endermen picking up blocks right as they generate. Just the sole existence of mobs that spawn in (maybe?) might trigger a save (not 100% sure regarding that tho, just guessing).
While the feature you suggested is a good idea, I think it may be a bit too difficult for me to implement, as I do not know what parts of the game's source code trigger chunk saves and how they work, although it can be done I believe.
Another thing I wanna mention, I am concerned about how such a feature could affect a world, or more specifically, break a world.. because the feature would then have to somehow track and "guess" what happened on "its own" and what was "player-influenced".
Like for example, what if I launched a TNT cannon into an ungenerated chunk or sent off a flying machine there, and then when the chunk finally generates, this mod assumes the redstone stuff that got there was not "player-influenced", and therefore it "discards" the chunk and casuses the player "lose prgress" (if you get what I mean). Although, given that redstone stuff triggers block updates that then trigger chunk saves, this concern might be a non-issue.
So overall, nice suggestion, might look into it in the future. Have a great day as well!

I definitely get the loss of progress worry. I thought about that too but simple things like falling gravel or sheep eating could be ignored. Fire maybe not for example (especially when clearing forests for example)
If you do wish to tackle this in the future, I would definitely appreciate it. If not, no big deal. I have never made a mod and I can only imagine having to look through the docs for hours, testing, trying to get this feature to work. But if you got it to work for one chunk update (sheep eating for example) maybe it would be easy to add for others?
Thanks! I hope you do in the future but if not, not a big deal. You have a great day too!


how to pass parameters from ?

when using mongodb-chatbot-ui
as
<Chatbot
user={{ name: 'eric' }}
isExperimental={false}
darkMode={false}
serverBaseUrl="http://localhost:3000/api/v1"
>
how can I pass parameters (like userID, or app parameters) to the mongodb-chatbot-server ?
I am using middleware to extract parameters, like
      const conversation = await res.locals.conversations.findById(         req.params.conversationId       )
but req.params is always empty.
how can I add my own property?
I redefined the fetch function to add my own header, but it feels a little "hacky"

if you're using the UI library, hacking the fetch function like you did is probably the easiest way to go about it. however, to make things less hacky, we already have the following PR up in review that will let you pass fetch options to the chatbot as a prop https://github.com/mongodb/chatbot/pull/308

Hey Eric!
That's strange that req.params is empty - it should contain a variable for every route segment that starts with a colon, e.g. /conversations/:conversationId.

Are you testing the middleware on a route like that?
If you console.log(JSON.stringify(req.params)) what is the output?

Like Ben mentioned we should have a first class way for you to define custom headers and other fetch options in our next UI release. In the meantime, you can also try passing in your properties as query params (e.g. /conversations/65bd1fc7ddda193e3dc25ed8?userId=abc123) which you could then access on the server via req.query.userId.

Hey Eric!
That's strange that req.params is empty - it should contain a variable for every route segment that starts with a colon, e.g. /conversations/:conversationId.

Are you testing the middleware on a route like that?
If you console.log(JSON.stringify(req.params)) what is the output?

Like Ben mentioned we should have a first class way for you to define custom headers and other fetch options in our next UI release. In the meantime, you can also try passing in your properties as query params (e.g. /conversations/65bd1fc7ddda193e3dc25ed8?userId=abc123) which you could then access on the server via req.query.userId.

sorry, I had meant to say that the mongodb-chatbot-ui Chatbot would not let me update the params object (nor header).
I tested with my own test UI, and I am able to extract params from mongodb-chatbot-server, using a middleware.

Gotcha. Are you still having any issues on this? If so, do you think being able to define custom fetchOptions to include with all requests (as implemented in https://github.com/mongodb/chatbot/pull/308) will help?

I took a look at the PR. I think it should work (wasn't able to pull the entire code locally to test).
From a UI point of view, I need to be able to change the conversation ID, on the fly, meaning that it might change throughout the session (to have a history of conversations)

I need to be able to change the conversation ID on the fly

This is on our roadmap to add soon but unfortunately isn't ready yet. I think you could piece this together using some of the lower level components/hooks we export (e.g. by calling the useConversation hook in your own components) but this is definitely not optimal.
Since this is something we will want eventually I'll see if we can prioritize shipping first-class conversation switching.

I need to be able to change the conversation ID on the fly

@eric-gardyn we just shipped a new version of the chatbot UI that lets you switch the active conversation without requiring a page reload.
npm install<EMAIL_ADDRESS>
Specifically there's now a new method available on the conversation instance you get from the useConversation() or useChatbot() hook (which you can call anywhere inside of the <Chatbot /> provider).
// Get the conversation directly
const conversation = useConversation()
// ... or get it from the chatbot hook
const { conversation } = useChatbot()

// Switch conversations by `id`
await conversation.switchConversation("65cbd564891d8167b8a9586e");

// You can also now start a new conversation which will replace the existing one
await conversation.createConversation();

Note - we don't currently have any built-in support for keeping a list of the user's conversation ids. You'll need to save those somewhere in your code if you want to switch between them later.

Following up on the original request here - we just released a new UI version with support for custom fetch options. This should help you pass custom headers and otherwise customize your requests.
npm install<EMAIL_ADDRESS>


Refactor client

Move main coroutines to session.py file, and call them from client.py/user.py. This way, no circular dependencies can occur.

Fixed. Closing this issue.


serialize:false to avoid needles toPolygons transformation when sending to renderer

All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

I was looking into code to see how to defer transforms to render instead of converting all geometry data with applied transforms that is done in serializeSolids.
The renderer already supports transform matrix, so the serializeSolids step is not necessary at all when sending to renderer. This will also open up more optimizations for rendering same geometry that is on multiple locations (examples/core/colors/colorCube.js)

Wrong!
The rendering cannot handle MIRROR transforms.

The rendering cannot handle MIRROR transforms.
see #691

np, I will check it out. I have seen mirror transform checks in some places.
I will try to make it work with mirroring too :)

ok, I found a fix for first part. A mirror matrix that has determinant < 0 reverses order of vertices, and opengl culling and face direction is wrong. Best option is to revese vertices before sending to opengl. and transform matrix can be kept as is.
in my test sample, mirrored objects have flipped faces
and is obvious that shader does not take into account geometry transform for lightsource location

after adding the code that reverses vertices for mirror transforms it looks like this

and it should loke like openjscad.xyz , like this:

Now I will look into fixing the shader so the lighting is correct

This is slightly better, but a better fix would be correcting the camera. 😌
Please test well. And be sure these fixes also correct the original issue.

This is slightly better, but a better fix would be correcting the camera. 😌

this is just partial fix,
The rest is not camera issue I think :)

geometries are placed correctly and the shape is correct in regard to camera
the lighting of the geoms looks like it does not take into account transform

Please test well. And be sure these fixes also correct the original issue.

ofc :) the idea is that with this PR, transforming of geometry data is deferred to render, and render needs to be fixed to apply the transforms correctly in the shader ... shapes and positions and normals are ok ... I still have lighting to fix.

looks like someone already placed support for normals transform matrix (unormal) into the shader
I have managed to get it close to original (but not for mirrored transforms ... I will have to check why they mess-up the lighting ... still learning)
new code with transforms applied in render

original from openjscad.xyz

There is a slight difference as the shader is setup a bit unconventionally, so it is hard to pinpoint.
The shader for opensjcad has light following the camera in a way
I am learning about webgl as I go, and have some idea what can be fixed, this particular issue of lighting transformed objects is mentioned here:
https://learnopengl.com/Lighting/Basic-Lighting
you can look at the section titled One last thing with this explanation

Pls, bear with me. This is a path worth taking, for there is much performance to be gained as next example will show.
you can compare this test example and how fast it reacts to changes to parameters (and this is without caching geometries between model recalculations)
https://openjscad.xyz/?uri=http://3d.hrg.hr/jscad/three/testMirror.js
versus the same example with threejs as renderer.
http://3d.hrg.hr/jscad/three/threejscad.html?uri=testMirror.js
The speed difference is very noticable even with such small number of geometries on the screen, and all of the difference is in the renderer setup part .
The jscad part that generates the model is actually pretty fast and that is the core of the project that is most important form what I have heard sso far, the less important is the renderer, and it is a shame to let it be the cause of slower performance.

Looks like there is no need to calcualte normals differently for mirrored transform during the step that converts jscad model to webgl data. I reverted that part of the fix.
When unormal takes into account model transform, the model is not messed up inverted when mirrored transform is present. So next steps are focusing on providing unormal matrix that accounts for  geometry transformations.
To complete this I have to figure out combination of small changes to unormal calculation and probably small changes to shader to get the desired result.
Current implementation looks kinda ok.
These spheres are not just translated, each is rotated slightly to force out issues if lighting calculation is out of whack.
without mirror

with mirror

mirorred spheres should not be rendered differently regarding the lighting, but they are right now. the viewing works ok, but is not quite there yet.

there was a whole host of discussion regarding this same issue of transforms like negative scale or mirror in threejs from 2014
https://github.com/mrdoob/three.js/issues/4904
and it was at first met with resistance, but in the end it was implemented in 2017.
I have found that the sort of fix that was done there was already present in jscad but not activated.
https://github.com/jscad/OpenJSCAD.org/pull/871/commits/257b086e01d23febb6135601a9a94bb20f7524a5
Ofc I could find it only after I did some digging and understood a bit better what needs to be done.
Good thing is that it is just a case of telling webgl which faces to cull(remove) and that makes it possible to render same geometry for all transforms (incl mirrors)
... I still have some work to do to reconstruct the bit strange dynamic lighting setup of the renderer

there was a whole host of discussion regarding this same issue of transforms like negative scale or mirror in threejs from 2014
mrdoob/three.js#4904
and it was at first met with resistance, but in the end it was implemented in 2017.
I have found that the sort of fix that was done there was already present in jscad but not activated.
257b086
Ofc I could find it only after I did some digging and understood a bit better what needs to be done.
Good thing is that it is just a case of telling webgl which faces to cull(remove) and that makes it possible to render same geometry for all transforms (incl mirrors)
... I still have some work to do to reconstruct the bit strange dynamic lighting setup of the renderer

@hrgdavor super investigation!
I took the easy route, and forced applyTransforms() before rendering. I think that was a good choice. 😃
And now, you’re making the correct changes, and improving performance. This is very exciting.

I took the easy route, and forced applyTransforms() before rendering. I think that was a good choice. 😃

Yes, definitely! wahtever easy fix can be done first is better than waiting forever for "prefect" solution :)

And now, you’re making the correct changes, and improving performance. This is very exciting.

Well, I am trying. First I randomly change code and see what happens, and if that fails, I try to understand it 😄

on openjscad.xyz
looking at openjscad.xyz current version
I see no pattern what do the different spheres reflect with their shiny spot, it is a bit all over the place

currently in this PR
I have made a version that is consistent regarding any transformation.
The base light is the same as current master, but shiny reflection is not

@z3dev please review when you have time
it is a good starting point if you would like to see some tweaks to the lighting
If you can live with this version of lighting setup, please merge, I have some other improvements in mind that require this PR :)
strange build fail 1/3

lerna info Executing command in 20 packages: "npm run test"
@jscad/gcode-deserializer: ><EMAIL_ADDRESS>test /home/travis/build/jscad/OpenJSCAD.org/packages/io/gcode-deserializer
@jscad/gcode-deserializer: > ava './test.js' --verbose --timeout 2m
@jscad/gcode-deserializer: sh: 1: ava: not found
@jscad/gcode-deserializer: npm ERR! code ELIFECYCLE
@jscad/gcode-deserializer: npm ERR! syscall spawn
@jscad/gcode-deserializer: npm ERR! file sh
@jscad/gcode-deserializer: npm ERR! errno ENOENT
@jscad/gcode-deserializer: npm ERR<EMAIL_ADDRESS>test: `ava './test.js' --verbose --timeout 2m`
@jscad/gcode-deserializer: npm ERR! spawn ENOENT
@jscad/gcode-deserializer: npm ERR!
@jscad/gcode-deserializer: npm ERR! Failed at the<EMAIL_ADDRESS>test script.
@jscad/gcode-deserializer: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
@jscad/modeling: ><EMAIL_ADDRESS>test /home/travis/build/jscad/OpenJSCAD.org/packages/modeling
@jscad/modeling: > ava 'src/**/*.test.js' --verbose --timeout 2m
@jscad/gcode-deserializer: npm WARN Local package.json exists, but node_modules missing, did you mean to install?
@jscad/gcode-deserializer: npm ERR!  CTRL-C to exit immediately.
npm ERR! Test failed.  See above for more details.
The command "npm test" exited with 1.
cache.2
store build cache

Hmm… Why did the NODEJS 10 build fail? I suspect there are issues with Travis CI.
If this continues then let’s remove NODEJS 10 from the builds. It’s already obsolete.

Hmm… Why did the NODEJS 10 build fail? I suspect there are issues with Travis CI.
If this continues then let’s remove NODEJS 10 from the builds. It’s already obsolete.

I tried again, the build on node 10 complains about missing "ava"
https://travis-ci.com/github/jscad/OpenJSCAD.org/jobs/519517414
sh: 1: ava: not found
 npm WARN Local package.json exists, but node_modules missing, did you mean to install?
12,14 passed ok

@hrgdavor please change .travis.yml, and remove NODEJS version 10.
I think this will allow the Travis CI to complete.

@z3dev it builds now. Strangely, some other branches work fine with nodejs 10. must be some travis issue

@SimonClark can you review this pull request as well. it's a little difficult at my current location (Oregon).
Thanks

The changes to regl-renderer and web should be split. That way, there will be two merges of the pull requests, each with a different topic. One merge for correcting the mirroring in the regl-renderer, and one for performance improvements in the web ui.

@z3dev I have removed serialize:false and moved flip calculation to drawMesh. After this one is merged I will make a separate small PR for serialize:false.

@hrgdavor This is so close! In general, I would say that the rendering is better and more consistent now.
However, it seems that the reflection of the light source kind of 'stops' when the object moves from in front to in back. For example, open the Primitives 3D Demonstration. Then rotate the scene about Z. The light source on the back objects (sphere and rounded cylinder) does not reflect properly.

I have played with the numbers. because I cant get the logic of the reflection for the old shader.
Now both this one and old one have the reflection unexplained but it is present from top and bottom

@z3dev is this something that would be acceptable ?

@z3dev is this something that would be acceptable ?

Sure. I will do some more testing tomorrow.

@hrgdavor this is better now. the reflections are still a little strange at times, but improved over the current version. the rendering of mirrored shapes is far far better as well.

@z3dev I have removed serialize:false and moved flip calculation to drawMesh. After this one is merged I will make a separate small PR for serialize:false.

@hrgdavor quick question... should i test with "serialize: false"?

Yes, now u have to try it with serialize:false to have the geometry with tranforms that are not just identity and polygons already changed

Retested with "serialize: false"
diff --git a/packages/core/src/code-evaluation/rebuildGeometry.js b/packages/core/src/code-evaluation/rebuildGeometry.js
index ac628d89..33367596 100644
--- a/packages/core/src/code-evaluation/rebuildGeometry.js
+++ b/packages/core/src/code-evaluation/rebuildGeometry.js
@@ -29,12 +29,13 @@ const rebuildSolids = (data, callback) => {
   const defaults = {
     mainPath: '',
     vtreeMode: false,
-    serialize: true,
+    serialize: false,
     lookup: null,
     lookupCounts: null,
     parameterValues: {}
   }

The rendering looks good for all the demonstration designs, as well as a set of designs that I created over the years.

@hrgdavor Any thing left to test or change? If not then I'll merge these changes for regl-renderer

From my point of view, it is ready for merge. With this merged, the #812 is next on my list as a continuation of perf impr.
812 will also benefit any setup where other renderer is used like threejs or babylon (they all need to get buffers for webgl somehow)


fix: multiple modal on iOS

This PR aims to resolve.
https://react-native.canny.io/feature-requests/p/multiple-modal-components
https://github.com/facebook/react-native/issues/3445
Summary
When one needs to open multiple modals at once, they need to be nested within a single modal in iOS. To fix this issue, we pick the last presented controller and use that to present the Modal controller.

Changelog

[iOS] [Changed] - Use currently presentedViewController to present the RCTModalHostViewController
Test Plan
Verified the existing and added functionality in the RN Tester app.

https://user-images.githubusercontent.com/23293248/117567207-b6216b00-b0d8-11eb-8da5-848029271e9e.mov

@intergalacticspacehighway why this merge is blocked?

@lfoliveir4 only collaborators can merge PR.

@lucianomlima When you can review and dive into this PR, can you please let us know?

Why this PR doesn't be merged?

Hello @intergalacticspacehighway , i upgrated my app to your branch because i'm with the same issue, and your solution works, in some cases...
When i already has a modal open and another modal will be opened, for example:
const [modalOpen, setModalOpen] = useState(false)
setTimeout(() => {
    setModalOpen(true)
}, 1000)

return(
    <>
        <Modal visible={true}/>
        <OtherModal visible={modalOpen}/>
    </>
)

works fine, but if a have a flow of modals, for example:
const [currentModal, setCurrentModal] = useState('modal1')

return(
    <>
        <Modal1 visible={currentModal === 'modal1'}><Button onClick={() => {setCurrentModal('modal2')}}/></Modal1>
        <Modal2 visible={currentModal === 'modal2'}><Button onClick={() => {setCurrentModal('modal3')}}/></Modal2>
        <Modal3 visible={currentModal === 'modal3'}/></Modal3>
    </>
)

@carloslibardo Thanks for testing this out. I tried to analyse the issue and I get this log on running your second example
 [Presentation] Attempt to present <RCTModalHostViewController: 0x7fd1a00abb20> on <RCTModalHostViewController: 0x7fd1a04137e0> (from <RCTModalHostViewController: 0x7fd1a04137e0>) whose view is not in the window hierarchy.

I think it tries to open the second modal before the first one is completely dismissed and there's where it breaks. Changing the above code to something like below works.
 <Modal
        visible={currentModal === 'modal1'}
        transparent
        onDismiss={() => {
          setCurrentModal('modal2');
        }}>
          <Button
            title="111"
            onPress={() => {
              setCurrentModal('dummyState');
            }}
          />
      <Modal visible={currentModal === 'modal2'} transparent>
          <Button
            title="button 2"
            onPress={() => {
              setCurrentModal('modal3');
            }}
          />
      </Modal>

I'll try to find a solution!

@intergalacticspacehighway thanks for reply and keep trying to solve this problem =)
I tried use your second sample to solve my problem, using modal as children of modal, but doesn't works correctly.

@intergalacticspacehighway some updates?

any update on this?

hi all , any update ?

@intergalacticspacehighway What problem are we facing for this PR to be merged? Many UI's use flows with multiple modals... This PR would make life easier for many engineers... Any updates on it?

+`1

Unfortunately this PR can't be fix below case
(below code use react-native-modal for transition)
const positionStyle = [
  { top: 200, left: 200 },
  { top: 200, right: 200 },
  { bottom: 200, left: 200 },
  { bottom: 200, right: 200 },
]

const colors = ['red', 'purple', 'gray', 'orange']
const modals = [0, 1, 2, 3]

const App = () => {
  const [visible, setVisible] = useState(0)
  return (
    <>
      <View
        style={{ height: '100%', width: '100%', justifyContent: 'center', alignItems: 'center' }}
      >
        <TouchableOpacity onPress={() => setVisible(v => (v + 1) % 5)}>
          <Text>Press me</Text>
        </TouchableOpacity>
      </View>
      {modals.map((_v, i) => (
        <Modal isVisible={i + 1 === visible} key={i}>
          <View
            style={{
              position: 'absolute',
              justifyContent: 'center',
              alignItems: 'center',
              ...positionStyle[i],
              backgroundColor: colors[i],
            }}
          >
            <TouchableOpacity onPress={() => setVisible(v => (v + 1) % 5)}>
              <Text>Press me</Text>
            </TouchableOpacity>
          </View>
        </Modal>
      ))}
    </>
  )
}

The code above expects the old modal to disappear when the new one appears,
but the native implementation of this PR stacks the new modal on top of the old one,
so the new one will disappear. (Android works well)

@carloslibardo i pushed a few changes to the PR. Can you try your usecase again?

This is the most upvoted open PR on the repo, would be amazing to get multiple modals working. A bit crippling for app developoers trying to go all in on RN.

This PR is included in the react-native-improved library:
react-native-improved

Supports ONLY react-native 0.73.
Supports only old architechture (new architechture is WIP)

Set-up
In package.json
 "scripts": {
+  "postinstall": "yarn run react-native-patch"
 }

Then
npm
npm install react-native-improved --save-dev

yarn v1
yarn add react-native-improved --dev

Still the most upvoted PR on the repo.

pour one out


remove all aop logging

add easy config param to disable aop logging on a package wildcard basis:
ignore com.github.vincemann.* or com.github.vincemann.controller.dto.mapping.*
Make sure aop proxy is not even created for those paths to improve performance


Rename monkeypatch methods' objects parameters to objs to match Django

The bulk_create and bulk_update monkeypatch method signatures do not match the underlying Django method signatures.
Consequently, invocations of these methods fail if these positional arguments are provided as keyword args.

Very true indeed.  I'll add a test case.

@awmath Thanks :)


Test rules registration order for validation and execution rules #1435

Test rules registration order for validation and execution rules #1435
Added two tests for POW, POS to guarantee current consensus rules and their ordering remain unchanged.

Preferred: @majikandy @bokobza

See the original test I wrote for the rule registration that was deleted at some point by someone
https://github.com/majikandy/StratisBitcoinFullNode/blob/44308a375cd0572079d01fb33a3423ce620e1304/src/Stratis.Bitcoin.Features.Consensus.Tests/PosConsensusRulesRegistrationTests.cs


Regex syntax parsing of unicode code points is incorrect

What version of regex are you using?
Latest
If it isn't the latest version, then please upgrade and check whether the bug
is still present.
Describe the bug at a high level.
Because regex_syntax is lazily using char::from_u32 not all valid unicode code points are parsed, and this prevents valid regex's from compiling.
Give a brief description of the actual problem you're observing.

Rust defines char as a "Unicode scalar value" and explicitly states that it's similar but not the same as a unicode code point.
The parser is supposed to extract all code points as documented above the function:
https://github.com/rust-lang/regex/blob/master/regex-syntax/src/ast/parse.rs#L1611
What is the expected behavior?
I expect this crate to include custom logic for validating code points, instead relying on char::from_u32 which omits valid code points/surrogate values because they aren't considered scalar values.
Javascript and several other regex engines can handle these fine.

Please provide an example. Make sure the example include the desired match semantics. That is, your example should include a call to Regex::find along with the string to search and the expected result.

Also, in addition to an example, please describe a use case in which you would use this new feature.

Due to inactivity from the OP, it's hard to tell what the actual issue here is.
Now, looking at the docs, the regex crate does use the words "Unicode code point" when the more precisely correct terminology is "Unicode scalar value." It overall doesn't make sense for the regex crate to support literally all code points since it operates in UTF-8 land.
So I'll mark this as a doc bug, although I don't think there is a big problem with saying Unicode code point, as it is less obscure than Unicode scalar value.


Store functions break when called as functions (not methods)

const store = require("store");

store.set('foo', 'bar');
store.get('foo'); // 'bar'
store.get.call('foo'); // this._storage is not defined

There are number of ways to fix this and I'd be happy to try a PR if you're interested. Let me know if you have a preferred method (that = this, closure binding the internal vars, something else...) and I'll try to stick to that.

You need store.get.call(store, 'foo') - look up javascript call function.