Support for Bearer Token authentication

As per their release notes - Jamf will discontinue support for Basic authentication in the Classic API in a future release of Jamf Pro (estimated removal date: August-December 2022) for enhanced security. Jamf will provide additional information at a later date. To disable Basic authentication before support is removed, navigate to Settings > Jamf Pro User Accounts & Groups > Password Policy and deselect the Allow Basic authentication in addition to Bearer Token authentication checkbox.
When testing and turning off support for basic auth. The script fails to run with warning "The request requires user authentication.

Hi! Is there any update on that?

@janmelka I took a shot at this, but it needs someone to test it. Use --dryrun and see if it works?
The code to test it is here:
https://github.com/grokability/jamf2snipe/tree/80-Jamf-Token-Auth
So you'll need this version to test with.
@inietov Hopefully I didn't step on your toes. :) Feel free to make a PR or just not use anything from that branch.

@ParadoxGuitarist Sorry for the late response! I would gladly take a look at your code, thanks. Is always awesome to receive community's contributions!!

@janmelka Did you have any time to test the branch? @rickgmac Would you be available to test it too?

@ParadoxGuitarist i’m sorry for the late response, I will test on tomorrow when on-site. However a bit confused how this will work.
the bearer token expires after 60 min. So in the current form this script would only work manually. Not as an automated script.
Other implementations I have seen for jamf bearer token still leverages username & password in the script which will then generate the token on each run to use as a variable.
After the changes jamf make. The only endpoint available for username and password auth will be the endpoint to generate a token. All other endpoints will require bearer token auth.

the bearer token expires after 60 min

Aaactually... It's less than that in some cases.

@ParadoxGuitarist Not sure if this will help.
This is another project which is using python and bearer token. Where they generate the token in the script. Sorry I am defiantly no python code writer, otherwise I would try and help more
https://github.com/grahampugh/jamf-upload/JamfUploaderProcessors/JamfUploaderLib/JamfUploaderBase.py

Honestly, I don't even know if I want to look at it. I got it all working (I think) but I still need you to test it @rickgmac I'm gonna merge the other pending request and this one into the devel branch in a few minutes here.

Ok @rickgmac @janmelka
You can pull the version with git clone https://github.com/grokability/jamf2snipe.git and you'll know it's the right version if ./jamf2snipe --version spits out 1.0.0. This basically shouldn't require that you change your settings file at all, but look over the example to make sure that Jamf section looks the same. :) Thanks!

@ParadoxGuitarist just flagging that in the settings.conf file. the Jamf user variable has changed from username > user
Also this is the error we are getting
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): yourinstance.jamfcloud.com:443
DEBUG:urllib3.connectionpool:https://yourinstance.jamfcloud.com:443 "GET / HTTP/1.1" 401 5652
ERROR:root:name 'expires_time' is not defined
Traceback (most recent call last):
File "~/Documents/GitHub/jamf2snipe/jamf2snipe", line 649, in
JAMF_UP = True if requests.get(jamfpro_base, verify=user_args.do_not_verify_ssl, hooks={'response': request_handler}).status_code in (200, 401) else False
File "~/.virtualenv/jamf2snipe/lib/python3.10/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "~/.virtualenv/jamf2snipe/lib/python3.10/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "~/.virtualenv/jamf2snipe/lib/python3.10/site-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "~/.virtualenv/jamf2snipe/lib/python3.10/site-packages/requests/sessions.py", line 652, in send
r = dispatch_hook('response', hooks, r, **kwargs)
File "~/.virtualenv/jamf2snipe/lib/python3.10/site-packages/requests/hooks.py", line 31, in dispatch_hook
_hook_data = hook(hook_data, **kwargs)
File "~/Documents/GitHub/jamf2snipe/jamf2snipe", line 232, in request_handler
timeleft = expires_time - datetime.datetime.now(datetime.timezone.utc)
NameError: name 'expires_time' is not defined
ERROR:root:Snipe-IT looks like it is down from here.
Please check your config in the settings.conf file, or your instance.
ERROR:root:JAMFPro looks down from here.
Please check the your config in the settings.conf file, or your hosted JAMFPro instance.
Error: Host could not be contacted.

@ParadoxGuitarist everything worked perfectly with existing conf file
the only error I got after the full run was as follows. This came at the end after everything had run
Traceback (most recent call last):
File "/Documents/GitHub/Integrar/jamf2snipe/jamf2snipe", line 938, in
logging.debug('Total amount of API calls made: {}'.format(snipe_api_count))
NameError: name 'snipe_api_count' is not defined


checkstyle: 8.13 -> 8.14

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/checkstyle/versions.
meta.description for checkstyle is: '"Checks Java source against a coding standard"'.

Checks done (click to expand)

built on NixOS
/nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14/bin/checkstyle passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 8.14 with grep in /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14
directory tree listing: https://gist.github.com/84ea732817898816ddb6aeb3c8037285
du listing: https://gist.github.com/932ceac249fe1c14658afece50d3b36e

Outpath report (click to expand)

Outpath difference report
3 total rebuild paths
1 package rebuilds
1 x86_64-linux rebuilds
1 i686-linux rebuilds
0 x86_64-darwin rebuilds
1 aarch64-linux rebuilds
First ten rebuilds by attrpath
checkstyle

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A checkstyle https://github.com/r-ryantm/nixpkgs/archive/501d1c75cae6cf1e1c538fe52f830024818bff33.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14
ls -la /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14/bin

cc @pSub for testing.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: checkstyle
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: checkstyle
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: checkstyle
Partial log (click to expand)
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14/bin
patching script interpreter paths in /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14
checking for references to /build in /nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14...
/nix/store/64myax1y8jr1944bzm876i3chl3vck04-checkstyle-8.14

@Mic92 I guess JRE is needed at runtime, so shouldn't it be in buildInputs rather than nativeBuildInputs ?

@c0bw3b technically it is not required in both inputs, but buildInputs would be more appropriate.

@GrahamcOfBorg build checkstyle

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: checkstyle
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: checkstyle
Partial log (click to expand)
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/2174kah8kjdmhlz8hbjgpgs87ndw6zrb-checkstyle-8.14
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/2174kah8kjdmhlz8hbjgpgs87ndw6zrb-checkstyle-8.14/bin
patching script interpreter paths in /nix/store/2174kah8kjdmhlz8hbjgpgs87ndw6zrb-checkstyle-8.14
checking for references to /build in /nix/store/2174kah8kjdmhlz8hbjgpgs87ndw6zrb-checkstyle-8.14...
/nix/store/2174kah8kjdmhlz8hbjgpgs87ndw6zrb-checkstyle-8.14


[NNBD] Unclear how to migrate methods with dependent return types

I find it hard to meaningfully migrate code like the following to NNBD:
T attempt<T>(T Function() callback, [T otherwise]) {
  try {
    return callback();
  } catch (error) {
    return otherwise;
  }
}

The only workaround I could come up with is to introduce a second differently typed method:
T? attempt<T>(T Function() callback) => attemptOr(callback, null);

T attemptOr<T>(T Function() callback, T otherwise) {
  try {
    return callback();
  } catch (error) {
    return otherwise;
  }
}

However this breaks existing users, and quickly gets more complicated or leads to duplicated code in more elaborate examples such as the migration here. Any advice would be appreciated!
$ dart --version
Dart SDK version: 2.10.0-92.0.dev (dev) (Wed Sep 2 22:28:32 2020 -0700) on "macos_x64"

If you look at the original code, it would potentially return null. As such, the correct translation would be to make otherwise have type T? and also make the return type T?. That is what the existing code does.
The problem here is that you want the return type to be non-nullable, but that requires the optional parameter to be non-nullable, and then it can't be optional - because there is no possible default value of type T for any T.
You can "fix" this code by making the optional parameter nullable, but then you don't actually gave a T default value. That's where we usually do something like otherwise as T when we use it, so it throws if you chose a non-nullable type, provided no otherwise, and needed it.
Or you can make otherwise required, which is what we sometimes do.
Or you can make the result also nullable, which can be annoying. but the technically correct translation of the original code.
Or you can make the otherwise a function: [T Function()? otherwise] and always default to a function which throws. Then it throws if the otherwise value is needed and not provided, independently of whether T is nullable.
All of the fixes are either breaking (because they might throw where the non-null safe code didn't) or they introduces a nullable result type. That's not wrong, the existing code would return null in those cases, so it is a correct. There is no perfect non-nullable translation of the original code.

Thank you for the detailed breakdown of the options. I think I will go with the two separate methods: this seems to provide the cleanest API for my situation and will cause a compile time error at all places that need to be updated.


After changing the DNN Site Alias configuration all 2sic apps stopped working

After changing the site alias configuration all 2sic apps stopped working
Errors returned to client:
An error has occurred. Error:  is currently unavailable.
Error returned in editing mode:
Error: Customer -  is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: App with id 4 doesn't exist. Parameter name: appId ---> System.ArgumentException: App with id 4 doesn't exist. Parameter name: appId at ToSic.Eav.EavContext.InitZoneApp(Nullable1 zoneId, Nullable1 appId) at ToSic.SexyContent.SexyContent..ctor(Int32 zoneId, Int32 appId, Boolean enableCaching, Nullable`1 ownerPortalId) at ToSic.SexyContent.SexyControlEditBase.get_Sexy() at ToSic.SexyContent.ViewApp.Page_PreRender(Object sender, EventArgs e) --- End of inner exception stack trace ---
This problem is really blocking.
UPDATE :
it seems that the cause isn't the update to the new DNN version. See comments in the bottom

Were you able to solve the issue, even with the "not working" PortalAlias configuration?
2sxc saves the "ZoneId" as a PortalSetting, I assume that the issue is that 2sxc somehow can't find the setting.

Hi Mateo
We believe it's not a 2sxc issue, but that your problem was that you didn't set a primary ID for the language it-IT.
We'll close the issue now.

Hi iJungleBoy, I think you are correct, if I find a way to reproduce and document the problem I will inform you using this thread. Thanks


Maintain formatting in text box

@alexsoble: Making a separate issue for the formatting text box issue since this will be something tackled more extensively later. Refer to discussion with @jsgeiser in #312.
Before Save

After Save

Important issue, part of #373.

@alexsoble I think this is closed by https://github.com/codeforamerica/somerville-teacher-tool/pull/422 now, and we've got the link to make sure it's captured as part of the work for #373 too.

Moved to https://github.com/studentinsights/studentinsights/issues/5.


add podspec now that cocoapods supports Swift dynamic frameworks

:+1:  I'd love to once I get more free time. Thanks!


TLS error handshake

using latest commit, i get this error.
2017/06/09 07:50:01 http: TLS handshake error from <IP_ADDRESS>:41837: read tcp <IP_ADDRESS>:3130-><IP_ADDRESS>:41837: read: connection reset by peer 2017/06/09 07:50:01 http: TLS handshake error from <IP_ADDRESS>:57673: read tcp <IP_ADDRESS>:3130-><IP_ADDRESS>:57673: read: connection reset by peer 2017/06/09 07:50:03 http: TLS handshake error from <IP_ADDRESS>:41127: read tcp <IP_ADDRESS>:3130-><IP_ADDRESS>:41127: read: connection reset by peer 2017/06/09 07:50:04 http: TLS handshake error from <IP_ADDRESS>:47938: read tcp <IP_ADDRESS>:3130-><IP_ADDRESS>:47938: read: connection reset by peer 2017/06/09 07:50:05 http: TLS handshake error from <IP_ADDRESS>:56411: read tcp <IP_ADDRESS>:3130-><IP_ADDRESS>:56411: read: connection reset by peer

Is this a regression from an earlier commit?  How did you configure compy?

I successfully tested SSL support with the latest master.  Closing this issue due to lack of response.


[FR] I measured two models, please add them

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
I'm not comfortable enough with git to add two model via a pull request.
I measured the standby/on power (without load (results where equal) for two types of 3A Smarthome dimmer modules. This is the device  info in the HUE integration for them:

Dimmable light (LXN56-DC27LX1.1) by 3A Smart Home DE. --> 1.0 watt
Dimmable light (LXN56-DS27LX1.3)
by 3A Smart Home DE. --> 1.1 watt

I used the recommend Shelly mini gen3 to measure this manually in HA. I added two of them to get more accurate results.
Best  Eric
Describe the solution you'd like
Have them added to the library
Describe alternatives you've considered
Na
Additional context
As for these devices, only the standby power counts, I saved me the effort to understand how to apply the measurement scripts.
One question wrt the recommended Shelly mini Gen 3; mine doesn't measure below 1watt. Is that correct? How do you measure standby power below 1 watt? (I added an extra small stable load in parallel)

@erkr thanks I will add the profiles.
You question about Shelly mini gen 3 I cannot answer because I don't have the device myself yet.
I will also order one to see how it behaves for me. When it is indeed not able to measure below 1W we need to reconsider if we recommend it.
It was recommended by @RubenKelevra few weeks ago and documentation modified for that: https://github.com/bramstroker/homeassistant-powercalc/pull/2704

Well in that case let's share my experience with the Shelly:
It starts measuring at 1.0 watt reporting in tens of watts. I cycled the brightness of a LED light several times and the values seemed reproducible at +-0.1 watt. That is nice, I guess.
I have one issue with the Shelly integration. Somewhere in the chain, small delta's aren't propagated to HA, so I had to read the values from de web interface directly.
If you want to try one yourself, I bought it for 12€ at Amazon

I have one issue with the Shelly integration. Somewhere in the chain, small delta's aren't propagated to HA, so I had to read the values from de web interface directly.

That's normal. With the measure script you can access the Shelly device via it's API directly.

I will also order one to see how it behaves for me. When it is indeed not able to measure below 1W we need to reconsider if we recommend it.
It was recommended by @RubenKelevra few weeks ago and documentation modified for that: #2704

I've looked the chip up. The datasheet shows that the measurement errors increase significantly on very small measurements. And below ~2.4 W the measurement errors are not specified (because they are pretty bad ;). That's why Shelly cut values below 1 W off.
But that's absolutely normal. Other measurement devices may show values below 1 W, but the accuracy is atrocious. I've seen that on the older Shelly devices, which have accuracies ±20% on small measurements.
The datasheet shows the following measurement errors for the chip used in the gen3 PM:

Starting from ~2,4 W the measurement error is ±0,6 %.
Starting from ~12 W the measurement error is ±0,4 %.
Starting from ~24 W the measurement error is ±0,2 %.

That's why I only measure with a dummy load of around 12 W. :)

@RubenKelevra
Thanks for your write up, makes sense.
Measuring really low values below 1W keeps being problematic, with any consumer device <$50 on the market.
0.6% error is perfectly fine, but we don't know how much the error rate is on much lower values.
We might need to add tutorial / instructions how to use a proper dummy load, to be able to measure these low values more accurately. You shared some details on that before, but I can't remember exactly.

Btw @erkr I have added PR for your actual request #2796

We might need to add tutorial / instructions how to use a proper dummy load, to be able to measure these low values more accurately. You shared some details on that before, but I can't remember exactly.

It's rather simple, but it requires users to play with grid power and uninsulated metal which carries grid voltage. I don't really wanna write a tutorial for users to follow...
In short: You need two so-called Cement Resistors with 20W and 10k ohm. If you put them in parallel the will draw ~11.52 W if you put them in series they will draw ~2.88 W.
So you can either just increase slightly above the necessary threshold (2.88 W) to measure or increase to the better measuring range (11.52 W) - which I do. And regardless how you connect them, their cooling capacity of 20 W is never exceeded.
Note that resistors have:

a large spread on their accuracy - so you can't just take the 11.52 W as dummy load, you have to measure it.
Their resistance also depends on the temperature, that's why I've added the "heat the dummy load for 2 hours" recently to the measuring script.
Their power draw also depends on the grid voltage.

For beginners, it may make more sense to use a simple light bulb as dummy load instead of cement resistors. As that is a device easily available and can be used safely without tinkering with Wago connectors and live wires.

0.6% error is perfectly fine, but we don't know how much the error rate is on much lower values.

I would expect ±20%, that's why it isn't offered by Shelly.

Thanks for explaining. Using a dummy load is what I did as well.
Good to know the accuracy becomes better for higher values (not a fixed pct)

Btw @erkr I have added PR for your actual request #2796

🤗

I just used a non-dimmable led bulb as dummy.
Step 1: measure only the dummy led bulb
Step 2: add the device under measure. The delta is the standby power

I agree a non-dimmable led bulb as dummy is easier

Using a non-dimmable LED as a dummy load isn’t the best choice when measuring power consumption, especially for precision tasks like analyzing smart LED bulbs. While LEDs might seem convenient, they introduce challenges that can interfere with accurate measurements.
LEDs are non-linear devices that depend on internal driver circuits—featuring components like diodes, capacitors, and sometimes switching regulators. Instead of drawing current smoothly, they operate in sharp, irregular pulses. This behavior creates additional harmonics on the line, which may interact unpredictably with the smart bulb’s own driver circuit. The result? Distorted measurements that can obscure the true power consumption of your device, particularly in standby or low-power states.
Another issue is stability. LEDs don’t provide a consistent load. Their steep current-voltage curve means small voltage fluctuations can cause disproportionate changes in current draw. Even if your power meter compensates for some of this, the fluctuating load makes repeatable and reliable measurements more difficult.
For these reasons, a resistive load is a far better alternative. Cement resistors or even incandescent bulbs provide a simple, predictable, and linear load. They maintain a steady voltage-current relationship, ensuring your dummy load doesn’t interfere with the primary device under test. Cement resistors are especially practical—they’re robust, come in precise values, and can be selected to draw just enough current to improve measurement accuracy without overloading your equipment.

You're right, but cement resistors is too cumbersome. Will use a traditional light bulb 👌

@erkr Yeah. The power consumption on light bulbs however is higher. Depends on how many lights you're going to test if that's a concern ;)
I've worked on a better dummy load functionality yesterday. You can try it out here:
https://github.com/bramstroker/homeassistant-powercalc/pull/2810


LD_LIBRARY_PATH

Within Instructions, the settings for LD_LIBRARY_PATH is incomplete.
If both Qt is installed in User Directory (as is default), and the Open-CVR archive is extracted in the User Directory the values for LD_LIBRARY_PATH should be within ./env.sh should be:
export LD_LIBRARY_PATH=/home/[USER]/OpenCVR-Ubuntu14.04-CentOS7-64bit-r1.2.3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/[USER]/Qt5.4.0/5.4/gcc_64/lib:$LD_LIBRARY_PATH
Note: Replace [USER] with the username, without brackets

please use 2.0 version


re-use (&) from Data.Function if base >= 8.0

The re-definition of (&) would force users of libraries that naturally re-export it from Data.Function (if base >= <IP_ADDRESS> ) to hide it from Protolude.
This is a bit annoying; while working with protolude together with turtle for instance the list of hiding items is getting long enough ;-)
Thanks for the wonderful prelude.

Yeah, this makes sense. I'll push it in the next version.


Mockup ticket view

Not much of a change, if we decide to introduce some sort of formatting here we'll want to revisit...

Closing for this iteration.


Smoke Tests: update requirements versions to DO NOT SQUASH

Can one of the admins verify this patch?

/azp run python - smoke-test

/azp run python - smoke-tests

DO NOT SQUASH this PR. Merge both commits in if possible. This ensures we have a history of working smoke tests for all released previews.


Identical Property Merging

Similar for merging of homeomorphic spaces, I suppose to suggest merge two identical properties (i.e., both $A \implies B$ and $B \implies A$ can be deduced), because pi-base have aliases for properties and we can write equivalent definition in descripton.
For example, Completely regular and Uniformizable are in P12 now due to 52bcd9d.
Here is a list of identical properties which can be deduced by pi-base:

[ ] P70 (Markov Menger) and P71 (σ-relatively-compact)

Here is a list of $A \implies B$ but there are no counterexample for $B \implies A$:

[ ] P61 (Cozero complemented) ⇒ P6 (T3.5)
[ ] P145 (Strongly paracompact) ⇒ P30 (compact)
[ ] P72 (2-Markov Menger) ⇒ P69 (Strategic Menger)
[ ] P91 (Eberlein compact) ⇒ P77 (Corson compact)
[ ] P157 (Strategically $k$-Rothberger) ⇒ {P156 ($k$-Rothberger), P160 (Strategically $k$-Menger)} ⇒ P159 ($k$-Menger)

FYI, we discussed Markov Menger and sigma-relatively compact in the past, and decided to keep them separate.  Reason: there are very different phrased properties, which a priori have nothing to do with each other.  It seemed more instructive to keep them separate, with theorems showing the equivalence.

It's worth comparing with P152 where both a direct "topologically countable" and game-theoretic "Markov Rothberger" are given as aliases for the same (equivalent) property.
Note also that some implications like P157=>P156 might involve set-theoretic shenanigans, as P156 means Player One lacks a winning strategy for a game, and P157 means Player Two has a winning strategy, and these games can be indetermined due to the Axiom of Choice.

P6 (T3.5) $\iff$ P61 (Cozero complemented) is not true since $\beta\mathbb{N}$ is cozero complemented but $\beta\mathbb{N}\times \beta\mathbb{N}$ is not
I'll try to see if there exist examples already on pi-base, though

#1049 provides counter-example for P6 $\implies$ P61


Hyundai SCC standstill resume logic

The current implementation of cruise standstill resume logic is not good enough! There is a constant hit resume display on cluster, and constant cycling until the vehicle start to move. Also the frequency to send clu11 is unnecessary. we can send the clu11 msg at the loop rate the logic is running.
the logic sends resume when the vehicle in front moves, just like how human driver would hit physical resume switch.
This works very well and works every single time without any errors( atleast no errors in the past 2 days of driving)

reopen, accidental closure


Feat/enforce output choice

For baselines that extract features from internal layers, make the argument "output_layers_id" mandatory.
This is because the name and the sequencing of the layers might differ from one network to another, and setting some value by default may silently affect the results.
For instance, if the default value is -2, VIM might work for a network with layer[-2] = flatten, layers[-1]=dense(activation=softmax) but not with layer[-2] = dense(activation=linear) layers[-1]=softmax, even if it can encode the same network.

LGTM!


List the PackageIdentifier of the package to be added to automation
Wondershare.Anireel
Details about the application
Anireel is an easy animated explainer video editor with rich ready-to-use assets that helps to effortlessly make animated videos for marketing, knowledge sharing, and eLearning. We make video animation easier to electrify features that satisfy your imagination!
You can do the following with an Anireel:
● Use rich ready-to-use assets like scenes, background, characters, props, text, and audio by easy drag and drop.
● Edit the assets, including modifying the size and colors and so on.
● Import video, audio, and images in various formats.
● Add enter & exit effects and motion path function to animate anything.
● Convert your text into vivid human dubbing through Text-to-Speech.
● Turn your scripts into animated videos with one click.
You will receive a free trial version for use after downloading and installing Wondershare Anireel. You can export videos with the Anireel watermark from the free plan.
After upgrading to the paid trial version, you can use all paid assets and export videos without a watermark.
And If you want to try the Text-to-Speech function, please purchase the TTS plan. You can get 200,000 Text-to-Speech characters for use per month.

@allcontributors please add @TaylorShi for ideas


General feedback on 2.1.5 beta builds

Godot version:
Godot 2.1.5-beta (dev snapshots)
Now that 3.0 is out and while many are waiting for 3.1 to get back their OpenGL 2.1 or OpenGL ES 2.0 support, it's time for an update to the 2.1 "old" stable branch which is still used in production by many.
There have been tons of changes since 2.1.4 in the 2.1 branch, some of which may have introduced regressions or API breakages - during 3.0 development, the pressure to get new features in 2.1 was high and we were less conservative than we plan to be for 3.0.x releases.
This thread should serve to notify of potential regressions or breakages that you will find in 2.1.5-beta builds, and which were not present in 2.1.4-stable. This is not the place for feature requests - and at this stage we really don't want to spend too much time on 2.1 features, finishing 3.1 has much high priority.
Please test it on your games (after doing backups/using version control of course!) and report any potential breakage. It would be especially useful to test it on complex games currently in production with 2.1.4. If you're using custom compiled templates to add some modules (Steam, ads, etc.), check the README.txt file in each beta's folder to know what commit it was made from.

Downloads:

2.1.5 beta1: https://download.tuxfamily.org/godotengine/2.1.5/beta1/

https://github.com/godotengine/godot/issues/10262 Still happends

https://github.com/godotengine/godot/issues/16814 Still happens too

#10262 Still happens

Thanks, should now be fixed with be4b63a25.

I think it would be helpful to know what has changed between 2.1.4 and 2.1.5. Particularly regarding exporting from Godot 2 to 3.

The exporter improved a lot but also 3 changed many things, all the demos may need to be tested for export again.

@Ranoller I have seen duplicate entries on some demos, but some of these were made with earlier version of the exporter, if you see it again open an issue because I do not remember seeing one about it.

I did the export today, with a buid compiled yesterday, so the issues are here. Tomorrow I will try to recopilate info.

My hope is the final version of Godot 2 contains a fully Godot 3 compatible exporter.

@davidpgil the exporter can only do so much, it'll always require manual work. The purpose of the converter is mostly to allow you to open the scenes and resources on Godot 3 so you can fix the problems using the editor interface.

Project Settings that are in ported project and not in new project in Godot3:

Rendering/2d/use_pixel_snap (new property is in rendering/quality/2d/use_pixel_snap)
Rendering/viewport/default_clear_color (new property is in  rendering/viewport/default_clear_color)
Debug/stdout/print_fps (new property is in debug/settings/print_fps)
Display/stretch/aspect and Display/stretch/mode (new property are in display/window/stretch)
Autoload (a list with autoloads)
Editor Plugins/enabled
Image Loader/filter
Importer Defaults/texture
Physics 2d/Motion_fix_enabled
Rasterizer/low_memory_2d_mode
Rasterizer/Textscreen_filtered
Render/Light_discard_enabled
Render/Mipmap_policy
Render/Room_cull_enabled
Render/Shadows_enabled

Exporter seems to not suport UTF-8 characters:
·Nuevaanimación becomes NuevaanimaciÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ³n

Oh sorry, I only paste from the tscn file.

That is an encoding issue, it seems, but is never good to use tildes in names anyway...
Open an issue about it and please use something like

<details></details>

Some complete words that can be changed in experimental script exporter without much parsing:
.pos -> .position
.get_pos() ->.position
.o  -> .origin
All methods that was changed from OS to Engine.
is_hidden  -> !is_visible
Matrix32()  -> Transform2D()
And somethings listed here: https://github.com/godotengine/godot/issues/9656

This tilde is by default in godot (I didn´t push it). In spanish Animation -> animación

Exporter seems to not suport UTF-8 characters:
·Nuevaanimación becomes NuevaanimaciÃ�Â�Ã�Â�Ã�Â�Ã�Â�Ã�

@Ranoller Could you open a new issue for that one, and attach an example project that triggers the issue on export? I'll have a look at it.

@vnen I hope Godot 2 will be able to fully export to Godot 3 without any manual tweaking in the future. Its stuff like this that makes people point the main flaw in free software. Imagine if you could not open an older Photoshop file in a new version of Photoshop without a bunch of tweaking. Seems pretty bad, no? I know its unfair to compare free software to proprietary software, but I do think it makes any game dev really hesitate to use Godot, seems unprofessional to just shrug off this feature I'm hoping for.

Its stuff like this that makes people point the main flaw in free software.

No, it's stuff like that that allows Godot to innovate and have a great architecture, compared to proprietary engines like Unity or Unreal which have such a huge technical debt that they can only work around their bad design decisions to avoid breaking compat.
For 3.0, we were at a stage where Godot's user base was small enough (and especially the number of published and in-development serious projects) that we could allow ourselves such compatibility breakage.
A fully functional out-of-the-box export is not possible, some of the stuff used in Godot 2 has simply no equivalent in Godot 3. The current exporter can be improved though, and you're welcome to report issues or even better, contribute enhancements.

@akien-mga , with due respect, that is really an excuse. As you know writing software can be ugly. Of course mistakes happen. Solutions are ALWAYS possible. Even if the solution is ugly. If its possible to manually port a file to Godot 3 after the current exporter, then its possible to do it programmatically. I don't want this to turn to be debate, but I don't think is unreasonable to do. I don't have much experience with C++ but I can see what I can do. Would you help me find the exporter in the Godot source code?

@davidpgil It's all in https://github.com/godotengine/godot/blob/2.1/editor/editor_export_godot3.cpp

Why not have an importer in Godot 3 then? That makes sense to me. Export from Godot 2 then import that project, or perhaps detect a project exported from Godot 2, then do the remaining conversions in Godot 3? Thanks for sharing the code... My C++ is very rusty I realize upon looking at the code. What do you suggest? I would like to at least try to make this project conversion work, at least, for my own project.

·Exporter doesn´t generate default_env.tres

What do you suggest? I would like to at least try to make this project conversion work, at least, for my own project.

Well, convert your project. See what works, what doesn't, and try to see how to fix what doesn't work. (First manually, then you can think about how to do it programmatically).

Sorry for change conversation but i have to say that some of the bad ported settings can become in a SCRIPT ERROR: (null): Expected 'shader_type2 at the beggining of shader At:1 - ERROR: RasterizerStorageGLES3::_update_shader: Condition err != OK is true. AT: drivers\gles3\resterizer_storage_gles3.cpp:1697.
This error is triggered by aditional settings in project.godot [rendering].
My project have this imported settings:
[rendering]
quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=0
quality/2d/use_pixel_snap=true
threads/thread_model=2
quality/filters/use_nearest_mipmap_filter=true
environment/default_clear_color=Color( 0, 0.181854, 0.230469, 1 )
quality/filters/msaa=1
2d/use_pixel_snap=true
viewport/default_clear_color=Color( 0.101961, 0.101961, 0.101961, 1 )
If I manually delete all of them error is gone. So is important to correct asign old - settings to new settings.

Theres serious performance issue of instancing in 2.1.4 that make it impossible to load big levels without freezing main thread. https://github.com/godotengine/godot/issues/16769
Seems like its been solved in 3.x branch by @reduz so maybe could be good backport it to 2.x

Theres serious performance issue of instancing in 2.1.4 that make it impossible to load big levels without freezing main thread. #16769
Seems like its been solved in 3.x branch by @reduz so maybe could be good backport it to 2.x

I vote for that very strong.

It's still not possible to reliably keep track of game pad connectivity for multiple players.
Still some issue going on with Controller IDs when you plug and unplug multiple controllers in certain orders.  Originally was this, but seems like a different problem now. #12643
When I unplug and plug in the first controller while a second one is plugged in, the ID reported is wrong, and it seems to increment the ID of the second controller.  Should I append to the original issue?

Discovered this one last night https://github.com/godotengine/godot/issues/17563, may be exclusive to 2.1.4/2.1.5 and more so only to the hardware of my laptop.  If it isn't, it may randomly become the source of much frustration and mystery for others.
And this is still happening https://github.com/godotengine/godot/issues/12643 in 2 and 3, but noticed another problem with it.

HingeJoints (at the least) are behaving slightly different now. The new behaviour is not wrong but this is a compatibility issue:
Previously (2.1.4), you could let node_b on a HingeJoint (3D) empty. The joint would then behave as if it was linked to the "space" (or a Siemens Airhook).
On 2.1.5 you will have to link node_b to another Body. I.e. a StaticBody.
The new behaviour is probably better but it can break 2.1.4 projects.

HingeJoints (at the least) are behaving slightly different now. The new behaviour is not wrong but this is a compatibility issue:
Previously (2.1.4), you could let node_b on a HingeJoint (3D) empty. The joint would then behave as if it was linked to the "space" (or a Siemens Airhook).

CC @RandomShaper, likely related to #10769.

https://github.com/godotengine/godot/issues/17588

https://github.com/godotengine/godot/issues/17588 it requires quite a bit of attention

https://github.com/godotengine/godot/issues/17588 it requires quite a bit of attention

https://github.com/godotengine/godot/issues/17588 this requires very little attention

The joint issue is fixed by #17678.

When I run the project my parallax layers have an offset, tho on the editor they look fine

@NicoLira open an issue about that, and mention if it is a regression (i.e. it worked right on previous versions and which one).

In the RC1, this one is still present: https://github.com/godotengine/godot/issues/17566
And now when I run my most recent project, I get an error dump, and I really have no idea where to proceed with it.  Any suggestions?

@avencherus Could you send me that project for debugging? Otherwise try to compile the 2.1 branch from source to get debug info when it crashes.

Another ParallaxLayer regression #17764

@akien-mga Yes I can, though it is a little bit large.  For now I will toss the project as is onto Google drive and email you the link.  I'll title it: "CrashHandlerException 2.1.5 RC1"  If there is better or more preferred way, let me know.  I really appreciate you taking a look into it, I've been so tunnel vision on making the games that I'm still quite clueless about the deeper internals of Godot itself.

@avencherus Thanks, got it. Moved the debugging to #17780.

Hello there dear godot devs.
I posted a question on the forum but had no reply:
https://godotengine.org/qa/26348/how-can-i-access-the-id-in-a-translation-file
I may have found a bug. I'll try to explain briefly: I have a .csv file for translation which works fine BUT:
var pre = preload("res://words.en.xl").get_message_list() # =array list of all the IDs
var pre1 = preload("res://words.en.xl").get_message_list()[0] #<- NOT THE ID BUT THE TRANSLATION!
Can you confirm and do I fill a bug godot 2.1.5 rc1

I wish I could provide more information here, but after testing a large Godot game with this RC, performance is absolutely terrible.
Previously the game ran at a rock solid 60 - 90 fps, it now bounces from 2 - 50 FPS.  The GD profiler is almost no help in identifying what is taking all the extra time.

@rcurtis, so the exact same game project on the same hardware & OS runs much smoother on 2.1.4, right?
It would be very helpful to know at which pre-release of 2.1.5 the performance drop starts: 2.1.5-beta.1, 2.1.5-beta.2 or right at 2.1.5-rc.1.

Tried running in 2.1.5 RC, the game started for a flicker of a moment and crashed immediately with another vague trace.  At first I had a crash because the Input.set_custom_mouse_cursor() had been updated to have the shape parameter.  Has there been any other API changes that I could take a look at?

@RandomShaper After looking at it further, it seems to only tank in performance while the remote scene tree tab is open.

With further testing there are issues with Input.set_custom_mouse_cursor() that have been introduced.
The first I found was that using an .atex for the texture of the cursor causes a crash.  With some help from @eon-s and @Zylann I have this stack trace on it.

CrashHandlerException: Program crashed
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[0] ImageTexture::get_data (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\resources\texture.cpp:259)
[1] ImageTexture::get_data (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\resources\texture.cpp:259)
[2] OS_Windows::set_custom_mouse_cursor (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\os_windows.cpp:1983)
[3] InputDefault::set_custom_mouse_cursor (c:\godot\godot 2.1\builds\current 2.1.5 rc\main\input_default.cpp:504)
[4] MethodBind3<Input,Ref const & __ptr64,enum Input::CursorShape,Vector2 const & __ptr64>::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\method_bind.gen.inc:1994)
[5] Object::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\object.cpp:853)
[6] Variant::call_ptr (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\variant_call.cpp:991)
[7] GDFunction::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\modules\gdscript\gd_function.cpp:641)
[8] GDInstance::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\modules\gdscript\gd_script.cpp:1112)
[9] Object::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\object.cpp:832)
[10] Variant::call_ptr (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\variant_call.cpp:991)
[11] GDFunction::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\modules\gdscript\gd_function.cpp:641)
[12] GDInstance::call_multilevel (c:\godot\godot 2.1\builds\current 2.1.5 rc\modules\gdscript\gd_script.cpp:1128)
[13] Object::call_multilevel (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\object.cpp:590)
[14] SceneTree::_call_input_pause (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\main\scene_main_loop.cpp:829)
[15] Viewport::input (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\main\viewport.cpp:2274)
[16] Viewport::_vp_input (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\main\viewport.cpp:1371)
[17] MethodBind1<Viewport,InputEvent const & __ptr64>::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\method_bind.gen.inc:730)
[18] Object::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\object.cpp:853)
[19] Object::call (c:\godot\godot 2.1\builds\current 2.1.5 rc\core\object.cpp:732)
[20] SceneTree::call_group (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\main\scene_main_loop.cpp:208)
[21] SceneTree::input_event (c:\godot\godot 2.1\builds\current 2.1.5 rc\scene\main\scene_main_loop.cpp:422)
[22] InputDefault::parse_input_event (c:\godot\godot 2.1\builds\current 2.1.5 rc\main\input_default.cpp:349)
[23] OS_Windows::WndProc (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\os_windows.cpp:456)
[24] WndProc (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\os_windows.cpp:807)
[25] CallWindowProcW
[26] CallWindowProcW
[27] glDebugEntry
[28] CallWindowProcW
[29] DispatchMessageW
[30] OS_Windows::process_events (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\os_windows.cpp:1939)
[31] OS_Windows::run (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\os_windows.cpp:2410)
[32] widechar_main (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\godot_win.cpp:149)
[33] _main (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\godot_win.cpp:171)
[34] main (c:\godot\godot 2.1\builds\current 2.1.5 rc\platform\windows\godot_win.cpp:183)
[35] __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
[36] BaseThreadInitThunk
-- END OF BACKTRACE --

Then once I started trying to use PNG and TEX files in the parameter the crashing stops.  However, in my main scene the cursor appears for a brief moment, then vanishes, and then seems to be in a busy mode.  After about a minute or two, then my cursor finally appears.
I thought maybe working around this by setting the busy shape, but no luck there.
I even tried applying the custom cursor texture to all shape types, but no result with that either.
const CROSSHAIR_TEX  = preload("res://resources/textures/special/cursor_crosshair.tex")

# ... elsewhere

for i in range(17):
	Input.set_custom_mouse_cursor(CROSSHAIR_TEX, i, CROSSHAIR_TEX.get_size() / 2.0)

If anyone has any suggestions to what this problem might be about, or what I can test?   Let me know.  Thanks.

With further testing there are issues with Input.set_custom_mouse_cursor() that have been introduced.

CC @guilhermefelipecgs

@avencherus can you provide an example project?

@avencherus set_custom_mouse_cursor only support Texture resources and will not work with atlas texture (*.atex), but should work with *.png and *.tex.
void set_custom_mouse_cursor( Texture image, int shape=0, Vector2 hotspot=Vector2(0, 0) )
This way shold work for .atex:
Input.set_custom_mouse_cursor(CURSOR.get_atlas(), 0, CURSOR.get_size() / 2.0)
But only with 32x32 pixel size on 2.1.5 beta, this restrictions was removed later 0988796f3c2e2543c240b552f20825a6a7b28c7d.
About the delay, I don't know what could be the cause of it.

for i in range(17): Input.set_custom_mouse_cursor(CROSSHAIR_TEX, i, CROSSHAIR_TEX.get_size() / 2.0)

This probably will not work because set_custom_mouse_cursor has a bug and I only fix on master #18089, I'll make a port for 2.1. Meanwhile, try this way to see if you notice any diference:
for i in range(17):
	Input.set_custom_mouse_cursor(null, i) # Hack
	Input.set_custom_mouse_cursor(CROSSHAIR_TEX, i, CROSSHAIR_TEX.get_size() / 2.0)

@guilhermefelipecgs Interesting.  Thanks for the information.  I will give those a try in the morning, and I will let you know what happens.

@guilhermefelipecgs Ok I gave those things a try, and have some results to share.

The get_atlas() works half way.  It has a catch.  The code uses the atlas' texture size for it's validation.  In my case mine is 1024x1024.  So it takes the parameter and has this error.  I noticed in your change the limit was increased, but even if was this high, I get the impression it will fail at something further down the road if it needs the region dimensions.

As far as I can tell 2.1.4 takes the .atex argument.  I imagine if it isn't to be supported going forward, you probably want a better error instead of the mysterious crash.

The hack suggested didn't change the result for delayed cursor change.  As seen here, it still takes about 10-20 seconds to present itself.

Possible Clue:  What I did discover is that if I move the mouse cursor out of the window and then back over the window, the cursor will change/update immediately to the custom cursor texture.  This happens in both full screen and windowed mode.

@guilhermefelipecgs Sure thing, thanks for taking the time to investigate.
To answer your question, the only cursor related things I've done so far is change the mouse mode to hidden/visible for joypad play (which I have stopped using during these tests,) and when the player uses the mouse, set the custom cursor to a cross hair.  So the joypad it's off, and mouse it has a 32x32 texture.  Nothing more fancy than that at the moment.
The console output is the following:

WM_SETCURSOR
set_cursor_shape = 0
WM_MOUSEMOVE set_cursor_shape(0)
set_cursor_shape = 0
WM_MOUSEMOVE set_cursor_shape(0)
Opening project: mypath(mypath)
running cmdline: "mypath\godot.windows.tools.64.exe" "-path" "mypath" "-editor"
unicode error: invalid skip
ERROR: PopupMenu::get_item_text: Index p_idx out of size (items.size()).
At: scene\gui\popup_menu.cpp:674
ERROR: PopupMenu::set_item_checked: Index p_idx out of size (items.size()).
At: scene\gui\popup_menu.cpp:622
WM_SETCURSOR
set_cursor_shape = 0
WM_MOUSEMOVE set_cursor_shape(0)
running: mypath\Desktop\godot.windows.tools.64.exe -path mypath -rdebug <IP_ADDRESS>:6096 -allow_focus_steal_pid 8588 -p 0x0 res://debug_startup.tscn
running cmdline: "mypath\Desktop\godot.windows.tools.64.exe" "-path" "mypath" "-rdebug" "<IP_ADDRESS>:6096" "-allow_focus_steal_pid" "8588" "-p" "0x0" "res://debug_startup.tscn"
set_mouse_mode
set_cursor_shape = 0
WM_MOUSEMOVE set_cursor_shape(0)
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
set_mouse_mode
MOUSE_MOTION
WM_SETCURSOR
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
MOUSE_MOTION
Shutting down

GAME IS CLOSING!
Game Shutdown.
EXIT GAME (prints mainly in game.gd)
set_cursor_shape = 0
WM_MOUSEMOVE set_cursor_shape(0)

I have a few print lines of my own when I close the game.  I also kept the cursor inside the window as you asked, so it remained spinning as busy.

@avencherus I think I found the problem, can you test again with this patched version, pls? godot.windows.tools.64.exe.zip
About the atlas texture, I added a validation to show an error instead of crash.

@guilhermefelipecgs Nice work, it looks like you got it.  Curious what it was.  X)
The cursor appears immediately as far as I can visually see, and here is the console result.  If anything else related to this pops up in the meanwhile, I will let you know.

When it comes to using an atlas texture as a cursor, like the following code below.  I'm assuming it is still trying to use the main textures dimensions, rather than the atlas region size.
print(CROSSHAIR_TEX.get_atlas().get_size())
Input.set_custom_mouse_cursor(CROSSHAIR_TEX.get_atlas(), 0, Vector2(16, 16))

This is what occurs.

2.1.5-stable has been released, closing.


TcpAdaptorManagementTest::test_02_mgmt_recreate - AssertionError: 0 not less than int32(0)

https://github.com/skupperproject/skupper-router/runs/7283479464?check_suite_focus=true#step:28:2277
59:             l_stats = mgmt.read(type=LISTENER_TYPE, name=listener_name)
59:             self.assertLess(0, l_stats['bytesIn'])
59:             self.assertLess(0, l_stats['bytesOut'])
59:             self.assertLess(0, l_stats['connectionsOpened'])
59: >           self.assertLess(0, l_stats['connectionsClosed'])
59: E           AssertionError: 0 not less than int32(0)
59:
59: /home/runner/work/skupper-router/skupper-router/skupper-router/tests/system_tests_tcp_adaptor.py:1334: AssertionError

26/32 Test #59: system_tests_tcp_adaptor .............***Failed   71.10 sec

This appears to be due to a defect in the tcp adaptor (not a flakey test).
For some reason when the connector is deleted by management the associated dispatcher connection is not being released. This causes any following tcp client connections to be associated with the now deleted connector.


Arch arm fix sp corrupt in jump to main

Fixes #14471
Reverts, partially, the changes introduced in (bbe1a19), concerning moving the implementation into C functions. Apparently, we did not catch issues when compiling without any optimization flags, where local variables are stored, anyways, in the stack (and the stack pointer changes inside the function). We revert using assembly, now. An ISB is also added, before branching to main thread. Finally, the patch is also adding some inline documentation to ease reading.
A second patch is also provided, that moves the MPU re-programming a bit higher in the code, with no functional changes.

@nordic-krch could you do some related testing, and see if this works for you now?

Codecov Report

Merging #14505 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #14505      +/-   ##
==========================================
+ Coverage   51.99%   52.02%   +0.03%
==========================================
  Files         308      308
  Lines       45574    45574
  Branches    10555    10555
==========================================
+ Hits        23695    23711      +16
+ Misses      17069    17057      -12
+ Partials     4810     4806       -4

Impacted Files
Coverage Δ

subsys/testsuite/ztest/src/ztest.c
72.72% <0%> (+7.43%)
:arrow_up:

subsys/testsuite/ztest/include/ztest_assert.h
77.77% <0%> (+38.88%)
:arrow_up:

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 19de7ec...306461c. Read the comment docs.

i've tested reported case and it works fine.


[WIP] Add a Musig2 example file

This PR proposes a Musig2 implementation based on https://github.com/rust-bitcoin/rust-secp256k1/pull/716.
The idea is also gather feedback if the approach used in bitcoin/src/musig2.rs is good.
A example file has been added. To run it:
cargo run --example musig2 --features="rand-std"
For review purposes, only the last commit matters.

Removed the musig file in this PR, but kept the example file that shows how to use the secp256k1::musig API to sign and validate a taproot transaction.

In the secp256k1 example, a random message and tweak is used.
Here it shows how to build a taproot transaction using this same API, using the message and the tweak suitable for the purpose.

On one hand it seems too much but on the other hand it'll make MuSig much more accessible to newbies. So I guess I don't object to adding it but if there's an opportunity to extend the API here we should take it.

if there's an opportunity to extend the API here we should take it.

Yes, that was my idea with bitcoin/src/musig2.rs, but it wasn't making it much easier compared to what we have in secp256k1.
I'm open to discussing how a higher level API could be designed


ShellContextMenu in 3.3.1 throw AccessViolationException

Describe the bug

What code is involved
using (ShellItem Item = ShellItem.Open(Path))
using (ShellContextMenu Menu = new ShellContextMenu(Item))
{
      foreach (ShellContextMenu.MenuItemInfo MenuItem in Menu.GetItems())
      {
             //Do something
      }
}

Expected behavior
Do not throw an exception

Call stack:

Call stack:

at Vanara.PInvoke.Shell32.IContextMenu.GetCommandString(IntPtr idCmd, GCS uType, IntPtr pReserved, IntPtr pszName, UInt32 cchMax)
at Vanara.Windows.Shell.ShellContextMenu.GetCommandString(Int32 command, GCS stringType)
at Vanara.Windows.Shell.ShellContextMenu.MenuItemInfo.GetMenuItems(HMENU hMenu, ShellContextMenu scm)
at Vanara.Windows.Shell.ShellContextMenu.GetItems(CMF menuOptions)

at Vanara.PInvoke.Shell32.IContextMenu.GetCommandString(IntPtr idCmd, GCS uType, IntPtr pReserved, IntPtr pszName, UInt32 cchMax)
at Vanara.Windows.Shell.ShellContextMenu.GetCommandString(Int32 command, GCS stringType)
at Vanara.Windows.Shell.ShellContextMenu.MenuItemInfo.GetMenuItems(HMENU hMenu, ShellContextMenu scm)
at Vanara.Windows.Shell.ShellContextMenu.GetItems(CMF menuOptions)

Sorry. I'll get it fixed and push an update tomorrow.

Sorry. I'll get it fixed and push an update tomorrow.

Just for curious. What is the root cause of this issue?

Just for curious. What is the root cause of this issue?

I found a minor bug in how I was counting characters, but before I fixed that, I could not reproduce the error you're seeing. What is the extension of the file you are passing to ShellItem?

I found a minor bug in how I was counting characters, but before I fixed that, I could not reproduce the error you're seeing. What is the extension of the file you are passing to ShellItem?

Nevermind, I found a way to reproduce. Troubleshooting now.

Nevermind, I found a way to reproduce. Troubleshooting now.

It is now fixed and I'll push 3.3.2 shortly. This isn't a new problem so I'm surprised testing hasn't found it before. Effectively, GetCommandString blows up if the menu item is not a string (e.g. separators). I was checking for the flag indicating string, but the value of that flag is 0, so it was always true. I need to check for equality. This also helped me find a non-breaking problem with my allocation of memory, so I got a two-for.

It is now fixed and I'll push 3.3.2 shortly. This isn't a new problem so I'm surprised testing hasn't found it before. Effectively, GetCommandString blows up if the menu item is not a string (e.g. separators). I was checking for the flag indicating string, but the value of that flag is 0, so it was always true. I need to check for equality. This also helped me find a non-breaking problem with my allocation of memory, so I got a two-for.

Please confirm that 3.3.2 fixes the issue and reopen if not.

Please confirm that 3.3.2 fixes the issue and reopen if not.


Security must be global

see https://scrutinizer-ci.com/g/svandragt/carbon/issues/develop/files/public/system/view_functions.php?selectedSeverities[0]=10&orderField=path&order=asc&honorSelectedPaths=0#inspectioncomment-61413436

Using single $app global instead with Security accessed as a property


Treat Byte as a Uint8Array[1] for platforms that support TypedArrays

Currently Byte appears to be an alias for a number type in Scala.js (see https://www.scala-js.org/doc/interoperability/types.html). Unfortunately this means that doing the typical operations that you would on a byte would have much lower performance since its treated as an IEEE 754 number rather than a bye (or unsigned int).
Note that I haven't confirmed this is the case since I haven't done benchmarks to confirm this, but I would suspect a single element byte array (i.e. new Uint8Array(1)) would be faster

I think we really would like to see some benchmarks on this.
There are a couple of arguments why keeping them the way they are might be faster:

The JIT might be able to optimize (just like for ints)
It might be faster to do int (word) operations on the platform anyways.
Typedarrays are less optimized (because newer). This means they might need heap allocation (!).
In any case we'd need a fallback (at least in ES5 mode) since typed arrays are not ECMAScript 5.1. The additional branches introduced by the dynamic checking would probably kill performance anyways.

However, I'm happy to leave this open if you are willing to do benchmarks and post them here. Are you encountering performance issues?

I am not having performance issues right now, its actually something that came up in my head when making this issue https://github.com/cb372/scalacache/issues/110.
I agree that benchmarks need to be made before any decision is done, the allocation of Uint8Array might kill any other performance improvements that it provides

I'm betting 100 to 1 that encoding with a typed array will be at least 10 times slower. VMs make the distinction between integers and doubles, so a byte is really an integer, which is well optimized. Moreover, it is never boxed, unlike a typed array (at least if it escapes).
I'll go a step further than @gzm0 and close this. It can be reopened if benchmarks prove I'm wrong.


3 add quality contol outputs first pass

aind-ophys-quality-controll-aggregator added to pipeline. Only input from motion_correction currently.
repo: https://github.com/AllenNeuralDynamics/aind-ophys-quality-control-aggregator
This version of the QC aggregator creates a separate QCEvaluation for each plane (as was shown in demo with operators on 12/16/24).

This addition is untested with real data. Pipeline has not been run on this branch. It is available to run on CO here: https://codeocean.allenneuraldynamics.org/capsule/0276595/tree


configuration instructions regarding to migration impedes deployment in logical loop

Gemfile includes
gem 'capistrano', '3.4'
gem 'capistrano-bundler', '~> 1.1.2'
gem 'capistrano-rails', '~> 1.1.1'
gem 'capistrano-rbenv', '~> 2.0'
When deploy is set in deploy.rb as
lock '3.8.1'  (lower versions complain that capistrano version is higher than the lock version)
# Default value for :scm is :git
set :scm, :git
# require "capistrano/scm/git"
# install_plugin Capistrano::SCM::Git
deployment is halted with the following:
[Deprecation Notice]            set :scm, :git         is deprecated. To ensure your project is compatible with future versions of Capistrano, remove the :scm setting and instead add these lines to your Capfile:
    require "capistrano/scm/git"
   install_plugin Capistrano::SCM::Git
Edit to
# set :scm, :git
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git
deployment is aborted:
WARNING: load:defaults has already been invoked and can no longer be modified. Check that you haven't loaded a Capistrano plugin in deploy.rb by mistake. Plugins must be loaded in the Capfile to initialize properly. (Backtrace restricted to imported tasks) cap aborted!
(this warning pops up if all three lines are uncommented)
OK...  Attempt
# set :scm, :git
require "capistrano/scm/git"
# install_plugin Capistrano::SCM::Git
deployment halts with the first error messge (almost):
[Deprecation Notice] Future versions of Capistrano will not load the Git SCM plugin by default. To silence this deprecation warning, add the following to your Capfile:
    require "capistrano/scm/git"
    install_plugin Capistrano::SCM::Git
So what is it?  Applications are NOT deployable in this context.

Hi, sorry to hear you are running into trouble on this.
First of all, I see you have lock '3.8.1', but a Gemfile with gem 'capistrano', '3.4'. This tells me that you are not executing Capistrano correctly. If you intend to use v3.4 as indicated in your Gemfile, then the correct way to invoke Capistrano is:
bundle exec cap

This will ensure that the version number in your Gemfile is honored.

Otherwise, if you'd like to use v3.8.1, then you will need to upgrade your Capfile as indicated by the deprecation warning message. The rest of my reply is concerning this upgrade process.
If I am understanding correctly, you saw the SCM deprecation warning and then edited your deploy.rb to contain:
# deploy.rb
lock '3.8.1'
# set :scm, :git
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git

Again, maybe I misread. But the warning message says that the lines should be added to the Capfile, not deploy.rb. Therefore the correct setup is to edit the Capfile as follows:
# Capfile
require "capistrano/setup"
require "capistrano/deploy"
# ...
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git

Do not use require or install_plugin in deploy.rb.
Let us know if that resolves it, or please correct me if I've misunderstood your issue.

I confirm that it resolves the problem. But inefficiently. deploys talking 1:41 minutes have balooned to 4:00 - not nice for angsty devs...  Order of items in capfile has been a issue I have tripped over in the past.  Could this impact matters here?

What part of the solution is inefficient? If you are running into a performance issue and you can narrow it down to a specific Capistrano version upgrade or configuration change that triggered the regression, could you please open an issue with the details? That would be much appreciated.
If the original issue has been resolved, can I close this issue?

Yes, this issue is to be closed.


⚠ Thumbnails API Endpoint has degraded performance

In 721cd57, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 1263 ms

Resolved: Thumbnails API Endpoint performance has improved in fe89be0 after 8 minutes.


[api] Use of $.extend changes array response type into weird object

[api] Use of $.extend changes array response type into weird object
Steps

I have dropdown that uses an API that returns an array.
In the onResponse I want to modify that array, e.g. using response.map(x => {...}).

Expected Result

My onResponse method is passed an actual array, not a jQuery object.

Actual Result

However as the datatype is 'json', the response is changed from an array into an object. I cannot do array operations like response.map and I have unwanted properties on the object, like _super.

https://github.com/Semantic-Org/Semantic-UI/blob/c4e307c6c1a0b8c10f71b3c1b923d5e05253030c/dist/components/api.js#L485
Version
2.4
Testcase
Couldn't find a mock http server that returns an json array.

Fixed since  https://github.com/fomantic/Fomantic-UI 2.7.0


fix(runtime-core): properties in methods should be writable and enumerable in DEV

Fix: #3300

@knightly-bot build this


Unable to see S3 buckets in US-West-1 when using Terraform Task

We've created several Service Connections that connect to AWS, all regions, but we're having an issue seeing S3 buckets in us-west-1 with AWS terraform service connection; i.e. no S3 buckets show in the drop down as select-able options. We've validated its not an issue with permissions or the service connection.
We're able to connect and view from local pc. We've tracked it down with what we believe is an issue with the Terraform extension Task provided here.
Extension: https://marketplace.visualstudio.com/items?itemName=ms-devlabs.custom-terraform-tasks
Opened issue with Azure DevOps Community: https://developercommunity.visualstudio.com/content/problem/1169003/unable-to-see-s3-buckets-in-us-west-1-when-using-t.html

are you facing this issue for s3 buckets in one particular region or s3 buckets in any region?

We were trying to stand up a BCP/DR instance in US-West-1, when we noticed S3 buckets do not show as selectable using the Terraform Task when they do exist.
We’ve tested more, from our Azure DevOps org, private orgs and noticed other regions aren’t showing S3 buckets either.
US-East-1 is working for us.
Thanks for the response.
David
From: Amruta Kawade<EMAIL_ADDRESS>Sent: Thursday, September 17, 2020 11:33 PM
To: microsoft/azure-pipelines-extensions<EMAIL_ADDRESS>Cc: David Wall<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: EXTERNAL: Re: [microsoft/azure-pipelines-extensions] Unable to see S3 buckets in US-West-1 when using Terraform Task (#858)
are you facing this issue for s3 buckets in one particular region or s3 buckets in any region?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/azure-pipelines-extensions/issues/858#issuecomment-694628117, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOCMFIMF4PNHIBGHFWGU2DTSGLIG3ANCNFSM4RHR2GBA.
This email was scanned by Votiro.

Caution!!!
This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

The information contained in this email and any attachments may be privileged and/or confidential and protected from disclosure. It is intended solely for the use of the recipient(s) to whom it is addressed, or an employee or agent responsible for delivering this message to the intended recipient(s). You are hereby notified that any dissemination, distribution, copying or other use of this communication is strictly prohibited. If you have received this communication in error, please notify the sender by reply email and delete this email and all attachments from your system. Thank you.

I am able to reproduce this issue. We will fix this. As a workaround to unblock you, can you type bucket name in that dropdown and check if that works?

Thank you Amruta. We have validated typing the S3 bucket into the field works. This is a valid work around for now. Thank you for your response and look forward to the enhancement.
Thanks,
David
From: Amruta Kawade<EMAIL_ADDRESS>Sent: Monday, September 21, 2020 3:08 AM
To: microsoft/azure-pipelines-extensions<EMAIL_ADDRESS>Cc: David Wall<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: EXTERNAL: Re: [microsoft/azure-pipelines-extensions] Unable to see S3 buckets in US-West-1 when using Terraform Task (#858)
I am able to reproduce this issue. We will fix this. As a workaround to unblock you, can you type bucket name in that dropdown and check if that works?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/azure-pipelines-extensions/issues/858#issuecomment-695941244, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOCMFIKUVMU4NKX5I7ZMVRTSG33TVANCNFSM4RHR2GBA.
This email was scanned by Votiro.

Caution!!!
This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

The information contained in this email and any attachments may be privileged and/or confidential and protected from disclosure. It is intended solely for the use of the recipient(s) to whom it is addressed, or an employee or agent responsible for delivering this message to the intended recipient(s). You are hereby notified that any dissemination, distribution, copying or other use of this communication is strictly prohibited. If you have received this communication in error, please notify the sender by reply email and delete this email and all attachments from your system. Thank you.

Hello @AmrutaKawade
I can confirm the issue for eu-central-1.
From my perspective the region is completely omitted and therefore this will not work for any region different from us-east-1.
https://github.com/microsoft/azure-pipelines-extensions/blob/master/Extensions/Terraform/Src/vss-extension.json#L159
Is there any details on the inner workings for ms.vss-endpoint.endpoint-auth-scheme-basic and #getAuthorizationHeader?


transpose for svd?

If you transpose, the first two principal componentes explain 0.3808657 of the total variation in your dataset.
If you do not transpose, PC1 and PC2 explain 0.3808657 of the total variation.

Hi, transpose or not is the same actually.
Please see here http://genomicsclass.github.io/book/pages/svd.html  it does not do transpose.
It only matters when you calculate the PCs, whether it is z[1,] or z[1,]
Also see here https://rpubs.com/crazyhottommy/PCA_MDS
Thanks!


Fail2ban

I am trying to implement fail2ban for nginx, but I cannot find any log files that canarytokens references. When I search in etc, nginx isn't even a folder there. Any suggestions on where nginx log files are that fail2ban can reference?

Hi @school-j,
When you say you are looking for nginx log files in /etc, is that on the host machine or in the docker container? Usually log files are output into /var/log but I suspect those would be in the relevant container and not in the host machine

I see in the docker compose, there is an area for logs to be written at the bottom.


chore: 🤖 Add support for schema migration

Description
This allows to specify the previous and current version of subquery node being run. If any schema migrations are needed, this runs the migration on startup.
Breaking Changes
NA
JIRA Link
DA-436
Checklist

[x] Updated the Readme.md (if required) ?

:tada: This PR is included in version 8.4.0-alpha.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 8.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


chore(docs): Update Kubeflow 1.8 release for Nutanix

update Kubeflow version to 1.8.0 for NKE
update owners for Nutanix

/lgtm
/approve

/assign @zijianjoy

/approve


fix: switzerland VAT regex fix

This matches what the stripe documentation says (https://docs.stripe.com/billing/customer/tax-ids) and what I see from our customers.
Switzerland	ch_vat	Switzerland VAT number	CHE-123.456.789 MWST

It would be great if you could release a new version to npm so that I can update the library in our code base :)
Thanks for all the work you put into it :+1:


Create dev environment bootstrap script

Feature: Development Environment Bootstrapping Script
As a feature-creature developer
So that I may quickly and accurately setup a new machine to build and run feature-creature
I want a bootstrapping script with sensible defaults which, upon execution, satisfies development environment dependencies

Acceptance:
For an unconfigured environment:
source ./scripts/development/bootstrap-env.sh

all required env variables are added
a database user based on the currently logged in user is created
a feature_creature database is created
the application should build and run as expected

For a configured environment:
source ./scripts/development/bootstrap-env.sh

all env vars will be reset (if changed)
an error message stating the database user already exists will be displayed
an error message stating the database already exists will be display
the application should build and run as expected


Forgotten console.log in json schema comverter

Description
console.log here https://github.com/ngx-formly/ngx-formly/blob/94919715d411f8ec733c7c34aa809e899286311d/src/core/json-schema/src/formly-json-schema.service.ts#L352 (last 5.x release)
Minimal Reproduction
Install @ngx-formly/core 5.10.15,start app, open console, convert json schema

This issue has been fixed and released as part of v5.10.16 release.
Please let us know, in case you are still encountering a similar issue/problem.
Thank you!


New version and updated

The environment got packages swapped and the version has been updated to include a hot fix.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Update readme with contact details

So folks can say 👋

@nickcolley had to rebase with changes. is it still ok?

@igloosi yeah, lets get it in :)


Regarding "assert coarse_occ_mask.sum() > 0, 'no foreground in coarse voxel'" in Occ_head

After I modified the model, the progress of one epoch of training was less than 2%, and then this assertion error was triggered. What problem usually causes this?

I encountered the same issue. How did you resolve it?


upgrade go-restful for cve-2022-1996

The CVE requires moving up to v3.8.0, but this would require bumping our k8s.io modules to v0.25.0-alpha.2, which resulted in a number of our other dependencies being removed. There may be go mod gymnastics available to make it work, but I also discovered the fix for the vulnerability was also backported to v2.16.0. I'm hoping that will be acceptable for this CVE and will inquire in the issue.
https://github.com/stolostron/backlog/issues/24226
Signed-off-by: Robin Y Bobbitt<EMAIL_ADDRESS>

Please pull in new dex operator and look at test failures

/lgtm


Init the op of nx.Graph with incoming graphscope graph's op

What do these changes do?

Related issue number

Fixes

Codecov Report

Merging #1479 (03b8e5c) into main (4453f2e) will decrease coverage by 24.80%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1479       +/-   ##
===========================================
- Coverage   65.37%   40.56%   -24.81%
===========================================
  Files          88       88
  Lines        9720     9720
===========================================
- Hits         6354     3943     -2411
- Misses       3366     5777     +2411

Impacted Files
Coverage Δ

...ython/graphscope/tests/unittest/test_cython_ast.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...ython/graphscope/tests/unittest/test_serailaize.py
0.00% <0.00%> (-100.00%)
:arrow_down:

python/graphscope/analytical/udf/patch.py
3.47% <0.00%> (-96.53%)
:arrow_down:

python/graphscope/tests/unittest/test_lazy.py
0.00% <0.00%> (-96.30%)
:arrow_down:

...thon/graphscope/tests/unittest/test_scalability.py
0.00% <0.00%> (-96.16%)
:arrow_down:

python/graphscope/tests/unittest/test_app.py
0.00% <0.00%> (-95.66%)
:arrow_down:

...hon/graphscope/tests/unittest/test_create_graph.py
0.00% <0.00%> (-92.00%)
:arrow_down:

python/graphscope/tests/unittest/test_graph.py
0.00% <0.00%> (-84.93%)
:arrow_down:

python/graphscope/tests/unittest/test_context.py
0.00% <0.00%> (-81.04%)
:arrow_down:

python/graphscope/analytical/udf/wrapper.py
27.27% <0.00%> (-72.73%)
:arrow_down:

... and 44 more

Continue to review full report at Codecov.

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


Improper Use of  Tag Inside  Element

Issue: Improper use of h2 tag inside ul element

The source code for 17-make-it-count includes an h2 tag within a ul.

According to HTML standards, heading tags like h2 should not be placed directly inside a ul. This can lead to rendering issues and is not semantically correct.

Expected Behavior

HTML should follow proper structure and semantics. The ul tag should contain only list items li, and headings should be placed outside the list.

Additionally, an h2 tag is only valid if placed within a list item, li tag.

Screenshot of issue:

To my surprise this actually happens through out the entire chapter of 13-box-model.

I will be posting all of the PRs that address this issue here.

All PRs that fix this repetitive issues have been referenced above.


502 error

Every step was carried out as required, and finally, the service was also started
environment：
2024-01-30 16:21:13.685 | INFO     | main:init:327 - Creating KV. May take a while for the first time.
2024-01-30 16:21:16.087 | INFO     | leptonai.photon.photon:_uvicorn_run:820 - Setting up signal handlers for graceful incoming traffic shutdown after 5 seconds.
2024-01-30 16:21:16,087 - INFO:
If you are using standard photon, a few urls that may be helpful:
- http://<IP_ADDRESS>:8080/docs OpenAPI documentation
- http://<IP_ADDRESS>:8080/redoc Redoc documentation
- http://<IP_ADDRESS>:8080/openapi.json Raw OpenAPI schema
- http://<IP_ADDRESS>:8080/metrics Prometheus metrics
If you are using python clients, here is an example code snippet:
from leptonai.client import Client, local
client = Client(local(port=8080))
client.healthz()  # checks the health of the photon
client.paths()  # lists all the paths of the photon
client.method_name?  # If client has a method_name method, get the docstring
client.method_name(...)  # calls the method_name method
If you are using ipython, you can use tab completion by typing client. and then press tab.
2024-01-30 16:21:16,124 - INFO:     Started server process [17008]
2024-01-30 16:21:16,124 - INFO:     Waiting for application startup.
2024-01-30 16:21:16.125 | INFO     | leptonai.photon.photon:uvicorn_startup:763 - Starting photon app - running startup prep code.
2024-01-30 16:21:16,125 - INFO:     Application startup complete.
2024-01-30 16:21:16,126 - INFO:     Uvicorn running on http://<IP_ADDRESS>:8080 (Press CTRL+C to quit)
final：
该网页无法正常运作<IP_ADDRESS>
目前无法处理此请求。
HTTP ERROR 502

折腾半天，把 <IP_ADDRESS> 替换为 localhost 后，终于跑起来了，太折磨

2024-02-04 21:14:33.492 | INFO     | main:init:313 - Creating KV. May take a while for the first time.
2024-02-04 21:14:41.316 | INFO     | leptonai.photon.photon:_uvicorn_run:820 - Setting up signal handlers for graceful incoming traffic shutdown after 5 seconds.
2024-02-04 21:14:41,316 - INFO:
If you are using standard photon, a few urls that may be helpful:
- http://<IP_ADDRESS>:8080/docs OpenAPI documentation
- http://<IP_ADDRESS>:8080/redoc Redoc documentation
- http://<IP_ADDRESS>:8080/openapi.json Raw OpenAPI schema
- http://<IP_ADDRESS>:8080/metrics Prometheus metrics
If you are using python clients, here is an example code snippet:
from leptonai.client import Client, local
client = Client(local(port=8080))
client.healthz()  # checks the health of the photon
client.paths()  # lists all the paths of the photon
client.method_name?  # If client has a method_name method, get the docstring
client.method_name(...)  # calls the method_name method
If you are using ipython, you can use tab completion by typing client. and then press tab.
2024-02-04 21:14:41,323 - INFO:     Started server process [9096]
2024-02-04 21:14:41,323 - INFO:     Waiting for application startup.
2024-02-04 21:14:41.323 | INFO     | leptonai.photon.photon:uvicorn_startup:763 - Starting photon app - running startup prep code.
2024-02-04 21:14:41,323 - INFO:     Application startup complete.
2024-02-04 21:14:41,324 - INFO:     Uvicorn running on http://<IP_ADDRESS>:8080 (Press CTRL+C to quit)
Hey I may have came across the same problem.Do you mean by replacing <IP_ADDRESS> to localhost🤔？


Migrate REST API endpoint access information

Migrated https://help.aiven.io/en/articles/2026734-elasticsearch-rest-api-limited-access-endpoints.

Do we know why only some endpoints are available? I think a bit more explanation could be useful here if we can find out a bit more background.


Use i18next-vue in sandbox app

The popup doesn't display at the right place.

I think the popup test here should be changed.

The popup doesn't display at the right place.

The component popup is never made to work with containers that have Y scrolling.
As it detect the mouse position on the window, but if we then set the popup at that mouse position it'll be incorrect as we have to take the  window.srollY (the amount of scroling done in pixels) into the account.
Even if we take the window scrollY into the account for e.g popup.show(x, y + window.scrollY)

The line here adjust for out of screen will try to adjust the popup (as we're passing y+window.scrollY), which is not needed as the actual y is still within the screen.

The Fix is

Use position: absolute for a popup which is positioning itself relative to an element of height 100vh. Just show in above commit


HStrut layout is buggy

In https://github.com/phetsims/reactants-products-and-leftovers/issues/36, I determined that a layout bug was introduced when sun.HStrut was replaced by scenery.HStrut.  The layout behavior is different in this example:
// rpal.SandwichNode line 49
thisNode.addChild( new HStrut( MAX_WIDTH, { centerX: 0 } ) );

Fixed, assigning to @jonathanolson to review because I'm not absolutely certain that this won't break something else.

Change looks good, and should match original behavior better. Thanks!


finder integration stopped working after upgrade to Sonoma

Finder integration stopped working after upgrade to Sonoma
my log id: 963f7b7651f9c5a4e9156d1c

Duplicate of https://github.com/keybase/client/issues/25718


Added ability to specify inputs for the VM via the Vagrantfile

Instead of a hard-coded
<input type="mouse" bus="ps2"/>

The user can now generate other types of inputs with
libvirt.input :type => "tablet", :bus => "usb"

resulting in domain xml
<input type="tablet" bus="usb"/>

hrmm good point

Ah, I remember now. My thinking was that you would always want at least the default input of
<input type="mouse" bus="ps2"/>

Even if you didn't specify any inputs


fix(@angular_devkit/build-angular): Allow relative paths in global scripts that don't start with "./" on Windows

PR Checklist
Please check to confirm your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
Defining global scripts in angular.json with relative paths fails on Windows when they don't start with "./" when using esbuild.
Issue Number: #25198
What is the new behavior?
It no longer fails.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
I didn't add a test, because I don't know how to add tests for Windows only.

Thanks for reporting this issue. Luckily, it has already been fixed in one of the recent releases. Please update to the most recent version to resolve the problem.
If the problem persists in your application after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior. You can use ng new repro-app to create a new project where you reproduce the problem.


Allow PR modification without effect on other recipes

Hello World,
branch: mickledore
Could you remove the PR number from ${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}/Linux_for_Tegra to allow to PR increment in bbappends without have to create other empty bbappends only to increment their PR to be compatible.
For example, if I bbappend the tegra-binaries_35.4.1.bb and I increment the PR of this recipe via the bbappend, I have to create also bbappends for tegra-bootfiles_35.4.1.bb, tegra-redundant-boot-rollback_35.4.1.bb, and so on, to allow a correct build. If we remove -${PR} in ${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}/Linux_for_Tegra, the bbappend's PR in tegra-binaries_35.4.1.bbappend has not effect on other recipes.
diff --git a/recipes-bsp/tegra-binaries/tegra-binaries-35.4.1.inc b/recipes-bsp/tegra-binaries/tegra-binaries-35.4.1.inc
index 7b5f904c..b061dd7f 100644
--- a/recipes-bsp/tegra-binaries/tegra-binaries-35.4.1.inc
+++ b/recipes-bsp/tegra-binaries/tegra-binaries-35.4.1.inc
@@ -15,7 +15,7 @@ do_convert_crlf_to_lf () {
 	find ${S} -type f "-(" -name "*.cfg" -o -name "*.dts*" "-)" -exec dos2unix {} \;
 }

-S = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}/Linux_for_Tegra"
+S = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}/Linux_for_Tegra"
 B = "${WORKDIR}/build"

 INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes-bsp/tegra-binaries/tegra-binaries_35.4.1.bb b/recipes-bsp/tegra-binaries/tegra-binaries_35.4.1.bb
index 6980816e..55b545a2 100644
--- a/recipes-bsp/tegra-binaries/tegra-binaries_35.4.1.bb
+++ b/recipes-bsp/tegra-binaries/tegra-binaries_35.4.1.bb
@@ -4,9 +4,9 @@ SECTION = "base"

 require tegra-binaries-${PV}.inc

-WORKDIR = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}"
+WORKDIR = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}"
 SSTATE_SWSPEC = "sstate:tegra-binaries::${PV}:${PR}::${SSTATE_VERSION}:"
-STAMP = "${STAMPS_DIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}"
+STAMP = "${STAMPS_DIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}"
 STAMPCLEAN = "${STAMPS_DIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-*"

 INHIBIT_DEFAULT_DEPS = "1"
diff --git a/recipes-bsp/tegra-binaries/tegra-pinmux-dts2cfg_35.4.1.bb b/recipes-bsp/tegra-binaries/tegra-pinmux-dts2cfg_35.4.1.bb
index 660e420c..cdd19392 100644
--- a/recipes-bsp/tegra-binaries/tegra-pinmux-dts2cfg_35.4.1.bb
+++ b/recipes-bsp/tegra-binaries/tegra-pinmux-dts2cfg_35.4.1.bb
@@ -16,12 +16,12 @@ BBCLASSEXTEND = "native nativesdk"

 # Need to setup workdir like set in include file after extending to native
 # Also see tegra-flashtools-native for similar setup.
-WORKDIR = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}"
+WORKDIR = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}"
 SSTATE_SWSPEC = "sstate:tegra-binaries-${L4T_BSP_ARCH}::${PV}:${PR}::${SSTATE_VERSION}:"
-STAMP = "${STAMPS_DIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}"
+STAMP = "${STAMPS_DIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}"
 STAMPCLEAN = "${STAMPS_DIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-*"

-S = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}-${PR}/Linux_for_Tegra"
+S = "${TMPDIR}/work-shared/L4T-${L4T_BSP_ARCH}-${PV}/Linux_for_Tegra"

 do_configure[noexec] = "1"
 do_compile[noexec] = "1"

Why are you updating PR with your bbappends?  Task hashes should change, triggering rebuilds of the dependent recipes automatically, if your bbappend updates the downloaded BSP in a significant way.  If that isn't happening, it might be better to investigate from that end of things first.

Maybe I’m telling a story, but it seems that hashes do not take into account the files accompanying the recipes. So, in my workflow I prefer increment PR when I do an MR.

task hashes do not take into account the files accompanying the recipes

That used to be the case, but things changed a few years back to fix that (search for file-checksums in OE-Core).
I'll admit that the relationship between the tegra-binaries recipe and the others that consume its files is a bit weird, which is why I
worked on restructuring the recipes to reduce the need for adding a bbappend to the tegra-binaries recipe.   If there are specific recipes in recipes-bsp/tegra-binaries that I haven't done that for yet, which you need to modify, I'd prefer making that sort of change.
In the short run, though, you could have all your bbappend files do something like require my-tegra-binaries-pr-bump.inc, instead of modifying PR directly themselves.  That way, you'd only have to do the PR change in one place each time you make a change.  I've done something similar for other interdependent groups of recipes in the past.  You'd still have a bunch of bbappends, of course.