feat: add Arabic translation

✨  add Arabic translation

What:

add Arabic language support json files.
update RTL support directive.
update settings model and settings container accordingly.

Issue number: Closes #562

Thank you for your contribution!


compute REST API - resource skus list - broken paging/no filter

For our automation tool we need to periodically fetch virtual machines SKUs (i.e. size cpu, memory, premium i/o support). We are using https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list

the list returns huge data (> 20MB json) and although the spec says the list should be paged it is not; the nextLink attribute is missing and the list seems to return everyting in one request - this we consider a bug

the list returns SKUs for all compute types which is overkill for our case and having filter per resourcetype would be nice feature (and appropriate for this endpoint) - the spec says the list supports only filtering by location

(Note issue 1. has consequences for our application as we use Azure SDK for java and it fails on OutOfMemory error when trying to parse the huge ouput JSON. We needed to exclude this list from fetching and as workaround we must parse it manually.)

Looking into the issue.

Apologies for the delay. Still investigating internally for the first point in the description.
@pvihan, we'll look into the second point as a feature request and potentially add to the backlog separately, but for this issue we'll treat the first point as a higher priority to resolve.

Any updates on this issue? I want to list vm sizes but it says the method is deprecated and I should use skus list. Since filtering skus by resource type isn't working I have to fetch 20k+ skus and manually filter by the resource type, the location filter doesn't help much. Also, it would be great to filter out by restrictions, e.g. exclude those that aren't available under the current subscription

Any update here? Especially with the deprecation of listing VMs this endpoint is critical.


Retarget dev smoke tests to qa, partial

Description
Runs no-auth smoke tests against qa instead of dev, with the following additions/caveats:

Merged Flynn's Galaxy tests into ....shared-tests/basic-enduser.ts, deleting ....devOnly/basic-enduser.ts

Update the "workflowTuples", which has the workflow/versions to test against, since the ones he was testing against in dev don't exist on qa

Disabled auth tests against qa for now, since we need a  specific user to sign in which I don't have permissions to
Notifications will go to the QA Slack channels, which don't exist. Covered in another bug, SEAB-4283

Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-4901
https://ucsc-cgl.atlassian.net/browse/SEAB-4686 (Flynn's Galaxy tests)
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Enabled auth tests for qa since last reviews, re-requesting reviews.


Change to use GitHub Token rather than GitHub PAT

Change from GitHub PAT to auto generated GitHub Token for dependency checker

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Unable to debug extensions in Insiders or master of VS Code

Version: 1.46.0-insider

Commit: 876f2e70f9a2e1988887f8ca82294418afac15a2
Date: 2020-05-27T05:41:02.088Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.4.0

Steps to Reproduce:

Download VS Code Python extension repo.
Build and start debugging.
Open a Python file
Python extension is expected to activate but never activates.

Some times it gets activated after 5 minutes

Some more issues related to debugging (if extension starts after 5 minutes):

Break points are not hit
Stopping debugger doesn't work
Stopping the launched VS Code instance doesn't stop the debugger. At this point VS Code is in a broken state, I cannot click stop on the debugger nor can I start debugging again (even with new configuration names).

Experienced same behaviour with VS Code Master.

Does this issue occur when all extensions are disabled?: Yes
exthost-f2eefb.cpuprofile.txt
exthost-ec7c17.cpuprofile.txt
exthost-bbfcce.cpuprofile.txt
exthost-0dd858.cpuprofile.txt

Logs from console window (attaached the coresponding cpu profile files)

TMScopeRegistry.ts:45 Overwriting grammar scope name to file mapping for scope text.log.
Old grammar file: file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/extensions/log/syntaxes/log.tmLanguage.json.
New grammar file: file:///Users/donjayamanne/.vscode-insiders/extensions/emilast.logfilehighlighter-2.8.0/syntaxes/log.tmLanguage
register @ TMScopeRegistry.ts:45
TMScopeRegistry.ts:45 Overwriting grammar scope name to file mapping for scope source.python.
Old grammar file: file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/extensions/python/syntaxes/MagicPython.tmLanguage.json.
New grammar file: file:///Users/donjayamanne/.vscode-insiders/extensions/magicstack.magicpython-1.1.0/grammars/MagicPython.tmLanguage
register @ TMScopeRegistry.ts:45
console.ts:137 [Extension Host] (node:12807) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (at writeOut (internal/process/warning.js:27:3))
t.log @ console.ts:137
console.ts:137 [Extension Host] (node:12807) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (at writeOut (internal/process/warning.js:27:3))
t.log @ console.ts:137
console.ts:137 [Extension Host] 2020-05-27T06:41:59.672Z - debug: [TypescriptHero] Setting up extension and activatables. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] 2020-05-27T06:41:59.675Z - debug: [ImportOrganizer] Setting up ImportOrganizer. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] 2020-05-27T06:41:59.676Z - debug: [TypescriptHero] Starting up extension and activatables. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] 2020-05-27T06:41:59.676Z - info: [ImportOrganizer] Starting up ImportOrganizer. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] [vscode-icons] v10.1.1 activated! (at /Users/donjayamanne/.vscode-insiders/extensions/vscode-icons-team.vscode-icons-10.1.1/dist/src/vscode-icons.bundle.js:9:199424)
log.ts:197   ERR timeout after 1000 ms: Error: timeout after 1000 ms
    at t.RawDebugSession.handleErrorResponse (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3096:190)
    at file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3095:451
    at async t.RawDebugSession.shutdown (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3093:536)
extensionHost.ts:222 Extension Host
extensionHost.ts:223 Debugger attached.
extensionHost.ts:222 Extension Host
extensionHost.ts:223 Debugger attached.
log.ts:191  WARN UNRESPONSIVE extension host, 'ms-vscode.js-debug-nightly' took 99% of 5200.033ms, saved PROFILE here: '/var/folders/56/9h11nzxj6b78yvk72vsngk140000gn/T/exthost-0dd858.cpuprofile' Array(4)
api.github.com/search/issues?q=is:issue+state:open+in:title+repo:Microsoft/vscode-pwa+%22Extension+causes+high+cpu+load%22:1 Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)
log.ts:197   ERR Server returned 422: Error: Server returned 422
    at Object.t.asText (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1863:16)
    at b (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3106:378)
    at async e._processCpuProfile (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:5021:635)
log.ts:197   ERR No application in the Launch Services database matches the input criteria.:
New grammar file: file:///Users/donjayamanne/.vscode-insiders/extensions/emilast.logfilehighlighter-2.8.0/syntaxes/log.tmLanguage
register @ TMScopeRegistry.ts:45
TMScopeRegistry.ts:45 Overwriting grammar scope name to file mapping for scope source.python.
Old grammar file: file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/extensions/python/syntaxes/MagicPython.tmLanguage.json.
New grammar file: file:///Users/donjayamanne/.vscode-insiders/extensions/magicstack.magicpython-1.1.0/grammars/MagicPython.tmLanguage
register @ TMScopeRegistry.ts:45
console.ts:137 [Extension Host] (node:6509) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (at writeOut (internal/process/warning.js:27:3))
t.log @ console.ts:137
console.ts:137 [Extension Host] (node:6509) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (at writeOut (internal/process/warning.js:27:3))
t.log @ console.ts:137
console.ts:137 [Extension Host] 2020-05-27T06:25:37.825Z - debug: [TypescriptHero] Setting up extension and activatables. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] 2020-05-27T06:25:37.828Z - debug: [ImportOrganizer] Setting up ImportOrganizer. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] 2020-05-27T06:25:37.829Z - debug: [TypescriptHero] Starting up extension and activatables. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] 2020-05-27T06:25:37.830Z - info: [ImportOrganizer] Starting up ImportOrganizer. (at ConsoleLogTransport.log (/Users/donjayamanne/.vscode-insiders/extensions/rbbit.typescript-hero-3.0.0/out/src/utilities/logger.js:45:25))
console.ts:137 [Extension Host] [vscode-icons] v10.1.1 activated! (at /Users/donjayamanne/.vscode-insiders/extensions/vscode-icons-team.vscode-icons-10.1.1/dist/src/vscode-icons.bundle.js:9:199424)
log.ts:197   ERR timeout after 1000 ms: Error: timeout after 1000 ms
    at t.RawDebugSession.handleErrorResponse (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3096:190)
    at file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3095:451
    at async t.RawDebugSession.shutdown (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3093:536)
extensionHost.ts:222 Extension Host
extensionHost.ts:223 Debugger attached.
log.ts:191  WARN UNRESPONSIVE extension host, 'ms-vscode.js-debug-nightly' took 99% of 5832.741ms, saved PROFILE here: '/var/folders/56/9h11nzxj6b78yvk72vsngk140000gn/T/exthost-af72f8.cpuprofile' Array(4)
api.github.com/search/issues?q=is:issue+state:open+in:title+repo:Microsoft/vscode-pwa+%22Extension+causes+high+cpu+load%22:1 Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)
log.ts:197   ERR Server returned 422: Error: Server returned 422
    at Object.t.asText (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1863:16)
    at b (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3106:378)
    at async e._processCpuProfile (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:5021:635)
extensionHost.ts:222 Extension Host
extensionHost.ts:223 Debugger attached.
log.ts:191  WARN UNRESPONSIVE extension host, 'ms-vscode.js-debug-nightly' took 99% of 5149.632ms, saved PROFILE here: '/var/folders/56/9h11nzxj6b78yvk72vsngk140000gn/T/exthost-e04a8d.cpuprofile' Array(4)
api.github.com/search/issues?q=is:issue+state:open+in:title+repo:Microsoft/vscode-pwa+%22Extension+causes+high+cpu+load%22:1 Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)
log.ts:197   ERR Server returned 422: Error: Server returned 422
    at Object.t.asText (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1863:16)
    at b (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3106:378)
    at async e._processCpuProfile (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:5021:635)
console.ts:137 [Extension Host] Error: Unexpected SIGPIPE	at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:80)	at process.emit (events.js:203:13) (at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:74))
t.log @ console.ts:137
console.ts:137 [Extension Host] Error: Unexpected SIGPIPE	at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:80)	at process.emit (events.js:203:13) (at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:74))
t.log @ console.ts:137
console.ts:137 [Extension Host] Error: Unexpected SIGPIPE	at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:80)	at process.emit (events.js:203:13) (at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:74))
t.log @ console.ts:137
console.ts:137 [Extension Host] Error: Unexpected SIGPIPE	at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:80)	at process.emit (events.js:203:13) (at process.<anonymous> (/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/bootstrap.js:5:74))
t.log @ console.ts:137
extensionHost.ts:222 Extension Host
extensionHost.ts:223 Debugger attached.
log.ts:197   ERR No application in the Launch Services database matches the input criteria.: Error: No application in the Launch Services database matches the input criteria.
log.ts:191  WARN UNRESPONSIVE extension host, 'ms-vscode.js-debug-nightly' took 99% of 5187.464ms, saved PROFILE here: '/var/folders/56/9h11nzxj6b78yvk72vsngk140000gn/T/exthost-86ff0f.cpuprofile' (4) [{…}, {…}, {…}, {…}]
request.ts:40 GET https://api.github.com/search/issues?q=is:issue+state:open+in:title+repo:Microsoft/vscode-pwa+%22Extension+causes+high+cpu+load%22 422 (Unprocessable Entity)
(anonymous) @ request.ts:40
t.request @ request.ts:18
request @ requestService.ts:34
b @ extensionsSlowActions.ts:98
invokeFunction @ instantiationService.ts:61
_processCpuProfile @ extensionsAutoProfiler.ts:166
async function (async)
_processCpuProfile @ extensionsAutoProfiler.ts:133
_onDidChangeResponsiveChange @ extensionsAutoProfiler.ts:82
processTicksAndRejections @ internal/process/task_queues.js:85
async function (async)
_onDidChangeResponsiveChange @ extensionsAutoProfiler.ts:82
log.ts:197   ERR Server returned 422: Error: Server returned 422
    at Object.t.asText (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1863:16)
    at b (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3106:378)
    at async e._processCpuProfile (file:///Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:5021:635)

I have attached the CPU profile for ms-vscode.js-debug-nightly. Not sure this is what's causing the issues.
Also, the message Note: Using the "preview" debug extension appears in my DEBUG CONSOLE. I don't remember seeing this last week.

Hi,
Can you please enable trace: true in your launch config and share the resulting log file here?

debug.javavscript.usePreview

Awesome that's what I was looking for. I thought it gets set automatically when using the insider build,.
Will provide the rest of the info

*Extension did not start even after 10 minutes.
Unable to stop the debugger as well.

console.log
exthost-404c29.cpuprofile.txt
exthost-933e3d.cpuprofile.txt
vscode-debugadapter-2.json.txt
vscode-debugadapter-3.json.txt

Thanks, one thing that jumps out at me is that it looks like we're scanning a bunch of node_modules; you have your outFiles set to
[
  "/Users/donjayamanne/Desktop/Development/vsc/pythonVSCode/out/**/*"
]

and it looks like there's a path pythonVSCode/out/node_modules/.... Updating your outFiles to
[
  "/Users/donjayamanne/Desktop/Development/vsc/pythonVSCode/out/**/*",
  "!/Users/donjayamanne/Desktop/Development/vsc/pythonVSCode/out/node_modules**/*"
]

may resolve the issue for you

In the meantime you can flip debug.javavscript.usePreview to opt-out of the new debug extension if it's a blocker.

Doesn't seem to work in Insiders version. Seems to always use the preview debug extension.
Anyway I can turn this off for insiders or master build of VS Code?

it looks like there's a path pythonVSCode/out/node_modules/.... Updating your outFiles to

Woo hoo, that worked. CLosing this issue as resolved.

Doesn't seem to work in Insiders version. Seems to always use the preview debug extension.

I realized I typo'd the option name above, it's debug.javascript.usePreview (for reference in case you need it again :) )

Oh yes, thats right. works well now. Thanks


SNOW-643388: Are CTEs supported?

What is the current behavior?
Using the same dataframe in a self-join results in generated SQL that has multiple copies of the same sub-query.
What is the desired behavior?
It seems beneficial to have such dataframe operations use CTEs when generating the SQL.
How would this improve snowflake-snowpark-python?
More efficient query execution.
References, Other Background
I see that the dataframe api offers the cache_result() function.  However, that makes use of temp tables, and requires the end-user to explicitly call cache_result() (rather than the library figuring out when to use CTEs).

Hi Ken, thanks for the feedback. Today extracting common subqueries into CTE is not supported. This is challenging to get right and requires some designs/thoughts, but it is definitely a nice optimization.

Thanks for the reply.  Is a simpler first step to have an API that would allow the user to specify which .select() calls should be treated as a CTE?

Unfortunately I don't think we have that yet. It might be useful to look into cache_result if certain operations need to be executed multiple times.

CTE is supported now by automatically converting duplicate subqueries to CTEs. You can enable this feature by setting session.cte_optimization_enabled = True.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


(Android) Click on notification doesn´t trigger onNotificationOpen callback

Cordova 6.3.1
Phonegap firebase plugin 0.1.12
Device: LG G5 with Android 6.0.1
This is the code I am using:
`var app = {
// Application Constructor
initialize: function () {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function () {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function () {
console.log ("Estamos en onDeviceReady");
if (navigator.connection.type == Connection.NONE) {
navigator.notification.alert('Se requiere conexión a Internet');
} else {
window.FirebasePlugin.onNotificationOpen(function(notification) {
console.log(notification);
navigator.notification.alert ("Recibido");
}, function(error) {
console.log(error);
});
}
},
};
app.initialize();`
I receive notifications in the tray of system in all the situations: app in background, foreground and closed and when I click on notification, app is open in the three cases but callback is not triggered.
Is there anything wrong in the code?
Thanks in advance.

same problem, on android notifications arrives but inside the app no callback is called.
v. 0.1.12

@voidbrain  @Kibukita please, test the latest version from the repo. I tried to improved the open notification. Thanks.

@BugsBunnyBR I just tried updating to the latest version of the repo and just tested it.  On Android its still not executing the onNotificationOpen.

@superheroben , could you provide a repo with a sample of how you are calling the plugin code?

Same problem here.
getInstanceId() callback is called, notification arrives, but the onNotificationOpen() is never called.
Client Code:
if (window.FirebasePlugin)
{
  window.FirebasePlugin.getInstanceId(
	function(token) {
		thiss.saveToken(token);
	},
	function(error) {
		console.log(error);
	}
  );

  window.FirebasePlugin.onNotificationOpen(
	function(notification) {
	  alert("Foi!");
	},
	function(error) {
	  alert("Error!");
	  console.error(error);
	}
  );

  window.FirebasePlugin.grantPermission();
}

My notification data structure:
Array
(
    [to] => (device token)
    [notification] => Array
        (
            [title] => Title
            [text] => Test message
            [sound] => default
            [vibrate] => 1
            [badge] => 2
        )
)

My server side code (PHP):
$jsonData = json_encode($data);

$ch     = curl_init("https://fcm.googleapis.com/fcm/send");
$header = array(
    'Content-Type: application/json',
    "Authorization: key=".MY_GCM_API_KEY
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, true);
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

$result = curl_exec($ch);
curl_close($ch);

Working on Cordova Android 5.2.2. The device used to test runs Android 4.4.2.

@arivanbastos , have you tried pointing to the github repo?

Installing from github partially solved the problem.
cordova plugin remove cordova-plugin-firebase
cordova plugin add https://github.com/arnesson/cordova-plugin-firebase/

Now the onNotificationOpen() callback is called when the app is in background.
When the app is in foreground, rather than documentation says, the notification arrives and the onNotificationOpen() is not called:

App is in foreground:
User receives the notification data in the JavaScript callback without any notification on the device itself (this is the normal behaviour of push notifications, it is up to you, the developer, to notify the user)

If you send a push of the "notification" type (without a data body) the notification shouldn`t be displayed when the app is in foreground.

Should I just replace "notification" by "data" in my notification data?
Array
(
    [to] => (device token)
    [data] => Array
        (
            [title] => Title
            [text] => Test message
        )
)

By doing this a crash message is displayed ("App has stopped") when the notification arrives.

https://firebase.google.com/docs/cloud-messaging/android/receive
Here it is described very well.
Your Notification goes to the System-Tray if the app is in the background and to the onMessageReceived() if the app is in foreground.
If your message contains data then this is always passed to the onMessageReceived().
I think that there is a problem in the implementation of onMessageReceived().
When I look to the code I interpret is as follow:

extract data
building a notification with NotificationBuilder
notify via NotificationManager

NotificationManager.notify(id, notification) posts the notification to be shown in the Status Bar.
However, for me this seems to be expected that everytime I receive a message from FCM then it will be shown a notification in the Status Bar.
I don't see any check if the App is in foreground and I don't see any call to the callback. I am no Android developer so maybe I am wrong but the described behaviour fits to that.

OK, I found the piece of code that calls the callback.
With the last commit from BugsBunnyBR there was change in the OnNotificationOpenReceiver which explains that arivanbastos gets his callback executed when pointing to the github repo.
But still, the notification gets only send (to the OnNotificationOpenReceiver and the NotificationManager) if there is either a text or title (in notification or in data). That means it is not possible to send data to your app without getting the notification send to the NotificationManager which shows it in the StatusBar.

@arivanbastos
I said something wrong to you. Sorry about that.
Have you tried pointing to this repo version?
@packowitz and @robertarnesson . Ok, my implementation will ALWAYS* try to show the notification. Or the Firebase automatic displayed notification or the one build inside onMessageReceived will be displayed.
The onNotificationOpen callback will be called when onMessageReceived is called or when the notification has Data and Notification bodies at the same time. In my pr that introduced the onNotificationOpen I tried to explain that push notifications of Notification type would not fire the callback. The recommendation is to always include a Data body, so the plugin can detect and fire the callback.
I know that, always showing the notification is not the standard Firebase notification behavior.
Most Android app developers want their notification to be shown in the sys-tray even If the app is in foreground. I know there are cases, in like chat apps, that this behavior is not s good thing.
When I developed the Android notification feature I did not care about chat apps needs or to comply with Firebase.
What can be done is:

Develop a flag to be set when the app is open saying "hey, I want you to show the notification even when the app is open" and use it to control the behavior. It wouldn`t need to be persisted in any storage if the app always set the flag when opening.

Just comment this line and disable the notification when the app is in foreground.

Always -> If the plugin finds a "text" or "title" in the notification body.

@BugsBunnyBR I like the idea of having a flag to choose the behaviour.
I would decouple the NotificationManager from the OnNotificationOpenReceiver calling back your JS-callback. My recommendation is to introduce a check, if there is data in the message and if so then call the callback with the data.
For the notification it would be good to have the flag.
Thank you.

@BugsBunnyBR I just tested to switch to the github repo and found that tapping on a notification restarts my app even if it is already running. Happens even when the app is in foreground and i tap on the notification.
But the callback works now ;)

Same here, for me the version 0.1.13 is causing my app restart just when it is in foreground. Version 0.1.12 is working just fine.

Notifications are just not working sensibly in the repo version.  The reason is I think, if onNotificationOpen is called before a notification has been opened, it is ignored.
https://github.com/arnesson/cordova-plugin-firebase/blob/master/src/android/FirebasePlugin.java#L123
In registerOnNotificationOpen it only registers the callback IF there is a notificationBundle waiting
Also, the reason the app seem to reload if already open is in OnNotificationOpenReceiver it explicitly says
launchIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
https://github.com/arnesson/cordova-plugin-firebase/blob/master/src/android/OnNotificationOpenReceiver.java#L17
which forces the client to reload, upon where the notificationBundle is available when onNotificationOpen callback is registered.

I have re-written the whole onNotificationOpen handling and have it almost working as I would expect, which is:

Notification arrives with client in forground, open notification and onNotificationOpen is called in the current client (without reload)
Notification arrives with client in background, open notification and client is brought into forground and onNotificationOpen is called with current client (without reload)

The only thing remaining is to have the notification delivered immediately to the client without needing to be opened, if that's at all possible (haven't looked into it yet).
I am a bit of an Android noob, so there may be some improvements that can be made, but it seems to work ok, so thought I would share.
OnNotificationOpenReceiver:onReceive now simply calls
```FirebasePlugin.onBroadcastReceive(context, intent);```

Changed FirebasePlugin as follows

remove WeakReference from callbackContext
add onBroadcastReceive method, passes intent data to onNotificationOpen
add onNewIntent method, passes intent data to onNotificationOpen
restored old version of onNotificationOpen and changed it as follows
-- removed WeakReference line
-- Change callbacks to use a PluginResult and call setKeepCallback(true) on the result to prevent the callback from being removed after the first call

    private static CallbackContext callbackContext;
    // ...
    private void registerOnNotificationOpen(final CallbackContext callbackContext) {
        FirebasePlugin.callbackContext = callbackContext;
    }

    // called when in foreground
    public static void onBroadcastReceive(Context context, Intent intent) {
        Log.d("FirebasePlugin", "onBroadcastReceive");
        Bundle data = intent.getExtras();
        FirebasePlugin.onNotificationOpen(data);
    }

    // called when in background
    @Override
    public void onNewIntent(Intent intent) {
        Log.d(TAG, "new intent " + intent);
        super.onNewIntent(intent);
        FirebasePlugin.onNotificationOpen(intent.getExtras());
    }

    public static void onNotificationOpen(Bundle bundle) {
        if (FirebasePlugin.callbackContext == null ) {
            Log.d("FirebasePlugin", "no callback context, onNotificationOpen ignored");
            return;
        }
        if (callbackContext != null && bundle != null) {
            JSONObject json = new JSONObject();
            Set<String> keys = bundle.keySet();
            for (String key : keys) {
                try {
                    json.put(key, bundle.get(key));
                } catch (JSONException e) {
                    Log.d("FirebasePlugin", "onNotificationOpen: json exception");
                    PluginResult result = new PluginResult(PluginResult.Status.JSON_EXCEPTION, e.getMessage());
                    result.setKeepCallback(true);
                    callbackContext.sendPluginResult(result);
                    return;
                }
            }
            Log.d("FirebasePlugin", "onNotificationOpen: send notification to javascript");
            PluginResult result = new PluginResult(PluginResult.Status.OK, json);
            result.setKeepCallback(true);
            callbackContext.sendPluginResult(result);
        }
    }

Humm... I have noticed notifications are not delivered (to the device) when the client isn't running (has been killed).

Try to open a notification presented by firebase directly and see the behavior.. I guess they restart the main activity which I think is the right behavior.

Sorry for the delay. I tried with 0.1.13 but my app is restarted after notification is open.

any news ?

I'm unable to get any onNotificationOpen callback success or fail on android using 0.1.17. Neither sending through the API or GUI with a payload works. Any suggestions?

Why dont we pull create a pull request with that code @Mehuge  posted ?It works like charm on android for me.

I had to update onNewIntent in FirebasePlugin to filter out normal launch intents, so my onNewIntent code now looks like this
@Override
public void onNewIntent(Intent intent) {
  Log.d(TAG, "new intent " + intent);
  super.onNewIntent(intent);
  Bundle data = intent.getExtras();
  if (data != null) {
    String id = data.getString("id");
    if (null != id) {
      data.putString("opened", "true");
      FirebasePlugin.handleNotificationBundle(data);
    } else {
      Log.d(TAG, "Not a notification intent, ignored");
    }
  }
}

I am not entirely happy with it.  It works by looking for an id property in the intent bundle which my server code always sends.  There doesn't seem to be anything that GCM or FBM reliably add to the bundle that can be used to identify the intent as a notification/message.   Sometimes we get some google properties added (if we are opening a notification from the tray) but for messages and notifications delivered directly to the client when it's in foreground, there is nothing other than the data in the message that tells you it's a launch intent because of a notification, at least that I could see.

@Mehuge would you mind creating gists with all files you have?

Ok here it is https://gist.github.com/Mehuge/374ee24d9e18a6c7ccc171d3e521b7ad
Note however, that there are a few bits in there that are specific to our app.  I ended up moving the code into our project because I was changing it about so much.  In hindsight I should probably have forked the plugin and modified it that way, but by this point I was way behind schedule and quite fed up with the whole thing, so I took the quickest route to getting something working.
The custom bits are fairly obvious, so should be easy enough to exclude.
Also I am not entirely happy with the final result, some of the extra keys added for example were experimental and are not actually being used, I just have not got around to removing them.
Would be interested in any feedback or suggested improvements or pointing out any flaws.  I would be particularily interested in finding a way to better detect a launch intent with a GCM payload from a normal launch.  I found the google properties are only added in some circumstances.  Also my attempts at detecting the different types of notifications (is_push, is_notify, broadcast) are not really working well.

see #108

For me, I could resolve making the request like this:

{
  "registration_ids": [...tokens],
  "notification" : {
     	"title": "Notf title",
    	"body": "Notification body"
     },
     "data": {
     	"click_action": "/call/dwEugLJ9PTVdcFb064CX"
     }
}

But I had to take the click_action as a parameter and do the redirect manually (I was using cordova with react app).


GA Background color displayed in the main page even if not configured for since yesterdays release

Description
Hello,
Since the last update of yesterday, the GA defined background color is displayed on SG main page even if not defined for, this problem occurs since the last release of yesterday.
Can you please fix this bug ?
Steps to Reproduce

Define a Background color for Public GA
Disable to display it on the main page of SG
The background color is displayed even if not asked only since yesterday's release.

Expected Behavior
No Background color of GA when not asked for the main page of SG.
System (please complete the following information):

ESGST Version: Last Release of yesterday (not at home to give the version)
Browser + Version: Firefox 70.0.1 - 64 bits

Thanks per advance for your help :)

Paths are gone (#1497), I'll add options restrictive to paths based on user request from now on, so it's not a bug. I'll add this option to the next version.

Paths are gone (#1497), I'll add options restrictive to paths based on user request from now on, so it's not a bug. I'll add this option to the next version.

Ok I hope the next version will come soon because this is very disturbing in SG main page.

Paths will be back in the next version (#1518).


find my mouse

Description of the new feature / enhancement
the crosshair function doesn't work with multiple screens, it can only show in one of my screens, i need to enxtent the vertical line to other screens.
Scenario when this would be used?
cross check documents on two different screeens.
Supporting information
No response

/dup https://github.com/microsoft/PowerToys/issues/16531


[Event Request] Codeunit 550 OnAfterAddNewSalesLine and OnAfterAddNewPurchaseLine

In Codeunit 550 "VAT Rate Change Conversion" we Need additional Event trigger:
local procedure AddNewSalesLine(SalesLine: Record "Sales Line"; VATProdPostingGroup: Code[20]; GenProdPostingGroup: Code[20])

BEGIN
…
    OldSalesLine.Modify();
    //++++++++++++++++++++++
    OnAfterAddNewSalesLine(VAR OldSalesLine,VAR NewSalesLine);
    //----------------------
end;

local procedure AddNewPurchaseLine(PurchaseLine: Record "Purchase Line"; VATProdPostingGroup: Code[20]; GenProdPostingGroup: Code[20])

BEGIN
…
OldPurchaseLine.Modify();
//++++++++++++++++++++++
OnAfterAddNewPurchaseLine(VAR OldPurchaseLine,VAR NewPurchaseLine);
//----------------------
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Define mappings for CF types on LLP64

As per https://forums.swift.org/t/llp64-targets-and-integral-types/18253/15, define mappings for CFTypeID, CFOptionFlags, and CFHashCode to UInt.
The DefineAndUse parameter may be incorrect; it wasn't clear to me what its value should be.
As an alternative solution, CoreFoundation could be updated to typedef these types to e.g. uintptr_t, which is already mapped to UInt on LLP64.
cc @jckarter and @compnerd

@swift-ci Please smoke test

Should also cc @phausler and @millenomi. Looks good to me.

@jrose-apple probably makes sense too

Needs tests. I'm worried about picking UInt over Int for these, too, because that's source-breaking. I think we'd have better luck keeping CFTypeID and CFHashCode as Int; we may be able to get away with CFOptionFlags, but it's still a risk.
@swift-ci Please test source compatibility

The DefineAndUse parameter may be incorrect; it wasn't clear to me what its value should be.

I think this is reasonable. This means that the name "CFHashCode" remains available in Swift, and that places where that type is currently used in C APIs should continue to do so instead of using the underlying type.
Also, thank you for looking into this!

what impact does this have on Darwin? does it have any effect on linux? I dont see anything that limits this to just LLP64 (maybe I am missing something?)

I'm worried about picking UInt over Int for these, too, because that's source-breaking. I think we'd have better luck keeping CFTypeID and CFHashCode as Int; we may be able to get away with CFOptionFlags, but it's still a risk.

On macOS at least (and I assume everywhere other than LLP64) these types are already imported as UInt.
There shouldn't be any effect on any platform other than Windows x64; this just makes it explicit so these types are imported as UInt rather than UInt64 there, consistent with other platforms.

On macOS at least (and I assume everywhere other than LLP64) these types are already imported as UInt.

I feel silly now. These aren't defined in terms of CFIndex or (obviously) NSUInteger. Yes, this looks good to me, although it does need a regression test. Copying the declarations of the types into the mock SDK's CoreFoundation.h and then checking that the types are compatible in one of the test/ClangImporter/ files would be sufficient.

Tests have passed locally, so this should be good to test and merge now.

@swift-ci Please test

Source compat tests, in case GitHub decides to hide them: Debug, Release

Build failed
Swift Test Linux Platform
Git Sha - bd2e73463b6bd19667a0623f3309bd641df6ae8f

Build failed
Swift Test OS X Platform
Git Sha - bd2e73463b6bd19667a0623f3309bd641df6ae8f

Thanks for fixing this @troughton!  Seems that @phausler and @jrose-apple have approved the change, going to merge this.

@compnerd: please also prepare a PR against swift-5.0-branch


[virtualbox] [parallels] Get rid of third interface hostonly

We have three interfaces nat, bridge and hostonly. Sometimes third interface hostonly collides with a non-hostonly network. It troubles user peer creation process.

Dependent by https://github.com/subutai-io/agent/issues/623

Done in Production.


[bug] Default mapper throws away Image nodes with empty alt text ![](foo)

All image nodes of the form ![](foo) are thrown away by the default mapper. For instance, the code
let () =
  let s = "![](foo)" in
  let doc = Cmarkit.Doc.of_string s in
  let doc = Cmarkit.Mapper.map_doc (Cmarkit.Mapper.make ()) doc in
  print_endline (Cmarkit_html.of_doc ~safe:false doc)

prints an empty string. The culprit is
https://github.com/dbuenzli/cmarkit/blob/c81369a2766baacb53fe790ebd82774864b17a76/src/cmarkit.ml#L3022-L3023
which throws away the Image node when l.text is empty. A fix could be:
diff --git a/src/cmarkit.ml b/src/cmarkit.ml
index cfa29e7..338c296 100644
--- a/src/cmarkit.ml
+++ b/src/cmarkit.ml
@@ -3019,7 +3019,11 @@ module Mapper = struct
       | Autolink _ | Break _ | Code_span _ | Raw_html _
       | Text _ | Ext_math_span _ as i -> Some i
       | Image (l, meta) ->
-          let* text = map_inline m l.text in
+          let text =
+            match map_inline m l.text with
+            | None -> (* Can be empty *) Inline.Inlines ([], Meta.none)
+            | Some i -> i
+          in
           Some (Image ({ l with text }, meta))
       | Link (l, meta) ->
           let* text = map_inline m l.text in

That got me confused :-) I thought maybe deciding to map an empty Inlines ([], _) to None was the culprit.
So in the other cases e.g. Link it's ok to throw away because that's actual element content so "it no longer exists". While in the Image case the content is the actual image not its link text ?
I guess that makes sense.

While in the Image case the content is the actual image not its link text ?

That's my understanding!

Thanks.


Update xcodeproj to use Configuration Files.

More explicit, less churn and waay easier to change.

LGTM


Hyperloop

Current Status
Codebase in progress:
ruby-hyperloop/realworld-hyperloop
Interested in helping out? Say hello!
gitter.im/ruby-hyperloop/realworld
Todo:

[x] :checkered_flag: Fork the starter repo & post the link in this issue
[x] :art: Create logo for repo & update issue status (@EricSimons)
[ ] :hammer: Implement all of Conduit's functionality per the spec & API
[ ] :eyes: Move repo to main org & Peer review final codebase by admins/community (RFC)
[ ] :tada: Tag v1 release and officially list it on the README!

Since the repo is archived, I close this issue.

Since the repo is archived, I close this issue.


Remove random command (all versions)

Summary
There are no known real use cases for the random command.
It should be removed.
Acknowledgements
Richard Holland for responsibly disclosing this issue.
Upon analysis, it was determined that the issue does not need to be kept private.
Solution
Remove the random command from the rippled API.

I'm not opposed to removing this command. In fact, I think it's very reasonable to do so. For posterity, the original intention of the command was to allow clients to acquire randomness to mix into their own pool.
Please also remove the random token from the server subscription initial callback.
What exactly was @RichardAH's report? That the command has no real raison d'être, or something else?

random can currently be issued to any stock server with public websocket enabled. When called, this RPC executes: beast::rngfill(rand.begin(), rand.size(), crypto_prng());
rngfill fills bytes of the specified buffer using the csprng_engine returned by crypto_prng().
This csprng_engine is statically allocated and a reference to that same allocation is always returned by crypto_prng() (i.e. it is a singleton).
When the () operator is executed on the csprng_engine with no parameters, it creates a standardized result type (uint64_t) and populates it using the extended version of the same operator ()(void*, std::size_t).
Inside csprng_engine::operator()(void* ptr, std::size_t count), we find RAND_bytes(reinterpret_cast<unsigned char*>(ptr), count);
Delegating to openssl's RAND_bytes could lead to entropy exhaustion on some machines, under some attack scenarios.
Entropy exhaustion, in general, can expose keys and secrets. But in this case, it probably will not because the entropy state (at least for this invocation of RAND_bytes) is checked and throws if there is insufficient entropy.
if (result != 1) Throw<std::runtime_error>("CSPRNG: Insufficient entropy");

However, this exception is handled almost nowhere in code. So if this exception is ever thrown, most likely rippled will crash.
The random RPC call is only billed with a reference billing amount, which means spamming calls to it is almost free (from the point of view of the attacker having their IP banned for spamming).
Strongly suggest removing the call altogether to avoid publicly exposing rippled to entropy drain attacks which could lead to unhandled exceptions in code.

After submitting the issue (some time ago) I also reviewed and verified my analysis was incorrect. However it's still wise to remove the API, as it just increases attack surface area with no real benefit to anyone.


send message to multi channels

How can I send message to multi channels ?

I think you can try sendStreamMessageEx
https://api-ref.agora.io/en/voice-sdk/flutter/6.x/API/class_irtcengineex.html#ariaid-title22


Investigate Issues regards erroneous Invalid PIN

Support data

Timestamp
Android/iOS
OS Version
App Version
New Phone?
Forgot PIN?
Error?

Dec 13, 2024 12:10
iOS iPhone 13
iOS 18.2
1.0.21
No
No, uses face ID
AskarWallet: Incorrect key for wallet 'walletid'

Dec 10, 2024, 3:15 PM
iOS

No

AskarWallet: Incorrect key for wallet 'walletid'

Dec 10, 2024, 2:51 PM

Dec 10, 2024, 11:16 AM
iOS iPhone 14
18.11
1.0.21
No
No

Dec 09, 2024, 12:58 PM

No

Dec 05, 2024, 12:50 PM
iOS iPhone 14 Pro Max

1.0.21
No

AskarWallet: Incorrect key for wallet 'walletid'

Dec 03, 2024 2:28 PM

Yes

Dec 03. 2024, 2:18 PM
iOS

No

Timeout has occurred

Nov 22, 2024, 1:18 PM

Yes

Nov 20, 2024, 3:26 PM

Yes
No

Aug 12, 2024 3:25 PM

Yes
No

Support emails before Nov 20th are not PIN related all the way until August
new release of 1.0.21 happened on Dec 02, 2024

Steps to reproduce

App is updated
Open the BC Wallet app
User is presented with the "Is this app for you" screen, taps continue
User is presented with the onboarding screens, taps next
User is presented with the Terms and conditions, taps continue
User is presented with the PIN creation screen, enters a PIN and taps continue
Initialization
error message : "AskarWallet: Incorrect key for wallet 'walletid'

NOTE: tried to enter dev mode and enable remote troubleshooting when the user was at the "is this app for you" screen but remote troubleshooting was disabled and could not be enabled.
Recording
https://github.com/user-attachments/assets/d4cca207-3709-467f-a4a7-be9b3919fd3b

Asked internal team members and no one was able to replicate.

I added additional information on what the sequence of events are before the error message appears.

Just a note for posterity: there are two separate, possibly related scenarios here.
One, as Kim described in the steps to reproduce, where the user is being taken through onboarding again after they had already created a PIN and wallet.
And two, as the video shows, where the user sees the login screen as usual, and then gets the error after entering their PIN there.

I'm still not done investigating this issue. But further questions:

When was the last time they logged into BC Wallet successfully?
Have they ever had BC Wallet on another device?
Do they have iCloud backup on either device?

The reason I have these questions is that I have found two possible culprit sections of code so far. The first being that if they initially completed onboarding before we had onboarding versions (a few releases back), and then jump updated directly to 1.0.21 there is a bug where they would be sent through onboarding again. This is not likely the case, at least for the majority of these users, as they all got this update very soon after it was available - the reports started coming in almost the day of the release.
The second bit of code I came across that may be the cause is the exclusion of the .afj folder (where the askar wallet is stored) from backup. If the user had the .afj folder backed up before this release, either from a different device or a previous installation, then got this release, and then had iCloud sync run, I wonder if during the sync it could have overwritten the .afj folder that is no longer being backed up from their current device with the latest release. This would be kind of convoluted bug but I would have to defer to someone more familiar with the backup exclusion code to know if it's actually possible this is the case.

Additional question: Did these users recently turn off or on biometrics from the settings?
Reason for this question, this issue seems to only affect iOS users and there was some iOS specific changes to the UseBiometry screen, but for any of those changes to have this impact, that screen would have to have been used.
Also just adding, the fact that it's seemingly an iOS issue also puts more emphasis on the backup exclusion theory above as that code only affects iOS.

One other thing I have been assuming - hard closing the app and reopening never fixes this issue.

Here are the suspect changes that may or may not be the cause of this issue, some of which I have created fixes for:
Splash screen onboarding initialization effect early returns: this is a new change in the latest release, and there was a bug here where if a user first setup the app before we had versioned onboarding it could cause onboarding to restart, which would result in the user creating a PIN again but without biometrics, so even if they recreated the same PIN it would not unlock their existing wallet. I already reverted this change in this PR which has been merged:

https://github.com/bcgov/bc-wallet-mobile/pull/2327

.afj folder exclusion: this is another new change in the latest release. The bug has only occurred on iOS and this exclusion only applies to iOS devices. All of the storage items related to Askar go in the .afj folder, so if a user does iCloud sync and replaces their .afj folder with an older backup or from a different device they also had BC Wallet on, it could cause their keys to no longer unlock their wallet. I also came across some articles mentioning that the flag we are using to exclude this folder doesn't always work as expected, eg. it will reset the flag if a change is made<EMAIL_ADDRESS>UseBiometry permission check: this is another new change in the latest release. I have read through this code many times looking for potential causes of the Askar wallet key issue, and have found none. The change is also isolated to the UseBiometry screen and existing users won't see this screen unless they navigate to settings and intentionally change their biometrics. It is likely the cause of an unrelated SauceLabs issue but that's another matter.
**STATE_LOADED being dispatched before STATE_DISPATCH: I haven't been able to make this happen after trying many different interactions and scenarios, but if it did ever happen, it would explain onboarding being incorrectly restarted via only having the initial state when stateLoaded becomes true. I will make a PR to prevent even the possibility of this happening by combining them into one dispatch. This is unlikely to be the cause as it seems it was already in place before the latest release but maybe it is contributing to one of the other potential causes.
New PersistentStorage: another new change in the latest release is this wrapper around AsyncStorage. I've noticed that the calls to store data are all done with the class itself, whereas the calls to load data are all done with an instance of the class. Requires more investigation but affects storage and state loading, so worth taking a closer look at in my opinion.


New crypto api

Codecov Report

Merging #35 into master will decrease coverage by 1.65%.
The diff coverage is 93.38%.

@@            Coverage Diff             @@
##           master      #35      +/-   ##
==========================================
- Coverage   96.01%   94.36%   -1.66%
==========================================
  Files          19       23       +4
  Lines        2587     2784     +197
==========================================
+ Hits         2484     2627     +143
- Misses        103      157      +54

Impacted Files
Coverage Δ

tests/host_handshake.c
98.63% <100%> (+0.03%)
:arrow_up:

tests/sign_test.c
75.67% <100%> (-24.33%)
:arrow_down:

tests/crypto_api_test.c
100% <100%> (ø)

src/salti_util.c
92.35% <100%> (ø)
:arrow_up:

tests/client_handshake.c
98.33% <100%> (+0.05%)
:arrow_up:

src/salt.c
93.89% <83.33%> (-1.13%)
:arrow_down:

src/salti_handshake.c
93.03% <83.33%> (-1.6%)
:arrow_down:

src/salt_crypto_wrapper_test.c
95.68% <95.68%> (ø)

...al/tweetnacl_modified/tweetnacl_modified_wrapper.c
96.87% <96.87%> (ø)

... and 5 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 db6dbea...9421223. Read the comment docs.


Unstable test: ping_pong::test_[in]secure

Only observed with --features "openssl"

Haven't seen this for a while

@nrc Maybe you haven't seen it due to #310?


Unable to connect to Google account regulated by Okta

OnePlus 3, OmniROM stable 8.1.
I have a Google work account which is connected to Okta system.
In usual scenario (with OpenGApps) when you log into the account, Google page redirects you to Okta, you log into Okta account and then it redirects you back to Google.
When you try to log into it with microG, after successfully logging into Okta, microG Services Core redirects you back to setup page for a split second, and then goes to blank white page with yellow progress bar on top, doing nothing, so setup never finishes.
Account is not created, although nothing seems to be the problem.
Any log I could get to debug this?

The problem should be fixed in recent versions of microG GmsCore, I'm closing this for now.
Please try it and report back.


Stabilize IdentityDeletionPeerProcessing test

Readiness checklist

[x] I added/updated tests.
[x] I ensured that the PR title is good enough for the changelog.
[x] I labeled the PR.

@RuthDiG This should fix the error you, too, observed last week.


No-Op Conversions

Previous versions of the cql-to-elm translator allowed CQL such as this:
define quantityToQuantity: convert 10 'g' to Quantity

The newest version (1.2) now creates an error:
Could not resolve conversion from type System.Quantity to type System.Quantity.

Is this a regression or does cql-to-elm now intentionally disallow conversions that are essentially no-ops (when source and target have the same type)?

Looking at this further, some no-op conversions go through CQL-to-ELM just fine.  For example, the following compile with no errors:
define stringToStr: convert 'str' to String
define intToInt: convert 10 to Integer
define booleanToBoolean: convert true to Boolean
define dateToDate: convert @2015-01-02 to DateTime
define timeToTime: convert @T11:57 to Time

So this does seem that it would be a bug in the case of Quantities.

Addressed by pull request #123


Update sdk info

Update ignore files and min/max and target SDK version for signed APK's so we can include as a priv-app

Thanks


ENH: Support dockerized FreeSurfer installations

Describe the problem
The vast majority of scientists I work with use Windows computers. However, parts of MNE's source estimation stack rely on FreeSurfer, which is only available for Linux and macOS. This issue is preventing a number of my colleagues from switching to MNE-Python.
Describe your solution
Currently, FreeSurfer operations are carried out by concatenating a list of arguments and passing these to the respective FreeSurfer command line tool. This, obviously, will work only if FreeSurfer has been installed, so Windows is excluded per se.
To extend support to the Windows platform, I suggest to add support for containerized FreeSurfer installations, specifically for Docker images: Instead of invoking a FreeSurfer subprocess on the host machine, MNE-Python would execute the operation inside a Docker container. For example, instead of calling mri_watershed -T1 -useSRAS ... we'd call something along the lines of docker run -it -d mne/FreeSurfer mri_watershed -T1 -useSRAS ... Of course, we'd also need to map host directories to the appropriate places inside the container.
The user, then, would only need to acquire a FreeSurfer license file and install Docker; the rest could be done automatically. Incidentally, this would work on all platforms.
To allow switching between the local installation and the container, a kwarg freesurfer_backend could be added to the relevant Python function signatures: freesurfer_backend='native' (or  'local') uses the host installation, and freesurfer_backend='docker' uses the Docker container (and first pulls the image, if necessary). Might even be worthwhile to allow for different Docker images, e.g., docker_image='mne/FreeSurfer-extended:latest'
There is already a FreeSurfer image on Docker Hub which could serve as a base, and inspiration could be drawn from the FreeSurfer BIDS App.
Describe possible alternatives
The FreeSurfer BIDS App already dockerizes FreeSurfer for processing of BIDS-compliant data; however, currently it's a "stand-alone" thingy without integration into MNE-Python.
If the idea of a dockerized FreeSurfer is generally liked, it might be worthwhile to discuss whether adding a new, thin abstraction layer between MNE-Python and FreeSurfer could be of advantage in case we'd like to add support for additional FreeSurfer backends later on. For example, on Windows 10, Windows Subsystem for Linux (WSL) seems like an almost natural choice.

@hoechenberger this seems like a great initiative! Would you be able to work on it?

To allow switching between the local installation and the container, a kwarg freesurfer_backend could be added to the relevant Python function signatures: freesurfer_backend='native' (or 'local') uses the host installation, and freesurfer_backend='docker' uses the Docker container (and first pulls the image, if necessary). Might even be worthwhile to allow for different Docker images, e.g., docker_image='mne/FreeSurfer-extended:latest'

How about a single new kwarg freesurfer_backend=None that supports:

None, which means use MNE_FREESURFER_BACKEND config (see below)
'local': a system command (current behavior, and the default if MNE_FREESURFER_BACKEND is not set, so it will effectively stay the default)
'docker': alias for some suggested image (hopefully the official one is good enough)
dict(kind='docker', image='XYZ') (add later, hopefully YAGNI to start)

This is future compatible with any other backends we need to add, as well as any new docker options we need.
To make things easy for people, a MNE_FREESURFER_BACKEND config var can be used. Thus Windows people can do mne.set_config('MNE_FREESURFER_BACKEND', 'docker') (or in the dict case some JSON string like '{kind: "docker", image="XYZ"}', etc.) once and then everything should just automatically work in MNE-Python calls without them ever having to set freesurfer_backend in their calls (though they can override things if they want).

Of course, we'd also need to map host directories to the appropriate places inside the container.

I am a docker novice so this might not be relevant -- but most, if not all, FreeSurfer calls we do currently operate in a _TempDir anyway. Any operations that do not can probably be made to do so, and after the call we copy the output files to where we actually want them to live on the host machine. So this mapping can hopefully also be automated, i.e., for each call we do:

map tempdir to image
operate in the image within the tempdir
copy to file from tempdir to destination dir on host
unmap tempdir from image

@larsoner I agree with everything you've said. :) I'd like to give it a shot, however I'm quite busy these days so cannot promise anything!

Tagging @nandmone

I am a docker novice so this might not be relevant -- but most, if not all, FreeSurfer calls we do currently operate in a _TempDir anyway. Any operations that do not can probably be made to do so, and after the call we copy the output files to where we actually want them to live on the host machine. So this mapping can hopefully also be automated, i.e., for each call we do:

map tempdir to image
operate in the image within the tempdir
copy to file from tempdir to destination dir on host
unmap tempdir from image

Yes this should be doable, only thing is that at least on macOS Docker needs to be explicitly granted privileges to create these directory mappings, so we'll have to see how that would work with temp dirs. Are the name and location of that temporary directory fixed?

Are the name and location of that temporary directory fixed?

Generally they are random. We could make them fixed, but if it's the case that on OSX you need to grant on a dir-by-dir basis, we might want to force people on that platform to specify a scratch directory to use. Like:
freesurfer_backend=dict(kind='docker', work_dir='/home/larsoner/temp')

If work_dir is unspecified (None), it will try to use a tempdir. This will fail on OSX but we can make the error informative. That way people on Linux and Windows don't have to worry about it, and OSX people will know to set it and correspondingly set permissions or whatever.

If work_dir is unspecified (None), it will try to use a tempdir. This will fail on OSX but we can make the error informative. That way people on Linux and Windows don't have to worry about it, and OSX people will know to set it and correspondingly set permissions or whatever.

Ok I'll try to look into this, maybe this is also a non-issue with recent Docker releases, idk. Cannot remember the last time I had to manually grant access to anything on my Mac, but that sure used to be the case a year or two back.

These are the directories that can be exposed from host to container by default on my Docker installation – I didn't add anything manually there:

/tmp is probably where tempdirs are created, so maybe we won't need to do anything special. Let's see if we can get it to work without needing to set a work_dir and if we need to add it later we can.

Todo (feel free to edit / add entries):

[ ] create Docker image (or use existing one, if suitable)
[ ] if we created a new image, publish it on Docker Hub
[ ] add MNE_FREESURFER_BACKEND setting

[ ] 'docker' will also require specification of FreeSurfer license file location, so I guess we'll have to go with the "dict approach" from the start

[ ] add freesurfer_backend kwarg

I will check out existing Docker images and build a new one if necessary this weekend (i.e. will start working on the first two points)

thx @hoechenberger for looking into this.
another option for those on windows 10 is to use the ubuntu console builtin maybe? can neurodebian packages which offer freesurfer than be used on windows 10?
cc @yarikoptic

That would be the WSL approach I mentioned :) would be interesting to know whether that might be a viable approach indeed!

Fwiw Unfortunately we don't have freesurfer in NeuroDebian yet

Fwiw a wild idea: some windows savvy user could come up with a collection of powershell scripts for each freesurfer command of interest, which would call out to dockerized freesurfer with all needed bind points and paths translations. This could be useful beyond mne-python, and would require no changes to it, just instructions to dump that set of scripts in the PATH.

thanks an interesting idea @yarikoptic !
@buildqa can chat with FreeSurfer folks if they would consider this option to help windows users?

Quick update, I was busy last weekend finalizing a paper revision, and handed over my work computer to Apple support today (2018 MacBook Pro, guess what… keyboard issue). I will work on this, but it might take another couple days or even a week until I will be getting to it.

There is someone working at Corticometrics maintaining a docker image that can run Freesurfer on CentOS -  but one issue is that to run the Freeview GUI you need X forwarding which to my knowledge docker cannot do - and many people want to run fFeeview.  There has been some talk about re-writing freeview to work in a browser environment, but there is nothing official about this.   One thing we are trying to do to make the entire freesurfer distribution (including freeview) available to windows users - is to install the freesurfer distribution in the Ubuntu shell which can be run on Windows 10.  I have just started to create CentOS RPM installers (which our colleague at coritocmetrics successfully installed in a docker container).  But for the Ubuntu install that would need to be a .deb package I believe, which is on my list to try and create.    But you could try the CentOS .rpm file from the dev branch - though I should probably make one that excludes freeview (as it should install fewer packages and keep the docker image smaller).

Just as an aside - you can see what Apple would give you for a trade-in on your MacBook Pro here, https://www.apple.com/shop/trade-in   and select Mac.  If it's a 2018 model you might get enough back to make it worth while to buy the new 16" MacBook Pro which has returned to the scissors keyboard, with a real escape key.  I tried one at an Apple store and it has a better feel compared to the earlier models with no escape key.  The new 16" model is at a minimum a 6 core i7, or if you start configuring the higher end model, you can pick a lower end 8 core i9 chip - which you will not see as a CPU option if you start with configuring the base model with the 6 core i7.   But I don't think Apple targeted Mojave (10.14 or even earlier revs) of Mac OS to run on this hardware, so it will come with Catalina installed (10.15) and I have not read anything about being able to run 10.14 or older releases on it.

@buildqa MNE does not need freeview to work. MNE-Python calls freesurfer
commands from python system calls. If we have the FS commands working in
the path on windows without changing any python code it would be perfect.

We are running HNN with X-forwarding in docker, I'm surprised to learn that it does not work ...

@larsoner I started working on this and I'm wondering how to deal with FREESURFER_HOME
when using the docker backend. Would it even make sense to let users specify a FREESURFER_HOME that's different from what's shipping with the docker container? As in, allow users to use the docker backend, but have FREESURFER_HOME point to a local directory on the host.
If the answer is "no", I wonder if we even need a MNE_FREESURFER_BACKEND config, or whether we could simply employ FREESURFER_HOME to imply the backend too, or would that be confusing as we'd be abusing a FreeSurfer-specific environment variable to change MNE settings/behavior?

My current gut feeling is that, when the docker backend is used, we should set FREESURFER_HOME to the default value used inside the docker container (/opt/freesurfer)

That sounds reasonable to me. I still like the idea of having MNE_FREESURFER_BACKEND as the config var to control how we call freesurfer. And when it's docker or whatever, we can ignore the user's choice of FREESURFER_HOME since we know what it needs to be to use that backend.

There are various freesurrer commands/C files that expect to do a getenv("FREESURFER_HOME") and will error out if it is not defined.   Many users define FREESURFER_HOME in their shell init file (and then use that to set SUBJECTS_DIR = $FREESURFER_HOME/subjects and put $FREESURFER_HOME/bin in their PATH). One of our dev partners has used the freesurfer dev CentOS rpm to setup their docker container to run freesurfer (including freeview - which I think you do not need).  On a base CentOS7 system the rpm tools installed about 25 packages for the freesurfer-7-0.0.x86_64.rpm, but in the docker container about 100 packages got installed.  I think this is partly because freeview needs all the X , graphics and other related packages.   But I could make a "freesurfer light" RPM sans freeview if that would help (and you would like to use a linux installer).  I do not yet have a Ubuntu installer and am working on the Mac .pkg file.

Thanks for your help, @buildqa! I already have a working Docker image (slightly modified the one officially supplied by FreeSurfer), so no need for any packaging required at this time. Regarding the FREESURFER_HOME variable, of course I would always set it inside the Docker container; my question was just how to treat the variable set on the host computer :) Currently I‘m just following @larsoner‘s suggestion of ignoring the host‘s variable and simply setting it correctly inside the container.

Just FYI, so far the RPM's/linux installers put the distribution under the /usr/local/freesurfer path that has been used in the past with release 6 - with the added distinction that there will be a rev number, e.g., /usr/local/freesurfer/7.0.0 and for the Mac installer /Applications/freesurfer/7.0.0.  Once FREESURFER_HOME and SUBJECTS_DIR are set, then most people source $FREESURFER_HOME/SetUpFreeSurfer.sh if you are running bash, and for csh/tcsh source SetUpFreeSurfer.csh.   Some folks do an export/setenv for those 2 env variables  followed by the source command for SetUpFreeSurfer.[c]sh script - all in their shell init file.   From testing on Mac OS Catalina the shell built in variable OSTYPE now returns bsd44 instead of darwin which has required some scripts to be modified.

Sure, sorry I didn't manage to work on this – I did start but then got caught up having to do too many other different things. Will pick this up again for sure, hopefully soon and with permission of @agramfort  ;)

I just wanted to note the Freesurfer 7 beta 1 release has been out for a bit, and in addition to the compressed tar archives and Mac .pkg installer, there are now .rpm installers for CentOS6+7, and an Ubuntu 18.04 VM with both the Fressrufer 6 and 7 beta 1 releases installed plus the tutorial data.
dev7 beta 1 release
https://surfer.nmr.mgh.harvard.edu/fswiki//dev7beta1
Ubuntu 18 VM
https://surfer.nmr.mgh.harvard.edu/fswiki/VM_67
Hope everyone is staying safe and well during this time of COVID-19

Removing the 0.21 milestone for this

Just FYI, as of the freesurfer 7.1.1 release, there is now a container with the release on docker hub.  I will check, but I think this is the link, https://hub.docker.com/r/freesurfer/freesurfer   We should be updating this going forward with releases.  (We still also support downloading the rpm and tar files for CentOS 6, 7 and 8 from the freesurfer download web pages).

Yep, I saw this too. This makes things super simple for us, actually.


Typescript extending ServiceObject doesn't pass T causing service object methods to return untyped.

Various places that extend ServiceObject https://github.com/googleapis/nodejs-bigquery/blob/main/src/table.ts#L218 does this:
class Table extends ServiceObject {}

It should be
class Table extends ServiceObject<Table> {}

Because right now dataset.table('foo').get() isn't typed.
Typescript example of the issue: https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgMrQG7CQeQEYBWECYAPACrIC8ycIAngHzIDeAUMp8gOYRgAUASgBcycmwC+AbjZtQkWIhTk4eADYoIAD0ggAJgGc0mbBHxESraXPDR4SZADFgWiHpXrNOiPqPooWLiExGTOru6qGsws1mwIAPYgBmDIMPHx1Fa0Rh4aMmnxAHS8YBzIAPTlyAB6APyyCUkpeHBQmTHZTi5uuRAyLVDFfGWVNfVAA

Hi @kitsunde, I'm re-labeling this as a feature request. Although I agree we should have stricter typing on .get() methods in this library (and thanks so much for catching that!), introducing the direct fix could possibly create breaking changes, and would have to wait for a major version release. Let us know if you have some specific use-cases you're wanting to cover with the solution.


Turning off camera in flash when reset is called

I've fixed turning off camera when reset method is called for IE and flash.
This PR should fix this issue https://github.com/jhuckaby/webcamjs/issues/144 .
PR contains updated webcam.js and their minified file, actionscript and generated swf file.
Thanks

Wow, thanks @davidrus, this looks awesome!  Great job!


Server is the one that will drop packets

Have client now simulating that, but sounds better to actually send the packet and then simulate on the server that it never got the packet.  This is so that the client will try sending them again.
As of now the client is just "skipping" those packets and going right to handling a timeout.  This would allow the client to act normally and always send, and then let the server decide if dropping is appropriate for the simulation.  Plus this can be added in the options added for RFC 3347 as part of an OACK packet so only the client has program arguments.

Closed by 918c186


Specify library dependencies in library.properties

Specifying the library dependencies in the depends field of library.properties causes the Arduino Library Manager (Arduino IDE 1.8.10 and newer) to offer to install any missing dependencies during installation of this library.
arduino-cli lib install will automatically install the dependencies (arduino-cli 0.7.0 and newer).
Reference:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format
NOTE: I did not add ArduinoJson and M5StackSAM as dependencies because these are only dependencies of the example sketches, not the library itself. However, I also think it would be a reasonable decision to install dependencies of the examples as well. If you would prefer these libraries be added as dependencies, I'm happy to update this PR accordingly.

hey, thanks for posting this :+1:
I'll add M5Stack-Core as a depends entry for the next release, but this SD-Updater library can depend either on M5Stack core or ESP32-Chimera-Core.
The ESP32-Chimera-Core hasn't been submitted (yet) to the Arduino library listing because it shares the same namespace (it's an improved clone of the M5Stack-Core) and I don't fully control how the IDE will chose either core at compilation time.
I could change the namespace but there would be no point in maintaining this library.
I could also use a superior version number in library.properties butI don't want to predate the M5Stack Core library.
Should I keep this library unlisted by the Arduino Library Manager or is there a clean way to get those to coexist ?
If so, does the "depends" entry in the library.properties handle ambiguous dependencies, or could it point to a repository not listed by the Arduino library manager ?

does the "depends" entry in the library.properties handle ambiguous dependencies

Each library added to the Arduino Library Manager index must have a unique name value in library.properties. It is that name value that the depends field refers to. So in order for you add ESP32-Chimera-Core to the Library Manager index, you would need to change the name value to something other than M5Stack (since that is already taken by the  m5stack/M5Stack library). Then the M5Stack-SD-Updater library's depends field could be set to the unique library name you chose.
Now this doesn't address the issue of which of the two libraries would be selected to match an #include <M5Stack.h> if the user happened to have both m5stack/M5Stack and tobozo/ESP32-Chimera-Core installed. In fact, I expect it would be m5stack/M5Stack because the folder/filename match is one of the factors used to determine this. You could force tobozo/ESP32-Chimera-Core by adding a unique header filename to that library and then making sure the user adds an #include directive for that filename before any ambiguous #include directives.

could it point to a repository not listed by the Arduino library manager

No.

thanks for confirming this, I'll publish the ESP32-Chimera-Core library under a different namespace and stick with the non ambiguous choice of "manually deleting the other library" like I already do with various custom clones of Adafruit modules.
I've updated this repository as per your recommendations and I'm planning to produce a new release soon.
Is there a tool (preferably a travis script) I could add to automatically check for compliance before I produce this release ?

Is there a tool (preferably a travis script) I could add to automatically check for compliance before I produce this release ?

By "compliance", do you mean compliance with the requirements of the Arduino Library Manager indexer? If so, you asked the right person!
My CI script has a function check_library_manager_compliance that does just that:
https://github.com/per1234/arduino-ci-script#check_library_manager_compliance-librarypath
That is intended to be used in a Travis CI build to ensure that compliance with the requirements of the Library Manager indexer weren't inadvertently broken during development.
I also have a script I run on all the incoming Library Manager inclusion requests:
https://github.com/per1234/ino-library-manager-validator
that runs check_library_manager_compliance, but also checks whether the library has a unique name value. The latter check would not be useful once the library has been added to the Library Manager index, so I haven't added it to the check_library_manager_compliance function.

All right, after fiddling around I came up with this travis script
I've commented out the install_package() function because it didn't seem to work and I couldn't understand why.

I'm sorry about the problem with the install_package function. I discovered it had been broken by some new output from the Arduino IDE's CLI that was added in Arduino IDE 1.8.10. I was very sick for the last half of 2019, so haven't kept up with my volunteer development projects. In addition,   Travis CI killed my monthly cron jobs for some reason, so the CI build of arduino-ci-script had never been ran since Arduino IDE 1.8.10 was released.
I've now fixed the bug in arduino-cli-script and created a new release. Your CI build is working with the install_package function restored:
https://travis-ci.org/per1234/M5Stack-SD-Updater/builds/634739381

thanks ! will try that right away (and probably go on fixing those warnings)
so the next step would be to call the ino-library-manager-validator when a PR is made onto the master, and create a new release/tag if the tests are successful, right ?

Nice! I'm glad to see arduino-ci-script and those formatting checks being of use to other people. I have found them to be very helpful in my own projects and hoped that by publishing them I could provide an easy path for others to add CI builds to their projects.

the next step would be to call the ino-library-manager-validator when a PR is made onto the master, and create a new release/tag if the tests are successful, right

I think you already figured it out, but just to be sure: ino-library-manager-validator is only intended to be used to make sure the library meets the requirements for being added to the Library Manager index. The idea is that if the script passes, then you can be certain that when cmaglie goes to add your library to the Library Manager index, there won't be any problems that block that addition. In the past, it was common for a problem to pop up when cmaglie went to add it, which would mean that the library would not be added on that round. The submitter would then need to fix the problem and wait for the next round of LM additions. That could sometimes mean a total wait of 3 weeks or more between the initial request and the library finally being in Library Manager. So I started running ino-library-manager-validator on all libraries as soon as the requests come in to the arduino/Arduino issue tracker, and letting them know if the script detects any problems. That way, the submitter can have time to fix the problem and have the library fully compliant by the time cmaglie comes through to add all the outstanding requests.
ino-library-manager-validator is not very useful for CI because it checks out the newest tag (which is what the Library Manager indexer job does), whereas for CI you want to test the tip of the branch. The duplicate name check is also not useful once the library is in the LM index because the library name will match against its own entry in the index and fail the check.
The parts of ino-library-manager-validator that are useful for CI are the checks done by arduino-ci-script's check_library_manager_compliance function, which I see you are already using.


Music abruptly stops during game startup, is fine when returning from a world

I suspect there is a context change of some sort with the music starting to play in one then gets killed off before the menu loads fully. As such might relate a little to #2074
Disappears between these two statements:
14:14:02.011 [main] WARN  o.t.rendering.nui.skin.UISkinFormat - Failed to resolve UIWidget class UIInputBindButton, skipping style information
14:14:03.038 [main] WARN  o.t.engine.internal.TimeBase - Delta too great (16124), capping to 1000

When returning to the main menu from a world the menu theme starts and keeps playing as expected, it only stops abruptly on initial game load.

Interestingly this seems specific to running the game from source, at least in my mega workspace. If I run the Alpha 4 binary the music continues playing in the main menu.

Additional bit of detail: this may be instead about letting the game start in the background (which is the case at least for me running from IntelliJ in Windows 8 on my tablet). If I grab the game window before it fully initializes and it loads while the active window the menu music keeps playing after initial startup just fine.

Closing as possibly obsolete or fixed by #2945 - we can always reopen later. Likely some needed context/environment tweaks will effectively reset this anyway sooner or later.


ci: drop auto changelog release notes temporarily until we can resolve

Description
The v0.1.5 CHANGELOG release notes have richer Markdown text (with special characters etc..) that cause issues with bash shell escape sequences. Prior releases didn't have such characters and consequently did not have the same issues. The purpose of this PR is to drop the automatic changelog release notes generator until we can fix this is a more elegant (automated) way. For now this will unblock us from releasing the latest v0.1.5 release.
Review Checklist

[X] I have added documentation for new/changed functionality in this PR or in openfga.dev
[X] The correct base branch is being used, if not main

Referencing #126 here


Not working

Hi, I installed the package with npm i jquery-daterangepicker --save
In my app.js I require it (using gulp & browserify)
require('jquery-daterangepicker')

$('#daterange').dateRangePicker({
...
});

However I am getting a Uncaught TypeError: (0 , _jquery2.default)(...).dateRangePicker is not a function error.

I have no experience using Browserify but I recall trying to just use require('jquery-daterangepicker') to use the datepicker with my project and getting a similar error but when using webpack I was able to just add the following loader
{ test: /jquery-\-daterangepicker/, loader:'imports?jquery,moment' },

then require('jquery-daterangepicker') worked

Hm it's weird, because gulp throws no error when requireing it. Also tried es6 import notation
import 'jquery-daterangepicker'

But the same. And it was working some time ago, but after a new npm install, it's breaking.
In the compiled javascript, there is all the daterangepicker stuff.So it gets imported and compiled.


Example14 misses EM processes for muons, hadrons, ions

In https://github.com/apt-sim/AdePT/blob/85d79b868a458941e39aa852e9fd1fba8ba85fe8/examples/Example14/src/FTFP_BERT_HepEm.cc#L37-L39 we completely disable G4EmStandardPhysics and replace it with PhysListHepEm, which uses G4HepEm but only for electrons, positrons and gammas. This works fine as long as we stay in the closed domain of those particles, but will lead to problems if we simulate a pion shower, for example. What we're missing is (at least) the equivalent of https://github.com/Geant4/geant4/blob/84f33a068c5e0acb278dc4e4acb6a2822c6e7bca/source/physics_lists/constructors/electromagnetic/src/G4EmStandardPhysics.cc#L222-L233

I have added the missing part in https://github.com/WitekPokorski/AdePT/blob/xtraem/examples/Example14/src/PhysListHepEm.cc
I think, it's OK now, but to be tested.
Please let me know if you see any side effects.


Add the restart process to Blacklight

Over time blacklight appears to leak memory, I see this on our demo site.
https://github.com/schneems/puma_worker_killer

Please see #23 where I moved to Foreman, which I think may help.

it helped, but we still run out of memory....

Related to #55 and we think it's now fixed fixed!


Clarify Role Permissions On Owner/Manager/Developer

Working with a partner today and the question came up if the owner has the permissions in the following roles; the assumption was yes, but it might be good to clarify that (e.g. "* has all permissions of Manager and Developer" or "these roles are tiered").

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: fd00bb97-aa3d-7e8a-32d7-1e812adac213
Version Independent ID: e8987dce-a46e-af32-9b0f-07f8d8939791
Content: How to manage a commercial marketplace account in Microsoft Partner Center
Content Source: articles/marketplace/partner-center-portal/manage-account.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @parthpandyaMSFT
Microsoft Alias: parthp

@brandonmartinez Thanks a lot for sharing your feedback to improve our Azure documentation, we will review the feedback and see how we can enhance the document.

@brandonmartinez Apologies for delay in getting back to you on this thread. Appreciate you sharing the feedback, we are assigning this to our document author @parthpandyaMSFT to further review and see how the document can be enhanced.

Hi @brandonmartinez, we confirmed that Owner has all the permissions of Manager and Developer. Thank you for reaching out!
#please-close


Update Cake.DoInDirectory add-in to target Cake v2.0.0

Cake 2.0.0 has been released  🎉

Implemented via https://github.com/cake-contrib/Cake.DoInDirectory/pull/23

:tada: The changes implemented in response to this issue shipped with Cake.DoInDirectory v5.0.0
The release is available on:

:rocket: GitHub Release
:package: NuGet Package


⚠ Bofrost.at has degraded performance

In 175de59, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1657 ms

Resolved: Bofrost.at performance has improved in ca89cbc after 6 minutes.