[BUG] beartype.cave does not explicitly reexport anything le sigh

We run mypy with --no-implicit-reexport to discover accidental imports from modules where a name is not publicly exposed. Beartype fails this from beartype.roar import BeartypeException, seemingly because its defined in beartype.roar._roarexc and isn't in contained in beartype.roar.__all__.
Is there a good reason that the exceptions are defined in an other module than what's exposed? If so, would you consider adding an __all__ to make them explicitly reexported?

Noted your comment about Norwegian Black Metal in the other thread and decided I must include a depiction of an implicitly reexported name. Here it is. Look at it. Do you really want to import that!?

Is there a good reason that the exceptions are defined in an other module than what's exposed?

...none. None whatsoever.
Very well. You deserve the uncomfortable truth. My fifteen year-old Vim setup coughs and then falls over when confronted with long Python files. I won't admit what "long" specifically means, because it's sad.

If so, would you consider adding an __all__ to make them explicitly reexported?

Yes! This is easier and safer than revising my fifteen year-old Vim setup. Even a Canadian man living in the ice wastes dares not trod on that holy ground.

It looks like beartype.cave could use the same treatment

^ pyright is mad

</gulp>
You are not wrong, MIT Ryan. You never are. Let's reopen this under a fashionably late new name. Some bugs never stay squashed. :hiking_boot: :bug:

@leycec Note that mypy just changed behavior (unreleased) to be in line with other type checkers, and now consider from mod import * as an explicit re-export. Not sure if that would help here though, as the explicitness would just have to moved one level further down.

Noice. Thanks for the heads up, fellow aficionado of the great frozen wastes of the North! We applaud mypy conforming to community standards while hanging our head in snow-drenched shame that beartype.cave itself fails to conform to community standards.
Some APIs you just can't reach.

Resolved by 7cd3333... yet again.
beartype.cave now explicitly reexports its public API. In theory, this means the entire @beartype API is now explicitly reexported and should pass mypy --no-implicit-reexport without complaint or shocking scandal.
In practice, you're our last line of defence. In @antonagestam we trust. :statue_of_liberty:


feat(cli): suggest matching commands

closes #439

Coverage remained the same at 95.235% when pulling 90d06c21b00911996e7f06734f77e1ad61852358 on jamesgeorge007:feat/recommend-commands into 3b9127964ebaf9db212cff1af587961159cce182 on accordproject:master.

@jeromesimeon I guess having another PR for the purpose makes sense :thinking:

@jeromesimeon I guess having another PR for the purpose makes sense 🤔

Not really. It was already fixed but now we have to merge the two PRs which will have conflicts. It's more work for everyone for no good reason.
Could you please revert this PR and close the other one?


Several issues on local testing

Firstly, thanks for providing amazing tool for penetration testing.
I have come up with several issues while testing google authorization on local environment with -developer and -debug options:

You set explicitly XMLHttpRequest header Access-Control-Allow-Origin with value '*'. So browser always tells to fix when credentials mode is on
I found interesting bug i guess, for some reason order of phish_sub records in .yaml  matters for the parser. For example,  if first phish_sub is accounts.google.com and last phish_sub is accounts.youtube.com, redirection will not work to main subdomain accounts.google.com, but instead will redirect to accounts.youtube.com. Maybe i understood something incorrectly in docs, but it is happening to me.
and for some other reason what is working in google-chrome not working on firefox, i don't know why some buttons are not being triggered on press in Firefox, however with same lure it is working in google-chrome, it happens on login page: /signin/v2/identifier, also it maybe my mistake, thus sorry if it is stupid question

Thanks for your time and consideration.

Hey @bedilbek !
Thanks for sharing your findings.

Can you elaborate exactly what is the browser's message to fix? What is the credentials mode exactly?
This will normally happen if you duplicate values of phish_sub in any entry. You can use something else than accounts for the second entry. I'd use just phish_sub: 'youtube' and it will work fine.
I haven't seen any similar issues, but I will check.

Thank you for your reply and help @kgretzky.
Now I understand that phish_sub values should be unique, because configuration was working unpredictably wrong)
Let me clarify my findings about the CORS issue:
Browser's error message was the following:

The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

Thank your for your time and consideration. I am looking forward for your response.


Bug 2158550: Display MigrationPolicy page after renaming correctly

📝 Description
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=2158550
Display MigrationPolicy details page or MigrationPolicies list correctly with no error, after changing the name of some MigrationPolicy resource (depending on the actual location while renaming the policy).
More details:
The core of the problem was here where the original name of the policy was searched in the WHOLE URL and not at its end, where it belongs, so it was only logical that the first occurence of "a" was found "earlier" in the url string than expected and replaces by the new name, so "migraations" occurred in the url, that lead to the error, as such page wasn't found.
🎥 Screenshots
Before:
Error after renaming MigrationPolicy and incorrect url, especially if MigrationPolicy had a very simple name like "a":
URL: /k8s/cluster/migraations.kubevirt.io~v1alpha1~MigrationPolicy/a

After:
No error after renaming MigrationPolicy (to 'aa'), page rendered correctly:
URL: /k8s/cluster/migrations.kubevirt.io~v1alpha1~MigrationPolicy/aa

/lgtm

/retest

/retest

/retest


Say Command

I tried to use the say command in the console. With spaces and didn't work. It worked before (3 Updates ago). I also added /R/G/B after this screenshot was taken.

Only works in-game.
:(

hm, thought that this was caused by a plugin that I installed...
I have this bug, too. Can confirm. I use broadcast instead, as a workaround.

It works for me, you have to use quotes around the command now, as the the Unturned base commands are ran through rocket now.
so something like say "message here" should work, as long as you don't have forward slashes in it, as rocket still collapses the string into a slash separated string when sending to the internal command.

@cartman-2000 didn't even think about that, thanks

@cartman-2000 , not completely true: https://github.com/RocketMod/Rocket.Unturned/blob/master/Rocket.Unturned/Commands/UnturnedCommands.cs#L90


When TGB Home was upgraded, and then undone, it looks like it failed. May be Network Issue

When TGB Home was upgraded, and then undone, it looks like it failed.
May be Network Issue.
When Applied, it did not orient as desired
The Undo seems to not have removed it from local, but did on remote clients.
Maybe Null Pointer failure issue?

Need to re-test. And Verify if this was a THB (Hamilton Tile) was the issue.


main: extract a status object

Motivation for changes
I didn't like the mixing of error reporting (through io::Writer) and business logic inside the process function. By extracting a Status object, the two are separated, just like NixpkgsProblem did on a lower level.
Description of changes

[x] Extracted Status object which contains the actual status of nixpkgs-check-by-name checks.
[x] Isolated coloring decisions to private Status::fmt method.
[x] Isolated ExitCode transformation to From impl.
[x] Introduced ColoredStatus which is the colored version of status; it's used exclusively in main.
[x] All tests continue to pass without the NO_COLOR environment variable and test-only io::Writer.

It's mildly longer (~53 more lines) due to the needed boilerplate of being a module.


doc: make sure configmap object referred or documented correctly

Signed-off-by: Humble Chirammal<EMAIL_ADDRESS>

@Madhu-1 @nixpanic ptal.

Closing this PR for avoiding wrong push.


Out of index

Hello,
For the training of the model on my own dataset, I run nnFormerTrainerV2.py, but got the error:  "index 1 is out of bounds for axis 0 with size 1". My dataset has two classes. (0,1,2)
What is the problem? Actually, I didn't change anything. What should I do to use my dataset? Where can I declare the number of classes of the images?
The error:
2023-05-04 17:27:32.511976: Using dummy2d data augmentation
loading dataset
loading all case properties
2023-05-04 17:27:32.515295: Using splits from existing split file: /data/11-nnFormer-main/nnFormer/nnformer/preprocessed/Task101_SCGM/splits_final.pkl
2023-05-04 17:27:32.515380: The split file contains 5 splits.
2023-05-04 17:27:32.515409: Desired fold for training: 0
2023-05-04 17:27:32.515449: This split has 52 training and 13 validation cases.
unpacking dataset
done
2023-05-04 17:27:34.172062: lr: 0.01
Exception in background worker 0:

I also encountered the same problem, did you solve it?


RFC: better API for plot_topomap bands parameter?

plot_psds_topomap, plot_epochs_psd_topomap, and epochs.plot_psd_topomap have a bands parameter that takes a list of tuples as input. The format is:
Length-2 tuples specify a single frequency and a subplot title (e.g.,
``(6.5, 'presentation rate')``); length-3 tuples specify lower and
upper band edges and a subplot title.

This seems inelegant: input is one or more strings, each associated with 1 or 2 numbers. It is begging to be a dict.  Proposed new API:
If a :class:`dict`, keys will be used as subplot titles and dict values should be
either single frequency values or length-two :class:`tuples<tuple>` indicating
lower and upper band edges.

We could easily, silently support 'lists' or np.arrays as the dict values too; and also treat length-1 dict values as equivalent to passing a single value:
if not hasattr(value, '__len__') or len(value) == 1:
    # assume single freq value
elif len(value) == 2:
    # lower/upper band edges
else:
    raise ValueError()

Agreed a dict is better here, and +1 for keeping undocumented backward compat support for the old mode if it's easy


#527 Import Testset from an Endpoint

related to the issue #527
This PR adds a new method for creating a testset by importing data from an endpoint.
A new button has been added, leading to a new page where users can submit a testset name and endpoint.
The server will fetch data from the endpoint and save it to the DB like what the upload method does.
Currently I've only handled JSON format response.
I'm not a native English speaker, so if there are any English texts that need modification, please let me know.
Web screenshots:

@all-contributors please add @kangsuhyun-yanolja for code


Make SQL User password optional and generate of omitted

Previously, password was a required field for SQL users. This caused
import problems because we can't read and set the password (nor do
we want to).
This change makes it optional, and if it's omitted, we randomly
generate a 32-character random password. This password isn't saved
to state, though. The user needs to then change it via the web UI.
Setting the password field to null after the resource is created
will not change the password, but makes Terraform forget it.

A couple of questions:

currently passwords are indeed saved in state right, as is the case for "sensitive" fields?

"Setting the password field to null after the resource is created will not change the password, but makes Terraform forget it." The generated password isn't stored in state right, so what is getting forgotten here?

currently passwords are indeed saved in state right, as is the case for "sensitive" fields?

Yes, and non-null passwords in the config will continue to show up in the state. That's important context for your second question.

"Setting the password field to null after the resource is created will not change the password, but makes Terraform forget it." The generated password isn't stored in state right, so what is getting forgotten here?

We're not removing the password field from Terraform entirely. The scenario I'm talking about is when you give the password field a value initially, then set it to null in a subsequent update. That'll remove it from Terraform state but won't change it via the API.

@marksoper This is to allow organizations that want to manage existing users to import them without including their existing passwords into the state. Alternatively, if the password was stored in a separate block, we could have that block be set to null?
For example:
resource "cockroach_sql_user" "crl_engineer" {
  cluster_id = cockroach_cluster.mycluster.id
  name = "catj"
  password_authentication {
      password = "test1234"
  }
}

This would open the door to being able to define SSO users without having to leave the password empty (but would be backwards incompatible with existing configuration):
resource "cockroach_sql_user" "crl_engineer" {
  cluster_id = cockroach_cluster.mycluster.id
  name = "catj"
  oidc_authentication {
      id = "12345678"
  }
}

Ok, thanks @catj-cockroach and @erademacher. A couple of follow-ups:

Why the decision to not store auto-gen passwords in Terraform state? I assume this is mainly in support of importing (bulk) sql users? There's no reason to store the password because those users won't be logging in via TF? We just want to get them into the database easily?
2 @catj-cockroach it looks like we'll be moving toward supporting multiple forms of auth for sql users, which makes sense. What's the timeline? That will be a breaking change right? Can we separate that concern from this PR or should we consider going ahead and making that change sooner rather than later?

Why the decision to not store auto-gen passwords in Terraform state? I assume this is mainly in support of importing (bulk) sql users? There's no reason to store the password because those users won't be logging in via TF? We just want to get them into the database easily?

Correct. CreateSQLUser requires a password, but users won't always want to keep everyone's password in the plain-text .tfstate file. The idea here is that they create users for everyone, but the users themselves manage their own passwords. They can reset the password through the web UI (or the API if they're so inclined).
Also, since the API doesn't return passwords, we need this change to make import work. Password needs to be nullable, or the state can't match the config.

3 If an auto-gen password is used initially, can customer use TF to change that to a user-supplied password by entering a value in the .tf file? Will the initial choice of leaving the password null prevent it from ever being set manually in the future via TF?

Yes, you can still set the password attribute to a non-null value to change it via TF, even if it was initially random and unknown.

Alternatively, if the password was stored in a separate block, we could have that block be set to null?

What's the benefit of that approach as opposed to just making password optional? Seems functionally equivalent to me.

Looks good to me @erademacher . I don't know if we've incorporated @catj-cockroach 's concerns sufficiently, but this seems like a good change to make that will solve several problems without breakage or painting us into a corner.

TFTR! I'm not eager to make any breaking changes for the sake of future SSO support, nor am I convinced that breaking changes will really be required. We'll cross that bridge when we get there.


Better Tutorials

The wiki needs better tutorials on how to use the library, and how to make your own scripts.

I think the tutorials are pretty much done. Obviously, the wiki will be updated in the future when new features are added accordingly, but it should be fine for now.


Cy expand collapse expanded node class addition

I added the class 'cy-expand-collapse-expanded-node' for expanded nodes. I realized there was a class for collapsed nodes, but I needed it for expanded ones too.

Sorry, but I didn't realize "parent" is exact the same class...


experiment using qdd for arc-deploy instead of npmci

https://twitter.com/bengl/status/975903093454913536
and
https://www.npmjs.com/package/qdd
could be faster!

Now using this for arc-deploy 🎉


cusOemProbes crashes the application

Problem
Calling cusOemProbes (or using the 'p' command in the console example) crashes the application with the following message:
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'std::runtime_error'
  what():  Node 'biopsy': Node 'geometry': Node 'x origin': Could not parse constant value: '-13.40 mm'
  zsh: abort (core dumped)  ./test

This only happens in the console example and in my custom code.
The Qt Example also uses this function and does not crash.
Steps to reproduce

Start the console example
Run the 'p' command

ensure you call this function after the a successful call to cusOemInit(). The next version of the API will add some improvements, as well as refactor the example program to help clarify and improve the management of function calls

Ah good to hear!
Both the example and my code make a successful call to cusOemInit. The function still raises the error :/

I tried this again with version 8.4.0, the function still raises this error.

8.6.0 is released now and can be tested.


Use upstream as the base branch for new pull requests

This is spawned from vermiculus/magithub#58.
I'll probably be able to change the default behavior in my development, but I think it deserves to be considered as basic hub behavior as well. To my understanding, upstream is a more appropriate default across GitHub workflows. (At the very least, I can't think of any counter-arguments.)

Could you elaborate a bit more? Are you talking about a git remote named "upstream", by chance? Or are you talking about git repositories that have their default branch set to "upstream" instead of "master"? Which mainstream git workflows change the name of the main branch to "upstream"? I've heard of "develop" (e.g. git-flow) but never of "upstream".

I'm not talking about any particular branch; I'm talking about a branch property (set with git branch --set-upstream my-branch my-upstream).
Consider a scenario (as in the linked issue) where a pull request is being made against a feature/ branch. This feature/ branch is the upstream of your development branch. The upstream of the feature/ branch could be master. To my understanding, 'upstream' is the basic idea of 'where is this branch going to ultimately end up?'.

Ah I see. Thanks for the clarification!
The workflow that you are describing makes sense. However, sometimes the upstream configuration is not the source where upstream changes are pulled from, but where the branch is going to get published to. For instance:
git push -u origin wip-feature:my-feature

This pushes the local "wip-feature" branch to a remote "my-feature" branch and sets upstream configuration for it. This makes sense where git config push.default is set to "upstream" in central workflows. In this case, it doesn't make sense that my-feature would be the base for the pull request because it is actually the head of the pull request.
I'm afraid that I can't think of ways right now that the original user's intent could be detected. There are lots of different git workflows floating around these days and I'm not sure if we can reliably detect which approach is someone using from hub.


Error: Invalid file signature

I was using GBStudio to work on a Kirby game, and I got this:
Error: Invalid file signature
All the textures are pngs, and I don't know why I got it.
I'm using Windows 11. I don't know the app version, but I got it in late 2022, early 2023 on its itch.io page.

install latest gb studio and test again?

maybe this can help? I never got this error
https://github.com/chrismaltby/gb-studio/issues/713


cache cache cache

I know I added this commit after :cat2:  took over and spammed #436 to pieces ... so anyway .. new clean topic
So I was looking at this 7yr old post and was wondering about a few things

https://www.grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache

2.) Storing arbitrary data in the Last-Modified header
If you send a HTTP response header as follows:
Last-Modified: **UNIQUE_ID**
The browser will send back the UNIQUE_ID when you make the same request later on:
If-Modified-Since: **UNIQUE_ID**

I'm not sure of the process here. What exactly triggers the browser to check if a new resource is available? Isn't this meant to be (or limited to) a date/time? If a date/time can it be rounded? What happens when it's blank? Is this still a tracking threat?

What exactly triggers the browser to check if a new resource is available?

I have yet to investigate the underlying mechanics more but, from what I've read/tested so far, in Firefox this usually happens when you reload a page (clicking the reload button or pressing F5), or when a script in the page tries to reload the page or some parts of it. If you instead reload a page by clicking the address bar and then pressing Enter, the browser uses the memory cache and it may not make even a single request. I found this out when I was trying to get Detect Cloudflare+ to also count the number of requests for resources that Firefox had cached previously.
Another thing that can trigger this is a particular function in the webRequest API that some extensions use: handlerBehaviourChanged(). It triggers this because if flushes the memory cache (at least according to documentation).

Isn't this meant to be (or limited to) a date/time?

Indeed. HTTP headers are standards, really. I'm guessing this depends on the browser's implementation/specification, so I would have to actually get off my ass and test this on Firefox to be sure, but at least according to documentation it only accepts date strings:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since
This means that Firefox, in theory, should not accept Last-Modified headers that look like: fas987fa9s87fa696f or whatever. Maybe it did accept such values back when that guy wrote that, but it shouldn't be true nowadays. However, I think it is still theoretically possible for servers to change the value of the header on every single request (like adding a second every time), which would basically turn the string into a unique ID while still being a valid date string. I never wrote a server application though, so there might be factors that I'm not aware of that make this impractical. I would have to investigate more, to be honest.

Yup, assumption was we were ignoring a hard reload (which would/should request everything anew)

We are ignoring hard reloads, though. Those flush both memory AND disk cache, but I wasn't talking about those! I'm talking about simple reloads.

I'm not sure of the process here.

Header Fields.

What exactly triggers the browser to check if a new resource is available?

Cache-Control: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
Pragma: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32

Isn't this meant to be a date/time?

UNIQUE_ID is definitely a hack, not respecting the standard.

If a date/time can it be rounded?

It's based on the client OS date and time. Non-standard hacks do exist, RunAsDate comes to mind.

What happens when it's blank? Is this still a tracking threat?

Most probably the resource is reloaded, a void string is surely better than any UNIQUE_ID

This means that Firefox, in theory, should not accept Last-Modified headers that look like [...] whatever.

Firefox can't make use of that ID, but the server - maliciously tailored - uses that header for its own purposes.

we could easily round that with a function in say Header Editor (right?)

I could do it with some regex-fu, but I doubt its usefulness because we can't modify the outgoing If-Modified-Since header, we can only modify the incoming Last-Modified.  Breakage on the other hand shouldn't be an issue at all, worst-case scenario you just end up re-fetching the resource almost as if it wasn't in your cache in the first place.

It might be interesting to collect these values .. wonder if that could be automated easily to see what most sites do?

It could be automated, but you would only collect data about the communications between the server and you, therefore you can't know for sure whether they're sending you a unique date or not that way (because you don't know what the server is sending to other people).

Firefox can't make use of that ID, but the server - maliciously tailored - uses that header for its own purposes.

I meant that when a server sends you non-standard Last-Modified headers, Firefox should not send the non-standard If-Modified-Since in subsequent requests. I'm sorry to say I was wrong, though.  This means the documentation at MDN is merely describing the standard, and this pair of headers is just as easy to use for tracking as ETag and If-None-Match.
So, what can we do about this? If we remove both ETag and Last-Modified unconditionally, we're re-fetching all GET requests every single time, which is worse than disabling the cache altogether. This is yet another good reason for using the Temporary Containers extension...
Something we could do via an extension is validate the value of the Last-Modified header to decide whether to drop it or not. If it follows the standard, it stays - if not, it goes. It wouldn't prevent servers from tracking us by sending us valid unique strings, though. Needs more consideration.

Great replies, we looked at the headers in client and server, but what about the HTTP Responses?
Here's a good text, from a company that has a free tool (Fiddler) that I use sometimes: it allows to prevent the issue on top by Pants.
Claustromaniac, you're right about ETag (also mentioned in the text linked above):

A client can only send a Conditional Validation request if it has a cached copy of a resource and that copy includes either a Last-Modified or ETag response header.

But why are you saying:

If we remove both ETag and Last-Modified unconditionally, we're re-fetching all GET requests every single time, which is worse than disabling the cache altogether.

It is better in this situation...  we get closer to a live OS (without persistence between sessions) with these settings.

but what about the HTTP Responses?

What do you mean?

Here's a good text...

Good text indeed :+1: It summarises very well most of the important points relevant to this conversation.

But why are you saying...

I was thinking about two things at the time. The first was performance. If we choose to remove those two response headers instead of disabling disk & memory cache, we end up caching resources but we don't use the cache for almost anything. We waste processor time both caching and removing the headers, and we allocate RAM that we rarely get to use.
The second thing was that we need the onHeadersReceived event for removing headers, which is troublesome. If it were my intention to re-fetch everything every time, I'd rather disable cache completely instead of using an onHeadersReceived event handler that would conflict with other extensions.
Other than that, there isn't much difference AFAIK.

Correct me, please, if I am wrong here:
Disabling cache (disk&memory) deals with ETag and *Modified headers effectively for anti-tracking.
Currently I have disk caching disabled and memory enabled (with Header Editor to deal with ETags)... but I really do not notice any significant downside when both caching are disabled.

Disabling disk & memory cache means all these caching tracking mechanisms/techniques are obsolete.
I disabled memory cache (disk cache has always been off) a while back for a wee test, and didn't really notice much difference either. However, depending on the site and my workflow, it can make a difference - I have one site I need to page thru a lot, and all the common elements add up to quite a bit. With TC this wouldn't happen until the last tab of that domain closed
TC is looking to be the ultimate tool IMO

@claustromaniac HTTP Responses are the replies from the server. Status responses as 200 OK or 304 Not Modified come before the actual rsponse containing data.
Squid allows to exclude specific sites and file formats from caching.

@crssi and @Thorin-Oakenpants,
The reason you don't notice much difference between enabled and disabled memory cache is that Firefox actually doesn't use it very often. It mostly uses it when you use the Back and Forward navigation actions, the rest of the time it pretty much doesn't use it at all. Also, as I said in my first post, extensions can flush the memory cache forcibly to refresh their data, which means that it is entirely possible for you to have memory cache enabled and still never really make use of it, depending on the circumstances. I found this out very recently, to be honest. It turns out memory cache is generally not as well understood as disk cache.

TC is looking to be the ultimate tool IMO

I concur.
@Atavic OK, I didn't know what you were referring to. I know those as HTTP status codes.

^^ Thank you. From what you are saying I really do not see the reason why ghacks user.js would not have memory cache also disabled by default?

Well, personally, I still find memory cache useful because those few times that Firefox does use it, it doesn't initiate network requests at all - it just grabs everything from memory and the servers may not even find out that you went back to a previous page.
In contrast, if you have memory cache disabled, Firefox always has to talk to the servers to decide what to do, without exceptions.

  It's easier to track without a disk (or memory) cache and in real time.   One of the things I do from a proxy upstream is strip most headers from cached content and rewrite the others for reasons like this.

From what you are saying I really do not see the reason why ghacks user.js would not have memory cache also disabled by default?

When we get around to it - the idea is to have a set of 20 or 30 prefs for "relaxed" (so people can watch their cat videos and use google docs/maps, outlook.com etc) and I can think of 10 or 20 for a "hardened" js. The current master is a just a template
IMO this sort of tracking would be rare [citation needed] - there is so much other low hanging fruit for corporate surveillance. Depends on your threat model. If someone (big) was doing this, it probably would have come to light - but then again shrug, it took 2 years for Verizon to be outed for injecting that shit into mobile HTTP traffic, and even though people have known for 7 years about SSL Session Ticket IDs, no-one seems to care - and it takes a paper just released by a university to get it back into the news a little.

In contrast, if you have memory cache disabled, Firefox always has to talk to the servers to decide what to do, without exceptions.

 We're a strange bunch here :) Especially that :cat2:

So all I wonder now is ... is it worth filing a bugzilla for Last-Modified to only accept valid date/time input

@fmarier
Your bugzilla skills are better than mine. What component would this be under, or is there an existing ticket (I did a few searches but couldn;t find anything)

when a server sends you non-standard Last-Modified headers, Firefox should not send the non-standard If-Modified-Since in subsequent requests. I'm sorry to say I was wrong, though.  This means the documentation at MDN is merely describing the standard, and this pair of headers is just as easy to use for tracking as ETag and If-None-Match.

Bug: sanitize incoming `Last-Modifed` and/or outgoing `If-Modified-Since` to valid date/time as per [1] [2]
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified
[2] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since

Oh I agree, but number of seconds is finite - so it's definitely closing a loophole. I just want standards to be adhered to, and it would be interesting to see what happens - eg major breakage reports

number of seconds is finite - so it's definitely closing a loophole

Yeah, I thought that, too. But, if the standard were enforced, timestamps set sometime in the future would still do the trick. And then, what? Up to this point, something simple like a regular expression would be enough to implement validation, but then that wouldn't be enough.
They could then try to validate the date itself to make sure it's not set sometime in the future, but what would define the present? The time in the client's system or the time in the server's system? They should also take into account their time zones: the Last-Modified value could be set a few hours in the future for the purpose of tracking you, or the server could simply be in Japan.
All of that could probably be solved with a lot of logic, but the performance hit would be nasty, I reckon. Or, they could use a cheaper alternative like requesting the date/time from a third party, and then Firefox could have an independent local time that would be the same in all instances around the globe, but then Firefox would need to make requests to a third party to set its local time at some point (like on startup, or something).
Let's say they do that. Then, to face this practical limitation, our hypothetical tracking fellas could give the whole thing more complexity and simply start reusing timestamps whenever they can. I mean, if I can link a series of timestamps for a single resource to a single client, then every time I give that client a new timestamp for that resource, I no longer need to remember the previous timestamps. I can give them to clients that haven't yet cached my resource.
I can go on and on, but that should make my point. It'd be a helluva lot of added complexity for an unoptimal solution.
I too want standards adhered to, but I'd say this is rather a design flaw. As long as it is the servers who have the power to decide what to do with those conditional requests, the clients will be at risk of being tracked. And I don't think that can be changed without breaking the current model. Those headers should instead be deprecated and replaced with something new and different, in that case. (That would be awesome, though)

I'll add @englehardt for comments about whether cache-based tracking is 'rare' or 'common' these days; but it's been in the wild for a decade: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1898390
I agree that the number of seconds is large enough that limiting Last-Modified to valid timestamps isn't an effective mitigation for tracking.
As far as Cache Usage, we have telemetry on that I think, which would tell you how much users in the wild take advantage of cache.  Check https://telemetry.mozilla.org and https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/Histograms.json You may need to search the code for a probe to fully understand what it's measuring.

Well, it was worth asking :) TBH there are already solutions, disable all cache or use Temporary Containers in a hardened config.
OT: @tomrittervg Did my email to you and Arthur re SSL Session Resumption get lost?

Quoting myself...

Those headers should instead be deprecated and replaced with something new and different, in that case. (That would be awesome, though)

It seems I found that something, but I don't think it's that new:
Cache-Control: immutable
Expires: <date>

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control

immutable

Indicates that the response body will not change over time. The resource, if unexpired, is unchanged on the server and therefore the client should not send a conditional revalidation for it (e.g. If-None-Match or If-Modified-Since) to check for updates, even when the user explicitly refreshes the page. Clients that aren't aware of this extension must ignore them as per the HTTP specification. In Firefox, immutable is only honored on https:// transactions.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires


Hurricane Track layer sticks around if you change you mind.

in the layer selection dialog, i select a hurricane layer. oops, i meant to select a different one, so i deselect it, but the hurricane track sticks around

This is kind of the same use case of adding a hurricane raster layer - hurricane track layer gets created.
 The hurricane track layer sticks around in this case too.


[WIP] deploy command in output Channel

Codecov Report

Merging #271 (e3f2aaa) into main (e4c3d8a) will decrease coverage by 1.31%.
The diff coverage is 27.58%.

@@            Coverage Diff             @@
##             main     #271      +/-   ##
==========================================
- Coverage   80.23%   78.91%   -1.32%
==========================================
  Files          85       85
  Lines        3420     3453      +33
  Branches      580      588       +8
==========================================
- Hits         2744     2725      -19
- Misses        676      728      +52

Impacted Files
Coverage Δ

src/functions/active-task-view/command-node.ts
12.24% <0.00%> (-1.09%)
:arrow_down:

src/util/output_channels.ts
16.32% <11.42%> (-1.86%)
:arrow_down:

...ions/function-command/build-and-deploy-function.ts
62.13% <61.11%> (-14.28%)
:arrow_down:

src/cli/func-api.ts
49.41% <100.00%> (ø)

src/util/watch.ts
83.33% <0.00%> (-13.34%)
:arrow_down:

src/util/platform.ts
88.23% <0.00%> (-11.77%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e4c3d8a...e3f2aaa. Read the comment docs.


Fingerprint support

It would be nice to be able to decrypt the wallet using fingerprint. There are plugins available for Cordova, and from a shallow look it seems that the Android plugin have the functionality needed.
https://github.com/mjwheatley/cordova-plugin-android-fingerprint-auth

Hi @snaggen, thanks for the request, and plugin research . This makes sense as a feature. I'd probably have a few minor details left to confirm while actually implementing this, but the plugin does look like it would work.
Just some points for whoever adds this…

When the app is "locked out", i.e. requires a user password, the app does not know what the password is. It verifies the password is correct by being able to successfully decrypt a saved challenge blob (https://github.com/mymonero/mymonero-app-js/blob/master/local_modules/Passwords/Controllers/PasswordController.js#L448). It then uses that valid password to decrypt the user data for wallets, contacts, etc. So we'll need to use the plugin to store the password itself. I'm thinking the best way to do this is not to put the fingerprint scanner in PasswordController, but in the password entry UI itself. That way the plugin can go through all existing code and we will be able to give the user visual feedback that their fingerprint-unlocked password is being automatically input into the password field.

Every time the user sets or changes their password, we'll have to inform the plugin so that it re-encrypts. Probably should do that first before accepting the changed/new password, in order to handle errors in the fingerprint saving first.

When user deletes everything/clears data, fingerprint data needs to be cleared. Not exactly sure where the best place to put this is yet. Wouldn't want to confuse PasswordController with Cordova-and fingerprint-specific code unless it can be abstracted or placed into a new Cordova-specific PasswordController concrete implementation. May not be necessary. Maybe a good idea to place that kind of routing in index.cordova.js, or just pull the trigger on creating a new object… something like FingerprintAuthController.

I'm thinking about closing this issue since we've moved on from Cordova in this repo to building the Android app totally separately, since fingerprint support isn't hugely applicable to desktop (yet, anyway... I actually think we could find a way to add it for MacOS at least) .. but we actually use it on iOS for app action authorization /after/ app unlock, intentionally (at least for now) opting not to store the password information in the keychain, secured by the fingerprint, just to be on the safe side.


RFC | support antd theme

How do you envision this feature/change to look/work like?
https://ant-design.antgroup.com/docs/react/customize-theme#Customize-in-webpack
What is the purpose of this change/feature? Why?
I want to set the theme color globally
(OPTIONAL) Example implementations
No response
(OPTIONAL) Contact Details
No response
Verify canary release

[X] I verified that the issue exists in plasmo canary release

Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

i find https://github.com/parcel-bundler/parcel/issues/907#issuecomment-503913211


I have created a scheduled jobs using this :

Before posting an issue, please check the following:

Do you have a question? Please take a look at the samples and read the FAQ first.
** https://github.com/evernote/android-job#usage
** https://github.com/evernote/android-job/wiki/FAQ

Does the library crash for you? Please provide the version of the library, a log, stacktrace and even better a sample.

 A full log is necessary. Also keep in mind how Doze works and maintenance windows can delay your job.
** https://developer.android.com/training/monitoring-device-state/doze-standby.html
** https://speakerdeck.com/vrallev/scheduling-background-job-on-android-at-the-right-time-1?slide=59

    mApplication = application;
    new JobRequest.Builder(BackgroundJob.TAG)
            .setPeriodic(TimeUnit.MINUTES.toMillis(20), TimeUnit.MINUTES.toMillis(5))
            .setUpdateCurrent(true)
            .build()
            .schedule();

So this job is a never-ending job. Our offices' system admin is using a mobile device as a server which is run 247365. So clients basically send SMS to this device, and when Wifi is disconnected and service is interrupted the SMS is saved to SQLite database, after every 15 minutes the Scheduled job is started and it's retry to send the SMS to the SQL server through WebAPI.
My problem is when the device sleep mode, basically, standby or doze mode the job is not working. So, it's unable retry to send the SMS to SQL server. According to your documentation, you said the job will always run every 15 mins or specific scheduled time.
What should I do now, is there any way to solve this issue? Please, help me.

I definitely didn't say that. Please read the FAQ and documentation about how Doze and App Standby work: https://github.com/evernote/android-job/wiki/FAQ#why-arent-my-periodic-jobs-running-as-expected-on-android-5-or-higher

Okay sorry for that, is there any way to do this?


Include stack trace in errors

To simplify debugging errors we should include stack trace. Along with the command it should make it easier for us to find and fix bugs.

@pnp/cli-for-microsoft-365-maintainers thoughts?

Fully agreed. Maybe add this when using --debug?

Can I work on this? Just to be sure, stack trace only when using --debug?

Yes @nicodecleyre, the idea would be to only include it during --debug.


Properly configure multi-arch builds

Make use of the ARCH argument --> https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/

I didn't need to do this because the dotnet base images cater for multi-arch builds. I just use buildx now with the Dockerfile that contains the Microsoft base image and supply the platforms I'd like it to build for and the rest is taken care of by Docker and buildx. Even if I build the Dockerfile locally (ARM64 or AMD64) then Docker will know what architecture to build for.


Parsing error on links

I know it's impossible to make all parsing work, but you have asked for feedback on things that aren't working as expected.
On the page https://mdxjs.com/guides/gfm/ the main paragraph is:
This guide explores how to support GFM features such as autolink literals, footnotes, strikethrough, tables, and task lists. MDX supports standard markdown syntax ([CommonMark](https://mdxjs.com//spec.commonmark.org/current/)). That means [GitHub flavored markdown (GFM)](https://mdxjs.com//github.github.com/gfm/) extensions are not supported by default. They can be enabled by using a remark plugin: [`remark-gfm`](https://mdxjs.com//github.com/remarkjs/remark-gfm). Such plugins can be passed in [`options.remarkPlugins`](https://mdxjs.com/packages/mdx/#optionsremarkplugins). More info on plugins is available in [§ Extending MDX](https://mdxjs.com/docs/extending-mdx/)

This gets parsed as:
This guide explores how to support GFM features such as autolink literals, footnotes, strikethrough, tables, and task lists. MDX supports standard markdown syntax ([CommonMark][1]). That means [GitHub flavored markdown (GFM)][2] extensions are not supported by default. They can be enabled by using a remark plugin: `[remark-gfm`][3]. Such plugins can be passed in `[options.remarkPlugins`][4]. More info on plugins is available in [§ Extending MDX][5]

[1]: //spec.commonmark.org/current/
[2]: //github.github.com/gfm/
[3]: //github.com/remarkjs/remark-gfm
[4]: /packages/mdx/#optionsremarkplugins
[5]: /docs/extending-mdx/

The links at the end are inconsistent and missing necessary elements.

I'm not seeing this happen. Have you tested with v2.0.44?

Oh, I see the broken links.  I'll have to avoid doing that for double slashes.

This should be fixed in the latest release.


Graph Editor: Fix orphaned links removal when deleting a node

This PR introduces fixes related to the removal of orphaned links when deleting a node in the Graph Editor:

remove the attribute INTERFACE_NAME_ATTRIBUTE of input pins that were connected to the deleted node
(Fixes #1577)
iterate over all of the output pins instead of only handling the first one.
(Fixes #1666)

Note that the part of the code which handles the attribute removal was copied from Graph::deleteLinkInfo after noticing that deleting a link did not triggered the issue #1577.
This would probably be too much of a change for the present PR, but in order to remove duplicate code, Graph::deleteLinkInfo could probably be re-used when deleting a node, as demonstrated here: https://github.com/AcademySoftwareFoundation/MaterialX/commit/bf8dd81281eb9bf25a0f4b4b94510985bf9feac6
However, it would be less efficient since Graph::deleteLinkInfo internally iterates to find the right pin, and would have to be reworked to allow for a caller to directly provide the pin.

Thanks for writing up this fix, @LeoBelda, and I'm CC'ing @lfl-eholthouser for her thoughts on the approach.


WordPart navigation in Rename popup input instead navigates in editor

Version: 1.50.0 (user setup)
Commit: 93c2f0fbf16c5a4b10e4d5f89737d9c2c25488a3
Date: 2020-10-07T06:10:52.432Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.17763
This is not a regression in latest version, it has always worked this way.
Steps to Reproduce:

add this key binding to keybindings.json

{ "key": "alt+left",              "command": "-workbench.action.navigateBack"     },
{ "key": "alt+right",             "command": "-workbench.action.navigateForward"  },

{ "key": "shift+alt+left",        "command": "-editor.action.smartSelect.shrink", },
{ "key": "shift+alt+right",       "command": "-editor.action.smartSelect.grow",   },

{ "key": "alt+left",              "command": "cursorWordPartStartLeft",           },
{ "key": "shift+alt+left",        "command": "cursorWordPartStartLeftSelect",     },
{ "key": "alt+right",             "command": "cursorWordPartRight",               },
{ "key": "shift+alt+right",       "command": "cursorWordPartRightSelect",         },

click on a variable name and invoke F2 Rename popup input
this will select text under popup alt←, alt→, altshift←, altshift→
this works as expected ←, →, shift←, shift→
this works as expected ctrl←, ctrl→, ctrlshift←, ctrlshift→

In step 2), instead of manipulating with cursor in the Rename popup, original text in the editor will get highlighted at word part stops.
Verify that the keybinding actually works with normal text:

Keybinding will not work as expected with popup Rename input, notice WordPart highlights in editor.

Other key combinations work as expected.

I have removed "when": "textInputFocus" on last moment for simplicity as the effect is, to my surprise, the same.
// default keybinding for inspiration
{ "key": "ctrl+left", "command": "cursorWordLeft",          "when": "textInputFocus" }
{ "key": "alt+left",  "command": "cursorWordPartStartLeft", "when": "textInputFocus" }

Does this issue occur when all extensions are disabled?: Yes

The root problem is with the keybindings. You must use "when": "textInputFocus", otherwise they will always execute in the last active editor, even if it is not focused. So the solution is:
{ "key": "alt+left",              "command": "-workbench.action.navigateBack",    "when": "textInputFocus" },
{ "key": "alt+right",             "command": "-workbench.action.navigateForward", "when": "textInputFocus" },

{ "key": "shift+alt+left",        "command": "-editor.action.smartSelect.shrink", "when": "textInputFocus" },
{ "key": "shift+alt+right",       "command": "-editor.action.smartSelect.grow",   "when": "textInputFocus" },

{ "key": "alt+left",              "command": "cursorWordPartStartLeft",           "when": "textInputFocus" },
{ "key": "shift+alt+left",        "command": "cursorWordPartStartLeftSelect",     "when": "textInputFocus" },
{ "key": "alt+right",             "command": "cursorWordPartRight",               "when": "textInputFocus" },
{ "key": "shift+alt+right",       "command": "cursorWordPartRightSelect",         "when": "textInputFocus" },

@alexdima Oh yeah, I know. I only removed it here, because the line was too long for the github code snippet.
It doesn't work with it.

I have removed "when": "textInputFocus" on last moment for simplicity as the effect is, to my surprise, the same.


Update Software On Board

Is it possible to update the KCX_BT_Emitter? Is there software provided by the vendor?
Thank you, for the tools.

I am not sure what is meant by updating the KCX_BT_Emitter. If you mean can the arduino code to control the KCX_BT_EMITTER be updated, it certainly can. I am guessing you are interested in adding a HELP command as in https://github.com/Mark-MDO47/BluetoothAudioTransmitter_KCX_BT_EMITTER/issues/6 and possibly other things. Of course you are free to fork or copy the code and make any changes desired.
I don't know of any software provided by the vendor. If you find some, please let everyone know by responding here.

Hello!
I was referring to code residing on the actual chips. I've noticed, since your original post, the firmware has jumped to 1.7. I'm wondering, for future updates.
Now you have me thinking, I might try and implement the ability to change name displayed on devices. (The name emitted from the KCX_BT)
According to the vendor, the AT+HELP command isn't available, but I don't rely on Aliexpress listings as truth. I haven't been able to get my Arduino to display an of the output information correctly. I can either see the command being sent, but the return is garbled, or I can't understand anything. To be honest, I kind of gave up on trying to use the Arduino.
After getting the chip powered on, I have horrible interference, from somewhere. I have to figure out how to get rid of the humming, before I can fiddle around with programming.
Thank you, for the wonderful starting point.

Hello again!
I have received a pull request from github.com/pandel to merge in his v1.7 version that is shown in his fork of this repository here.
https://github.com/pandel/BluetoothAudioTransmitter_KCX_BT_EMITTER
I plan to accept his pull request and put it into a branch KCX_BT_EMITTER_V1.7. I have already created a branch with the previous version KCX_BT_EMITTER_V1.1. I will need to update the README files in each branch, which will take some time, but the code is either available as shown above or will soon be in this repository also.
There will probably be some new development on the KCX_BT_EMITTER_V1.7 branch after that as the new version has some new capabilities and apparently has some missing capabilities.
Thanks!


Add custom classes at yadcf-filter-wrapper-inner level

Currently, users can use style_class to add css classes to the input object, however, it is not possible to add any custom classes to the wrapper divs. This especially applies to multi-widget filters (such as the date range picker). These objects have both a standard wrapper and an yadcf-filter-wrapper-inner object.  Styling multi-widget filters often takes additional steps such that adding additional classes at the wrapper level is necessary.
Could there be an option to add custom css classes to either the yadcf-filter-wrapper-inner level or one of the more generic wrapper levels? (as then the option would apply to all filter types).

@dwasyl why not style the existing classes such as yadcf-filter-wrapper-inner? the style_class support was added because of some third-party libraries that needed their own class to be present on inputs


Change in size of compressed arrays between versions

I am running a test that compares org.xerial.snappy across versions. Now, till version <IP_ADDRESS>, the output of Snappy.compress(new byte[65536]) created a byte array of 3079 elements. However, when I upgraded to version <IP_ADDRESS>, I noticed that the same code now generates an array of 3077 elements. I would not have expected this to change. In fact, the output of <IP_ADDRESS> matches other implementations such as https://github.com/dain/snappy while <IP_ADDRESS> does not. I also run into similar errors for other array sizes including new byte[32769]. Happy to run more tests if it helps.

There might have some changes in the snappy's implementation. Please check here: https://github.com/google/snappy/blob/master/ChangeLog
But in practice, could you tell me why decreasing the compressed size matters?

Will check but it looks like there were snappy upgrades between 1.0.5.x and 1.1.x.x.
Decreasing compressed size does not generally matter but the test in this case is using different sizes as a potential warning in case there has been a break in compatibility. That is, a compressed array from an older version of the library would not be read correctly by a newer version (or the inverse situation). Given that we have run into bugs like #100 here, I did want to report/check if this was a known upstream change that did not break compatibility or something in this library.

As long as Snappy.compress and uncompress are used, #100 is not related since it happened when using SnappyOutputStream.
As far as I know, there is no backward incompatible change in the format level between 1.0.5.x and 1.1.x, so even if the compressed size has slightly changed, data can be read correctly in both version.

This (https://github.com/google/snappy/commit/27a0cc394950ebdad2e8d67322f0862835b10bd9) is the change in snappy which resulted in a change in compression size in release 1.1.

Thanks. So it's not a backward incompatible change. Now let me close the ticket.

Thanks for all the help folks. Really appreciated.


test-macincloud-macos1010-x64-2 seems to be missing net/sf/antcontrib/antlib.xml

https://ci.adoptopenjdk.net/computer/test-macincloud-macos1010-x64-2/
07:57:36  Buildfile: /Users/jenkins/workspace/Grinder/openjdk-tests/TKG/scripts/build_test.xml
07:57:37    [taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.
07:57:37    [taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.

https://ci.adoptopenjdk.net/job/Grinder/6725/console

Looks from the slack thread as though George is investigating so we should hold off on this for now (I'd rather not have two people experimenting on the machine at the same time!)

Disabled ci.test.role on this node: https://ci.adoptopenjdk.net/computer/test-macincloud-macos1010-x64-2/

Running Grinder to check node now good: https://ci.adoptopenjdk.net/job/Grinder/374/

I can confirm the node still does not have the correct ant-contrib setup:
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/380/console
15:06:16    [taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.

@gdams fyi

Note: This machine is currently offline - I am in contact with MacInCloud to resolve this, although it will probably be superceded by whatever happs with #2476

Right ...

Both machines have /usr/bin/ant symlinked to /usr/local/opt/apache-ant-1.10.1/bin/ant
It's not entirely clear why that isn't adequate, since the ant-1.10.1 directory also contains lib/ant-contrib.jar on both systems.

However we typically use ant 1.10.5. This is installed on both machines. I've added lib/ant-contrib.jar into that install and symlinked bin/ant from that install to /usr/local/bin/ant which should allow that version to be picked up properly now.
I've run smoke tests on each of the two machines to verify this, so I have now re-enabled them in jenkins for now, although as per the PR mentioned above this comment, the machines are going to be replaced soon.


Graphical User Interface (GUI)

Cannot the developer make the process of using this application more simplified and user-friendly by creating a graphical user interface for it?
I've personally seen programs that started off using the command line interface to be functional and eventually transform into a full blown, easy-to-use app by having a GUI to it.

There is.

Mind telling me about it?
I'm literally new to this.

anime gui is the command you're looking for. Anime-dl is mostly CLI based so if u have any problems with the GUI, I recommend looking at the docs or using anime dl --help. Have a nice day!


[Feature Request] Lua scripts in-game toggle

Just a minor feature, but is QoL - I hope there are checkboxs or something that can enable/disable a lua script in the game other than manually go the the folder and delete it or change the file name lol.

Added in 1a9b9c694304e0e72f27e4cd0c67254454e9a0dd. Not yet saved.


Support division between float and int

The following combination of operands are currently invalid:
> 12.0 / (9 * 60 + 1)
[line 1] Operands must be numbers, not double and int

This should be valid, since double and int are perfectly able to be combined (all 32-bit positive and negative integer values can be exactly represented in double per the IEEE754 specification) => the type of the operation above should be double.
(Side note, but we should probably not postpone implementing a single-precision float type for too long, since it might involve changing quite a lot of the semantics if we do it too late. See #70 for the overall ticket about implementing the missing basic data types.)

(We should check the other basic operations of math as well to ensure they all work, when this is fixed.)

(We should check the other basic operations of math as well to ensure they all work, when this is fixed.)

#316 made the handling of binary operators much more predictable. Now, all combinations of numeric types are explicitly handled. No more surprises; if something is unsupported, we have a test that verifies that it emits the expected type of error (at first, runtime errors, but as of #329 they should all be validation (compile-time) errors). Once a type combination gets supported, we always have to edit the tests => the tests will from now on always depict a true image of the state of what type combinations are expected to work and which ones are expected to fail.

Fixed in #327, closing.


Enable authentication and authorization for some admin APIs

Motivation
Currently, it seems to that users who are not admin can send POST requests to the REST APIs for configuring retention policy and persistence policies.
POST /admin/namespaces/{tenant}/{namespace}/retention
POST /admin/persistent/{tenant}/{namespace}/persistence

I think that only administrators should be able to change these settings.
Modifications
Fixed these APIs to authenticate and authorize users by calling the validateAdminAccessForTenant() method.
Result
Only the administrators of the tenant will be able to change these settings.

@sijie Since the rc is still open, I think we should consider to backport this fix to 2.1 branch

@merlimat will do.

cherry-picked to branch-2.1 as de7332bfb98280cadba152db3cf648ac5530905d

@sijie The cherry-picked commit seems to be different from this.

@massakam hmm you are right. I need to cherry-pick it. going to cancel the rc and produce a new one.

cherry-picked to branch-2.1 as d3261ed4dc86f4cdf5ad6a246c532212f064967a

Thanks @sijie


Add period and interval concepts

This is a proposal to add period and interval concepts like those used in Joda Time
cf.
http://www.joda.org/joda-time/key_period.html
http://www.joda.org/joda-time/key_interval.html
Those are distinct from but interoperable with the existing duration type, and make it possible to describe operations like "add 1 year to this date" (this might be a different number of seconds depending on the date)
Is this something that you would consider for this library?

Not an explicit non-goal for Chrono but I wouldn't pursue that neither. One big reason is that while Chrono closely follows ISO 8601 and other existing practices whenever applicable, there is no particular concensus about the non-regular duration arithmetics (ISO 8601 is a representation standard and does not define, say, the result of 2015-08-24 plus 1 month---it only standardizes that "an interval from 2015-08-24 to 2015-08-24 plus 1 month" can be alternatively written as 2015-08-24/P1M). Implementing that makes Chrono highly opinionated and I don't think that reasonable; that should make into a separate library.

Isn't this in https://en.wikipedia.org/wiki/ISO_8601#Time_intervals?


IE11 flickering with ngAnimate and ngShow

Please take a look at this jsfiddle: http://jsfiddle.net/1op08u1o/4/ in IE 11. If you click on link 2, then quickly click on link 1 sometimes you can see a flicker where the orange block is bumped down by the green box before the orange block disappears.
This only seems to happen in IE11, and only if I include the ngAnimate module. Even without css transitions and just showing or hiding there is still a flicker. It may take a few tries to see the flicker happen. I'm using angular 1.3.3

+1
I'm seeing this as well, its very frustrating. I found that replacing the offending ng-shows with ng-ifs fixes the issue but this isn't a very nice fix at all. In the end I've decided to removed NgAnimate from the application all together to fix the flickering but its a less that desirable solution.

just as a side note @VitalyTomilov
we added a .ng-hide-add with 0ms which seems to fix your fiddle..?
http://jsfiddle.net/wkse7bgy/

Guys, the solution is only a work-around, it is not a proper fix!
Why was this issue closed???

+1 Facing same issue with 1.2.28

It's a very irritating issue, that also affects Firefox in 1.4.8. I assume that the overall implementation of ngAnimate has become slower rather than faster to handle edge cases.
One thing that is good to know is that due to the way animations are detected, ngAnimate handles "mirror" animations best, that means when both add/remove are animated. That's why adding style such as
.ng-hide-add {
  transition: all 0s ease;
  opacity: 0;
}

helps with this issue.
That said, whenever you have very fast user interaction, it's always possible that the browser cannot keep up with animation updates.

THis issue is actually not browser specific, and it affects all animations that have a transition / animation on add / enter but not on remove / leave (or vice versa). When you change very fast between the two states, the following is happening:

addClass animation with animation styles runs
removeClass animation without styles runs
addClass animation with animation styles runs -> at this point, the animation is somehow messed up, and it doesn't actually animate, because somehow the removeClass non-animation has interfered with the next addClass animation

This guy should fix it: https://github.com/angular/angular.js/pull/13814


bump spring-security-oauth2

Bumps spring-security-oauth2 from 2.3.6.RELEASE to 2.4.1.RELEASE.

Release notes
Commits

FINERACT-963

I'm slightly reluctant to "self merge" this PR, even though technically I'm hereby reviewing and approving a change made by Dependabot so with green Travis, we got 4-eyes on this - my 2 eyes, and 1 each from Travis and Dependabot.. :rofl:
I'm not clear about what test coverage with have for the OAuth support, but I suspect zilch, zero, nothing. Would anyone actually using Fineract's OAuth support be willing to test if things still work after this upgrade? And ideally contribute a real non-regression test for it for the future...

@awasum @xurror any thoughts about this one? Anyone in particular you know for testing this?

I've just posted "OAuth testing?" to the Dev List re. above, and will merge this in 1 week from today.

I've merged this because no one on the Dev list expressed interest in actually (manually) testing this PR.

What I'm suggesting here is actually contradictory to what we discussed in FINERACT-805 and what @xurror wants to do... so I'll probably close this PR when we have a proposal for FINERACT-805 from @xurror.


[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Getting Hotspot pitch and yaw

how can i get hotspot pitch and yaw in another function
"pitch": 8,
"yaw": 20,
"css": "test",
I need this pitch and yaw(8 and 20) in below function
$(document).on("click", ".test", function() {
//get pitch and yaw here
});

Instead of adding the click handler externally, use Pannellum's clickHandlerFunc and clickHandlerArgs hot spot configuration parameters. You could then use the clickHandlerArgs parameter to pass the hot spot's pitch and yaw to your click handler function.

I tried this
"pitch":8,
"yaw":  20,
"cssClass": "custom-hotspot2",
"clickHandlerFunc": clickHandlerBox2,
function clickHandlerBox2(hotSpotDiv, args) {
var pitch=viewer.getPitch();
var yaw=viewer.getYaw();
}
This one getting values.But the pitch and yaw varying according to the pannellum viewer movement.Is there any way to get that static pitch and yaw values(8 and 20) inside clickHandlerBox2 function?

The getPitch and getYaw functions return the current position, so that would be the expected behavior.
You didn't listen to my advice to use the clickHandlerArgs parameter. If you set "clickHandlerArgs": {"pitch": 8, "yaw": 20}", you can then access the hot spot's pitch and yaw in your clickHandlerBox2 function via args.pitch and args.yaw, receptively.

Thanks for the answer working perfectly.


Can't Redo Configuration

Accidentally entered wrong password for gitrob configure. Can not find a way to edit or re submit the credentials. Any ideas?

Kill the port number....and try again
If you are using Linux so if port is 9393 then try kill -9 subport

For me, the above suggestion didn't work, but what did work for me was to delete the config file and re run gitrob configure
Config file is at ~/.gitrobrc


Cross-platform end-to-end test suite

we should create a test suite that will test basic end-to-end workflow:

[x] run npm install -g angular-cli
[x] run ng new test-project
[x] cd into the project
[x] run ng build
[x] run ng test
[x] run ng generate component test-component
[x] run ng test
[x] run ng generate service test-service
[x] run ng test
[x] run ng generate pipe test-pipe
[x] run ng test

The test suite should be build in a way that allows for it to be executed across platforms (linux,osx,windows):

[x] osx #91
[x] windows #92

We have all of these except the windows one now.

This is done with PR #275.


[PT Run] Searching app by exe name not working

ℹ Computer information

PowerToys version: 0.23.0
PowerToy Utility: PT Run
Running PowerToys as Admin: no
Windows build number: W10 2004 (10.0.19041.508)

📝 Provide detailed reproduction steps (if any)

Open PT Run.
Type explorer.exe.

✔ Expected result
The Windows Explorer application is shown in the results.
❌ Actual result
Only the result "open http://explorer.exe/ in browser" is shown.
📷 Screenshots

It looks like it only looks at the name.
https://github.com/microsoft/PowerToys/blob/b071220b6c303311d3416eb26f2158c8be7b91a6/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32Program.cs#L171-L180
| Name | Value | Type
-- | -- | -- | --
◢ | win32ProgramResults.Where(r => r.Name.Contains("explorer")).First() | {explorer.exe} | Microsoft.Plugin.Program.Programs.Win32Program
  | AppType | RunCommand | Microsoft.Plugin.Program.Programs.Win32Program.ApplicationType
  | Arguments | "" | string
  | Description | "Windows Explorer" | string
  | Enabled | true | bool
  | ExecutableName | "explorer.exe" | string
  | FullPath | "c:\windows\explorer.exe" | string
  | HasArguments | false | bool
  | IcoPath | "C:\Windows\explorer.exe" | string
  | LnkResolvedPath | null | string
  | Location | "C:\Windows" | string
  | Name | "explorer" | string
  | ParentDirectory | "C:\Windows" | string
  | UniqueIdentifier | "C:\Windows\explorer.exe" | string
  | Valid | true | bool

It looks like it only looks at the name.

@P-Storm
Yes. And I think we should check also if we have an exact match for the ExecutableName value.
@royvou
I think if this issue is fixed, it will be possible to run an exe with parameter like cmd.exe /k echo test. At the moment only cmd /k echo test is working.

Yes the first term (cmd.exe) should return a program., then it will work 👍

Added in 0.25.  https://github.com/microsoft/PowerToys/releases/tag/v0.25.0


[NTR] Add CL terms for thymus ASCT+B table

cc @dosumis and @emquardokus
As discussed at yesterday’s ASCT+B harmonisation meeting, I’ll be adding CL terms needed for the thymus ASCT+B table.
Ellen has collected information and suggestions from experts in a spreadsheet.

[x] I’ll review to address any potential issue (e.g. should any term go in Uberon instead; remove redundant superclasses).
[x] I’ll add the annotation property ‘present in taxon’ ‘Homo sapiens’. (Done for all terms except the 3 DN thymocytes)
[x] As these terms are immune-related, I might ask Alex to review my PRs (pointing him to the spreadsheet, mentioning that the gene + protein biomarkers will be in HubMap, not CL, and asking if he'd like to suggest synonyms to aid in text searches).
[x] I'll add the new CL IDs in the spreadsheet when committed (already done for the first 12 terms from this PR).
[x] Push for a CL release?

For reference, the spreadsheet is here, and the broader ticket about ASCT+B thymus anatomy work is here.

Note for self: following up on double negative thymocyte terms, here are the relevant minutes from the May 19th 2021 CL eds meeting:
"Taxon constraints (again)
We now have better doc, but some guidance is needed on when to add taxon-specific classes:
General agreement that taxon specific general classes with no taxon specific differentia are out, e.g. we don't add "lymphocyte, human"
We do add taxon specific classes where definition require taxon specific marker
Are there cases in between these two?
Examples from immune system and brain.
In this case we could reasonably have a more species general term (+ a present in taxon link).
Note - we have some inconsistency in naming here - "(Mus musculus" vs ", mouse" used elsewhere - but common names are harder to support with automated naming from patterns using NCBI taxonomy.)"
(for reference, full doc with images here)

So I would

[ ] Edit the existing DN2/3/4 thymocyte terms by renaming them from e.g. 'DN2 thymocyte' to 'DN2 thymocyte (Mus musculus', adding 'present in taxon Mus musculus', and adding rdfs:comments "Molecular markers that characterize double negative thymocytes are different in mouse versus human thymus.";
[ ] Add new terms for human specified/committed/rearranging double negative thymocytes, with labels, taxon rules and rdfs comments analogous to the mouse terms above.

There already is a broad CL term for 'double negative thymocyte' so we should be good.
@addiehl @emquardokus @dosumis I'll do this unless I hear you screaming ;-)

Trying to figure out if existing DN2/3/4 thymocyte terms are used to annotate human data elsewhere... will look closer into Ontobee info e.g. for DN2 thymocyte

Update, following discussion offline with David and Ellen:

[ ] I'll leave the existing DN2/3/4 thymocyte terms as they are, without restricting them to mouse, because they don't contain any taxon information, and it's hard to rule out if anyone anywhere have used them for human data. But I'll add an rdfs:comment to each of them "There is growing evidence that molecular markers characterizing double negative thymocytes are different across species, especially in mouse versus human thymus. If in doubt, please consider using CL:0002489 'double negative thymocyte'."
[ ] I'll add new terms for human specified/committed/rearranging double negative thymocytes, with labels 'x (Homo sapiens)', annotation property ‘present in taxon’ ‘Homo sapiens’, and rdfs:comments "There is growing evidence that molecular markers characterizing double negative thymocytes are different across species, especially in human versus mouse thymus. This term is restricted for use with human data."
[ ] I'll add the new CL IDs in the spreadsheet
[ ] Push for a CL release?

Notes for self: re-do the PR, remembering that there can only be one rdfs:comment per term.

Hi @dosumis and @emquardokus ,
I added all terms requested for the thymus ASCT+B table (15 CL terms and 1 Uberon term).
Their IDs are in the spreadsheet.
All terms are now live in Uberon and CL, except for 3 double-negative thymocyte terms which I just added. There was a CL release 2 days ago, so it's up to you if you wish to push for another CL release at some point, if you deem it necessary before submission. Thanks.
Paola


Fix example

Coverage remained the same at 52.381% when pulling cb035ae39de85f769d4c4933f4c6948e8ab68c1d on develop into cb2b444c7adec053ea2512c450ebc6db55b87ea4 on master.

Coverage remained the same at 52.381% when pulling 451ef27a4250d7667adc6a5d029e71b7f3de9714 on develop into cb2b444c7adec053ea2512c450ebc6db55b87ea4 on master.


need to revamp all the MIDI stuff

will need to move the MIDI controller class into redux - all state and methods need to move into redux ASAP I am creating new references instead of changing the same reference (updating redux store)


AWS config asserts non-compliance on Cloudwatch log groups despite being encrypted by default

Log groups are showing as non-complaint in encryption for AWS config despite being encrypted by  default
The rule will check to see a KMS key  is present to check compliance. But the docs clearly state you do not need a KMS key, as they  are all encrpyted by default.
Using a key  as the assertion for encryption is wrong and leads to false positives in auditing for encrypted log groups

Is this being looked at?

Bump

Bump

Hi - This rule is intended to specifically check if a customer managed key is being used for the encryption. See here for the rule docs: https://docs.aws.amazon.com/config/latest/developerguide/cloudwatch-log-group-encrypted.html


Add a possibility to store a map-status in some kind of "cheat code"

Is someone already finished a part of the map and he/she comes back later everything has to be done again. It would be great to give out something like cheat codes for the current level status (like in the 80/90s console games w/o storage possibilities).

Hi @otacke - we've tried using this activity on a Moodle site with the content resume feature enabled and it doesn't seem to be allowing the user to resume where they left off when returning to the activity - are there certain parts of your plugin that support resuming or are there certain parts that allow resuming?
I also note that the h5p.com site lists Game map as not currently supporting the content resume feature:
https://help.h5p.com/hc/en-us/articles/7506467194653-Content-Resume
but hard to know if that's correct either!

interestingly - it does seem to support resume in a newer Moodle 4.5 site, so probably an issue on our end rather than an issue with the library itself.

@danmarsden GameMap has been supporting resuming right from the beginning. I am sorry, but I can neither tell why it is not working on your end nor why H5P Group claims it was not supported.

@danmarsden If you're interested: Here's the function that is responsible: https://github.com/otacke/h5p-game-map/blob/master/src/scripts/mixins/question-type-contract.js#L72 It gets called by H5P's core in order to store a state.
As you can see, there are three causes that could prevent storing the state.

There's no main component set yet. This is merely a precaution though, because the main component is set up in the constructor already.
and 3. If no subcontent reports to have been answered (if it doesn't have a respective getAnswerGiven method to tell, GameMap takes over and assumes yes as soon as content was viewed) and if at the same time there's no global time limit set (you'd want to store the global  time left in any case), then a blank state is saved, as the user has either not opened a stage yet.

So, it's possible that there is a  subcontent which does not implement getAnswerGiven as it should and that you happen to use. Still sounds rather unlikely to happen in practice, because this would have to have been the only subcontent to have been interacted with - and because you're telling that it is working on another system. But it is possible. Could you please provide me with access to a GameMap content where resumimg fails or tell me what subcontents were used?
It is also possible that there's an issue with your H5P integration, but if resume is activated and working with other content types, that can be ruled out.
Oh, and I have reached out to H5P Group and asked them why they claim resume was not working.

@danmarsden H5P Group corrected their overview.

Thanks @otacke - nice to have the extra context there too - and even better to have the h5p docs reporting the correct situation too!
I'm pretty sure the issue is on the plugin side in our end rather than on yours - one of the challenges is that there are basically 2 different "plugins" for running h5p within Moodle - one maintained by Moodle core, and the other maintained by H5P themselves. Interestingly the "latest" version of the Moodle core plugin seems to allow resuming fine, but the plugin maintained by H5P doesn't seem to be supporting the resume - I don't think there's anything you can do on your end but I'll reach out again if we discover something specific to the gamemap code (thanks for pointing at the functions responsible in there too!) - and thanks for sharing the content type with the community! :-)

@danmarsden If you need more insight into how resuming works (across different H5P integrations), then maybe https://snordian.de/2023/03/04/how-does-resuming-an-exercise-work-in-h5p/ can help.


Is it possible?

Hey,
Good work you are doing here..
But I just wonder can you customize your code to make it scrape only Usernames for a specific profile followers?
For example profile @madonna
I want to scrape all her followers Usernames in a textfile..
My fork: https://github.com/mzaboss/instagram-scraper
Thank you,
regards.

I would also like to be able to do this, do you have any ideas about where to begin with implementing such a thing?

To clarify, are you simply looking for the list of followers or is your intent to get the posts (media) of the followers for a specific user?

Okay, so I am simply looking for a way to use a specific hashtag to scrape usernames from and save to a file, so i can later look through and follow them for an ad campaign I am working on for a website I am developing. Is this possible?

I am interested in the same thing as requested by @mzaboss . I need a list of all followers of an specific account. I am studying brand communities and this would by a really interesting thing!
Hope you can help 👍

This issue can be closed, you can export followers now.

Hey @Emalton , How can this be done?

I believe with:
--followings-input
--followings-output

I believe with:
--followings-input
--followings-output

But this is for the login-user, right?
Can this be used for any account or for a list of accounts?


Create a general script for executing processes

Create a script that will call all scripts (validation, turtle file generation, html generation)
@clange  , @np00

https://github.com/mobivoc/vocol/blob/master/vocolJob.sh


Bug fix transitions

Pull Request Overview
📝 Summary
Fixed transition from town to forest and exiting the same house player entered from.
Related Issues

Closes #143 .

Type of Change

[ ] 📝 Documentation (updates to README, docs, or comments)
[x] 🐛 Bug fix (non-breaking change which fixes an issue)
[ ] 👌 Enhancement (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)

🔄 Changes Made
What's Changed/  Implementation Details

Town to Forest transition:
The transform of the Forest scene's Area Entrance was overlapping the Area Exit collider, which was forcing the player back to the Town automatically from the Forest, and giving the illusion that the Town scene was leading back into itself. I adjusted the Area Entrance's position.

Entering/ Exiting Houses:
The player's position on entering the town from the house was randomly distributed between the Area Entrances in the Town scene. I saved the specific Area Entrance through which the player enters House1 in PlayerPrefs, and when the player exits the House into to the Town, it is loaded and the Player's position is overwritten with that specific Area Entrance position.

Test Coverage

[ ] Unit Tests
[ ] Integration Tests
[x] Manual Testing

Evidence
https://github.com/user-attachments/assets/4e7b27db-de37-4479-8bd9-b2d045bc1c93
https://github.com/user-attachments/assets/c9af821b-5e18-454a-bff4-2bdc2640955a

Summary by CodeRabbit

New Features

Introduced functionality to save and load entrance positions when entering the "Town" scene.
Added a static method to save the entrance position to PlayerPrefs.

Improvements

Enhanced code formatting and readability across multiple scripts.
Simplified camera target assignment for improved performance.

Bug Fixes

Ensured player positioning resets correctly when quitting the application.

@FemiOje I'm going to check your branch in my local repo

@jimenezz22 alright ser


npm audit

Fixed 313 vulnerabilities.

Can you fix conflicts - I suggest we use the package-lock.json from this branch if in doubt


How can I add new user without email sending?

My ghost blog installed in our inner network(can not access internet), I need add new user, but the ghost need send email for new user.
I want use sql to add new user. It works.
insert into users (id,
                     uuid,
                     name,
                     slug,
                     password,
                     email,
                     image,
                     cover,
                     bio,
                     website,
                     location,
                     accessibility,
                     status,
                     language,
                     meta_title,
                     meta_description,
                     last_login,
                     created_at,
                     created_by,
                     updated_at,
                     updated_by)
              values ('3',
                      '30443ade-312c-4842-aa3a-f6c0dcd056f7',
                      'zoyun',
                      'zoyun',
                      '$2a$10$X3GF9POpZi4Fpr5U1px0EuTEPo33JVVio54gwypP4iB9/BSVNUzfq',
<EMAIL_ADDRESS>
                      NULL,
                      NULL,
                      NULL,
                      '',
                      '',
                      NULL,
                      'active',
                      'en_US',
                      NULL,
                      NULL,
                      '2014-10-18 17:12:40',
                      '2014-10-18 12:55:44',
                      '1',
                      '2014-10-18 17:12:40',
                      '1');

insert into roles_users (role_id, user_id)  values ('1', '3');

But when I use new user to logon, the firebug console show error message: "There is no user with that email address."

Hey @hjzheng, welcome to Ghost!
I have tried your SQL statements with my own installation of Ghost and the user is found without a problem. This leads to the assumption that this is a environment issue? Maybe the wrong database?
I'll close this issue since we are using GitHub to track bugs and progress on features. I recommend dropping by our slack team or the forum if you have questions about environment issues :wink:.

I had same problem so this is what I did

first login to mysql change to ghos-prod database and describe table users
It will show all the neccessery fields by stating NULL to NO
For me those were the following

insert into users (id,
name,
slug,
password,
email,
status,
visibility,
created_at,
created_by
)
values ('3',
'andrej',
'andrej',
'$hashedpassword-copy it from your main user and later change',
<EMAIL_ADDRESS>'active',
'public',
'2018-12-10 14:12:40',
'2018-12-10 13:55:44'
);
Then
select * from roles_users;
You will get 3 fields first one is id which can be any  unique string, then role_id( i copied from ogirinal user) and id of newly inseerted user, which was 3
insert into roles_users (id,role_id,user_id) values('a','5c08fe42bdc6760cbbc2ec7f',3);
IT WORKS
Later you can change password from web app

I saw that this issue has been created on May 6, 2015.
This solution is still working with recent Ghost versions :-)
Tested and working fine on Ghost v3.5.2.

The query is working and you even can pass an empty string to password field, change by UI will work anyway. However if you'll try update the user info you will get a validation error message without any useful details (at least in v3.12.1). To workaround this the id of the inserted user should match /^[a-f\d]{24}$|^1$|me/i regex.

It's still works in 2023!!
Just insert a new row into TABLE users and roles_users!

Only partially works. Created user is able to create posts, but cannot change profile img.
Validation error, cannot edit user. Validation (matches) failed for id undefined.id

I am still having issues after following the steps by @belforto . When trying to "Sign In", I get error:
No member exists with this e-mail address. Please sign up first.

I have verified that the database is correct and the row exists, and the user is 'active' etc.


Implement piet Text trait

Minimal implementation of the piet Text trait with support for creating a TextLayoutBuilder.

Closed by 1a05039c17c1f8e8d3333d8d1c3739cecef2a117


Add certificate provider factory, store and registry headers

Purely adding headers based on already approved design at go/grpc-credentials-plugins
Intentionally not adding any other plumbing or registration or testing so as to keep the review process straight-forward.
Upcoming PR to include implementation of store and registry along with tests.
EDIT: Updated the headers based on latest API changes.

This change is

src/core/ext/xds/certificate_provider_store.h, line 41 at r3 (raw file):
Previously, yashykt (Yash Tibrewal) wrote…
Ack

I didn't know that it was a C++ 14 feature. Thanks for pointing it out!

Thanks for reviewing!


ZoneAnalyticsDashboard broken as of 2021-03-01

Expected behavior
I expect ZoneAnalyticsDashboard to return the same results as it always has.
Current behavior
The Zone Analytics API was sunsetted as of March 1st, 2021, and the Go SDK has not been migrated over to the new GraphQL Analytics API.
The request returns the following error message:
Zone Analytics API is sunset and replaced by GraphQL API

Possible solution
Integrating the SDK into the new GraphQL Analytics API.
Cloudflare provides a migration guide here.
Steps to reproduce (for bugs)
Call *API.ZoneAnalyticsDashboard.
The second return argument (of type error) is non-nil.
Your Environment
Include as many relevant details about the environment you experienced
the bug in:

Version used (e.g. git sha or specific tag): v0.13.8 (latest as of now)
Environment name and version (e.g. Go 1.11, MacOS 10.14.1): go version go1.16 darwin/amd64 (but it's platform-independent since this has to do with the remote end changing its behaviour).

The SDK hasn't added support for GraphQL as the current SDK approach would end up reimplementing a GraphQL client on top of it and wouldn't be as useful. I'm happy to poke some people on this to see what their thoughts are going forward however, for now, I'd recommend using a Go GraphQL client to interact with the analytics you're after.
I'll reopen this should there be any updates worth while.

Fair enough 😞

FYI wrote ricardbejarano/go-cloudflare-analytics as a client lib for the new API.
I still have to document it and test it thoroughly, but should be able to v1 it by EOW.


extern() does not work with three.js >= r118

Version

Phaser Version: from 3.16.1 to 3.50.0-beta.5
Operating system: Windows
Browser: Firefox 81 and Chrome 85

Description
The example extern.js does not work with three.js r118 and above.
I have tried lot, but just could not make it work :/
Example Test Code
You can test it by replacing the line 24 of extern.js with one of the lines below:
// all three.js versions until r117 do work.
this.load.script('threejs', 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r117/three.min.js');

// r118 and above, do not work
this.load.script('threejs', 'https://cdnjs.cloudflare.com/ajax/libs/three.js/r118/three.min.js');

So what did they change in r118 then? :)

Surely because of this:
WebGLRenderer automatically creates a WebGL 2 rendering context now (and fallbacks to WebGL 1 if necessary). If your project can only use WebGL 1, you can use WebGL1Renderer.
https://github.com/mrdoob/three.js/wiki/Migration-Guide#r117--r118
Although simply swapping for that renderer doesn't work on its own.

I saw all the migration guides already and have tried a lot to make it work. But had no success.
Also, I use a WebGL2 context with Phaser by default.
There is the same issue with PixiJS https://github.com/mrdoob/three.js/issues/20384
In the meanwhile, I have switched to a new strategy to use Phaser and three.js together. I do now use 2 canvas. Even before three.js r118, Phaser and three.js did not work very well together (see https://github.com/enable3d/enable3d/issues/37). So switching to that strategy, solved more issues.
All examples on enable3d.io are now running with three.js r121.
The First Phaser Game (3D Version) works as well as before :smiley:

Ok, cool. I'm closing this issue off, then, as I honestly reckon it's a bug in three.js.