[Feature] Allow OSC to accept data from non-local IPs

The current OSC input (afaik) only allows Ports. It'd be nice to allow external IPs for things like face tracking.

You have to put your computer's IP into the program that's sending the data. The OSC input is a server and only needs a port.

oh wait, for real? thats sick! thanks


Front Working local version  - Dileep

Tested local version

@microsoft-github-policy-service agree [company="Henry Ford Health"]

@microsoft-github-policy-service agree


Jesse: Blacklist<PHONE_NUMBER>5

Jesse requests the blacklist of the number<PHONE_NUMBER>5. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by cigien in Charcoal HQ


mu + mbsync refresh in background on schedule or push

imap doesn't have IMAP IDLE support natively so we'd likely have to use something like imapnotify to get this done.

See Arch wiki for details: https://wiki.archlinux.org/title/isync#With_imapnotify
goimapnotify is not on Homebrew. If you're feeling industrious, make a recipe for that.


Help

invalid status_code received: 404. Possible solutions: Result not found.

Does this work with ptero panel 1.0 and whmcs 8.2?


[SPARK-31592]bufferPoolsBySize in HeapMemoryAllocator should be thread safe

What changes were proposed in this pull request?
Currently, bufferPoolsBySize in HeapMemoryAllocator uses a Map type whose value type is LinkedList.
LinkedList is not thread safe and may hit the error below
java.util.NoSuchElementExceptionException
    at java.util.LinkedList.removeFirst(LinkedList.java:270)
    at java.util.LinkedList.remove(LinkedList.java:685)
    at org.apache.spark.unsafe.memory.HeapMemoryAllocator.allocate(HeapMemoryAllocator.java:57)

Can one of the admins verify this patch?

Can one of the admins verify this patch?


SetGroupsOnLogin: Not saving groups to Umbraco/ exposing groups to Umbraco

Hello
Using Umbraco 13.3.2 and Umbraco.Community.AzureSSO 2.0.0 after a user authenticates we are seeing an empty menu:

The user has no roles assigned:

In order to help debug this I added logging (which I thought might be helpful for everyone so have done a PR https://github.com/Gibe/Umbraco.Community.AzureSSO/pull/30)
I can see when I set a break point in MicrosoftAccountBackOfficeExternalLoginProviderOptions.SetGroups that user.AddRole(umbracoGroupAlias); is being called and I have checked the alias against UmbracoUser Groups.
I can not see anywhere in the code base where user roles are saved, but this may be by design in the project/ lack of familiarity with the project. I am happy to screen share to help debug.

As you were user error in this part. Was using 'userGroupName' and not'userGroupAlias'


In larave 6.6  null parameter is not accepted.

In laravel 6.6 null parameter cleare issue and throw error in /admin/database "Missing required parameters for [Route: voyager.bread.delete] [URI: admin/bread/{id}]" So i change null to '' blank and it works fine now.

As far as I understand it if {id} is required building route it should not be empty.
That's exactly the bug they tried to fix in 6.6 with https://github.com/laravel/framework/pull/30659
So if this is going to be fixed, as I think, empty string is not going to work.
And there is already another PR open #4587

Yes but voyager pass null which is not correct too.

I'm aware, that's why:

And there is already another PR open #4587


Improve error messages and add static html pages for failure to start site.

For #1039 and improving scenarios around that.
I held off on switching all error handling to exceptions. There is a weird mix of things that throw and don't throw; did my best to handle all.

Screenshots plz

Failures seem unrelated to my change https://github.com/aspnet/IISIntegration/issues/1435. Seems to be related to client disconnect.


Fix use of named spectra for dielectric eta

Rendering frame542, which uses a glass-bk7 spectrum for its eta, results in an extremely noisy surface. Rendering with the default eta (a const value of 1.5) results in proper-looking glass.
The issue could be in get_one_spectrum() called from DielectricMaterial::create(), which should filter down to PiecewiseLinearSpectrum::from_interleaved(). But we use these fine for e.g. the creation of copper conductors, so I'm wary of those being the problem. So perhaps the issue is in handling eta in DielectricMaterial::get_bxdf().

Attached a problematic render. The object should appear to be glass, which is DOES for default dielectric materials with constant eta.
Actually, the issue is likely in the handling of dispersion after terminate_secondary() is called.
We might not respect the zeroed PDFs of the terminated secondary wavelengths somewhere?

Investigating this led me to realize we didn't properly regularize in RgbFilm::add_sample() (we didn't check if G was the largest of the triplet, we checked b twice on accident).
That's unrelated to this, though.
Secondary wavelengths DO seem to get terminated properly.
Are we getting reasonable eta values?

The sampled eta values are reasonable (near 1.5, as expected, matching GLASS_BK7_ETA_SAMPLES).
Further, the mf_distribution is effectively smooth, so DielectricBxDF::sample_f() is using the perfect specular dielectric BSDF model - the same as if the constant eta is used.
So I don't think the bug is within sample_f() or related to handling eta, but in the handling of the terminated wavelengths. This is the only difference I can see between our constant eta and our BK7 eta.
We do properly randomly select lambda[0] across the visible spectrum - I don't think there's bias there, which was my initial thought.
RgbFilm::add_sample() is seeing some rgb values with coefficients > 1.0 for lambda with terminated secondaries.

Adding RGB samples from samples with terminated wavelengths looks to be correct.
It could be NaN poisoning. At a high depth (148), we're seeing eta_scale == +inf, so we're panicking at the calculation of rr_beta.
The bsdf sample eta is reasonable - 1.537. Are we accumulating to very large values for eta_scale at large depths, for many transmissive bounces?

It doesn't always occur at high depth - eta_scale is a reasonable value (2.355 etc) for even very high depths for many paths.
We do see cases where eta_scale accumulates to very large values. That seems correct, though we will want to handle the case where eta_scale accumulates to inf to avoid rr_beta becoming NaN.
Those only effect Russian roulette termination, however, and would (I think?) result in NOT terminating the path, which wouldn't result in NaN poisoining of the RGB values, I think.

Added a check for INF eta_sample (and skipping russian roulette in that case, which makes sense for large rr_beta anyways).
This doesn't fix the resulting image as I expected.

I believe the bug IS related to transmission (after all, that's what a different eta would cause...)
The specular reflections appear correct, visually.
I should make a scene that is just a sphere with BK-7 material. I'm curious if this is happening due a high depth and many transmissions, or if this is happening for all transmissions.

Sow with a single sphere, things look correct.
Early termination of paths could lead to noise when transmission is involved. Maybe I am terminating too early?
We could make a test scene with many layered spheres.
I can also try disabling RR

Early termination could also explain why I seem to be rendering some scenes faster than PBRT

Well, disabling RR termination didn't fix the issue. There is some other issue with  transmission

Well, the issue does appear to be related to terminating secondary wavelengths - disabling that logic results in a more clear image (and the default constant spectra doesn't have the issue as well).
It does make sense - we effectively have fewer sampled wavelengths, so we would expect more noise.
Does the issue go away if I simply crank the spp extremely high?
Am I incorrectly weighting samples?
Am I taking less samples than I thought I was?

It looks like increasing spp DID fix the issue - this is comparable to PBRT, and we get similar noise at 255spp as well (though there's 4 dark areas in our render, but that is an unrelated issue).
The RR fix might have actually worked, and I just didn't test with high enough SPP? I'll need to verify what happened.

Related - this scene is boring without a skybox. If we want to show off dielectrics we should consider supporting skyboxes in infinite lights.


Downgrade support

Current situation
When a channel is changed to serve an older version again because the new version had problems, the instances won't downgrade because Nebraska does not hand out the package payload to them. This is the intended behavior and a workaround for a downgrade is to set FLATCAR_RELEASE_VERSION=0.0.0 on the Flatcar instance's /etc/flatcar/update.conf just exactly for the time while the update is applied.
Impact
The downgrade is a fragile and complicated action because it has to be done on all nodes with care to set and remove the variable at the right time because it has to be removed before the reboot happens.
Ideal future situation
Nebraska groups (or channels if groups are hard to implement) have a downgrade setting where if enabled, the package payload is offered to a request when the reported version does not exactly match the channel's version.
Implementation options
Additional information
I don't think this needs changes in update-engine but if it needs, it could be configurable setting but anyway it would not be a security feature because Nebraska may always announce a higher version for an older package and trick the instance into a downgrade.

Not sure why the downgrade seems 'fragile'
cgpt prioritize "$(cgpt find -t coreos-usr | grep --invert-match "$(rootdev -s /usr)")"

That's switching to the previously installed version, not to the version which Nebraska announces.


ESCU - Windows AdFind Exe - Rule

For rule ESCU - Windows AdFind Exe - Rule, there is no spaces after the arguments in the detection, so -sc will match with -script and -scope etc, either that or include adfind in the process detection. More info on the switches can be found here: https://www.joeware.net/freetools/tools/adfind/usage.htm
Default logic:
| tstats security_content_summariesonlycount min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process=*-f* OR Processes.process=*-b*) AND (Processes.process=*objectcategory* OR Processes.process=*-gcb* OR Processes.process=*-sc*) by Processes.dest Processes.user Processes.process_name Processes.process  Processes.parent_process Processes.process_id Processes.parent_process_id |drop_dm_object_name(Processes)|security_content_ctime(firstTime)|security_content_ctime(lastTime)|windows_adfind_exe_filter``
Suggested Logic:
| tstats security_content_summariesonlycount min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process=*-f * OR Processes.process=*-b *) AND (Processes.process=*objectcategory* OR Processes.process=*-gcb * OR Processes.process=*-sc *) by Processes.dest Processes.user Processes.process_name Processes.process  Processes.parent_process Processes.process_id Processes.parent_process_id |drop_dm_object_name(Processes)|security_content_ctime(firstTime)|security_content_ctime(lastTime)|windows_adfind_exe_filter``

fixed and merged : https://github.com/splunk/security_content/pull/1769


Implement native support StringViewArray for regexp_is_match and regexp_is_match_scalar function, deprecate regexp_is_match_utf8 and regexp_is_match_utf8_scalar

Which issue does this PR close?
Closes #6370.

Rationale for this change

Natively operate on StringViewArray without having to convert first to StringArray
(Potentially) take advantage of the new string view layout

What changes are included in this PR?
Introduce regexp_is_match and regexp_is_match_scalar (which can replace regexp_is_match_utf8 and regexp_is_match_utf8_scalar) can perform on StringArray / LargeStringArray / StringViewArray arguments.

Are there any user-facing changes?
No.

I wonder if you might also be willing to add StringView to the benchmarks as well, specifically
So that if this code is changed in the future we can ensure it doesn't regress in performance

@alamb Thanks for reviewing, willing to add benchmark for this one. I will update it soon.

Here are the benchmark results (aka this PR doesn't slow down the existing implementation)
++ critcmp master regex-is-match-utf8
group                                                     master                                 regex-is-match-utf8
-----                                                     ------                                 -------------------
regexp_matches_utf8 scalar ends with                      1.02  1932.3±20.07µs        ? ?/sec    1.00  1898.4±17.40µs        ? ?/sec
regexp_matches_utf8 scalar starts with                    1.00  1932.1±14.07µs        ? ?/sec    1.00  1924.9±26.17µs        ? ?/sec

I am depressed about the large review backlog in this crate. We are looking for more help from the community reviewing PRs -- see https://github.com/apache/arrow-rs/issues/6418 for more

@tlm365  I wonder if you have a few minutes to review the changes I pushed to this PR.
I again I am sorry about the review delays

@tlm365 I wonder if you have a few minutes to review the changes I pushed to this PR.
I again I am sorry about the review delays

@alamb Oops, thank you so much for reviewing. Sorry 🙇 I've been a little busy lately. Noted and will come back to review this weekend.

Thank you very much @tlm365 -- this looks great.
I was reviewing this PR and I had the code checked out locally, so I took the liberty of making a few changes:

I fixed clippy (was failing due to using deprecated functions)
I updated the comments / added an example to ease the transition (passing None as the flags argument results in type inference errors without some type help)
Improved the comments in general making it clearer what regexp_is_match does and how it is related to regexp_match

@alamb it looks very nice 👍 thank you so much for this update! ❤

Thanks @tlm365 and @alamb

We updated this PR so it was not an API change so removing the label


[FEATURE] Adding hover animation to the importance page cards.

Would add hover to the cards in importance page and add transition of scaling on hovering
The different cards should look interactive to the users in order to make the website more user friendly.

\assign

/assign


Update docker file entrypoint script so that CMD is run flags

Using the dockerfile to run the simulation you need to enter a bash shell then run the fill waf command to run the simulation.
It would be useful to be able to run docker run rhpman --runTime=50 and not need to remember the specific formatting of the waf run command

this has been done


Size of  Image used in dlib_face_recognition_resnet_model_v1

What is the input size of image(resolution) that the model dlib_face_recognition_resnet_model_v1.dat.bz2 takes as input?
Also, you mentioned that network was trained from scratch on a dataset which was derived from a number of different datasets. While processing the data to be used for training, what was the resolution that the face images from the different datasets were cropped to and what face detector was used to crop faces from the background?

All this stuff is shown and demonstrated in the example programs.  Read http://dlib.net/dnn_face_recognition_ex.cpp.html starting with the comments at the top.


Delta Metrics API

Separate delta-metrics-api project.

https://github.com/application-research/delta-metrics-rest


Request for add NAS algorithm: Blockwise DNAS FBNet

This Pull Request aims to add an efficient and concise Block-wise Differentiable NAS (DNAS), namely the FBNet (refer to FBNet).
The attached Example relies on the PFLD (a facial landmark model, refer to PFLD), for mobile application.
We have applied the DNAS method on PFLD for the trade-off between accuracy and real-time speed, which showed favorable results. The main features of this PR are listed as below:

The block-level Differentiable method shows low search cost, similar to normal training;
The search space or candidate building blocks are designed and optimized for mobile application, such as eSE module, Ghost module and depthwise-conv based average pooling etc.;
The search space or candidate blocks can be set diversely for different stages, to enhance the diversity of search space;
During searching, the diverse blocks side by side planed at each stage, make the pre-training of Supernet more sufficient, just like the effectiveness of Structural Re-parameterization (information sharing); The pre-trained Supernet is further used for sampling and fine-tuning of the Subnet, to achieve higher accuracy;
In addition, the basic network structure of PFLD is redesigned with the stem block of PeleeNet, depthwise-conv based average pooling and eSE module, showing better results for trade-off between accuracy and speed.

As a result, based on Block-wise DNAS (FBNet), we obtain a PFLD model with model size=693KB, NME=5.58%, and speed=1.60ms on Qualcomm 625 CPU. The result shows better than the MobileNet-v3-small PFLD in the open-source, where model size=1.01MB, NME=6.22%, and speed=10ms;
Meanwhile, we evaluate the Cream NAS, SPOS and ProxylessNAS of NNI on the facial landmark scenario, as results:

The Cream NAS shows favorable result, where we use the Bounded Regression Loss for inter-model knowledge distillation, but needing more train epochs for sufficient training to achieve satisfactory result. We obtain a PFLD model with model size=637KB, NME=5.91%, and speed=1.41ms, showing extreme speedup;
The training of ProxylessNAS shows unstable, maybe the random sampling and training of single sub-path during searching has no advantage for the Convergence of training, especially for the Block-wise searching;
As a one-shot method, the result of SPOS is not good as the Cream NAS;

Thanks for review and comment:)

Thanks for the contribution!
Here are a few questions/concerns I was hoping that you would be able to address:

Is there a paper/document that we can relate to, for the detailed description of the algortihm?
Judged by description in PR, it seems that "FBNet" provides an end-to-end solution, including both search space and search strategy. Is that correct? In that case, can you demonstrate the easibility to apply your search strategy onto other search spaces, like ProxylessNAS, or NAS-Bench-201?
Is retrained checkpoint available? I hope that there is a guidance to run an end-to-end search, from dataset preparation to model testing.
The implementation you have done is based on the old NAS framework, which is deprecated. It should be migrated to the Retiarii framework. (But don't worry. As the interface is very similar, I assume that this is not a big problem.)

Thanks for the contribution!
Here are a few questions/concerns I was hoping that you would be able to address:

Is there a paper/document that we can relate to, for the detailed description of the algortihm?
Judged by description in PR, it seems that "FBNet" provides an end-to-end solution, including both search space and search strategy. Is that correct? In that case, can you demonstrate the easibility to apply your search strategy onto other search spaces, like ProxylessNAS, or NAS-Bench-201?
Is retrained checkpoint available? I hope that there is a guidance to run an end-to-end search, from dataset preparation to model testing.
The implementation you have done is based on the old NAS framework, which is deprecated. It should be migrated to the Retiarii framework. (But don't worry. As the interface is very similar, I assume that this is not a big problem.)

Thanks a lot!
I will add the document soon:)

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

How about 2:00PM Monday next week? Thanks:)

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

If necessary, we can book a DingTalk meeting for online PR and discussion, since my colleagues are also interested in NNI NAS.
Thanks:)

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

How about 2:00PM Monday next week? Thanks:)

@AliCloud-PAI
Does 1:00 PM works? or 2:00PM on Tuesday? I got a conflict on 2:00 PM next Monday.

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

If necessary, we can book a DingTalk meeting for online PR and discussion, since my colleagues are also interested in NNI NAS.
Thanks:)

sounds great.

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

How about 2:00PM Monday next week? Thanks:)

@AliCloud-PAI
Does 1:00 PM works? or 2:00PM on Tuesday? I got a conflict on 2:00 PM next Monday.

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

If necessary, we can book a DingTalk meeting for online PR and discussion, since my colleagues are also interested in NNI NAS.
Thanks:)

sounds great.

2:00PM on Tuesday is fine:)
If convenient, we can create the DingTalk group firstly, then book the meeting.
This is my DingTalk number "nature553863", or I add your number as friend?
Thanks a lot:)

Hi @ultmaster @QuanluZhang ~~
The Chinese document is added at: docs/zh_CN/NAS/FBNet.rst.
The English doc is soon.
The search space used here is based on FBNet space, and optimized for mobile application.
Thanks:)

Hi, @QuanluZhang @ultmaster @scarlett2018 ~~
Both English and Chinese documents are ready, Thanks:)

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

How about 2:00PM Monday next week? Thanks:)

@AliCloud-PAI
Does 1:00 PM works? or 2:00PM on Tuesday? I got a conflict on 2:00 PM next Monday.

@AliCloud-PAI - thanks for contributing to NNI, do you have time this week or early next week? so that we can book an online PR review and discussion meeting?
cc PR reviewers: @QuanluZhang @ultmaster

If necessary, we can book a DingTalk meeting for online PR and discussion, since my colleagues are also interested in NNI NAS.
Thanks:)

sounds great.

2:00PM on Tuesday is fine:)
If convenient, we can create the DingTalk group firstly, then book the meeting.
This is my DingTalk number "nature553863", or I add your number as friend?
Thanks a lot:)

@AliCloud-PAI - just added you.

Hi, @QuanluZhang @ultmaster ~~
The code is refactored as below:

The trainer for classification task is defined at "nni/algorithms/nas/pytorch/fbnet/trainer.py";

The common utility functions, such as lookup table creation, supernet sampling etc., are moved to "nni/algorithms/nas/pytorch/fbnet/utils.py";

The Chinese doc is removed; and the example path is named as pfld;

The inheritance of the trainer for PFLD is defined at "examples/nas/oneshot/pfld/lib/trainer.py", for application in specific area;

The search space for pfld is defined at "examples/nas/oneshot/pfld/lib/ops.py"; I see that the "ops.py" is similarly in the example of proxylessnas;

Thanks a lot:)

Hi, @QuanluZhang @ultmaster ~~
The code is refactored as below:

The trainer for classification task is defined at "nni/algorithms/nas/pytorch/fbnet/trainer.py";
The common utility functions, such as lookup table creation, supernet sampling etc., are moved to "nni/algorithms/nas/pytorch/fbnet/utils.py";
The Chinese doc is removed; and the example path is named as pfld;
The inheritance of the trainer for PFLD is defined at "examples/nas/oneshot/pfld/lib/trainer.py", for application in specific area;
The search space for pfld is defined at "examples/nas/oneshot/pfld/lib/ops.py"; I see that the "ops.py" is similarly in the example of proxylessnas;

Thanks a lot:)

LGTM. Looks like the only work left is to migrate the trainer to Retiarii.
One suggestion here, when writing trainers in SDK, it's better to keep it simple and easy to read, because due to the limitation of current design, trainers often need to be copied and customized by users. Judging by this criteria, ProxylessNAS and Cream (in the old framework) are more research-styled and not really good engineering examples to follow. Please follow the examples of DARTS and SPOS.
If "working well on ImageNet" causes unnecessary complexity, "runnable on CIFAR-10" should also be a criteria that is good  enough for us.

Hi, @ultmaster @QuanluZhang ~~
The code is refined according to above reviews, can you help to check? And other suggestions if necessary, thanks a lot:)

@AliCloud-PAI , this pr looks great. We can further think about how to make this NAS algorithm easy to use in one or two follow-up prs. First, it is better to give a tutorial about how to use this NAS algorithm, the trainer and mutator that are put in python sdk. The current document only talks about how to run the example. If I write a new search space, how to use your trainer and mutator? how to build the lookup table? Second, your example has good performance, let's think about how to extract the search space to be a pytorch module (e.g., search space zoo), so that users can directly use it to build their own model.

@AliCloud-PAI , this pr looks great. We can further think about how to make this NAS algorithm easy to use in one or two follow-up prs. First, it is better to give a tutorial about how to use this NAS algorithm, the trainer and mutator that are put in python sdk. The current document only talks about how to run the example. If I write a new search space, how to use your trainer and mutator? how to build the lookup table? Second, your example has good performance, let's think about how to extract the search space to be a pytorch module (e.g., search space zoo), so that users can directly use it to build their own model.

Thanks a lot:)

Can you help to offer a template or link for me to write the tutorial?
The model space used in example is improved for mobile application; it's fine to integrate this space into the space zoo;
And the algorithm can also be put into the Retiarii, which I'm deep diving into:)


Project: Blazor Web App - Understand question on Teams chat and tag them

Project name
Teammate
Description
The web application retrieves through the Graph API recent messages from Teams and tries to understand the sender's statement and tag them accordingly depending on the trained model. By tagging messages appropriately, we have a quick overview of the most important questions in the Teams chat
Repo URL
https://github.com/jarzi/Teammate
Team members
jarzi

Cool @jarzi! Would you be willing to record a short video to demonstrate the app? It's not required for the hackathon but it would help us showcase your work internally at Microsoft and publicly in the community 😊

Of course @waldekmastykarz  😊
https://user-images.githubusercontent.com/9865520/224957077-8cddb7ee-b0a0-4511-a933-8fc46d32de18.mp4

Awesome! Thank you!


OutOfMemoryException error when reading an AssetBundle asset from Unity v5.4.0

There's definitely a memory leak happening. Trying to open this https://mega.nz/file/9kQjlLyZ#-UYE2fcGA1po-b12h6d7AtnbkoEo0YmW2wdfiESjR0A causes memory usage to spike. It opens fine in Perfare's AssetStudio with the memory usage one would expect from a file this small.

Haven't tested in the other net builds, but I'm using the net8 GUI version.

Originally posted by @HallowSL in https://github.com/aelurum/AssetStudio/issues/30#issuecomment-2002291400

I also found it happening with some unity version 2019.4.26f1 files. https://mega.nz/file/9w5HBbSA#CSEDTQqW1aiBfe80Nh0prfG29SiHQGtYag43w7CEHxs


feat: add OpenTelemetry tracing support

feat(o11y): Add tracing support for api server
remove post_fork, and pin to one worker

Description
uses opentelemetry's auto-instrumentation to export trace spans to Cloud Trace.
Fixes #
Note: Before submitting a pull request, please open an issue for discussion if you are not associated with Google.
Checklist

[ ] Added steps to reproduce the changes in this pull request
[ ] Added relevant testing in this pull request
[ ] Please merge this PR for me once it is approved.

Build warning:
Warning: BOM table is deprecated in this buildpack api version, though it remains supported for backwards compatibility. Buildpack authors should write BOM information to <layer>.sbom.<ext>, launch.sbom.<ext>, or build.sbom.<ext>.

Deploy error: startup check failed. (after enabling DEBUG on the deployment to see)
Bad Request: /ready
Invalid HTTP_HOST header: '<IP_ADDRESS>'. You may need to add '<IP_ADDRESS>' to ALLOWED_HOSTS.

Adding this value to ALLOWED_HOSTS, the service fails to deploy, with no useful logs (only linking back to the logs describing this error).
Ready condition status changed to False for Revision server-00004-toy with message: The user-provided container failed the configured startup probe checks. Logs for this revision might contain more information.

For more troubleshooting guidance, see https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start

confirmed this doesn't affect local dev in cloudshell

also confirmed with @muncus that traces are coming through. Merging!

Example trace below showing a 3-tiered trace. The first 2 are from the Cloud Run Platform (load balancer, and appserver). The third span is from the app itself, with relevant labels from span context.


Set swarm manage to advertise on 3376

Overview
Currently when you setup a new swarm master, it's advertising on 2376 instead of 3376. When advertising on 2376 it causes issues with replication as replicas are forwarding to the standard docker port instead of swarm.
Fixes https://github.com/docker/swarm/issues/1576

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix/swarm-manage-advertise" git@github.com:dustinblackman/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

LGTM

LGTM


FamilyInstance.ByPoints

This node appears to require the family instance to be placed at lest once in the model.
After some investigation, it seems that changing the code to remove the Unwrap on family type and removing the var[] inputs makes this work.

Hi John,
Can I make sure you're on a recent version of springs? There was an issue a while back where the package manager went wonky and got some versions of nodes confused. you should have a line that's similar to

if not ftype[j].IsActive : ftype[j].Activate()

that makes sure that the family type is always going to be activated.
My original logic with this node(and other nodes from sn) was to always process lists and do pseudo-lacing inside the script for improved performance. Otherwise, if you define your inputs as singletons, the python interpreter would be called individually for each item in the input list and that would affect performance negatively.
So you generally have two options - either provide one type that will be used for all instances, or provide a list of types that matches your list of points for when you want to have differing types:

Let me double check I will update spring nodes now.
On Tue, Feb 21, 2017 at 11:29 PM, Dimitar Venkov<EMAIL_ADDRESS>wrote:

Hi John,
Can I make sure you're on a recent version of springs? There was an issue
a while back where the package manager went wonky and got some versions of
nodes confused. you should have a line that's similar to
if not ftype[j].IsActive : ftype[j].Activate()
that makes sure that the family type is always going to be activated.
My original logic with this node(and other nodes from sn) was to always
process lists and do pseudo-lacing inside the script for improved
performance. Otherwise, if you define your inputs as singletons, the python
interpreter would be called individually for each item in the input list
and that would affect performance negatively.
So you generally have two options - either provide one type that will be
used for all instances, or provide a list of types that matches your list
of points for when you want to have differing types:
[image: revit_2017-02-22_14-10-58]
https://cloud.githubusercontent.com/assets/7148394/23199700/026c0068-f90b-11e6-9d92-454f133d0039.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dimven/SpringNodes/issues/27#issuecomment-281581727,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APA-1BFEWuzJvQiM56YnPr5L80hIgKyKks5re9WtgaJpZM4MHivF
.

Forgot to reply. An update and removing list nesting fixed this issue for me!


Fetch_interfaces

Add a fetch_interfaces method with two possibilities. Extended take twice the time on my setup.

@jmanteau - any chance you have time to discuss next week?  I'd like to ensure your use-case is supported.

@jmanteau - I am hoping that you've had a chance to review my prior comment.  Please let me know if you are satisfied with the current approach/answer.  I will plan to close this PR in one week if I have not heard anything further from you.  Thank you.

I'm currently on medical leave. I'll not test this before next year. You can close it if you want, I'll check when I'll be back.

@jmanteau - I hope all goes well!  Let us reconnected in the new year.


[Doc] Fix inverted Y position description of y-sorting

Oops, my bad when I rewrote this description. Someone should have caught this ;)
Alternatively, I could change this to nodes with a higher Y position (lower on the screen) or nodes with a higher Y position (which is down in world space) to avoid confusion about world space and screen space.

FYI: I rewrote the Y-sorting description in #90096, which wasn't in 4.2 or 4.1, so cherrypicks for those branches might not apply.

Then those two are worth cherry-picking too, and then followed by this.

Thanks!


Need Help With Example

I tried out svg-cli-interactive and attempted to paste in the example blossom from the readme. The only change I made was to replace (tools/save-svg blossom "examples/blossom.svg") with blossom to render the object. The web UI started to lag pretty badly and the controls do not seem to update the SVG. The SVG that is rendered also does not look like it's correct to me. I don't see any errors in the web console This is in Firefox 91.0.2 on Ubuntu 18.04 64-bit.

Thanks for reporting this. I think I know what is causing the graphical errors. I think it’s related to a bug in my path namespace. When a float value is written in scientific notation, the lowercase e breaks an assumption I made about path string splitting.
If you change the rotation value in petal to 90.001 or similar, I think it’ll fix the render.
I will push an update to the webpage fixing this bug tomorrow.
As for the lag, I am aware that I need to improve efficiency with the library, but don’t have a clear path forward yet. I could turn off automatic evaluation which would keep the page snappy, but I’m not sure if that’s nice for usability.

If you change the rotation value in petal to 90.001 or similar, I think it’ll fix the render.

So do I change all the tf/rotate entries with (/ x y) statements to 90.001? Sorry, I'm not up to speed on the code.
(tf/rotate 90.001)

I could turn off automatic evaluation which would keep the page snappy, but I’m not sure if that’s nice for usability.

Could you add a delay after the user stops typing to start the evaluation? That was the hardest part for me. I started typing "blossom" and it would re-render after each keypress.

I think you only have to change the petal function:
(defn petal
  [cpts]
  (let [beza (apply path/bezier cpts)
        bezb (apply path/bezier (flip-y cpts))
        shape (tf/merge-paths beza bezb)
        ctr (tf/centroid shape)]
    (-> shape
        (tf/rotate -90.001) ;;add or remove decimal places to see if things work
        (tf/translate (utils/v* ctr [-1 -1])))))

I like the idea of adding a delay to the eval, I’ll work on that!

I think you only have to change the petal function:

Ah, ok. I can confirm that it does fix the render.


[config-builder] add template to safety rules

This allows afety rules to be built with a template. I also noticed a
couple of wonky things like duplicated calls to setting safety rules
paramters and not passing by reference the template option. I verified
that both validator and safety rules can leverage the template by
creating a template that focuses on non-standard logging and seeing it
appear in the destination.

:hourglass: Testing commit bc8efb511b6998811076241e925737a0ce32c2ba with merge 6f45031f387be5d78890cdae85f872bf54402685...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: mgorven
Pushing 6f45031f387be5d78890cdae85f872bf54402685 to master...


Improve scaffold instructions

The scaffold instructions are generic. Wondering if there is a way to make them specific to the scaffold so that it's clearer. e.g. "npm install" and "npm run dev" for the web dapp scaffold.

I like the idea. In this state, a developer is supposed to check the readme of the scaffold where they can find further instructions. We could possibly include that content on the screen after creating the scaffold, but it might be too much content to display. We could say that each scaffold is required to have short step-by-step instructions which we can display instead of the current one, but I'm concerned about whether such short step-by-step instructions are even possible for some scaffolds.

Yeah if it exists in say a specific file of a repo we could show it otherwise default back to this

https://github.com/onflow/flow-cli/issues/1795


[Edge] Compiled Component supports set attributes in component class

in php tmpl, the
<?php $component->withAttributes([]); ?>

Must use merge, this will clear all attributes.

4f9229669b81779af8aa403777af7455025b7eba


[DRAFT] Starter kit guide

To be merged right after: https://github.com/liveblocks/liveblocks.io/pull/660

Thanks for the help on this @taylorpwhipp! I like the videos and the text sounds great 🙂 I've made a few markdown changes to make certain parts easier to navigate/understand (e.g. file names above code blocks) and added in changes I made in another PR. Could you record another video in the same style for Auth0 too? Would be awesome if we could keep them consistent 🙌


test: Delete function

Codecov Report

Merging #2 (e73b0a6) into trunk (2665c3b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            trunk       #2   +/-   ##
=======================================
  Coverage   75.32%   75.32%
=======================================
  Files           5        5
  Lines         389      389
=======================================
  Hits          293      293
  Misses         73       73
  Partials       23       23

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


restore full set of configuration options

Thanks for adding these back in. I loaded up the zip you sent me so some of the below comments might not be applicable (or the action is on me to fix) but thought Id better mention them anyway.
Heres what I currently see:

Comments:

Can we have "Autobattle Hotkey" and the button inline rather then on seperate lines? A bit like how the sound option is
Can we shorten "Play sound when..." it is quite long and therefore clipping
I dont have any sounds

Theres a weird hover tooltip effect going on (this should be removed)

I assume "Debug: Action test break script" means "Stop executing script when a break statement is encountered". Can we get this renamed (or removed? is this useful to have?)
Why does hiding the minimap icon require a UI reload?

Is it worth evaluating if we need the settings (or certain settings) in the "Script selector" section? Having things more configurable is great, but should be limited to things users would actually find useful.

Keep in mind that all these changes are just restoring old functionality, not adding anything.
"can we make this say x instead?": all of these are localised and can be changed in the curseforge interface. I did not change any of them from the originals since I didn't have access back then.

Can we have "Autobattle Hotkey" and the button inline rather then on seperate lines? A bit like how the sound option is

Sadly no. We use Ace and the control for keybinds has no ability to do that. I tried, really. This entire thing is quite optimised for filling exactly one page.

Can we shorten "Play sound when..." it is quite long and therefore clipping

See translations.

I dont have any sounds

This is impressive. Then again, neither this addon nor Ace supplies any sounds. We can make it add some "our" sound, but usually people have DBM/BigWigs, which provides a lot already. Not having any addon providing a sound is quite a challenge, actually.

Theres a weird hover tooltip effect going on (this should be removed)

This is the mouse-over of the control below, and since this UI is done by Ace, we can't change it.

I assume "Debug: Action test break script" means "Stop executing script when a break statement is encountered". Can we get this renamed (or removed? is this useful to have?)

See translations.
 Yes, it means that if test() is executed, it outputs and stops rather than outputting and continuing.

Why does hiding the minimap icon require a UI reload?

I have no idea, didn't change anything. The answer has to be laziness.

Is it worth evaluating if we need the settings (or certain settings) in the "Script selector" section? Having things more configurable is great, but should be limited to things users would actually find useful.

Most users likely never use anything but Rematch. The other options are effectively dead, I don't know a single person using this addon without Rematch. Thus, all the data is dead, since only one option exists. As long as we have those options, I'd have the ability to reorder it though.

tl;dr: I'd keep options as they are since they had been like that before. If you want to change the texts, I'm 100% up for that.

Why does hiding the minimap icon require a UI reload?

 Additionally fixes #40 which is closely related.

No longer needs localisation string OPTION_SETTINGS_HIDE_MINIMAP_TOOLTIP. It can be removed from curse.

Thanks for the updates :) I have taken another look at this:

I usually run only PBS and Rematch when testing the addon, so that is why I didnt have any sounds. I enabled DBM but still didnt have any. Weakauras worked though, so I think its fine (does DBM not provide any sounds??). A small request: Can we have the sound play when one is selected? This is how it works in most addons. Currently, I can select a sound but only actually hear it within a pet battle.
If text changes can all be done in Curse, Ill sort that out!
Do we want to support this new Dragonflight addon menu thingy?

I still think we should probably remove the "Script selector" section as 99% of people will be using Rematch (and the addon should just default to "First enemy" if Rematch isnt found. But your decision on this one 👍
Can #43 be closed?

Ill try and get this into the next release. Thanks for restoring the options page! 😄

I usually run only PBS and Rematch when testing the addon, so that is why I didnt have any sounds. I enabled DBM but still didnt have any. Weakauras worked though, so I think its fine (does DBM not provide any sounds??). A small request: Can we have the sound play when one is selected? This is how it works in most addons. Currently, I can select a sound but only actually hear it within a pet battle.

The control has a bell icon on the left side. Clicking it previews the sound. While the dropdown is open, the same icon on the right side previews the sound.

Do we want to support this new Dragonflight addon menu thingy?

This is independent from this Pull Request. We can do that, if you want, but please handle it as a separate issue.

Can Fix global leak #43 be closed?

Yes, it is included here, so you can close it if this one is merged.


removed 'common issues' heading and fixed typo

Signed-off-by: Timothy Hanke<EMAIL_ADDRESS>Description
This PR fixes #1449 [Docs] Remove the common issue heading in contributing.md
Notes for Reviewers
I removed the Common Issues and Invalid C Headers (Mac OS) headings in order to make the paragraph that follows a note instead of its own section.
I also fixed what appeared to be a typo, by reversing gcc and Clang in this sentence:
Replacing gccwith Clang by addingexport CC=gcc to .bashrc / .zshrc should fix the issue.
In the linked note, the advice is to replace using Clang with using gcc.
I hope this change is acceptable to include in this same PR.
Signed commits

[ x] Yes, I signed my commits.

Whoo-hoo! @tim-hanke 🎈

@tim-hanke there's much more where that came from. Please engage at-will: help-wanted.
Also, you're most welcome to jump into the community Slack workspace here - http://slack.layer5.io. There will (for the first time) be a new contributors' meeting this coming week. It'd be great to have you on that call (or any of the rest on the community calendar).


GraphQL - Login, field visibility and authorization

This PR will implement visibility and authorization checks on query and mutation fields, and test them.
Also, User Login and token generation via the API.

Coverage remained the same at 92.951% when pulling f197684433175f516cd37ff7e9a4b84d339e5a9d on nimmo-stage-graphql-files into 662fc0ddad69b9a1a229d88e42376b7564093ce2 on master.

I believe this is ready for review.
There's still only one db model involved at this point, Users.
This PR:

Introduces field-level authorization for viewing object properties (i.e. columns in the db), and tests them
Adds and tests UserLogin, tests the token, and the authorization it provides for users' own fields vs public fields
Breaks out helpers to simplify the two main routes of testing this API

full http_requests from a front end
direct execution of graphql in the backend

Breaks out all Queries into a third file, graphql_queries.rb, included in both of the above helpers. Queries are basically JSON objects that must follow a specific syntax paralleling the query definitions in /graphql. So, to facilitate this, and use it going forward we'd:

manually update the GraphQL schema as it's developed, with rails graphql:dump_schema to public/schema.graphql
copy/paste query syntax needed in a test from the dump into the graphql_queries.rb file
Although this reduces query definition duplication in individual tests, it still introduces a "test-side" duplication of the schema that I don't like.

The schema itself should ideally serve as a single source of truth for graphql definitions. I'm researching how to use the schema directly in tests and will introduce that (and a test that the schema is up-to-date), in the next PR. If you prefer, though, i'll try to land it on this one.

Suggestion:
In app/controllers/graphql_controller.rb and other classes and modules,
add a comment immediately before the start of the class module.  See example below.
This avoids adding to the concealed backlog of Style/Documentation offenses.
# Parses an incoming request header to build a Context hash (authentication)
# and forwards that to the graphql Query, w/ Variables and Operation Name.
# Possible operation names: Query, Mutation, Union etc
class GraphqlController < ApplicationController
  # Note 22/02/10 - Nimmo
  # This controller is short but important.

FYI.
The developers should probably have a conversation about nested module/class definitions instead of compact style. Compact style saves space, but does have some risks. https://rubystyle.guide/#namespace-definition
app/graphql/inputs/user/login.rb - 2 offenses
Line #3 – Convention: Style/ClassAndModuleChildren: Use nested module/class definitions instead of compact style.
module Inputs::User
Line #4 – Convention: Style/Documentation: Missing top-level class documentation comment.
  class Login < Inputs::BaseInputObject

For module nesting, I'm happy to switch. I think here in some cases, we evade the risks cited in your linked article (thanks for that, it's key!) because the inner module will stay empty. It's only there to facilitate folder organization and autoloading.
So for example currently in graphql/inputs/user/login.rb
module Inputs::User
  class Login < Inputs::BaseInputObject
    description "Credentials necessary for user login"
    # the name is usually inferred by class name but can be overwritten
    graphql_name "UserLoginInput"

    argument :login, String, required: true
    argument :password, String, required: true
    argument :remember_me, Boolean, required: false
  end
end

...the module User doesn't add any code to its descendants.
But i like the idea of rewriting it, just for style consistency. Is this correct?
module Inputs
  module User
    class Login < Inputs::BaseInputObject
      description "Credentials necessary for user login"
      # the name is usually inferred by class name but can be overwritten
      graphql_name "UserLoginInput"

      argument :login, String, required: true
      argument :password, String, required: true
      argument :remember_me, Boolean, required: false
    end
  end
end

I think that's right.
I do want to learn more about GraphQL, and actually started looking at https://graphql.org/ yesterday. But it's going to be about 6 or 7 weeks before I can dig into it.
I'm out of steam for today, and don't think I can contribute anything more on this PR. So unless other people have comments, I thin you should move ahead.

This is pretty slick.  I couldn't follow very well by looking at the changes, but when I finally just downloaded your PR and browsed through all the files in the app/graphql directory tree... nice, very simple and powerful.  I like.

This is pretty slick.  I couldn't follow very well by looking at the changes, but when I finally just downloaded your PR and browsed through all the files in the app/graphql directory tree... nice, very simple and powerful.  I like.

If you've got it downloaded, a good way to kick the tires is to start up Rails, go to http://localhost:3000/graphiql and try a query. I'm going to try it right now though first! If it's still OK after my commits today i'll give you an example query to play with.

Whew still good.
Try pasting this in the left column of the graphiql screen, and then click the "play" button (selecting one or the other query):
mutation userLogin {
  userLogin(input: { login: "nathan", password: "password" }) {
    user {
      id
      name
      email
    }
    token
  }
}

query user {
  user(id: 1) {
    id
    name
    email
  }
}

You can of course change any of those params.

Sounds like you understand it better than me.  I'm convinced.  It is
confusing when multiple layers and systems interact like this.
On Tue, Feb 22, 2022 at 10:49 PM andrew nimmo @.***>
wrote:

@.**** commented on this pull request.
In app/graphql/inputs/user/login.rb
https://github.com/MushroomObserver/mushroom-observer/pull/857#discussion_r812539137
:

@@ -0,0 +1,16 @@
+# frozen_string_literal: true

+# Input object for a userLogin mutation
+module Inputs

module User
class Login < Inputs::BaseInputObject

 description "Credentials necessary for user login"

 # the name is usually inferred by class name but can be overwritten

 graphql_name "UserLoginInput"

 argument :login, String, required: true

 argument :password, String, required: true

 argument :remember_me, Boolean, required: false

You're right, it doesn't do anything right now. And yes, Sveltekit stores
the token in a local storage.
I was thinking Rails would encode that param in the token as a flag to the
frontend to either delete the token after x hours if the user forgets to
log out (as in the case of a public or shared computer) -- or, if "remember
me" is true, just keep using the same one. I believe the token is good for
a while, unless we set the duration shorter.
Am I still thinking garbled about tokens? Highly likely.... hopefully i'm
starting to get it though...
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#discussion_r812539137,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNNBVCCNV5WJNAXTYMDU4RKNFANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

I'll give it a shot soon as the dev VM fires up...
So, do I understand correctly that you could essentially flesh out the
read-only part of the interface pretty rapidly at this point?  It looks
like you have all the basic underlying functionality worked out.
I realize mutations will require a bit more work.  It's a bit more involved
than simply listing column types and taking a bow. :)
What about the associations?  Is there more infrastructure work there?
On Tue, Feb 22, 2022 at 10:56 PM andrew nimmo @.***>
wrote:

Whew still good.
Try pasting this in the left column of the graphiql screen, and then
click the "play" button (selecting one or the other query):
mutation userLogin {
userLogin(input: { login: "nathan", password: "password" }) {
user {
id
name
email
}
token
}
}
query user {
user(id: 1) {
id
name
email
}
}
You can of course change any of those params.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1048427722,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNIMCPWYUPB6SQ5Y2RTU4RLIFANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

I don't seem to be able to access the owner-only fields.  It's like it
doesn't realize I've logged in.  Is there some way to add the token I got
back from the userLogin mutation  to the user query?
On Tue, Feb 22, 2022 at 10:56 PM andrew nimmo @.***>
wrote:

Whew still good.
Try pasting this in the left column of the graphiql screen, and then
click the "play" button (selecting one or the other query):
mutation userLogin {
userLogin(input: { login: "nathan", password: "password" }) {
user {
id
name
email
}
token
}
}
query user {
user(id: 1) {
id
name
email
}
}
You can of course change any of those params.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1048427722,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNIMCPWYUPB6SQ5Y2RTU4RLIFANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

Re: owner only fields... GraphiQL has, on the bottom left, a REQUEST HEADERS editor, so you can paste in the token you get from a login mutation right there in GraphiQL, and use it to authorize a request to see Jason Hollinger's email address. Muhahahahahaa.
(Oddly, it's the same as Rolf Singer's -<EMAIL_ADDRESS>Are they the same person?!)

Yes it does seem that the read-only part will be quicker to flesh out. This foundation is already waay better than what i'd been playing with before getting review from you and Joe.
Associations get added directly to the type, as you probably noticed in the long commented-out section at the bottom of types/models/user.rb. That's where the batch/eager loading comes in to play, we'll need to pay closer attention to that at some point.

Using an auth header will also allow you to get something from checking the visitor query. Be sure to ask for user fields in the return... any user field should work.
query visitor {
  visitor {
    id
    login
    name
    email
  }
}

Note for the build-out: Unions are a separate Type from Associations, in GraphQL.

Yes, that can be reduced to a single line!
user.update(last_login: Time.zone.now)
On Tue, Feb 22, 2022 at 11:29 PM andrew nimmo @.***>
wrote:

@.**** commented on this pull request.
In app/graphql/mutations/user/login.rb
https://github.com/MushroomObserver/mushroom-observer/pull/857#discussion_r812551761
:

 field :token, String, null: true

 field :user, Types::Models::UserType, null: true

 def resolve(input: nil)

   user = User.authenticate(**input)

   return {} unless user

   raise(GraphQL::ExecutionError.new("User not verified")) unless

     user.verified

   now = Time.zone.now

   args = {

     last_login: now,

     updated_at: now

ok. Do i understand right, that if I just do User.update({ last_login:
now }) this is all I need to do, and will update updated_at? If so I will
delete that second arg.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#discussion_r812551761,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNIMZJMO46N3OHOSRTTU4RPBTANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

Yes, that worked!  Thanks.  I would never have been able to do all that
without copying and pasting from your examples, but that's what svelte is
gonna be for, right? :)
On Tue, Feb 22, 2022 at 11:12 PM andrew nimmo @.***>
wrote:

Re: owner only fields... GraphiQL has, on the bottom left, a REQUEST
HEADERS editor, so you can paste in the token you get from a login mutation
right there in GraphiQL, and use it to authorize a request to see Jason
Hollinger's email address. Muhahahahahaa.
(Oddly, it's the same as Rolf Singer's - @.***"
Are they the same person?!)
[image: Screen Shot 2022-02-22 at 8 05 00 PM]
https://user-images.githubusercontent.com/1948095/155260210-d5031174-fe50-4cf6-b041-5507f72f318f.png
Yes it does seem that the read-only part will be quicker to flesh out.
This foundation is already waay better than what i'd been playing with
before getting review from you and Joe.
Associations get added directly to the type, as you probably noticed in
the long commented-out section at the bottom of types/models/user.rb.
That's where the batch/eager loading comes in to play, we'll need to pay
closer attention to that at some point.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1048433901,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNNJ7FRXWQ547CGUZYDU4RNCTANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

I know what you mean and I was kind of mystified by how to use graphiql at first. But all the available correct syntax for the current schema is available in the Documentation Explorer on the upper right corner of the graphiql screen.  (The "Documentation" this refers to is our own -- whatever we've written in our Graphql type descriptions.)

In this screenshot above, the words Query and Mutation are links to the available Queries and Mutations on MO, and their syntax.

But even easier than that, you can just type slowly... graphiql's autocomplete suggests everything available, in correct context too, while you're typing. For example here, I'm naming a query findJason, and as soon as I tell graphiql it's a "user" query, it suggests params. The same suggestions are made for the return hash.
In the SvelteKit app, I do have to maintain TypeScript definitions of the "queries" and "mutations" i'm using in the front end. These get called by a GraphQL client JS library (@apollo/client)
One of the libraries (graphql-codegen) also generates its own copy of the schema by doing an "introspection", a special graphQL query that says "Give me the whole schema structure", that should definitely be disabled in production!

Good point, I did notice it autocompleting handily.  The autodocumentation
is slick, too.  Thanks.
On Wed, Feb 23, 2022 at 12:15 AM andrew nimmo @.***>
wrote:

I know what you mean and I was kind of mystified by how to use graphiql at
first. But all the available correct syntax for the current schema is
available in the Documentation Explorer on the upper right corner of the
graphiql screen. (The "Documentation" this refers to is our own --
whatever we've written in our Graphql type descriptions.)
[image: Screen Shot 2022-02-22 at 9 05 39 PM]
https://user-images.githubusercontent.com/1948095/155264530-18092780-b0eb-4f1d-b8d4-ca9538e39e41.png
In this screenshot above, the words Query and Mutation are links to the
available Queries and Mutations on MO, and their syntax.
[image: Screen Shot 2022-02-22 at 9 10 36 PM]
https://user-images.githubusercontent.com/1948095/155264881-a576ecc5-7495-4f1f-915d-5ae95a716301.png
But even easier than that, you can just type slowly... graphiql's
autocomplete suggests everything available, in correct context too, while
you're typing. For example here, I'm naming a query findJason, and as
soon as I tell graphiql it's a "user" query, it suggests params. The same
suggestions are made for the return hash.
In the SvelteKit app, I do have to maintain TypeScript definitions of the
"queries" and "mutations" i'm using in the front end. These get called by a
GraphQL client JS library @.***/client)
One of the libraries (graphql-codegen) also generates its own copy of the
schema by doing an "introspection", a special graphQL query that says "Give
me the whole schema structure", that should definitely be disabled in
production!
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1048455851,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNJN6NGNAWLTSBPA6GDU4RUOVANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

Updated userLogin to handle the "remember_me" arg properly.
Also adds a "remember_me" boolean to the token, with a "created_at" time.
TBD how the front end will handle these.

LOL, hold up.  Am I obligating the front end to decrypt the token to figure out remember_me and the created_at time? Hahahaha that ain't gon work...
I should pull this all out and make "remember_me" be a param of the front end's local storage ONLY. Nothing to do with graphql, as @pellaea wisely intuited!!

Ha!
On Wed, Feb 23, 2022 at 2:14 AM andrew nimmo @.***>
wrote:

LOL, hold up. Am I obligating the front end to decrypt the token to figure
out remember_me and the created_at time? Hahahaha that ain't gon work...
I should pull this all out and make "remember_me" be a param of the front
end's local storage ONLY. Nothing to do with graphql, as @pellaea
https://github.com/pellaea wisely intuited!!
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1048502327,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNPECHSG2P2UKZ6QPT3U4SCN5ANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Maybe it would be wise to pass the value of "remember_me" straight back to the front end via the return hash -- the form values might be cleared at this point, or otherwise inaccessible? Then the front end has everything it needs in one place to store the token, user, and remember preference locally...

That makes a lot of sense.  Come to think of it, I'm not sure how else it
could work.  These sorts of things mess with my mind.
On Wed, Feb 23, 2022 at 2:24 AM andrew nimmo @.***>
wrote:

Maybe it would be wise to pass the value of "remember_me" straight back to
the front end via the return hash -- the form values might be cleared at
this point, or otherwise inaccessible? Then the front end has everything it
needs in one place to store the token, user, and remember preference
locally...
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1048507501,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNLRM42HH4QBGV7IVRLU4SDUFANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

I believe this will work and is preferable. It keeps the submitted form data together (so the remember_me checkbox doesn't have to live outside the form element), and keeps it handy in the return hash, with all the other goodies that go into local storage.
If that's backwards, i'll remove it later.

Thank you for that very patient sanity check!

Still altering test helpers. They weren't posting JSON, they were posting ruby hashes, and booleans/integers were converted to strings.

Merged recent commits to master into this branch. I believe it's good to go.

Okay, I'll merge it.  Thanks, Nimmo!
On Wed, Feb 23, 2022 at 3:45 PM andrew nimmo @.***>
wrote:

Merged recent commits to master into this branch. I believe it's good to
go.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/857#issuecomment-1049200864,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNP5DQTGNK7NO7U6X4TU4VBQJANCNFSM5ONMB3QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


Select is not scrollable in doc

There is a scrollable example in documentation. I copied and paste this code and it doesn't work.
Probably, you forgot to add something important staff to description. Because i don't understand how it is working in your example but doesn't on my local code

@gitRacoon the issue #2034 has the solution for this problem:
https://github.com/shadcn-ui/ui/issues/2034#issuecomment-1837401104

Maybe do a fresh install for select. I had installed the select component back on Sept 2.

@gitRacoon the issue #2034 has the solution for this problem: #2034 (comment)

This isn't quite the same as the example in the docs. There is no indication that the user can scroll the area to uncover more options. The docs example has an arrow that when you hover will scroll through the items for you.

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Review Sentry logging

We should review Sentry logging to confirm expect behaviour.  This is a critical piece of infrastructure that enables dev to debug and resolve issues in an efficient and timely manor.

Sentry logging has been implemented for both API and crawler.


Potions don't get automatically refreshed all the time in multiplayer

I've noticed that in multiplayer, once potions run out, they aren't getting reapplied automatically. This only started happening recently, since we started the lunar pillar event. I've talked about it with other players, but they don't seem to have noticed.
I can't reproduce this bug reliably. Restarting the game fixes it for a while, but the bug starts happening again after a random amount of time, and doesn't go away on its own. Disabling and enabling the automatic potion drinking re-applies the missing effects, but after they run out, they aren't applied again.
You can see a few buffs running out on this image:

Afterwards, even though the chat says automatic potion drinking is enabled, the buffs aren't getting reapplied:

Disabling and enabling automatic potion drinking refreshes the missing buffs:

I've included the client and server options:

I've also attached the client.log, but it doesn't say anything, the screenshots above were taken at 23:31. Useful for the loaded mods list, I suppose:
autopotionbug.client.log

I updated the mod with some changes and added some logs. I can't really reproduce the bug on my side. And I checked the logic of my mod and I can't really see how the bug could happen.
Maybe if you can consistently reproduce it you could send me the potions in the inventory.
Or maybe a player + world + mods zip file would be easiest.

Caught it. Seems like something triggers a loop. Thanks for the update, I've included the fresh log.
potionloop.client.log
Only additional potions I use are from Calamity and I have no other potion mods. I do not know which effect could be 575, but I use a potion, "Fabsol's Vodka", that inflicts a debuff rather than a buff. I'm not sure if this could be the cause, but I felt like I should mention it just in case.

There was a problem where certain potions turn off / disable other potions which would cause my mod to continuously try and consume a new potion. For example: Profaned Rage Potion + Rage Potion. The tool tip says which potions are compatible. I think I made exceptions for all potions which don't work together but there might be others that I missed.
This might be related but I don't have high hopes.
I updated the mod and if it is still happening telling me with what potions it happens would help immensely.

Sadly, it still happens. I went through my list of potions to make sure I'm not using anything conflicting, and I haven't found anything so far. I even counted how many potions I'm using and they match up with the number of buffs I receive. The log still lists the same error: "Potion with buff: 575 was not in activatedPotion list." It repeats this message 55 times per second, so almost every frame.(I have Frame Skip on Subtle with the framerate limit on 60, but I still dip sometimes because of effects on screen.)
I've compiled a list of my potions and their effects to save some time, aswell as the buffs I receive and the armor and accessories I'm currently using.
potionsbuffsarmoraccessories.txt
Here's a picture to compare them to.

I fixed the bug. The 575 buff type is the item Heart of the Elements.
Don't know why my changes work but when I tested it I could not reproduce the bug.
Please confirm if it is fixed on your side.

Testing the latest build, I can confirm that the issue is fixed! I never would've thought that Heart of the Elements was the cause. I'll mark this issue as resolved, thank you so much for your help!


feat: allow trade preview when wallet not connected

Description
https://github.com/balancer-labs/frontend-v2/issues/1103
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Dependency changes
[ ] Code refactor / cleanup
[ ] Documentation or wording changes
[ ] Other

How should this be tested?
On trade page, attempt different types of trades. There will be a new element showing estimated trade fees. This should be the same as "Preview" modal. The advantage is that the fee is displayed even when a wallet is not connected.
Visual context
A new line with estimated trade fee. This could potentially use smaller font / grey colour in order to decrease importance.
Checklist:

[x] I have performed a self-review of my own code
[x] I have requested at least 2 reviews (If the PR is significant enough, use best judgement here)
[n/a] I have commented my code where relevant, particularly in hard-to-understand areas
[n/a] If package-lock.json has changes, it was intentional.
[x] The base of this PR is master if hotfix, develop if not

@Matthews3301 I like being able to show people without connected wallets more information. My preference would be to enable previews for all users, even without connected wallets. For example, we could enable previews for all users, and then ask people to connect wallet as the first step on the preview.

screen?
We've discussed doing this before, but from memory, the code from the trade screen which enables a user to refresh prices when it updates would also need to be transferred across.

The preview button isn't working for me in Chrome without a wallet connected. It shows as enabled but doesn't do anything when clicked.

I managed to reproduce the error. When the trade has not been calculated the preview button is enabled but you can't click it. The console has 'invalid decimal value in it. Though I thought last time the preview button didn't work the trade had been calculated.

Full stack:
"Error: invalid decimal value (argument="value", value="", code=INVALID_ARGUMENT, version=bignumber/5.4.2)
    at h.makeError (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:1056:54197)
    at h.throwError (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:1056:54317)
    at h.throwArgumentError (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:1056:54372)
    at y (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:1:73269)
    at x.fn (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/TradePage.7cfceb39.js:17:109191)
    at x.run (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:15505)
    at get value [as value] (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:24196)
    at Object.$ [as getQuote] (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/TradePage.7cfceb39.js:17:107611)
    at Object.G [as getQuote] (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/TradePage.7cfceb39.js:17:111214)
    at setup (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/TradePage.7cfceb39.js:17:65892)
    at eo (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:73751)
    at Ni (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:70884)
    at Ci (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:70670)
    at R (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:54433)
    at N (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:54327)
    at g (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:51205)
    at k (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:53581)
    at Object.process (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:61518)
    at g (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:51243)
    at k (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:53581)
    at C (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:54136)
    at g (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:51141)
    at x.u [as fn] (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:55022)
    at x.run (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:15505)
    at eo (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:73759)
    at ko (https://beta-app-git-feat-trade-fees-on-trade-card-balancer.vercel.app/js/chunk-vendors.403bcd6a.js:963:75487)"

@timjrobinson thanks for spotting this! This was due to not enough liquidity for this pair - should be fixed now, with a warning panel.

That seems to be fixed now. I've found another bug. Can reproduce by doing trade from ETH -> BAL, waiting for it to load, then click the flip button. When entering BAL directly it doesn't show. This is without a wallet connected.

@timjrobinson thanks, should be fixed now.

Two cases which don't work as intended:

Connected wallet where the trade input amount exceeds the wallet’s balance.
User starts with a disconnected wallet and proceeds to the preview screen. Upon connecting their wallet, their trade input amount exceeded their newly connected wallet balancer.

See here: https://www.loom.com/share/bd4f068c45fe4c6e9dacb188274a1db4
In both these cases, the CTA’s on the preview screen are enabled which results in errors.
In both these cases, on the preview screen, ideally:

The ‘Approve token’ or ‘Confirm transaction’ buttons should be disabled.
There needs to be a warning explaining why the user can’t proceed.

In addition, I think we should move all the warnings that we display on the Trade screen, to the Preview screen. The main reason, is that people who saw a warning, may forget about it while context switching to connect a wallet.
Designs here:
https://www.figma.com/file/RaJwiVlHqra4dQ0cQS3OOu/UI-Tweaks?node-id=1124%3A3566

@pkattera The errors and warnings are now present on both the Trade screen and the Preview modal.

@pkattera @garethfuller This is now ready for re-review and approval.


iOS bottom bar covers buttons

@rparet What version of the hardware did you view this on? I viewed this screen on an iPhone 8 and iPhone 11 and I don't see this issue occuring.

No longer an issue.


Support react-navigation v3

We need to support react-navigation v3.
But it's just released and it does not seem to be stable.
pre-release on npm: react-navigation-collapsible@next

yep there seems to be some issues for example the header is missing some paddingHeight for me , like 20 and goes to the wrong spot all the time.
not exactly sure of where it comes from.. happy to have a look this weekend if no one does before

i think we also need to remove the safeareaview included in this module

Yes, I'm updating the work here https://github.com/benevbright/react-navigation-collapsible/pull/50.

when using collapsibleCustomHeader appear white background after header
scroll half:

end scroll:

Thanks very much. @z98361
I'll look at it.

Hi @benevbright,
first of all congratulations for your very useful module.
Any updates about RN 3.0 support? The latest version is still in alpha.


stream: use FxHash for stream maps

Stream IDs are just numbers, so using the default HashMap hasher is kind
of pointless and unnecessarily expensive. FxHash is supposedly faster
for this kind of input.

maybe even no hash would work....
https://crates.io/crates/nohash

Do you have a number how much this PR can reduce CPU resource or speed up?

@LPardue yeah, good idea, we can probably just implement our own StreamIdHasher as well, so we don't need to add an external dependency. Closing this for now.
@junhochoi haven't measured this one yet, but the default hasher shows up in flamegraphs a bit all over the place. It's not a huge amount, but if it's easy enough to reduce then I think we should do it (if anything it would reduce noise in flamegraphs).