The doc is not clear

Hello I want to translate to spanish but I don't understand how to config the folder inside the project, it says:
what you need is to copy the translations folder content into Oqtane.Client project more specifically into Resources folder
But there is no "Resources" folder in Oqtane.Client. There is one in Oqtane.Server and is empty, is that the one? The problem is that because a default language is not installed, I cannot use it as an example either.

Thanks @elgransan, you are right we are working to improve the instructions, but I don't have suitable time to update them

But there is no "Resources" folder in Oqtane.Client.

You are right, I will try to push a PR to make this work. For now you can create a Resources folder, then your could try a Portuguese language, coz it's the only one pushed, I'm struggling to add an Arabic language too
Thanks

The PR is created https://github.com/oqtane/oqtane.framework/pull/1202

Sorry, I created the "Resource" folder in client project but I' getting an error:
The satellite assemblies folder named 'Español (es-ES)' is not found.

This class is looking for the translation folder in "bin" folder of server project, but is not being copied. I think I'm missing something.

The satellite assemblies folder named 'Español (es-ES)' is not found.

The name is mentioned just for organizing the resources in the repo, please add its content directly into Resources folder

But If I want the software to be multi-language?

Same thing, the suffix of the RESX files should be different such Index.fr. resx, Index.ar.resx

Sorry, I understood, I could do it, thank you

One last question, can I user generic language "es" instead of "es-ES" or "es-MX" or another? I tried that way and works but I don't know if could fail in some point

Yes you could, but in case you want to use a specific culture you should use es-ES or es-MX

I tried that way and works but I don't know if could fail in some point

You should add es to supported cultures in appsettings.json

@elgransan  I added an Arabic resources for Oqtane Framework also I update Oqtane.ResxExtractor now can easily generate your culture specific resources by run the oqtane-extractor -c={Culture} command
Hope this help you to generate Spanish resources ;)

Yes, tomorrow I'll take a look on that

No further action


MH-13344 Enable AssetManager to reply NOT_MODIFIED

Updated version of #680, deleted my remote branch by accident which closed the PR...

Currently the workspace can download assets directly into the workspace, and will do so even if the exact same asset is already contained in the workspace. This PR tries to emulate the behavior of the WFR, which will return NOT_MODIFIED instead if the workspace already has the asset with a matching md5 checksum. This will only happen if the "If-none-match" header is set on request, otherwise the behavior of the Endpoint is unchanged.


How to load base64 glb string into sceneloader?

https://github.com/BabylonJS/Babylon.js/blob/4a529af0a1821cab91512034dfe00791af49be36/sandbox/index.js#L239
My use case is like this:

I've already gotten base64 string in js code, and it's a glb model.
like

const base64_content = 'xxxxxxx';

I need to import this model into this sceneloader

Is there any easy way I can do that?
I've seen some code can read directly from string start with data:, I tried but didn't work.

Hello please use the forum for questions :)
http://www.html5gamedevs.com/forum/16-babylonjs/


version upgrades

[x] Current node version: 18.15.0
[x] Current npm version: 9.5.0

/server

[x] whole project
[ ] tests

/web

[x] mui
[x] mui jss to styled
[x] mui pickers
[x] react router
[x] Buffer usage in AuthActions.jsx
[x] Re-enabling StrictMode
[x] tests
[x] #166 may be unnecessary after version upgrades.

Regressions

onClick events cannot be triggered when StrictMode is enabled. This might be related to using "react-router-dom":"^5.2.0" with "react": "^18.2.0".

// in web/index.jsx

import { createRoot } from 'react-dom/client';
import { StrictMode } from 'react';
import './index.css';
import App from './App';

const root = createRoot(document.getElementById('root'));

root.render(<StrictMode><App /></StrictMode>);

We cannot use the Buffer object to decode/encode base64 string. (Check the usage in AuthActions.jsx)

Do a search by using one of the date pickers. Re-open the search options. It will give the error below:

ERROR
Invalid time value
RangeError: Invalid time value
    at format (http://localhost:3000/static/js/bundle.js:54221:11)
    at DateFnsUtils.formatByString (http://localhost:3000/static/js/bundle.js:9039:74)
    at DateFnsUtils.format (http://localhost:3000/static/js/bundle.js:9036:20)
    at openDatePickerDialogue (http://localhost:3000/static/js/bundle.js:45214:125)
    at useDesktopPicker (http://localhost:3000/static/js/bundle.js:41955:23)
    at DesktopDatePicker (http://localhost:3000/static/js/bundle.js:37846:90)
    at renderWithHooks (http://localhost:3000/static/js/bundle.js:113704:22)
    at updateForwardRef (http://localhost:3000/static/js/bundle.js:116275:24)
    at beginWork (http://localhost:3000/static/js/bundle.js:118322:20)
    at HTMLUnknownElement.callCallback (http://localhost:3000/static/js/bundle.js:103296:18)

References

https://mui.com/material-ui/migration/migration-v4/
https://mui.com/material-ui/migration/migrating-from-jss/
https://mui.com/material-ui/guides/pickers-migration/
https://reactrouter.com/en/main/upgrading/v5
https://gist.github.com/mjackson/d54b40a094277b7afdd6b81f51a0393f

https://github.com/remix-run/react-router/blob/dev/examples/auth/src/App.tsx

StrictMode issue is related to the mount/unmount check in Login and Register components. I just removed the checks but we can track the opened issue for further information.
This is exactly the same usage as on our components:
https://github.com/facebook/react/issues/24670#issuecomment-1360495936

Remove buffer usage in AuthActions.jsx file. Since it is redundant.

Previously, the topics were empty and we did not test them properly. Still the 'should create form' test case sometimes passed. Fixed this in 5cd58eda20503c284f2ef3f6fad10affdfd24e60


⚠ AGE-Vicmap_Position-MS has degraded performance

In 5b7addd, AGE-Vicmap_Position-MS (https://vicmap.land.vic.gov.au/hosting/rest/services/vicmap/Vicmap_Position/MapServer/0/query?where=1%3D1) experienced degraded performance:

HTTP code: 200
Response time: 21037 ms

Resolved: AGE-Vicmap_Position-MS performance has improved in 4d0529c after 5 minutes.


Output header BPA correction

BPA is always in the unit of degree. No need to do "/3600".

Thanks for spotting this!


House loads - option to subtract individual essential_loads

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Currently load shows total power for all loads, even if individual loads are configured.
Expected behaviour
Could you add an option to subtract the displayed individual loads from the total load. This would be a feature similar to the one provided in Power Flow Plus Card, where it is called "Subtract Individual".
i.e. displayed_load = total_load - essential_load1 - essential_load2...
Possible Solutions
No response
Mode
lite
Context / Reason
Easy to visualize my core house loads vs e.g. my heat pump load.

At the moment there is no relationship between the additional essential loads and the total essential load. Just to be clear you are asking for an option to subtract the 866W from the 3.71kW and display in its place the 2.84kW in the example below

Hi yes exactly as per your example would be perfect. A nice to have rather than core.

Maybe these should be aux loads instead of essential loads? In that screenshot logically the 866 is part of the 3.71 kW.

My 759 watts there is sensor.aux_total_power which is a min/max adding those two heating loads. And the 536 watts is sensor.essential_total_power which is a template sensor I made which takes my inverter's total load power and subtracts those aux loads and subtracts my car charger (which is a non-essential load).
I guess it makes sense to me to subtract non-essential or aux loads from the total the house is using, but not the essential loads.
But I agree with you that it would be great to have some built-in maths to make the power readings in the boxes read what one desires.

Good use of non-essential and aux loads (not used those yet as I was playing with Compact setup) however having the option with built-in maths would allow for more flexibility. Plus Compact permits 4 loads.


Update linter rules to v2.2.0 release

Updating to latest release of the fio-style rules.
QA: checked that vale was able to sync and pull latest package.
This commit applies to FFTK-3430
PR Template and Checklist
Please complete as much as possible to speed up the reviewing process.
Readiness and adding reviewers as appropriate is required.
All PRs should be reviewed by a technical writer/documentation team and a peer.
If effecting customers—which is a majority of content changes—a member of Customer Success must also review.
Readiness

[x] Merge (pending reviews)
[ ] Merge after date or event
[ ] Draft

Overview
Routine task, does not have a direct effect on content.
Checklist

[x] follow best practices for commits.

[x] Descriptive title written in the imperative.
[x] Include brief overview of QA steps taken.
[x] Mention any related issues numbers.
[x] End message with sign off/DCO line (-s, --signoff).
[x] Sign commit with your gpg key (-S, --gpg-sign).
[x] Squash commits if needed.

[x] Request PR review by a technical writer and at least one peer.

Docs for 7693cd83f14e5abdb678d4c038e14f9160e5d1b4 are browsable at: https://ci.foundries.io/projects/fio-docs/builds/2733/docs/artifacts/html/index.html


Error Compiling Business Central App through Azure Pipelines

ForEach-Object : Exception calling "DownloadFile" with "2" argument(s): "The operation has timed out"
At C:\Program Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\AppHandling\Compile-AppInNavContainer.ps1:256
char:21

$dependencies | ForEach-Object {

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

CategoryInfo          : NotSpecified: (:) [ForEach-Object], MethodInvocationException
FullyQualifiedErrorId : WebException,Microsoft.PowerShell.Commands.ForEachObjectCommand
PowerShell exited with code '1'.

You probably need to supply some additional information.
Hent Outlook til iOShttps://aka.ms/o0ukef

Fra: Mohamed Athman<EMAIL_ADDRESS>Sendt: Tuesday, October 8, 2019 8:43:27 AM
Til: microsoft/navcontainerhelper<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Emne: [microsoft/navcontainerhelper] Error Compiling Business Central App through Azure Pipelines (#654)
ForEach-Object : Exception calling "DownloadFile" with "2" argument(s): "The operation has timed out"
At C:\Program Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\AppHandling\Compile-AppInNavContainer.ps1:256
char:21

$dependencies | ForEach-Object {

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

 *   CategoryInfo : NotSpecified: (:) [ForEach-Object], MethodInvocationException
 *   FullyQualifiedErrorId : WebException,Microsoft.PowerShell.Commands.ForEachObjectCommand

PowerShell exited with code '1'.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fnavcontainerhelper%2Fissues%2F654%3Femail_source%3Dnotifications%26email_token%3DACSGUA7RVCEGLT3RX2LQAMTQNQTY7A5CNFSM4I6NUPOKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HQIJFOQ&data=02|01|freddy.kristiansen%40microsoft.com|c18b95fdd4c2489a670108d74bbad3c8|72f988bf86f141af91ab2d7cd011db47|1|0|637061138109862324&sdata=QaKHr5aLDM6aXi%2FAw1hJXDZ%2FB6%2FVrqqrXPc8unbkFoM%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACSGUAYX5G7ODYQEM2MQZBTQNQTY7ANCNFSM4I6NUPOA&data=02|01|freddy.kristiansen%40microsoft.com|c18b95fdd4c2489a670108d74bbad3c8|72f988bf86f141af91ab2d7cd011db47|1|0|637061138109862324&sdata=i6ij06L6uihtvw0xZNeGYPxX0UEvCDo%2BtT%2Fc66pG3UU%3D&reserved=0.

Hi freddydk
I was actually following your ci/cd workshop document and i've created a self hosted vm.
It creates the helloworld-ci container well.  I tried to login directly to this container and i could download symbols manually but for some reason i get the said error on compilation.
I've attached the logs.
Quick background

The build server firewall is off.
All ports are open

Let me know if you need any further information
Thanks

If you open the Compile-app - it will probably show some more information?

freddyk,
This is the extra information on compile app..

Could you display the base\app.json?

freddyk,
Here it is...

Very very strange - cannot see any reason why this times out.
On the build machine, can you ping <IP_ADDRESS>?
When you download the symbols manually - how did you do that?

freddydk,
Am able to ping <IP_ADDRESS>.  See screenshot.
I have vscode installed directly in the build machine and i can download symbols.  See screenshot.

and if you ping helloworld-ci - it resolves to the same IP number???

it resolves well to the ip....baffling

I had this problem sometimes, after restart the pipeline it worked. Mostly it happen when i just edit the pipeline.

Hi Spycoclown,
Thanks for this insight...let me test it then revert

We had 30+ people follow the workshop at Directions, none ran into this issue.
Let me know if this issue still persists

I think I know what is wrong here.
Try to run Flush-ContainerHelperCache on the machine and run the pipeline again.

HI Freddy,
So i flashed the container and tried to run the pipeline but was getting some error as follows

so i opted to create a new container - helloworld but unfortunately still getting the same error even within this new container.  Strangely enough i can download symbols directly on vscode from the build machine.  See screenshot.

Update:
Ive tried running the link for downloading symbols manually using container ip and container name.  For container ip it just goes round and round but for container name i get an authorisation error. Not sure if this points to anything

Something is open, which disallows to removal of the container.
Restart the computer, run Flush-ContainerHelpercache - run the pipeline.
Copy/Paste the text - and not the images of the output (Create Container and the failing step if any)

Create build container is failing as before...after restarting the computer, flushing container cache then running the pipeline
##[section]Starting: Create Build Container
Task         : PowerShell
Description  : Run a PowerShell script on Linux, macOS, or Windows
Version      : 2.151.2
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
Generating script.
Formatted command: . 'C:\agent_work\2\s\scripts\Create-Container.ps1'
========================== Starting Command Output ===========================
##[command]"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'C:\agent_work_temp\fff0a812-8310-40dd-b980-7fcca1873f8a.ps1'"
Create helloworld from mcr.microsoft.com/businesscentral/onprem:1910-rtm-w1
Database backup C:\ProgramData\NavContainerHelper\onprem-15.0.36560.0-W1-bakFolders\helloworld\database.bak not found
at Restore, : line 13
at , : line 57
NavContainerHelper is version <IP_ADDRESS>
Host is Microsoft Windows Server 2019 Standard - ltsc2019
Docker Client Version is 19.03.2
Docker Server Version is 19.03.2
Using image mcr.microsoft.com/businesscentral/onprem:1910-rtm-w1-ltsc2019
Disabling Health Check (always report healthy)
Removing container helloworld
Removing helloworld from hosts
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 1)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 2)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 3)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 4)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 5)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 6)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 7)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 8)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 9)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Error removing C:\ProgramData\NavContainerHelper\Extensions\helloworld (attempts: 10)
Please close any apps, prompts or files using this folder
Retrying in 10 seconds
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
##[error]Could not remove C:\ProgramData\NavContainerHelper\Extensions\helloworld
At C:\Program Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\ContainerHandling\Remove-NavContainer.ps1:52
char:21

                throw "Could not remove $containerFolder"

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

CategoryInfo          : OperationStopped: (Could not remov...ions\helloworld:String) [], RuntimeException

FullyQualifiedErrorId : Could not remove C:\ProgramData\NavContainerHelper\Extensions\helloworld
##[error]PowerShell exited with code '1'.
##[section]Finishing: Create Build Container

As it states - you have something open, which locks a file or folder in C:\ProgramData\NavContainerHelper\Extensions\helloworld
a command prompt, powershell prompt, windows explorer, event viewer or like.
This has nothing to do with the pipeline problem.

OK, let me check.  Ill update shortly

If you restart - and don't open anything - before running the pipeline - you should be good.

OK, let me do that again and see

So the build has run and filed on the compile app.
##[section]Starting: Compile App
Task         : PowerShell
Description  : Run a PowerShell script on Linux, macOS, or Windows
Version      : 2.151.2
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
Generating script.
Formatted command: . 'C:\agent_work\2\s\scripts\Compile-App.ps1' -appFolders "app,base" -appVersion "<IP_ADDRESS>"
========================== Starting Command Output ===========================
##[command]"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'C:\agent_work_temp\7a45da01-ced1-48e9-9581-517a6d5a3fb3.ps1'"
Using Version <IP_ADDRESS>
Compiling base
Using Symbols Folder: C:\agent_work\2\s.alPackages
WARNING: This license is not compatible with this version of Business Central.
WARNING: This license is not compatible with this version of Business Central.
Downloading symbols: Microsoft_System_15.0.36510.0.app
Url : http://<IP_ADDRESS>:7049/BC/dev/packages?publisher=Microsoft&appName=System&versionText=<IP_ADDRESS>&tenant=default
##[error]ForEach-Object : Exception calling "DownloadFile" with "2" argument(s): "The operation has timed out"
At C:\Program
Files\WindowsPowerShell\Modules\navcontainerhelper\<IP_ADDRESS>\AppHandling\Compile-AppInNavContainer.ps1:256 char:21

$dependencies | ForEach-Object {

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

CategoryInfo          : NotSpecified: (:) [ForEach-Object], MethodInvocationException

FullyQualifiedErrorId : WebException,Microsoft.PowerShell.Commands.ForEachObjectCommand
##[error]PowerShell exited with code '1'.
##[section]Finishing: Compile App

and the output from the container generation?

Here it is...
##[section]Starting: Create Build Container
Task         : PowerShell
Description  : Run a PowerShell script on Linux, macOS, or Windows
Version      : 2.151.2
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
Generating script.
Formatted command: . 'C:\agent_work\2\s\scripts\Create-Container.ps1'
========================== Starting Command Output ===========================
##[command]"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'C:\agent_work_temp\421e1de2-0a4f-470a-aa90-a889177f44cb.ps1'"
Create helloworld from mcr.microsoft.com/businesscentral/onprem:1910-rtm-w1
NavContainerHelper is version <IP_ADDRESS>
Host is Microsoft Windows Server 2019 Standard - ltsc2019
Docker Client Version is 19.03.2
Docker Server Version is 19.03.2
Using image mcr.microsoft.com/businesscentral/onprem:1910-rtm-w1-ltsc2019
Disabling Health Check (always report healthy)
Removing C:\ProgramData\NavContainerHelper\Extensions\helloworld
Creating Container helloworld
Version: 15.0.36560.0-W1
Style: onprem
Platform: 15.0.36510.0
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.17763.737 (ltsc2019)
Host OS Version: 10.0.17763.1 (ltsc2019)
WARNING: The container operating system matches the host operating system, but the revision is different.
If you encounter issues, you might want to specify -isolation hyperv
Using locale en-US
Using process isolation
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file C:\bclicense\license.flf
Files in C:\ProgramData\NavContainerHelper\Extensions\helloworld\my:

AdditionalOutput.ps1
license.flf
MainLoop.ps1
updatehosts.ps1
Creating container helloworld from image mcr.microsoft.com/businesscentral/onprem:1910-rtm-w1-ltsc2019
ba7361c235552a140b9e696d45ed19ca0158894540c70480043a6e137a312979
Waiting for container helloworld to be ready
Initializing...
Starting Container
Hostname is helloworld
PublicDnsName is helloworld
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 677CBA173B2AE0B588CA141E36B5D0B347594295
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Using license file 'c:\run\my\license.flf'
Import License
Creating http download site
Setting SA Password and enabling SA
Creating admin as SQL User and add to sysadmin
WARNING: This license is not compatible with this version of Business Central.
Creating SUPER user
WARNING: This license is not compatible with this version of Business Central.
WARNING: This license is not compatible with this version of Business Central.
Container IP Address: <IP_ADDRESS>
Container Hostname  : helloworld
Container Dns Name  : helloworld
Web Client          : http://helloworld/BC/
Dev. Server         : http://helloworld
Dev. ServerInstance : BC

Files:
http://helloworld:8080/al-4.0.176004.vsix
Initialization took 97 seconds
Ready for connections!
Reading CustomSettings.config from helloworld
Copy from container helloworld (C:\Applications\TestFramework\TestLibraries\Any\Microsoft_Any.app) to C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Any.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Any.app
WARNING: This license is not compatible with this version of Business Central.
Synchronizing Any on tenant default
Installing Any on tenant default
WARNING: This license is not compatible with this version of Business Central.
App successfully published
Copy from container helloworld (C:\Applications\TestFramework\TestLibraries\Assert\Microsoft_Library Assert.app) to C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Library Assert.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Library Assert.app
WARNING: This license is not compatible with this version of Business Central.
Synchronizing Library Assert on tenant default
Installing Library Assert on tenant default
WARNING: This license is not compatible with this version of Business Central.
App successfully published
Copy from container helloworld (C:\Applications\TestFramework\TestRunner\Microsoft_Test Runner.app) to C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Test Runner.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Test Runner.app
WARNING: This license is not compatible with this version of Business Central.
Synchronizing Test Runner on tenant default
Installing Test Runner on tenant default
WARNING: This license is not compatible with this version of Business Central.
App successfully published
Copy from container helloworld (C:\Applications\System Application\Test\Microsoft_System Application Test Library.app) to C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_System Application Test Library.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_System Application Test Library.app
WARNING: This license is not compatible with this version of Business Central.
Synchronizing System Application Test Library on tenant default
Installing System Application Test Library on tenant default
WARNING: This license is not compatible with this version of Business Central.
App successfully published
Copy from container helloworld (C:\Applications\BaseApp\Test\Microsoft_Tests-TestLibraries.app) to C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Tests-TestLibraries.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\helloworld_Microsoft_Tests-TestLibraries.app
WARNING: This license is not compatible with this version of Business Central.
Synchronizing Tests-TestLibraries on tenant default
Installing Tests-TestLibraries on tenant default
WARNING: This license is not compatible with this version of Business Central.
App successfully published
TestToolkit successfully imported
Container helloworld successfully created
Backing up CRONUS to C:\ProgramData\NavContainerHelper\onprem-15.0.36560.0-W1-bakFolders\helloworld\database.bak
##[section]Finishing: Create Build Container

Hi Freddy,
I am having sometimes same error on my pipelines, mostly re-run of the stage helps. Seems interesting for me, because it means there is no change in the commands, just running them again and it helps. I am looking into this and will try to compare the output of failing run and successful re-run. But I think it must be something what is not directly connected to the scripts, some instability with some timing or concurrency. Do not know. Problem exists, but how much it is because something in navcontainerhelper, hard to say.

Ok, some observation:
When running on Win2016, it is failing, when same running on Win2019 it runs ok. Seems like problem of the combination of OS and Image. My failing case is:
2019-11-28T07:24:08.4985764Z Host is Microsoft Windows Server 2016 Standard - ltsc2016
2019-11-28T07:24:09.0137419Z Docker Client Version is 19.03.4
2019-11-28T07:24:09.2682161Z Docker Server Version is 19.03.4
2019-11-28T07:24:09.6306626Z Using image bcinsider.azurecr.io/bcsandbox:latest-ltsc2016
2019-11-28T07:24:12.1858768Z Creating Container BCApps
2019-11-28T07:24:12.5163251Z Version: 15.2.38451.0-w1
2019-11-28T07:24:12.5169736Z Style: sandbox
2019-11-28T07:24:12.7449929Z Platform: 15.0.38362.0
2019-11-28T07:24:12.9741365Z Generic Tag: <IP_ADDRESS>
2019-11-28T07:24:13.2018646Z Container OS Version: 10.0.14393.3274 (ltsc2016)
2019-11-28T07:24:13.2025571Z Host OS Version: 10.0.14393.2580 (ltsc2016)
2019-11-28T07:24:13.2125901Z WARNING: The container operating system matches the host operating system, but the revision is different.
2019-11-28T07:24:13.2133454Z If you encounter issues, you might want to specify -isolation hyperv
2019-11-28T07:24:13.2156982Z Using locale en-US
2019-11-28T07:24:13.2168246Z Using process isolation

Running case is:
2019-11-28T07:24:25.7115671Z Host is Microsoft Windows Server 2019 Standard - ltsc2019
2019-11-28T07:24:26.0429809Z Docker Client Version is 18.09.4
2019-11-28T07:24:26.2008154Z Docker Server Version is 18.09.4
2019-11-28T07:24:26.4998363Z Using image bcinsider.azurecr.io/bcsandbox:latest-ltsc2019
2019-11-28T07:24:27.2134878Z Creating Container BCApps
2019-11-28T07:24:27.3828177Z Version: 15.2.38312.0-w1
2019-11-28T07:24:27.3835506Z Style: sandbox
2019-11-28T07:24:27.5536227Z Platform: 15.0.38154.0
2019-11-28T07:24:27.7200394Z Generic Tag: <IP_ADDRESS>
2019-11-28T07:24:27.8840796Z Container OS Version: 10.0.17763.805 (ltsc2019)
2019-11-28T07:24:27.8849098Z Host OS Version: 10.0.17763.107 (ltsc2019)
2019-11-28T07:24:27.8942448Z WARNING: The container operating system matches the host operating system, but the revision is different.
2019-11-28T07:24:27.8949008Z If you encounter issues, you might want to specify -isolation hyperv
2019-11-28T07:24:27.8973707Z Using locale en-US
2019-11-28T07:24:27.8985169Z Using process isolation

Ok, seems like it is effect of low RAM available in my case. It make sense. If there is not enough physical RAM, the process is slow and will timeout when downloading symbols. Will watch more for next case.

The RAM idea i never thought of, maybe this is even my probleme. I will have a look at the RAM next time i get this error. Thx

How much RAM would be ideal for the container?

I use the Host as agent Pool with 5 Agents, one agent need only 2 - 3 GB RAM but one creating it can use more, so if all 5 Agents are in creating, i have not enough RAM on my server so it get slower.

In my case, I am using 5GB RAM per container (the switch for creating the container, not reserving it when process isolation is used), but on the server there are other containers running, and more active are really using e.g. 5GB. The PC has 25GB RAM, but in cases when there was problem, there was only 3GB RAM available.

Assuming that this was a memory issue - thanks @kine and @Spycoclown - closing this issue.


chore(scaffolder): Moving the cookiecutter dockerfile to more semantic location

Required to setup builds for dockerhub for this image in the spotify registry

Yep it's a thing!


Tips & Tricks don't seem to work with 1.0.4 release

Prerequisites

[x] I have read the documentation;
[x] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
Try out any of the tips & tricks links to jsfiddle. None work and error in console:
Uncaught ReferenceError: JSONSchemaForm is not defined
Downgrading to 1.0.3 the fiddles work as expected.

Is this related? https://github.com/mozilla-services/react-jsonschema-form/issues/991

I also think this is a duplicate of #991.


deb-lastactivity: returns Unable to get dpkg-query info, maybe an update never happened.

This issue respects the following points:

[X] This is a bug, not a question or a setup/configuration issue.
[X] This issue is not already reported on Github (I've searched it).
[X] I use the latest release of the Monitoring Plugins (https://github.com/Linuxfabrik/monitoring-plugins/releases).
[X] I agree to follow Monitoring Plugins's Code of Conduct.

Which variant of the Monitoring Plugins do you use?

[X] .rpm/.deb package from repo.linuxfabrik.ch
[ ] Compiled for Linux (.tar/.zip from download.linuxfabrik.ch)
[ ] Compiled for Windows (from download.linuxfabrik.ch)
[ ] Source Code from GitHub

Bug description
When calling this (installed via director) it returns
Unable to get dpkg-query info, maybe an update never happened.
Traceback (most recent call last):
File "deb-lastactivity.py", line 85, in main
ValueError: invalid literal for int() with base 10: 'icingaweb2-common'
Steps to reproduce - Plugin call
/usr/lib64/nagios/plugins/deb-lastactivity
Steps to reproduce - Data
Unable to get dpkg-query info, maybe an update never happened.
Traceback (most recent call last):
File "deb-lastactivity.py", line 85, in main
ValueError: invalid literal for int() with base 10: 'icingaweb2-common'
Environment
uname -a
Linux frigate 6.5.0-0.deb12.4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.10-1~bpo12+1 (2023-11-23) x86_64 GNU/Linux
Plugin Version
deb-lastactivity: v2023112901 by Linuxfabrik GmbH, Zurich/Switzerland
Python version
No response
List of Python modules
No response
Additional Information
No response

What output do you get running dpkg-query --show --showformat='${db-fsys:Last-Modified} ${Package}\n'?

Sorry, I didn't get the notification.  This is a trim of the output:
sudo dpkg-query --show --showformat='${db-fsys:Last-Modified} ${Package}\n'
[sudo] password for user:
1702081306 adduser
1702081330 alsa-topology-conf
1702081330 alsa-ucm-conf
1702083656 amd64-microcode
1702081710 apache2
1702081714 apache2-bin
1702081711 apache2-data
1702081331 apache2-doc
1702083071 apache2-suexec-pristine
1702081711 apache2-utils
1702083072 apparmor
1702083072 appstream
1702081716 apt
1702077209 apt-listchanges
1702081331 apt-transport-https
1702081718 apt-utils
1702083057 aspell
1702081331 aspell-en
1702083068 attr
1707601160 base-files
1702081720 base-passwd
1702081702 bash
1702081327 bash-completion
1702081332 bc
1708747954 bind9-dnsutils
1708747954 bind9-host
1708747954 bind9-libs
1702081682 binutils
1702081685 binutils-common
1702081684 binutils-x86-64-linux-gnu
1702083071 bsdextrautils
1702081702 bsdutils
1702077780 build-essential
1702083029 busybox
1702081694 bzip2

Seems that the plugin is working but it fails because of sudo. Did you configure sudo properly?

All the other commands that use sudo work properly

The plugin says ValueError: invalid literal for int() with base 10: 'icingaweb2-common', but I am missing the interesting part of your output because of your trimming. It would be good to know what happens around that line (just ~10 lines around icingaweb2-common).

Based on your report, I improved the plugin. It now warns if the last modified timestamp is not found for one or more packages.


[Feature Request]: support custom elements that have no definition

Which browser are you using?
Chrome
Is your feature request related to a problem? Please describe.
Often times I have a web component and it isn't rendering, and often the root of the problem is that it is not defined (no call to customElements.define).
Describe the solution you'd like
Show elements with hyphens (-) in their name that are not defined in the custom element registry and note that they are not yet defined.
Additional context
Many times undefined custom elements are intentional e.g. lazy loading upgrade, SSR partial hydration, or just using placeholder component names like in Angular.

Great idea! Currently I do checks on elements with hyphens, and then check if they are present in the encosing window's customElements object.
It would be beneficial in a dev environment to list out elements not yet upgraded/defined as you said, and I'll definitely look into implementing this as a feature, maybe even into the next release.
Many times undefined custom elements are intentional e.g. lazy loading upgrade, SSR partial hydration, or just using placeholder component names like in Angular.

If you have example projects/sites that implement these practices, please do share them

There's now features for showing unregistered components and also displaying an icon when they are hydrated. I'll be closing this now


Need default values.

If you do something like this:
var Form = React.createFactory(Formatic);
...
React.render({
  fields: [
    {
      type: 'text',
      key: 'title',
      default: 'Untitled'
    },
    {
      type: 'text',
      key: 'author',
      default: 'Unknown'
    }
  ],
  value: {},
  onChange: function (newValue) {
    console.log(newValue);
  }
}, document.body)

Should we immediately see {title: "Untitled", author: "Unknown"} logged to the console?
Or, should that only occur after the first change? So if I change "Unknown" to "J", then I see {title: "Untitled", author: "J"}.
I'm leaning toward the latter, given an immediate onChange would imply that the user had changed something, when that's not really what happened. We can later add some other event like onDefault for catching the case that default values are created, if necessary.
Right now, neither of these is occurring. Default values essentially have no effect, because changes only bubble up when fields are changed. So changing "Unknown" to "J" would just give you {author: "J"}. Worse than no effect, they are actually misleading. They imply that a field has a value, but until the field is touched, it really doesn't have that value.

Another nuance here.
With this example:
var Form = React.createFactory(Formatic);
...
React.render({
  fields: [
    {
      type: 'text',
      key: 'title',
      default: 'Untitled'
    },
    {
      type: 'text',
      key: 'author'
    }
  ],
  value: {},
  onChange: function (newValue) {
    console.log(newValue);
  }
}, document.body)

Where I have no default for author, is the default implied to be a blank string ("")? In other words, if I change the title to 'Foo', do I get back {title: 'Foo', author: ''}, or do I get back {title: 'Foo' } until an explicit edit to author is made?
A further wrinkle here is if I set the author but then erase it by clearing the field, what is the value of the field then? Is it a blank string, or is the key/value removed?

More nuances/thoughts:
If a user doesn't manipulate a form at all but is happy with default values, then without some event, there is no way to retrieve the value. With the new simplified formatic, there is no value other than what is passed in and what is sent back in the onChange callback. So if we want the initial value, we either have to send that out in an onChange event or some other event, like onDefault mentioned above. This is probably a bit of an edge case, but it's still a problem none-the-less. If formatic ever displays a different value than what was passed in, there's potential for confusion.
We can't clear fields when a user blanks out a field, because having no value is exactly what should signal the default value in the first place. (I think there's actually another problem currently where formatic treats empty strings as non-existent values.) As far as formatic is concerned, there's no "beginning" state. It's just what's passed in now. So we have to look at the data every time and work from that.

Okay, here's where I landed so far:
If you pass in a non-empty value (empty being undefined, empty string, null, or object with no keys), that's the value you will get back in an onChange. Formatic assumes you meant for {foo: 'bar'} to be your initial value, and it will not give you back other default values for other keys. It will only change/append those values.
If you pass in an empty value, it will assume you want the defaults, and it will "inflate" the fields to get an initial value. You will not receive these values in an onChange until something is edited by the user. At that point, you'll get all the default values along with the new changes.
All this behavior is now in the config (it used to be locked in the root component) split across several helper functions, so it's possible to tweak it with a plugin.
If you want to grab the intiail default values so that a user could save the defaults, then you can manually call this before passing the value to the root Formatic component:
var value = config.createRootValue(props);

props in this case is the same set of props you would be sending to the root Formatic component, so you'll know you're getting exactly the same default values that the components get. For example:
var value = config.createRootValue({fields: myFields, value: {}});

Would give you an initial value that would match what the user sees, assuming you pass the same props to the root component, obviously. If you later add some fields, and you want default values for those fields as well, you could do this:
var value = config.createRootValue({fields: myFields, value: myCurrentValue});

This would merge in the new defaults to your current value, so you have a value that matches what the user sees. That "merge" is a little spooky, but as long as components correctly rely on the config to get values, the merge should result in values that are exactly the same as what the component displays.

Note that all fields have implicit default values now as well. So the default value for a text field is a blank string. The logic here is:

This matches the expectation from a standard HTML form. The field implies a value, even if it's a blank value.
This makes the value of a field consistent no matter if it was ever edited or not. If we say that cleared fields should be removed, then what stops the default value from showing up again? If I backspace and remove a value, should the default value really pop again? That would be rather strange.

Apps that want to remove blank fields thus have to remove the blank fields manually. (Although we could add a helper or possibly even a setting for this.)
Another option is to not have implicit default values. Apps would be required to do the reverse, to ask for implicit defaults. This might complicate the logic a bit, because those implicit defaults are currently in place to make components simpler (so they can always expect a value). So there might be some conditional execution paths there.

Comical results of using default value if current value is a blank string:

(Fixed above.)

Going ahead and merging this for now. Can adjust later if there are good reasons to do so.


Enhancement: Is it possible to disable the unraid server switch?

I only want to have switches for the VMs and Containers.  Is there a way to disable having a switch for my Unraid server itself?
The switch that is there doesn't seem to shut down the server, but I just wanted to check.

Hey,
Apologies, I somehow missed this issue for the past 3 years. But if it's still relevant, I just wanted to answer: it is possible today. If you set "publish": false for the host in the json, you won't get the switch that controls the server.


warning: Use of deprecated "Deno.stdout.rid" API. This API will be removed in Deno 2.

deno version: 1.40.0
warning: Use of deprecated "Deno.stdout.rid" API. This API will be removed in Deno 2.

Stack trace:
  at ProgressBar.get ttyColumns (https://deno.land/x/progress@v1.4.4/mod.ts:236:34)
  at ProgressBar.render (https://deno.land/x/progress@v1.4.4/mod.ts:157:12)

hint: Use `Deno.stdout` instance methods instead.
hint: It appears this API is used by a remote dependency. Try upgrading to the latest version of that dependency.

warning: Use of deprecated "Deno.isatty()" API. This API will be removed in Deno 2.

Stack trace:
  at ProgressBar.get ttyColumns (https://deno.land/x/progress@v1.4.4/mod.ts:236:15)
  at ProgressBar.render (https://deno.land/x/progress@v1.4.4/mod.ts:157:12)

hint: Use `Deno.stdin.isTerminal()`, `Deno.stdout.isTerminal()` or `Deno.stderr.isTerminal()` instead.
hint: It appears this API is used by a remote dependency. Try upgrading to the latest version of that dependency.

deno version: 1.40.0

warning: Use of deprecated "Deno.stdout.rid" API. This API will be removed in Deno 2.

Stack trace:

  at ProgressBar.get ttyColumns (https://deno.land/x/progress@v1.4.4/mod.ts:236:34)

  at ProgressBar.render (https://deno.land/x/progress@v1.4.4/mod.ts:157:12)

hint: Use `Deno.stdout` instance methods instead.

hint: It appears this API is used by a remote dependency. Try upgrading to the latest version of that dependency.

warning: Use of deprecated "Deno.isatty()" API. This API will be removed in Deno 2.

Stack trace:

  at ProgressBar.get ttyColumns (https://deno.land/x/progress@v1.4.4/mod.ts:236:15)

  at ProgressBar.render (https://deno.land/x/progress@v1.4.4/mod.ts:157:12)

hint: Use `Deno.stdin.isTerminal()`, `Deno.stdout.isTerminal()` or `Deno.stderr.isTerminal()` instead.

hint: It appears this API is used by a remote dependency. Try upgrading to the latest version of that dependency.

can you submit a pull request ?

Same issue, cluttering my terminal. :(

Landed in v1.4.5


[Question] How can I use this plugin with 'require'?

Question
Hey!
Can you help me please regarding using @thream/socketio-jwt with 'require'? Currently, I am getting error code: 'ERR_REQUIRE_ESM'. I can't use the module type (import) since my entire nodejs server is built with require.
Thanks!

Question
Hey!
Can you help me please regarding using @thream/socketio-jwt with 'require'? Currently, I am getting error code: 'ERR_REQUIRE_ESM'. I can't use the module type (import) since my entire nodejs server is built with require.
Thanks!

Here is what I tried:
Got some good info from : https://stackoverflow.com/questions/57169793/error-err-require-esm-how-to-use-es6-modules-in-node-12/70231903#70231903
Then followed their repo: https://github.com/jason-henriksen/typescript-with-esm-no-babel-boilerplate
Which worked partially and gave me error in another dependency
Then I tried installing this one: https://github.com/scristobal/auth0-socketio which gave me the exact same error as before
So I threw everythign away and copy pasted: https://github.com/scristobal/auth0-socketio/blob/main/src/auth0-socketio.ts
into my own code. And it works like a charm

Hello, thanks for your report!
This package is pure ESM. Please read this.
It will not going back to CommonJS again.
However, I agree that it could be more explicit in the README that it is a pure ESM package, feel free to open a PR to precise that. :smile:


[.Net] A Script is always marked out of sync when inheriting an external Node type

Tested versions
v4.3.stable.mono.official [77dcf97d8]
System information
Godot v4.3.stable.mono - Windows 10.0.17763 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4060 Ti (NVIDIA; <IP_ADDRESS>09) - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)
Issue description
The Godot editor always marks a C# script out of sync when it inherits a custom Node type from a Nuget package or a separate C# project.

Steps to reproduce

Download and extract the MRP
Open the ./GodotProject with Godot 4.3 mono
Build the project with Godot Editor

Minimal reproduction project (MRP)
MRP_Script_Path.zip

Duplicate of https://github.com/godotengine/godot/issues/88536

Oh, I forgot, sorry...


Learning panel

Catalog # 13
Link to Design
Work in Progress
Maintainers
Tom Solomon

@pascal-potvin Should this be deprecated now that the learning panel is getting worked into the Assist Me panel?


Documentation of FirstLevelModel is wrong

It say that "canonical" and "canonical with derivative"  are possible values for hrf model. This is wrong. Should be one of ['spm', 'spm + derivative', 'spm + derivative + dispersion', 'fir', 'glover', 'glover + derivative', 'glover + derivative + dispersion', None]

Also, the link to the nilearn github page under the fit method for parameter run_imgs is dead.

Solved for the moment. Closing


Fix iOS 16 NavigationLink console warning

This fixes the iOS 16 NavigationLink warning printed in the console as noted by #34
Tested using Xcode Beta 6.

Thanks a lot for looking into this @DavidKmn ! Unfortunately, this change would break pushing more than 2 screens in a navigation stack. embedInNavigationView should only be true for the initial screen of a navigation stack, so with this change, the NavigationLink would no longer appear on the second screen.

Nice catch I see. Yes I missed that, so it seems like what we actually want is to check whether the view is in a navigation stack (ie its either the first one via embedInNavigationView or it has been pushed). Is that right?

Just pushed this check

Thanks for the changes @DavidKmn. Unfortunately, even with this change, the warning is still logged when popping back more than one view (you can test in the example app). Also, people might be manually adding their own NavigationView, so it's not always possible to detect if there is a NavigationView in the hierarchy this way.
I think this is a SwiftUI bug to be honest, and I'm not sure this library can do anything to mitigate it. I can trigger this warning with the following vanilla SwiftUI code:

import SwiftUI

@main
struct NavigationWarningLogDemoApp: App {
  var body: some Scene {
    WindowGroup {
      NavigationView {
        Content1View()
      }.navigationViewStyle(.stack)
    }
  }
}

struct Content1View: View {
  @State var pushing = false

  var body: some View {
    VStack {
      NavigationLink(destination: Content2View(popToRoot: { pushing = false }), isActive: $pushing, label: { Text("Go")})
    }
    .navigationTitle("1")
  }
}

struct Content2View: View {
  @State var pushing = false
  let popToRoot: () -> Void
  var body: some View {
    VStack {
      NavigationLink(destination: Content3View(popToRoot: popToRoot), isActive: $pushing, label: { Text("Go")})
      Button(action: popToRoot, label: { Text("Pop to root")})
    }
    .navigationTitle("2")
  }
}

struct Content3View: View {
  @State var pushing = false
  let popToRoot: () -> Void

  var body: some View {
    VStack {
      // The warning does not appear if you remove this NavigationLink.
      NavigationLink(destination: Text("4"), isActive: $pushing, label: { Text("Go")})
      // Tapping this button triggers a warning to be logged:
      //
      // NavigationLink presenting a value must appear inside a NavigationContent-based NavigationView. Link will be disabled.
      Button(action: popToRoot, label: { Text("Pop to root")})
    }
    .navigationTitle("3")
  }
}

I'll file a radar with this example code.

Filed feedback FB11490806.

Nice!

Any update on this?

Also experiencing this issue. Any updates?

No update so far on the feedback I'm afraid (FB11490806). I'll close this PR as it doesn't solve the issue sadly.


Logging - Log File Rotation

Implemented log file rotation (see linked issue for details) in FileLogHandler.
What is the current behaviour?
Log files created by FileLogHandler may grow to indefinite size, especially with append: true.
What is the new behaviour?
With file rotation enabled (which it is by default), after a log file reaches the set size limit, it is "rotated" (i.e. renamed with an index suffix) and a new file started.
What issues does this resolve?
This prevents any one log file from becoming too large to reasonably work with.
What PRs does this depend on?

None

Does this introduce a breaking change?

[ ] Yes
[X] No
Note: Any existing uses of FileLogHandler will automatically begin using file rotation.

Example logs generated under various use cases:

Strict file size limit (rotate before the log that exceeds the limit)

Updated Test Cases

Re-tested every append/replace/rotate combination (as per first screenshot above)
RotateFileSizeLimit is null/negative/zero/long.MaxValue
RotateFileCountLimit is null/negative/zero/int.MaxValue
Path contains folders that don't exist
Unusual paths:

path has no file extension (ex. "log" -> "log.1", "log.2"...)
path already has an index (ex. "log.1.txt" -> "log.1.1.txt", "log.1.2.txt"...)

Index is treated as part of the file name

path ends with an index (ex. "log.1" -> "log.1.1", "log.2.1")

Index is treated as the file extension

User manually modifies log files:

Gaps in rotated file indices
Duplicate indices (ex "log.1.txt" vs "log.01.txt")
Indices greater than int.MaxValue (ex. "log.123456789123456789.txt")

If the latest changes are acceptable (or after any last rounds of minor adjustments), feel free to merge this PR - I think it makes sense to later open a new PR for the separation of file rotation logic from FileLogHandler, not least because of how busy this one has already gotten.


Fix NoneType error in describe_images by filtering out None values in…

This merge request fixes an issue where the describe_images function in cartography/intel/aws/ec2/images.py encountered a NoneType error. The error occurred because None values were being included in the image_ids list, which is not allowed by the AWS SDK. In one particular account of several hundred tested, an image ID was returned that was None. I was able to verify that this allows all of my accounts to run ingestion successfully.

Thanks for the fix, looks good to me, should be good to merge after you sign the CLA

Check again, thanks

Thank you!


Option to change cost functions

It would be advantageous to change the cost function stored in the code. It should be possible to adjust the base value and alpha of the cost function.

It would also be useful to be able to differentiate between brand new heat pumps and heat pumps to be integrated into a heating system.


Question about training.

During training in your paper, did you only train one model on the data across all the topics? Or for every topic, train one model and test on that topic (that is, eight models are trained for the eight topics)?
If you only trained one model, then how to decide the  --iterations ?
Thanks a lot!

I trained one model on all common-crawl data (i.e. all topics) and one model on all reddit-comments data. I computed the iterations based on the batch size and the number of training samples such that each training sample was seen once (i.e. basically one epoch).

Thanks for your reply.
For example, if I use "python make_tf_records_multitag.py --files_folder ../training_data/common-crawl-en/abortion/final/ --sequence_len 256" to process the data of abortion, after finish, it says "Number of total samples: 28458."
In this way, for every topic, I can get a number-of-total-samples by running "make_tf_records_multitag.py". So, if I want to train on all the data across all the topics, do I need to sum up all the number-of-total-samples for every topic to compute the iteration number?
By the way, could you please provide the "--iterations" or "batch_size" or "#samples" you used in the experiment of the two models?
Thanks a lot!


State is not reactive

when I press the button, the state does not update, not sure why

this fails to update too, just tested

@nikitavoloboev you can't use stan-js like that. You're mixing non React functions with React. Let me explain:

Define your store out of the React component:

// store.ts
const { useStore } = createStore({
  focusedInput: "'',
  name: "",
  // other props
｝）

// now, export useStore for React components

export {
    useStore
}

From now on you can import this hook in any component in your app and update it with actions:
const MyComponent = () => {
  // import from here action prefixed with `set`
  const { setName } = useStore()

  return (
      <button onClick={() => setName('after update'))>Update the name</button>
  )
}

You can check our examples section for more detailed code:
https://codemask-labs.github.io/stan-js/examples/react/

Also, if you destructure name, your component will auto-subscribe to the updates:

This won't re-render MyComponent as you didn't subscribe

const MyComponent = () => {
  const { setName } = useStore()

  return (
      <button onClick={() => setName('after update'))>Update the name</button>
  )
}

This re-render MyComponent as you subscribed

const MyComponent = () => {
  // auto-subscribe
  const { name, setName } = useStore()

  return (

        <button onClick={() => setName('after update'))>Update the name</button>

{name}

  )
}

Define your store out of the React component

I can't do this though because each route requires certain amount of data
I thought of defining the store at each of the client components.
And passing state down because I can't rely on global state of the store as each route has different fetch query at the top of react server component if that makes sense.

I thought of defining the store at each of the client components.

You can define many stores, just don't do this inside the component.

In that case you can use Scoped Store, we even have Next.js SSR example

Hi @nikitavoloboev, were you able to fix your issue?


Use a provider to load public keys read from DER encoded data

When reading a SubjectPublicKeyInfo structure (as might be found in an X509 certificate as well as a number of other structures) we should use a provider (via a decoder) unless there is an ENGINE for the public key present.
Fixing this problem was relatively straight forward, but doing so revealed a long list of other problems that this change revealed. Most of the commits in this PR are fixing other issues in order to get the tests to pass following the above change.
Fixes #15393
Fixes #15327

This is currently draft because some things are missing. Most significantly documentation updates.

With your change I can still get this backtrace:
#0  pkey_set_type (pkey=0x5555556b40e0, e=0x7fffffffd7a0, type=32767,
    str=0x7fffffffd7a0 "\320\327\377\377\377\177", len=-137856870, keymgmt=0x0) at crypto/evp/p_lib.c:1463
#1  0x00007ffff7c68e8e in EVP_PKEY_set_type (pkey=0x5555556b4090, type=0) at crypto/evp/p_lib.c:672
#2  0x00007ffff7d57099 in x509_pubkey_decode (ppkey=0x7fffffffd830, key=0x5555556a0b40)
    at crypto/x509/x_pubkey.c:389
#3  0x00007ffff7d571d1 in X509_PUBKEY_get0 (key=0x5555556a0b40) at crypto/x509/x_pubkey.c:433
#4  0x00007ffff7d4510a in X509_REQ_get0_pubkey (req=0x55555569a4a0) at crypto/x509/x509_req.c:74
#5  0x00005555556047c8 in x509_main (argc=0, argv=0x7fffffffdda0) at apps/x509.c:677
#6  0x00005555555c9b1f in do_cmd (prog=0x555555688d50, argc=16, argv=0x7fffffffdda0) at apps/openssl.c:414
#7  0x00005555555c96ec in main (argc=16, argv=0x7fffffffdda0) at apps/openssl.c:295

....And there is no further check of providers.  When were the providers supposed to get checked?

With your change I can still get this backtrace:

What command line did you use to get this?
This is an error path. You only get to this point if the parsing of the key failed during load. If the parsing was successful during load then the EVP_PKEY would have already been cached and X509_PUBKEY_get0 would have returned immediately. It does look like X509_PUBKEY_get0 needs some further adjustment though...

What command line did you use to get this?

With your change I can still get this backtrace:

What command line did you use to get this?

openssl x509 -provider default -provider /home/user/work//special_provider.so -req -set_serial 7000 -extfile /home/user/work/crypto_root_req.cfg -in /home/user/work//root_req.pem -signkey /home/user/work/root_private_key.pem -out /home/user/work/root_certificate.pem

The certificate request contains a public key that was created by a provider .  The public key has an oid and sigalg that are not previously known to OpenSSL. Tjhey are known to the provider.

Can you send me the req file?

-provider /home/user/work//special_provider.so

This is the wrong syntax. You need to use -provider-path /home/user/work -provider special_provider
Does that provider implement a decoder for the OID?

This is the wrong syntax. You need to use -provider-path /home/user/work -provider special_provider

Does it make sense to add checking to the -provider flag so that there aren't directory characters in it?

-provider /home/user/work//special_provider.so

To my surprise this actually works! I don't think it is supposed to. It loads the provider and gives it the name "/home/user/work//special_provider.so" rather than "special_provider" which is what I would have expected. See #15620.

-provider /home/user/work//special_provider.so

To my surprise this actually works! I don't think it is supposed to. It loads the provider and gives it the name "/home/user/work/special_provider.so" rather than "special_provider" which is what I would have expected. See #15620.

Yes.  I can assure you, the syntax works perfectly fine.  Its the same syntax with engine.  Full path. I used to implement engines so this was just a natural evolution. I'll get you the req file momentarily.

As requested, here is the req.
Yes.  The provider does implement a decoder for the OID. Can you let me know where you expect openssl to fetch the provider decoder ?
root_req.txt

As requested, here is the req.

Thanks.

Can you let me know where you expect openssl to fetch the provider decoder ?

During loading of the X509_REQ it should end up in x509_pubkey_ex_d2i_ex in x_pubkey.c where it should attempt to invoke the decoder.

Thanks.

You're welcome

During loading of the X509_REQ it should end up in x509_pubkey_ex_d2i_ex in x_pubkey.c where it should attempt to invoke the decoder.

Ok.  On Monday I'll look into what's going on in there. There is a good chance that this is my provider's fault.

I have taken this PR out of draft status. Currently it will build but the tests will fail until #15591 is merged (i.e. you need both for this to work). But apart from that this can be reviewed entirely independently from #15591.
Please take a look.

Rebased, and a CI failure addressed. Also feedback above addressed.
Please take another look.

@mattcaswell :

During loading of the X509_REQ it should end up in x509_pubkey_ex_d2i_ex in x_pubkey.c where it should attempt to invoke the decoder.

Ok. On Monday I'll look into what's going on in there. There is a good chance that this is my provider's fault.

So I've done a bit of tracing and got really confused while looking in crypto/core_namemap.c.  My confusion is that the name map is expected to be able to map  a numbered OID to some other number.  (Here is the confusing part: ) But how does the provider tell the system (ie libcrypto) what OIDs it supports?  How does it get that OID into the namemap?
I'm sure its simple, I just haven't been able to figure it out.  Any help would be greatly appreciated.

Give the dotted decimal text representation of the OID as an alias name for the thing its trying to fetch. E.g look here and you'll see lots of OIDs for various provided things:
https://github.com/openssl/openssl/blob/master/providers/implementations/include/prov/names.h

Although there is a flaw for sigalg type OIDS, i.e. OIDS that map onto both a signature algorithm and a hash algorithm. See #15624

Wow!  Thanks for the super fast reply!

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Pushed. Thanks.

Can confirm that this fixes my issue. ...but other have been discovered.  sigh.  I think these ones are my fault.


Make log_format customizable

pretty self explanatory.

Solved by https://github.com/ministryofjustice/nginx-formula/pull/38


Nuspec out of date? (System.Drawing.Common)

May be experiencing a bug, or maybe not. Either way I've noticed a version mismatch you may want to get in sync:
https://github.com/codebude/QRCoder/search?q=system.drawing.common&unscoped_q=system.drawing.common

The issue I'm being presented with is this:
Assembly 'QRCoder' with identity 'QRCoder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' uses 'System.Drawing.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' which has a higher version than referenced assembly 'System.Drawing.Common' with identity 'System.Drawing.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
I'm not using system drawing common anywhere in my project (a .Net Core 2.2 web project).

Think it is something you need to resolve. As soon as I add in<EMAIL_ADDRESS>the issue goes away.

This really needs to be fixed. It causes a build warning if you also reference the stable System.Drawing.Common:

Warning	MSB3277	Found conflicts between different versions of "System.Drawing.Common" that could not be resolved.  These reference conflicts are listed in the build log when log verbosity is set to detailed.

Same issue for me : error CS1705: Assembly 'QRCoder' with identity 'QRCoder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' uses 'System.Drawing.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' which has a higher version than referenced assembly 'System.Drawing.Common' with identity 'System.Drawing.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
Any plan to merge fix soon ? #192

Is there a workaround?

The same issue, then i use QRCoderNetCore as a temp solution.

Install the latest System.Drawing.Common as a temp solution works for me.

Should be solved with this commit: https://github.com/codebude/QRCoder/commit/d428ce5f504ec8b4f689ea87d86599301b2993d2


[prim_max_tree] Create prim_max_tree primitive and use it in rv_plic and entropy_src

This splits the maximum calculation logic from rv_plic_target out into a separate primitive so that it can be reused in other IPs.
This allows us to get rid of the recursive module instantiation in entropy_src (see #10160).
The PR also adds a formal testbench for the new prim_max_tree primitive.
All assertions pass with 100% coverage accross the board in that testbench.
I am still waiting for rv_plic formal results, though.
Will report back once that is available.
Fixes #10160.

Assertions in FPV seem to be passing now for both rv_plic and the new prim_max_tree.


Add HDF5 compression

Allow users to enable compression on HDF5 backends.
Compression is applied uniformly to all datasets; one might expect different compression for accepted than chain or blobs but the interface doesn't need additional complications. If reset is used on an existing HDF5 file the newly created datasets will have compression enabled or not as specified during backend creation.
Closes #338

Awesome!!


[1.16.3] Random Ticking Block Crash

Something when it start to cook a recipe, it crashes, I first tough it was a mod issue but after some testing it happen with the mod alone (and Patchouli of course)
Modpack Crash Report :
crash-2020-11-15_18.26.55-client.txt
Mod Alone Crash Report :
crash-2020-11-15_18.40.11-client.txt
Mod Version : 1.1.1 Release (1.16.3)
Forge Version : 34.1.42

Duplicated to #11


update: support PSA Crypto API 1.0 beta 3

This PR make t_cose support latest Mbed Crypto.
Old Mbed Crypto has moved and merged into Mbed TLS, and now its APIs are changed.
The changes can be seen here.

Hi.
Will look at this soon. Recovering from Covid...

I wish your quick recovery from the symptoms.
Thank you for your daily contributions!


[T4PUB-663] support ROSCube-X nvme storage

What is this PR?
This PR supports ROSCubeX nvme storage.
issue
https://tier4.atlassian.net/browse/T4PUB-663
test
OTA update works properly.

By reading the nvme-installer scripts in the ota-internal repo, this nvme installing mechanism using switch-root to achieve rootOnStorage.
With this mechanism, it seems that the system will always use kernel from the emmc partition's /boot folder, should we also copy the new kernel from the newly update nvme slot into the corresponding emmc partition's /boot folder to update the kernel?

By the way, should we keep the backwards compatibility with ECU that doesn't have nvme external root?

By the way, should we keep the backwards compatibility with ECU that doesn't have nvme external root?

Nice to have, not required.

Nice to have, not required.

Maybe in the future a PR can be made for this.

P.S.: I think only updating the initrd and kernel under the corresponding emmc partition's /boot folder is enough.
P.S.2: Or we can kexec with kernel from newly updated nvme slot.

I'd like to choose option.1 since we don't want to troubleshoot about kexec. kexec is a popular mechanism?

Arbitrary extlinux.conf PARTUUID under nvme drive works, since mmc/boot is referenced :smile:
autoware@ubuntu:~$ cat /boot/extlinux/extlinux.conf
# Auto generated by ota-client, DO NOT EDIT!
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
	MENU LABEL primary kernel
	LINUX /boot/Image
	INITRD /boot/initrd
	FDT /boot/tegra194-rqx-580.dtb
	APPEND ${cbootargs} quiet  root=PARTUUID=11111111-1111-1111-1111-111111111111 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

P.S.: I think only updating the initrd and kernel under the corresponding emmc partition's /boot folder is enough.
P.S.2: Or we can kexec with kernel from newly updated nvme slot.

I'd like to choose option.1 since we don't want to troubleshoot about kexec. kexec is a popular mechanism?

Kexec is for directly kernel booting to new kernel from current kernel, in normal case we don't use it.
But option 1 has a potential problem that it will cause the mismatching of system on emmc and kernel from newly updated slot. It maybe OK if both emmc's system and nvme's system have the same major Ubuntu version though, but It is certainly a potential problem.

For option 1, Is it OK if kernel and initrd in the nvme /boot and corresponding emmc /boot are updated?

Arbitrary extlinux.conf PARTUUID under nvme drive works, since mmc/boot is referenced smile
autoware@ubuntu:~$ cat /boot/extlinux/extlinux.conf
# Auto generated by ota-client, DO NOT EDIT!
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
	MENU LABEL primary kernel
	LINUX /boot/Image
	INITRD /boot/initrd
	FDT /boot/tegra194-rqx-580.dtb
	APPEND ${cbootargs} quiet  root=PARTUUID=11111111-1111-1111-1111-111111111111 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

Yes, this mechanism firstly boot into emmc slot, and then use systemctl switch-boot to use external drive as rootfs.
So a working system on emmc slot must presented, and cboot will read extlinux.cfg and load kernel from emmc slot.

Oh I just realize we are just updating the extlinux.cfg on the nvme slot, which will not be used by cboot.
Actually with this mechanism, we even don't need to configure the extlinux.cfg, as ota-client won't touch the emmc slots.

For option 1, Is it OK if kernel and initrd in the nvme /boot and corresponding emmc /boot are updated?

I don't know, MAYBE within the same major OS version it will work.
But if one day the nvme slot updated into a newer major OS version, we may have unexpected problems which won't have any support since combining using mismatching kernel and system is unusual. Worse case we may have a unbootable emmc slot.

But if one day the nvme slot updated into a newer major OS version

No. We always update both kernel and initrd on nvme and emmc.

But if one day the nvme slot updated into a newer major OS version

No. We always update both kernel and initrd on nvme and emmc.

I mean the system on the emmc mismatching with the kernel we update.

With the above concerns I have, I think kexec is a better and more controllable way to make the system use kernel in the nvme slot, with this method, we don't need to touch emmc slot anymore.

But we still need some test over it if we want to use it.


walletconnect error - connection failed

Describe the bug
when WalletConnect is selected, it shows Connection Failed
Failed to sign in with WalletConnect: WebSocket connection failed for URL: wss://relay.walletconnect.com?auth=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkaWQ6a2V5Ono2TWtmbVlYYXN4bnRRa2lKTEJVVGZmYkFzUUJXRE5xNE45RkZCWmJ2azFYQzRNSyIsInN1YiI6IjQ4MDI3ODlkMTlhZWNmYmQ1MTMwMDMxNjc5YmNmYmM1OTg2NTFlMDg1M2VjYzE2MTZlMmUzNDVmMzkyNmI1MTMiLCJhdWQiOiJ3c3M6Ly9yZWxheS53YWxsZXRjb25uZWN0LmNvbSIsImlhdCI6MTY4MDUyNTM4NSwiZXhwIjoxNjgwNjExNzg1fQ.BNPhnxp3Fo_0qsef7_VKny5DbM-rQyoXeqnxDIAIxEv14K06iA5Xy1LnP-

To Reproduce

use the code from the example from the guestbook

Expected behavior
able to connect to WalletConnect
Screenshots

Hi, @sweetim thank you for raising this issue.
This is an expected behavior since the projectId is required for WalletConnect.
Docs: https://github.com/near/wallet-selector/tree/main/packages/wallet-connect#options
Sign up and create your own projectid: https://cloud.walletconnect.com/sign-in

@sweetim feel free to create any PR we would really appreciate any feedback or help 👍

Docs: https://github.com/near/wallet-selector/tree/main/packages/wallet-connect#options

Although this is mentioned in the main readme file of wallet-connect package many devs tend to miss reading it, maybe changing the value of projectId in the examples from "c4f79cc..." to "YOUR_PROJECT_ID" would make it clearer that this value is required.


yandex_mdb_postgresql_cluster resource is missing

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
Hello! Can't found yandex_mdb_postgresql_cluster resource, it seams missing. Can you add it please?

@stack72 The comments around this resource indicate that we're skipping for 2 reasons:

The docs are broken and end up generating in an indeterminate manner.
Go SDK linting fails

I get the first one, which we can solve by overriding the docs (which we're doing in the commented out code). I'm not sure why Go SDK linting would fail and what conditions would need to change in order for us to map the resource.
Can you explain more?

Closing as this repo will be archived.


Fix for the winmd references

Currently the references for winmd that comes from WindowsAppSDK nuget package is getting affected by the references mentioned in targets file of WinUI. This change to de-couple the definition of references between both the packages.


istioctl manifest apply command unable to set JSON values

Bug description
isitoctl manifest apply uses StringSliceVarP to parse --set command-line arguments. However, according to the Go doc string slice family of functions: "take[s] comma-separated value as arguments and split them accordingly". Therefore, for example, setting argument values.global.proxy.accessLogFormat to any longer JSON (e.g. even the one in the Istio Helm confimap '{"start_time": "%START_TIME%", "req_method": "%REQ(:METHOD)%"}') will not work as the parser will interpret values.global.proxy.accessLogFormat={"start_time": "%START_TIME%" as one argument and then  "req_method": "%REQ(:METHOD)%"}' as another (which will fail on  https://github.com/istio/operator/blob/a2929d01a4d892c869cd9cd03eb37b01d074347a/cmd/mesh/manifest-common.go#L192). Wouldn't using the string array family of functions resolve the problem?
Expected behavior
isitoctl manifest apply should be able to set JSON values.
Steps to reproduce the bug
isitoctl manifest apply --set values.global.proxy.accessLogFormat='{"start_time": "%START_TIME%", "req_method": "%REQ(:METHOD)%"}'
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
client version: 1.4.2
control plane version: 1.4.2
data plane version: 1.4.2 (3 proxies)
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:11:03Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"1da9875156ba0ad48e7d09a5d00e41489507f592", GitTreeState:"clean", BuildDate:"2019-11-14T05:19:20Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
How was Istio installed?
istioctl manifest apply --set values.global.mtls.enabled=true --set values.global.controlPlaneSecurityEnabled=true --set values.tracing.enabled=true --set values.kiali.enabled=true --set values.prometheus.enabled=false
Environment where bug was observed (cloud vendor, OS, etc)
Azure, AKS

I think we support --set a=b,x=z syntax.
If you are going to by passing json I highly recommend you just use a file instead of dealing with the mess of trying to escape json

Have the same issue. I tried with istioctl --set, IstioControlPlane yaml and istio operator. Getting the same result everywhere - predefined accessLogFormat is not propagating to the configmap.
The temporary fix is patching istio configmap after istio has been deployed.

Although what @maks-mikhalov mentions is another issue, it seems to occur also in our cluster. When deploying an adapted TEXT version of our log format, there is no change in the istio configmap (Istio version 1.4.2). However, I believe this would need to be addressed in another bug report.
@howardjohn we need to automate our cluster creation and therefore we need to install Istio without manually changing any config files. Do you have any idea how one could set Envoy accessLogFormat to some JSON programatically? What do you mean by using a file for setting a value?

You can pass istioctl a file like -f. See https://istio.io/docs/setup/install/istioctl/#configure-the-feature-or-component-settings


Chromium memory leak?

Description

I'm running your nvidia-snatcher together with https://github.com/jef/nvidia-snatcher/pull/534 and INCOGNITO=true.
I've noticed that the (main?) chrome process keeps constantly growing in memory usage. Yesterday there was a crash at some point but I sadly by mistake overwrote the logs files that contained details regarding that.
But I somehow doubt that the issue is within nvidia-snatcher or even puppeteer.
I would assume that this is a chromium leak but I figured to ask for your opinion just to ensure that we can rule out nvidia-snatcher.

OS: Ubuntu 20.04 Linux unknown 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Chromium: 86.0.4240.75 snap

Possible solution

I have experienced the same. The script ends up loading my 32GB of memory fully after a day or 2 of running.

Yep. Same within Docker. Probably a browser/tab not getting closed in a certain mode. Will look into soon.

I'm not sure if the issues is related to closing the incognito BrowserContext, but I forgot to include the following:
await context.close();
Seems to be an old problem, see Here

@GRINSPANKER13
It seems that it was indeed the missing context.close(), after adding that to the code the memory leak seems to be gone.

Sweet! Thank you very much @GRINSPANKER13


Remove not-deleted index.vue merge file

There was a merge file created by the commit https://github.com/liyasthomas/postwoman/commit/8cc7b525d91c86667ba1c2f862f765ebbf54a967 which wasn't cleaned up, this PR removes it.

Hey @AndrewBastin,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 1c829b60-8e54-11ea-80eb-6b769f7cd14d


added a setup.py

You will have to register it on and upload it to pypi.

Created pull request in wrong repo.


Unknown shader module project32

Description
My usage of path layer leads to error: "Unknown shader module project32"
Same goes for this example: https://deck.gl/showcases/gallery/highway
Repro Steps
Use example above.
 It also does not depend on Browser, both Safari and Chrome are affected.

happens with GeoJson Layer as well?!
const geojsonLayer = new deck.GeoJsonLayer({     data: fc,     pickable: false,     stroked: false,     filled: false,     extruded: false,     lineWidthScale: 20,     lineWidthMinPixels: 2,     getFillColor: [160, 160, 180, 255],     getLineColor: [160, 160, 180, 255],     getLineWidth: 10,     opacity: 0.8,     wireframe: true,     fp64: true,     getElevation: 100, });

@cschlueter Thanks for reporting. Please use<EMAIL_ADDRESS>as we address this issue.
@ibgreen Tree shaking is broken by https://github.com/uber/deck.gl/pull/3202.

Fixed in 7.1.2. It is available on either
<EMAIL_ADDRESS>or
<EMAIL_ADDRESS>The ^7.0.0 cache on unpkg.com may need some time to refresh.

Thanks, selecting the version 7.1.2 explicitly did the trick.

I still getting this error on 7.1.4 with ScatterplotLayer without using pre-bundled versions.

I'm still blocked by this issue when trying to build an application with the following config:
{
  "engineStrict": true,
  "scripts": {
    "watch": "webpack -d --watch",
    "build": "webpack -p --progress",
    "rollup-build": "npx rollup -c"
  },
  "dependencies": {
    "nebula.gl": "^0.14.0",
    "nebula.gl-react": "^0.10.5",
    "react": "16.5.0",
    "react-dom": "16.5.0",
    "react-map-gl": "^5.0.3"
  },
  "resolutions": {
<EMAIL_ADDRESS>"7.2.0-alpha.1"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/plugin-proposal-class-properties": "^7.0.0",
    "@babel/plugin-proposal-decorators": "^7.0.0",
    "@babel/plugin-proposal-export-default-from": "^7.2.0",
    "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
    "@babel/plugin-proposal-function-sent": "^7.0.0",
    "@babel/plugin-proposal-json-strings": "^7.0.0",
    "@babel/plugin-proposal-numeric-separator": "^7.0.0",
    "@babel/plugin-proposal-throw-expressions": "^7.0.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@babel/plugin-syntax-import-meta": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-flow": "^7.0.0",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.0",
    "babel-preset-minify": "^0.5.0",
    "bourbon": "^4.3.4",
    "css-loader": "^0.28.11",
    "extract-text-webpack-plugin": "^4.0.0-beta.0",
    "file-loader": "^0.11.2",
    "rollup": "^1.15.3",
    "rollup-plugin-babel": "^4.3.0",
    "rollup-plugin-commonjs": "^9.2.0",
    "rollup-plugin-json": "^3.1.0",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-globals": "^1.4.0",
    "rollup-plugin-node-resolve": "^4.0.0",
    "rollup-plugin-replace": "^2.1.0",
    "url-loader": "^0.5.9",
    "webpack": "^4.34.0",
    "webpack-cli": "^3.3.4"
  }
}

I have tried different versions of @deck.gl/core after 7.1 but I can't seem to find the initializeShaderModules in the generated bundle. Am I missing something?

@sebastibe Can you try the following:

Check if the global object deck exists in the console, and deck.version matches your installed version (7.2.0-alpha.1).
With source map on, see if https://github.com/uber/deck.gl/blob/master/modules/core/src/lib/init.js#L46 is executed.

One weird thing I noticed is that I always seem to have the deck version one minor version below the one required: (7.1.6 if I require 7.2.0-alpha.1, 7.1.5 if I require 7.1.6 etc...)
I don't find the initializeShaderModules function in the source maps which could indicate I might have an issue with my webpack config. Here it is below for reference:

const resolve = require('path').resolve;
const join = require('path').join;
const dirname = require('path').dirname;
const webpack = require('webpack');

const BUILD_DIR = resolve(__dirname, 'target', 'cljsbuild', 'public');
const APP_DIR = resolve(__dirname, 'src', 'js');
const SCSS_DIR = resolve(__dirname, 'src', 'sass');
const MAP_GL_CSS_DIR = resolve(__dirname, 'node_modules', 'mapbox-gl');

const ExtractTextPlugin = require("extract-text-webpack-plugin");

const extractSass = new ExtractTextPlugin({
  // filename: "[name].[contenthash].css"
  filename: "css/[name].css"
  // disable: process.env.NODE_ENV === "development"
});

const config = {
  entry: [
    `${APP_DIR}/main.js`,
    `${MAP_GL_CSS_DIR}/dist/mapbox-gl.css`,
  ],
  output: {
    path: BUILD_DIR,
    filename: 'js/bundle.js'
  },
  resolve: {
    extensions: ['.js', '.scss']
  },
  module: {
    rules: [
      // Compile ES2015 using babel
      {
        test: /\.js$/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: [
              require('@babel/preset-env'),
              require('@babel/preset-react'),
              require('@babel/preset-flow')
            ],
            plugins: [
              require('@babel/plugin-proposal-class-properties'),
              require('@babel/plugin-proposal-export-default-from')
            ]
          },
        },
        exclude: /node_modules/,
        include: [resolve('.')]
      },
      {
        // webpackl 4 fix for broken turf module: https://github.com/uber/nebula.gl/issues/64
        test: /\.mjs$/,
        include: /node_modules/,
        type: 'javascript/auto'
      },
      {
        test: /\.css$/,
        use: extractSass.extract({
          use: [{
            loader: "css-loader", // translates CSS into CommonJS
            options: {
              includePaths: [
                // From mapbox-gl-js README.
                // Required for non-browserify bundlers (e.g. webpack):
                join(dirname(module.filename), 'node_modules/mapbox-gl/dist'),
                // join(dirname(module.filename), 'node_modules/weather-icons/css')
              ]
            }
           }],
           fallback: "style-loader" // creates style nodes from JS strings
        })
      },
      {
        test: /\.scss$/,
        use: extractSass.extract({
          use: [{
            loader: "css-loader" // translates CSS into CommonJS
          }, {
            loader: "sass-loader", // compiles Sass to CSS
            options: {
              includePaths: [
                join(dirname(module.filename), 'node_modules')
              ]
            }
          }],
          fallback: "style-loader" // creates style nodes from JS strings
        })
      },
      {
        test: /\.(woff|woff2)$/,
        use: {
          loader: 'url-loader',
          options: {
            name: 'fonts/[hash].[ext]',
            limit: 5000,
            mimetype: 'application/font-woff'
          }
        }
      }, {
        test: /\.(ttf|eot|svg)$/,
        use: {
          loader: 'file-loader',
          options: {
            name: 'fonts/[hash].[ext]'
          }
        }
      }
    ]
  },
  plugins: [
    extractSass,
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('production')
    })
  ]
};

module.exports = config;

@sebastibe Your package.json does not explicitly depend on any deck.gl packages. They are not dependencies of the latest nebula.gl either.
nebula-react looks like a deprecated package since it's depending on an old version of nebula.gl which depends on an older version of deck.gl.
The ultimate test is always running yarn list @deck.gl/core to see exactly how many copies and what versions are installed.
@cschlueter This doesn't seem to be related to your issue, feel free to close and we can move to a different thread.

@Pessimistress I'm still blocked on this issue.

I have confirmed that I could have a clean install and only one version of deck.gl with the following packages:

<EMAIL_ADDRESS>"^7.1.7",
<EMAIL_ADDRESS>"^7.1.7",
<EMAIL_ADDRESS>"^7.1.7",
<EMAIL_ADDRESS>"^7.1.1",
<EMAIL_ADDRESS>"^7.1.1",
<EMAIL_ADDRESS>"^0.14.0",

I have confirmed that the initializeShaderModules function was called with the debugger.

I'm a bit out of imagination on where to go from here, any ideas?

@sebastibe 	Can you run yarn list @luma.gl/core

╰─ yarn list @luma.gl/core
yarn list v1.16.0
└─<EMAIL_ADDRESS>

Nothing jumps out to me from the information you've shared. This error might be caused by one of the following:

Multiple copies of @deck.gl/core or @luma.gl/core in node_modules. This can be verified with yarn list <package>. The fix is to use matching dependency versions in package.json, remove yarn.lock and perform a clean install.
Multiple copies of @deck.gl/core or @luma.gl/core as a result of some local setup, such as yarn link, use of module-alias module, resolve.alias in webpack config, inclusion of both locally-bundled and pre-bundled versions, etc.
Overly aggressive tree shaking - I've seen this if the sideEffects field in package.json is not respected, usually due to a custom minifier config. This can be verified by checking if the global deck object exists in the runtime console.

This error occurred when I used @deck.gl/geo-layers to create TripsLayers.
@Pessimistress According to the tips,I deleted the node_modules and yarn.lock files and reinstalled them using yarn install, but this error still appears.I don't have used module-alias and minifier config.
This is a screenshot of the browser console error, which keeps growing.

In addition, there is another error:

Packages:
"deck.gl": "^7.1.10",
<EMAIL_ADDRESS>"^7.1.10",
<EMAIL_ADDRESS>"^7.1.10",
<EMAIL_ADDRESS>"^7.1.10",
Am I missing something?:frowning:

I am seeing this issue as well. I am using npm to install my packages and it is an angular application. I am building the application with ng build --prod which is using webpack under the hood.
The deck.gl version I am using is 7.1.10. I have switched to including deck.gl via <script<EMAIL_ADDRESS>which is not optimal, but functions as a workaround until I can have it properly included in my application when building.

Any update on this? I'm having the same issue
<EMAIL_ADDRESS>"^7.1.10",
<EMAIL_ADDRESS>"^7.1.10",
<EMAIL_ADDRESS>"^1.1.6",
<EMAIL_ADDRESS>"^7.1.1",
    "deck.gl": "^7.1.10",
    "luma.gl": "^7.1.1",

A clean install doesn't solve it

@mbarrenechea have you tried run yarn list @luma.gl/core? Most likely you have multiple copies because Luma is already a dependency of deck.

Just an update I changed my dependencies to
    "deck.gl": "7.0.0",
    "luma.gl": "^7.1.1",

and now it works... Who knows....

@Pessimistress yes I run it and I only had one

@mbarrenechea that is very curious. Do you have other dependencies that depend on deck? Are you able to share your full dependencies list so that I can try to reproduce?

I have the same problem, and tracked it down to having no global deck object present.
Adding this to file head to fool tree shaking solved the problem but it is not nice:
import deck from<EMAIL_ADDRESS>const hack = deck;

Is there a better way to solve the "overly aggressive tree shaking"?

This "hack" worked also for me.

What bundler do you use? This field:
https://github.com/uber/deck.gl/blob/7.1-release/modules/core/package.json#L27
Is supposed to prevent the module registration from being tree shaken, and we have tested it with webpack.

I use webpack 4.38.0 but I think the problem is that I did not import and use @deck.gl/core. Just<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

@pulges That would explain it. Thank you for the insight! We do have an ongoing discussion to remove side effects from core.

Published 7.1.11


Document option for hiding column from 'View Column' list

I was looking to implement the feature requested in #43 , when I discovered the option already exists, it just is not documented.

Coverage remained the same at 77.049% when pulling 642e8662e49486c4aeea57e087c5e064ed68c50a on georgezee:43-column-hide-docs into 267c4cdb3a95fa48bc999beb786612f4dd215f59 on gregnb:master.


cache: true doesn't do anything

In the turbo.json:
{
  "pipeline": {
    "db-generate": {
      "inputs": ["prisma/schema.prisma"],
      "cache": true
    },
  },
}

The db-generate has cache: true. This can lead to confusing results.
By default, Turborepo caches dist/**. By specifying cache: true here, you may end up with the task not being 'run' but no outputs being produced.
I'm still investigating the best approach here for the Turborepo docs, but for now my recommendation would be to specify cache: false and eat the 6 seconds it takes to run. At least it's O(1).

So this is why CI always fails on main, cause it cache hits from the PR but doesnt find the generate types?
https://github.com/t3-oss/create-t3-turbo/actions/runs/3399890228/jobs/5653959379#step:9:14


Add get current visitors

Add ability to get current visitors.
$fathom->sites()->getCurrentVisitors('XXXXX');

Thanks 🙌🏼


Offset faucet procedures by 1 to enable correct authentication and reserved slot access

Feature description
Since this PR: #846 we have changed the reserved storage slot location of faucet accounts to 0. Hence breaking the standard that we had up to now for authentication storage slot. Where the pub_key of the account would be stored at location 0.
Goal of this issue:
Add a boolean flag to AccountCode checking if the account is a faucet or not and if it is offset all account procedures by 1 (added to the actual offset of the account procedures).
This will enable to keep the authentication at storage location 0 (offset) and reserved slot at storage location 0 (virtually).
Why is this feature needed?
Faucets now use storage slot 0 as their reserved slot.
We need to offset to the correct location in storage for authentication.

@bobbinth, thinking more about it I am not entirely sure I understood how this would solve our issue regarding faucets.
If I offset all procedures by 1 I won't be able to access location 0 of the storage anymore.
Furthermore we do not have the ability to add real offsets to procedures for now hence all faucets would just get their storage offset by 1. I am not sure how shifting the faucet storage by 1 would solve our issue here.

If I offset all procedures by 1 I won't be able to access location 0 of the storage anymore.

I think that's what we actually want: we want to make sure that user procedures cannot access slot 0 because this slot is reserved for internal faucet usage (we should still be able to access this slot from within the kernel because offsets are applied in the api.masm file).

Furthermore we do not have the ability to add real offsets to procedures for now hence all faucets would just get their storage offset by 1. I am not sure how shifting the faucet storage by 1 would solve our issue here.

There are two things we need to do:

In Rust, when account code is cerated, if the account is a faucet, we should add 1 to all procedure offsets. This is a temporary solution which we'll change once we have annotations in the assembler.
In MASM, when we process account data in the prologue for faucet procedures accounts, we should make sure that no procedure has offset equal to 0.

For point 2, we probably need to create a separate procedure which will also solve https://github.com/0xPolygonMiden/miden-base/issues/863.

Hello @bobbinth,
I have started working on this issue and I have a few questions:

Why do we need a temporary solution here? Does our current impl not serve us well? What would this patch improve? (except re-setting the pub_key at slots[0])
This issue can go against our previous goal of going away from doing direct kernel procedure invocations in tests: #857. Because as you mentioned here:

I think that's what we actually want: we want to make sure that user procedures cannot access slot 0 because this slot is reserved for internal faucet usage (we should still be able to access this slot from within the kernel because offsets are applied in the api.masm file).

We could now only access the faucet reserved storage slot from inside the kernel. But for example in tests we are asserting the correct update of this storage slot:
here: https://github.com/0xPolygonMiden/miden-base/blob/f4fce94f1be0f7fab29164ccefa90317aae92425/miden-tx/src/tests/kernel_tests/test_faucet.rs#L35
here: https://github.com/0xPolygonMiden/miden-base/blob/f4fce94f1be0f7fab29164ccefa90317aae92425/miden-tx/src/tests/kernel_tests/test_faucet.rs#L296
Hence these tests are now failing and I do not see a simple solution to be able to refactor them other than doing in kernel procedure invocations again.
Let me know your thoughts, thank you.

Why do we need a temporary solution here? Does our current impl not serve us well? What would this patch improve? (except re-setting the pub_key at slots[0])

The current solution incorrectly allows user procedures to access storage slots which are reserved by the faucet. The temporary solution is only for the Rust side. On the MASM side, once this issue is addressed, we won't have this vulnerability.

This issue can go against our previous goal of going away from doing direct kernel procedure invocations in tests: fix: Remove caller ID workaround for root contexts #857.

Yeah, we don't want to go back to doing that. You can probably re-work the tests to read the reserved slot directly from process memory (i.e., don't try to access it via MASM but directly via the Process struct). But I haven't thought it through completely to know if that'll work for sure.

Related to this issue, it seems that the public key slot on basic.masm changed to 3 but create_basic_wallet() still sets it to slot 0.
I think this is causing some issues when running integration tests from the client against next. I added dummy values to account for this offset and it seems those errors were mitigated (cc @polydez). Wondering if we should merge a temporary fix until this is addressed or if maybe we can solve it in a different way.

Related to this issue, it seems that the public key slot on basic.masm changed to 3 but create_basic_wallet() still sets it to slot 0.
I think this is causing some issues when running integration tests from the client against next. I added dummy values to account for this offset and it seems those errors were mitigated (cc @polydez). Wondering if we should merge a temporary fix until this is addressed or if maybe we can solve it in a different way.

It should be fixed by this PR: #875


Remove deprecated Buffer methods

Starting from Node.js v6, instantiating Buffers with new Buffer is deprecated (seen in docs here).
This PR updates the deprecated methods, but it also means the minimum version of Node.js required is now 5.10.0 as opposed to 0.10.

Codecov Report

Merging #43 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master     #43   +/-   ##
======================================
  Coverage    96.5%   96.5%
======================================
  Files           4       4
  Lines         143     143
  Branches       15      15
======================================
  Hits          138     138
  Misses          5       5

Impacted Files
Coverage Δ

lib/Encoder.js
98.87% <100%> (ø)
: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 6f9bc49...f17772c. Read the comment docs.

Published as version 0.3.0.
Took a while because of test failures with Node 10.0, but that seemed to be regression in 10.0 itself due to some stream changes. Node 9.0 works just fine.