Some information is missing while typing.

Environment data
Version: 1.60.0-insider (user setup)
Commit: 8dbad73de575e47e127c8b1a4324f2b61257fbdc
Date: 2021-08-27T21:25:29.781Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.17134
Build of python-insider: 2021.9.1176299738-dev
Build of jupyter-insider: 2021.8.2031173646
Build of Pylance: 2021.8.3
Expected behaviour
It has auto pop-up docstring while typing.

Actual behaviour
The information is missing.

Logs

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

User belongs to experiment group 'pythonaacf'
User belongs to experiment group 'pythonJediLSP'
User belongs to experiment group 'pythonDiscoveryModuleWithoutWatcher'
User belongs to experiment group 'pythonTensorboardExperiment'
User belongs to experiment group 'PythonPyTorchProfiler'
User belongs to experiment group 'pythonDeprecatePythonPath'
User belongs to experiment group 'pythonSortEnvs'
User belongs to experiment group 'pythonRunFailedTestsButtonDisplayed'
User belongs to experiment group 'pythonRefreshTestsButtonDisplayed'
User belongs to experiment group 'pythonRememberDebugConfig'
Python interpreter path: C:\ProgramData\Anaconda3\python.exe
Starting Pylance language server.
Error 2021-08-30 06:16:17: Failed to check if file needs to be fixed [EntryNotFound (FileSystemError): Unable to read file 'c:\Users\vting\Downloads\Test6\.vscode\settings.json' (Error: Unable to resolve non-existing file 'c:\Users\vting\Downloads\Test6\.vscode\settings.json')
	at _handleError (c:\Users\vting\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:94:160087)
	at processTicksAndRejections (internal/process/task_queues.js:93:5)
	at async y.readText (c:\Users\vting\.vscode-insiders\extensions\ms-python.python-2021.9.1176299738-dev\out\client\extension.js:9:315784)
	at async p.doesFileNeedToBeFixed (c:\Users\vting\.vscode-insiders\extensions\ms-python.python-2021.9.1176299738-dev\out\client\extension.js:59:823850)
	at async c:\Users\vting\.vscode-insiders\extensions\ms-python.python-2021.9.1176299738-dev\out\client\extension.js:59:822977
	at async Promise.all (index 1)
	at async p.getFilesToBeFixed (c:\Users\vting\.vscode-insiders\extensions\ms-python.python-2021.9.1176299738-dev\out\client\extension.js:59:822923)
	at async p.updateTestSettings (c:\Users\vting\.vscode-insiders\extensions\ms-python.python-2021.9.1176299738-dev\out\client\extension.js:59:822550)] {
  code: 'FileNotFound'
}
Python interpreter path: C:\Python39-64\python.exe

Duplicate of #1350.


issue: The manifest file at https://github.com/IBM-Swift/CommonCrypto.git (0.1.3) is empty

How do i resolve this issue?
thanks

This is also the same as https://github.com/IBM-Swift/Kitura-CredentialsHTTP/issues/45

Having the same issue

@diuming Hello.
This issue is caused when there is a conflict in your package.swift file. see issue #45 for a similar problem. We are tagging a fix now which should solve this in most cases.

@Andrew-Lees11 Hi,
the problem has been solved.
Thanks!


Bug: unwanted webpackPrefetch when using with webpackChunkName

Bug report
What is the current behavior?
Using webpackChunkName and webpackPrefetch together results in prefetching even when it's not wanted
If the current behavior is a bug, please provide the steps to reproduce.
Clone the repo: https://github.com/Allain55/webpack_issue_12393
$ npm i
$ npm start
Visit http://localhost:3500/pageA
Here "chunkA" is prefetched as it should be because webpackPrefetch is used in bundleA.js
Visit http://localhost:3500/pageB
Here "chunkA" is also prefetched but it shouldn't be as webpackPrefetch is not set in bundleB.js
What is the expected behavior?
webpackChunkName should not affect prefetching
Other relevant information:
webpack version:  5.13
Node.js version: 15.5.1
Operating System: Ubuntu 16.04.7
Additional tools:

Please describe the problem, not core and provide configuration or example of the problem

Please describe the problem, not core and provide configuration or example of the problem

OK I updated the issue

OK I updated the issue

Yep, bug

Yep, bug

I need more information about the issue. I didn't understand well.

I need more information about the issue. I didn't understand well.

@akgupta0777 It is bug, do you want to fix it?

@akgupta0777 It is bug, do you want to fix it?

Yes I want to fix it. But I have no idea what is the problem actually I ran the steps to reproduce the error but I need a proper view of the problem so that I can come up with a fix.

Yes I want to fix it. But I have no idea what is the problem actually I ran the steps to reproduce the error but I need a proper view of the problem so that I can come up with a fix.

@alexander-akait https://github.com/Allain55/webpack_issue_12393/blob/master/app/bundleB.js#L5, webpackChunkName should not set webpackPrefetch to true, I think it is not hard to fix, I think problem somewhere here https://github.com/webpack/webpack/blob/master/lib/dependencies/ImportParserPlugin.js, need debug

@alexander-akait https://github.com/Allain55/webpack_issue_12393/blob/master/app/bundleB.js#L5, webpackChunkName should not set webpackPrefetch to true, I think it is not hard to fix, I think problem somewhere here https://github.com/webpack/webpack/blob/master/lib/dependencies/ImportParserPlugin.js, need debug

@Allain55 Explain This
console.log('BundleB')

setTimeout(() => {
	import(

		'./chunkA.js'
		)
		.then(({default: chunkA}) => {
			chunkA();
		})
}, 1000);

I understand you are not prefetching chunkA in BundleB.js but you are importing it By doing this it will actually load chunkA.js and then you are attaching the chunkA() callback which will call after the promise is resolved.

@Allain55 Explain This
console.log('BundleB')

setTimeout(() => {
	import(

		'./chunkA.js'
		)
		.then(({default: chunkA}) => {
			chunkA();
		})
}, 1000);

I understand you are not prefetching chunkA in BundleB.js but you are importing it By doing this it will actually load chunkA.js and then you are attaching the chunkA() callback which will call after the promise is resolved.

Hi @akgupta0777,
thanks for checking this. You're description is correct. This is the most simple example of dynamic importing I could come up with. In this case I'd need to use chunkA in some point but I don't want to prefetch it as it can wait

Hi @akgupta0777,
thanks for checking this. You're description is correct. This is the most simple example of dynamic importing I could come up with. In this case I'd need to use chunkA in some point but I don't want to prefetch it as it can wait

@alexander-akait  what is groupOptions in line 98
https://github.com/webpack/webpack/blob/8ce54a045fb6edd7baf98a1b141ad3cd9d50ccad/lib/dependencies/ImportParserPlugin.js#L98

@alexander-akait  what is groupOptions in line 98
https://github.com/webpack/webpack/blob/8ce54a045fb6edd7baf98a1b141ad3cd9d50ccad/lib/dependencies/ImportParserPlugin.js#L98

Bump

I came once again to this issue after researching on this webpack prefetch. So under the hood it actually just adds a
<link rel="prefetch" as="script" href="/AChunk.bundle.js"> in your HTML files that signals the browser to prefetch the module in idle state.
So once browser prefetches the Module it stores that module in module cache so it will be loaded instantly when you want to load it.
in Page B dynamically importing ChunkA.js file returns a promise and then it will resolve and call the default export and chunk is console logged.
ChunkA is not prefetched on Page B. Its loaded.

@Allain55 You can clearly see here in HTML of Page A
you can see  in  head tag. which means it is prefetching.

but this is not in case of Page B as you can see below.
no link to prefetching it's natural promise resolved.

I don't think so it's kind of any bug.

Hi @akgupta0777,
Did you follow the steps I described? I still get the same bug after cloning that repo. I tried with the latest webpack too and I still see that "/myChunk.bundle.js" is prefetched on pageB.
In your picture a script named "AChunk.bundle.js" is prefetched on pageA but this should be "myChunk.bundle.js", there is no "Achunk.bundle.js"

@Allain55 I changed the chunkname property to Achunk in bundleA and Bchunk in BundleB so that I can differentiate between the two and seperate bundles will be applied to seperate pages

I see. If you use different webpackChunkNames or skip it than there is no bug. The bug only happens when webpackChunkName is set at least 2 times and webpackPrefetch is true at least 1 times but not 2 times. Since in this case we prefetch the same chunk I used the name "myChunk" for both but I only added webpackPrefetch for 1 chunk

Ohh It means webpack chunknames have name collisions.

But this doesn't make sense you actually importing same module dynamically twice in two different javascript files.

That is why it is a chunk. I'd use the same chunk in 2 bundles eg. a gallery that is not needed on page load

can you tell me what will happen if multiple webpages are prefetching the same resources ?. I mean they will be cached and when requesting on other pages will instantly serve the resource.

Yes, the resources should be cached. But they should be cached regardless of prefetching.
I used prefetch to speed up the initial render of a big resource that is not needed right away.

@Allain55 I mean that if for instance the pageA prefetches the chunk already and when user moved to pageB then another network call is made or not to prefetch the chunk again. Does this impacts performance ?

Prefetching happens in the background with low priority so I don't think it has any noticeable performance impact. Still another network call will be made


⚠ Bofrost.nl has degraded performance

In d8c1e0f, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 904 ms

Resolved: Bofrost.nl performance has improved in eceec5b.


Etl-65/lambda

This PR does two things:

Make the sns-to-glue lambda ready for production using AWS SAM.
Revise how the test data is set up so that S3 object metadata is set.

Awesome!  just some comments.


[BUG] AutoTrain_LLM.ipynb quantization = none

Prerequisites

[X] I have read the documentation.
[X] I have checked other issues for similar problems.

Backend
Colab
Interface Used
UI
CLI Command
No response
UI Screenshots & Parameters
No response
Error Logs
NameError                                 Traceback (most recent call last)
 in <cell line: 29>()
27 mixed_precision = "fp16" # @param ["fp16", "bf16", "none"] {type:"raw"}
28 peft = True # @param ["False", "True"] {type:"raw"}
---> 29 quantization = none # @param ["int4", "int8", "none"] {type:"raw"}
30 lora_r = 8 #@param {type:"number"}
31 lora_alpha = 32 #@param {type:"number"}
NameError: name 'none' is not defined
Additional Information
For the quantization hyperparameter, choosing none in the dropdown doesn't work. Editing the code and changing to None, "none", or "None" also doesn't work. peft is set to True. Notebook

Yes, this is still an issue.
The notebook is linked from Cloudflare in a tutorial for using their LoRa/finetuning setup:
https://developers.cloudflare.com/workers-ai/tutorials/fine-tune-models-with-autotrain
It seems that at one point adding quotes fixed the issue, but not any longer.

your backend provider needs to update autotrain version

okay.isee the problem now. it links to older colab. please use the new colab in the readme of this repository

The old colab is still linked from the readme (colabs section at the bottom)

fixing it today with addition of more colabs. thank you for pointing this out

this issue is now fixed.


Added latest unreal engine version

And, added another game developed on Unreal Engine

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding. ✈


Keep aspect ratio

Allows resizing of windows without changing their aspect ratio
Implements window rule, prop and resize mode argument to mouse bind resizewindow
didn't check max size constrain
shouldn't cause any issues
will make wiki PR soon
Closes issue: https://github.com/hyprwm/Hyprland/issues/2008

all done
should I also add a bind to the default config?

should I also add a bind to the default config?

na

#2008 can be closed as well

clap clap! <3


Update PR reminder Action

PR reminder GitHub Action needs to updated with latest version.
Error: https://github.com/PrefectHQ/prefect-recipes/actions/runs/3856635687
More info:
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

lgtm!
You can also add a dependebot config that will deal with this for you --
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "monthly"

Good idea! PR up for review: https://github.com/PrefectHQ/prefect-recipes/pull/198


Annotations cannot be removed by operator

Currently, operator merges annotations exists at managed objects with annotations defined at CRDs definition.
Consider the following example:
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMSingle
metadata:
  name: example
  annotations:
      some-key: value
spec:
  # Add fields here
  retentionPeriod: "1"

Created deployment has annotation:
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    some-key: value

Due to labels.Merge logic at reconcile package:  https://github.com/VictoriaMetrics/operator/blob/master/internal/controller/operator/factory/reconcile/deploy.go#L51
Operator will always keep some-key annotations.
Main reason behind that is preserving annotations added by 3rd party components, such as mutation webhooks.
Possible solutions:

use 3-way merge to properly delete annotations added and managed by operator
override all annotations and use CRD as source of truth.

Based on quick research there is only 1 option - use 3-way merge.
In this case, operator must keep last applied metadata into the special annotation. And perform decision to remove annotation based on previous state.
Operator cannot remove any annotations manually assigned. Since it breaks logic for other controllers. Such as serviceAccount and deployment controllers at controller-manager.
For instance, controller-manager assigns deployment.kubernetes.io/revision: "N" annotations to deployments.

I find out that labels and annotations inherit was a design mistake. At the first glance, it looks simple and natural to forward metadata from parent to the child resources.
But in terms of Kubernetes it has major down-sides and it makes changes hard to track and actually use.
The biggest concern for that is object.Generation field and resource changes tracking. Kubernetes api-server increments generation each time configuration of spec changes. It must trigger some actions based on this changes.
In addition, many deployment tools, such as helm and argocd uses labels and annotations to track resources managed by it. It's misleading to add metadata to the objects created and managed by operator. It requires some workarounds, that were already added ignoreAnnotationPrefixes and some other.
It leads to the following upcoming changes:

labels and annotations inheritance will be deprecated at v0.51.0 release of operator and will be removed at v0.52.0 version
v0.51.0 version will add special field spec.managedMetadata for labels and annotations that must be added to resources created by operator.

FYI @Haleygo
Related Kubernetes issue:
https://github.com/kubernetes/kubernetes/issues/67428


Non-staff users are unable to log in

The only log in interface is the admin interface, which requires that users be administrators on the system. Upstream master todo list indicates that the system should have a non-admin login page.

The branch that resolved this issue was accepted into upstream master. This issue can now be closed.


setup: OSX M1 support

NSPCC tested the 3rd party native extensions to work correctly with M1 Mac on Python 3.10. This bumps the versions of those packages. neo3crypto and pybiginteger versions did not change and just got an M1 wheel added and pushed to pypi. They did test pybiginteger just to make sure the build changes produce something valid.

Coverage remained the same at 81.5% when pulling 813a4de3811d04ffa2c8a230dec3384f22ace715 on m1 into 167caa8770b10ad433247585658eceb771c3eedf on master.


Provide a local file link to coverage files after CLI output chart?

Do you want to request a feature or report a bug?
Request a feature
What is the current behavior?
After running jest --coverage, we get a lovely ASCII chart in the console from istanbul.
Since introducing Jest to a team, I've been asked infrequently if there's a way to see more detailed information. We have it in our docs to look open ./coverage/lcov-report/index.html for more, but you know how people are with docs.
What is the expected behavior?
Can there be an added "Open (path-to-index) for more details" to better surface this?
------------------|----------|----------|----------|----------|----------------|
File              |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
------------------|----------|----------|----------|----------|----------------|
All files         |      100 |       70 |      100 |      100 |                |
  src             |      100 |       70 |      100 |      100 |                |
  ...
------------------|----------|----------|----------|----------|----------------|

Open ./coverage/lcov-report/index.html for more details.

@JoshuaKGoldberg you can solve this in userland with
jest --coverage && echo "\n\nOpen ./coverage/lcov-report/index.html for coverage details"

Or to automatically open the report after the run:
jest --coverage && open ./coverage/lcov-report/index.html

We could add a note, but that would be very dependent on the reporters used, so I'm not sure about it, definitely a burden to maintain

The echo solution works for me. Thanks! :)


Outdoor Temp Sensor unknown at 0.0

Before submitting a new issue

[y] I'm not using the older Vaillant sensoAPP (which is unsupported by this integration)
[y] I redownloaded the latest release and restarted Home Assistant
[y] I've enabled debug logs and attached the relevant logs to this ticket

Problem description
The sensor.outdoor_temperature reports "Unknown" when the temperature is exactly 0.0. It reports fine either side of zero but always goes unknown at zero.
Logs
N/A

Thanks for the report, that should be fixed in the latest version!

Thanks for the quick fix. Just upgraded and will monitor over the next few days. It’s due to freeze overnight for most of the week.


Mysql2::Error: This connection is in use by

It happens sometime when i use postal  to send email.
postal.yml:
web_server:
bind_address: <IP_ADDRESS>
port: 5000
max_threads: 10
workers:
quantity: 2
threads: 4
main_db:
host: <IP_ADDRESS>
port: 3306
username: postal
password:
database: postal
pool_size: 16
Who can tell me how to deal with !?

similarly to #1023 it sounds like you don't have enough system resources to run both MySQL and Postal or your MySQL has been tuned down somewhat


Time helper functions

As proposed by @mccanne:

In playing with times, I think we should take a little time to invest in helper functions, e.g., year(), month(), day().

Depending on what @mccanne had in mind when he made the statement above, the strftime function added in #5197 might cover this since the directives allow extracting things like the year, month, and day portions of time values.


Discussion: Memory leak in NavigationView even though I cleared the child page element while unloading.

Discussion: Why memory leak occurs while displaying a custom code snippets view in a NavigationView's child page.

Describe the bug
While using the NavigationView control to navigate child pages, the child page's elements were cleared in its own unloading methods. But, the child pages retaining their memory after closing them.
Steps to reproduce the bug

Open and build the sample App8.zip with x86 or x64 architecture.
To take a memory leak report, click the Debug menu item and select the Performance Profiler in Visual studio.
Select the Memory Usage check box and click Start button
Visual studio will start the diagnostic session and launching the application
Click the TakeScreenshot button in the Visual Studio diagnostic session.
Click on the DemoList Navigation Menu Item in the application.
Click on the Code Snippets1 grid view item and its opens a code snippets page
Click on the Back app bar button
Repeat steps 7 and 8 for CodeSnippets 2andCodeSnippets 3
Click the Empty Page Navigation Menu Item.
Wait for 2 min and click the Force GC in the Visual Studio diagnostic session.
Click the TakeScreenshot button in the Visual Studio diagnostic session.
Then, click the Stop Collection

Memory leak report:

Expected behavior
Memory should be the same or low as the initial screenshot.
Version Info
NuGet package version: [WinUI 3 - Windows App SDK 0.8: 0.8.1]
Windows app type
WinRT
Windows version
October 2020 Update (19042)
Related Links

My case with this issue is more severe that what's inside the GridView is tons of Image each of which is bearing a BitmapImage as its source. And I found that the memory usage stays high even if I have cleared the item source of that GridView and confirmed multiple times that there are no other references to prevent the items from begin collected. I run both managed and native profiling several times and, initially, I thought this was a WinRT issue that the BitmapImage can't free up its resource correctly since the issue is immediately resolved once we changed the BitmapImage to SoftwareBitmap and handled the disposal of it manually.

Hi Team,
Any update on this?

I have the same problem with .NET 6 and Windows App SDK 1.0. The memory is not released after I leave a page, and when I come back it's increasing with the amount needed for the page. If the memory needed for that page is 50 MBs, each time I navigate back and forth, it keeps increasing with 50 MBs. The page constructor is never hit.
Tried NavigationCacheMode=Disabled and IsNagivationStackEnabled=False, same problem
Tried to implement IDisposable, but not even that is hit when I leave the page, same problem
Tried Bindinds.StopTracking() on Page Unload event, same problem

I have the same problem with .NET 6 and Windows App SDK 1.0. The memory is not released after I leave a page, and when I come back it's increasing with the amount needed for the page. If the memory needed for that page is 50 MBs, each time I navigate back and forth, it keeps increasing with 50 MBs. The page constructor is never hit.

Tried NavigationCacheMode=Disabled and IsNagivationStackEnabled=False, same problem
Tried to implement IDisposable, but not even that is hit when I leave the page, same problem
Tried Bindinds.StopTracking() on Page Unload event, same problem

Even when NavigatioView is used with controls (and not with a Page), the memory used by these controls will not be released after closing the NavigationView.  I tested with the NavigationView in its own UserControl. On 'navigation', I set the Visibility of UI elements in a  to Visible and Collapsed. So no actual navigation occurs.
When I unload the NavigationView, the memory is not released.
I see users getting an out of memory exception quite often now that I use NavigationView in our app.

Any update?

It should be fixed in the latest  WindowsAppSDK version. I tested navigating back & forth and it's indeed increasing the memory but for my app it stops at around 500 MB of RAM. As far as I know there is a cache limit until which no memory will be released, so probably that's why it's still increasing.

Is this issue not a high priority? "WinUI 3 Gallery" and "PowerToys" also has this problem(WinAppSDK: 1.2).

Any news on this? Otherwise, where can I look to get updates for this? Created a WinUI 3 app with the template studio under win 11 and memory is increasing after each menu change.
@bogdan-patraucean I might not be up to date in C# and .NET, but 500 MB full of items not needed sounds kind of unpleasent for me. Where are the times youd want a app that uses as little memory as possible?

@vfib memory usage still increase when more than 500 MB, but the growth will slow down. if you continue navigation, your app will crash. (tested with WinAppSDK 1.3)

Yeah, there seem to be some problems with navigation right now. Offtopic, but setting a ThemeResource to create a card like stackpanel in settings page causes my app to crash after third navigation back and forth. But thanks for that workaround

Years later this is still an issue from UWP days... Is this something that can actually be solved? Or should we rather undertake the massive effort to move our years-in-the-making application to a different platform?

We've made leak fixes in the recent 1.4 WASDK release. Please give the latest build a try and let us know if this is still an issue. Memory growth is expected until GC kicks in. If you see unbounded growth or leak in a native app, please let us know.

@ranjeshj
I have updated to 1.4.231008000 and don't see any difference whatsoever. The GC barely cleans up anything at all.
Memory build-up diminishes when approaching the 500 MB mark but it will inevitably overflow. This is still a huge issue and should be re-opened

It really is a great misfortune that such a central function as navigation still does not work without errors. It is not possible to develop professional applications with the WinAppSdk in its current state. The memory leak in the navigation in combination with the use of the WebView2 control (a new instance is created with every page change) causes every application to crash after a few days of use.
I hate to think back to the day over a year ago when our team made the decision to build a new LOB application based on WinUI3.

@vfib memory usage still increase when more than 500 MB, but the growth will slow down. if you continue navigation, your app will crash. (tested with WinAppSDK 1.3)
Powertoys can be used for testing, navigated to difference page many times, Powertoys will crash.
Temporary solutions is:
private void ContentFrame_Navigated(object sender, NavigationEventArgs e)
{
    System.GC.Collect();
}

The official clock app

is also crashing when navigating different pages. The memory never releases and getting increased again and again.
even settings of windows 11 is having memory leak

the memory never gets freed!

Is there any news on this? It still seems to be occurring with WinApp 1.5 (and .NET 8) with a sample app I created.

Confirmed also with VS 17.10

Still reproducible with latest WinUI3 Gallery. Spawning additional windows from "Multiple Windows" menu and closing them not releases memory to initial state. 3 years and issue still not addressed....


Can I have multiple selection for the photos

Can I have multiple selection for the photos

looking for the same answer.

+1

+1

+1

+1

+1

+1

+1

+1

@iamjaswanth Finally we have the feature 👍


Enable warnings as errors and fix all warnings

https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/LintOptions#iswarningsaserrors
https://youtrack.jetbrains.com/issue/KT-10563/Support-a-command-line-argument-Werror-to-treat-warnings-as-errors

Some warnings migration finished in #278, #279


Create <IP_ADDRESS>.yaml

Samsung DeX installer <IP_ADDRESS> is added.

[O] Have you signed the Contributor License Agreement?
[O] Have you checked that there aren't other open pull requests for the same manifest update/change?

Jesse Ahn
Microsoft Reviewers: Open in CodeFlow

I'll resubmit with the silent switches off.


[Feature request] Add more hotkeys support

### Request
Added hotkeys for all operations, when I make on my GIF. I want to ScreenToGif users can do all the operations, never using the mouse. GIF of my macros:

Justification
You greatly simplify record macros in ScreenToGif.
I make AutoHotkey macros for operations, I often do — https://gist.github.com/a7e71ef8c6778f86a047ca105c3025dc. But I've been doing it a long time. I have problem: if window ScreenToGif bit shift, macros not will work. Do not recommended make macros using the mouse, because it requires very accurate hitting.
If the only record macros to hotkeys, macros are always well run, no matter what the size of ScreenToGIF window and wherever ScreenToGif window was not.
Environment
Operating system and version:
Windows 10.0.14393
ScreenToGIF:
2.3 Alpha b
Thanks.

@NickeManarin , I update my request. Thanks.
Request

Add hotkeys for switching between panels.
Add hotkeys for panels items.
Add documentation or tooltips for hotkeys.

Justification
I record macro for fade effect for stable release ScreenToGIF.

But I have 2 problems.

In some cases, the macro does not work, because the number of pressed Tab is different for different screencasts.
I need many times press Tab or Shift+Tab.

If you add a hotkeys, your users will be easier.
Thanks.

How about the idea of ScreenToGif supporting macros?
Like simple commands such as:
Select>2>1 (index, selection lenght)
Fade>2 (lenght)

How about the idea of ScreenToGif supporting macros?

Oppose, because for macros now there many good programs including open source. For example, AutoHotkey → PuloversMacroCreator.
Of course, if you add the macro support, it would be good, but I would prefer if you spend time on other tasks to improve the ScreenToGIF, which can be solved using other programs.
Thanks.

Macros would be great, especially if one could directly define keyboard shortcuts for them from the UI :)

@NickeManarin , status?

Not yet, I just fixed some bugs but I had no time to work with the shortcuts. I should work with this issue this week.

We wait 😺 .

I added shortcuts to the transitions.
I also added to the Apply/Cancel actions of the panels. To apply Alt + E or  to cancel Esc.
So nº 2 is done. I'm still doing the number 3º of the list.

@NickeManarin, thanks, nice work! But after I apply my fade transition, how I can move without mouse to my selected frame — active frame, when I press Ctrl+Alt+T — to continue editing?

ScreenToGIF 2.3.161201.
Thanks.

Without the mouse there's no way, currently.
I should put the focus on the list after closing the panels. Got it. ;)

Ready for release 2.4: After clicking "Apply", the focus will be set to the selected frame.

@NickeManarin , we wait release 2.4 version in Chocolatey.
Thanks.

@NickeManarin , Ctrl+Alt+T → Apply → what I do press, to continue editing my frames in version 2.4?

@Kristinita Strange, the focus is there, you can see by pressing Tab and Shift+Tab.
Something new must be breaking the tab flow. :/

Nothing occurs.

@NickeManarin , and why Alt+E+Enter? In Windows, we can use only one non-modifier key for shortcuts, but no 2 — Alt and Enter. Isn't it?
Thanks.

Well, I have to fix this, because I do apply focus on the frame after closing the panel.
https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/Windows/Editor.xaml.cs#L3911
and
https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/Windows/Editor.xaml.cs#L4777
But it looks like it fails somehow.
Btw, It's Alt+E or Enter not both together.

Fixed.
When applying the effect, the focus was lost.
When cancelling, the focus worked as expected.


fix error handling on install_package

Description

Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.
Signed-off-by: rishichawda<EMAIL_ADDRESS>

Already solved and sorted out. I was chasing my tail


set -Dpackaging.type=jar spark.driver.extraJavaOptions | spec.driver.javaOptions

Hello @reviewers i need set -Dpackaging.type=jar  on driver
I have used the methods below, but it still doesn't work
spec:
  driver:
    javaOptions: '-Dpackaging.type=jar'

spec:
  sparkConf:
    'spark.driver.extraJavaOptions': '-Dpackaging.type=jar'

What should I do?

Did you find a solution for your issue? I am experiencing just the same problem.


Publish the KEDA dashboard to Grafana Labs

Proposal
Hi! First of all, thank you for your awesome work on the project!
Do you have any plans to publish the dashboard on Grafana Labs?
Use-Case
It will be much easier to install the dashboard by id instead of downloading and importing the JSON file.
Is this a feature you are interested in implementing yourself?
No
Anything else?
No response

Oh, I did not know you could do that - Do you happen to know what the steps are to be taken to do this? Or have any docs on it?
If we make it that mature, we might want to carve it out to a dedicated GitHub repo with its own versioning.

💯
Thanks for the recommendation.

Oh, I did not know you could do that - Do you happen to know what the steps are to be taken to do this? Or have any docs on it?
I can't find any docs on it. But it will look like this:

Create an account and log in to Grafana.com
Upload your dashboard on the Dashboards section
Configure the dashboard details and send it to review

Let me reach out to some folks at Grafana Labs

looking forward to this
and would be more impressive if with helm values like
keda:
  grafana-dashboard:
     enabled: true

configmap with dashboard be deployed with helm chart

I created https://github.com/kedacore/charts/issues/460 but we won't be implementing this ourselves for now, so feel free to contribute it @rafilkmp3 .


Validate on startup does not seem to kick in

I don't see the indeterminate checkboxes "-" for my root nodes. I have "label, "selected" and "children" as 3 properties in addition to another custom property in my objects.
Am I missing something ?

Would you mind providing an example of what you've tried (preferably on Stack Overflow unless you believe you've discovered a bug :))?
We have an example though of the validate on startup option being used with the different default selected state settings, perhaps this will help if you haven't seen it already: http://jsbin.com/pajeze/2/edit?html,css,js,output.


Cleanup/refactor skipPipe functionality

Describe the issue
When (partially) solving issue #6496 the following shortcomings where found:

[x] It should clearly display (in the log files) that it has been skipped as well as why this happened.
[ ] Code should be refactored so the functionality is in a pipe processor and not the FixedForwardPipe.
[ ] The skipped pipe should be in the Ladybug, but it should be clear that it's been skipped.
[ ] The skipped pipe should not store any result in the session when being skipped.

"The skipped pipe should be in the Ladybug, but it should be clear that it's been skipped"
I fully agree here, this is really confusing.


Webman for casbin plugin,  Watcher based on Redis

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


deps: Update to .NET 9

Stacked PRs:

->#357

deps: Update to .NET 9

@artempyanykh Just pointing that after that migration to tool will not be compatible with macOS Catalina (10.15.7) or other older version.

@adelarsq thanks for the info! Is there an explanation why it won't be? (e.g. is it just that dotnet 9 is not available on older macOS, so won't be able to build there; or is it something in the runtime)
Also, are you using Catalina yourself? Just trying to gauge how big of a problem is this?
Regardless, CI's not happy with dotnet9 on linux, so I'm not planning to do the dotnet upgrade for the next few months.

@artempyanykh Yes, .NET 9 will be not available on older macOS versions. Related logs:
🐚❯ asdf list dotnet-core
  8.0.302
  9.0.100
~
🐚❯ asdf global dotnet-core 9.0.100
~
🐚❯ dotnet --version
Failed to load /Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib, error: dlopen(/Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib, 1): Symbol not found: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj
  Referenced from: /Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib (which was built for Mac OS X 12.0)
  Expected in: /usr/lib/libc++.1.dylib

The library libhostfxr.dylib was found, but loading it from /Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib failed
  - Installing .NET prerequisites might help resolve this problem.
     https://go.microsoft.com/fwlink/?linkid=2063366

As the log shows it will  available just on macOS 12 or bigger.

Also, are you using Catalina yourself? Just trying to gauge how big of a problem is this?

I have one machine with Catalina that I use daily. Since I most open source tool I have no problem with lack of upgrade. But for .NET I will need now to stay on .NET 8 for this reason.

@artempyanykh Thanks. I will follow the created issue to understand more deeply this issue.


UK/US postcodes not imported on fresh install

Describe the bug
I will focus on UK as there are about 1.7 mil postcodes in the CodePoint OpenData set and the problem is easily observable.
To Reproduce

Set up a new nominatim installation with the following docker-compose file:

version: "2.1"

services:
    nominatim-api:
        environment:
            - PBF_URL=https://download.geofabrik.de/europe/great-britain-latest.osm.pbf
            - REPLICATION_URL=https://download.geofabrik.de/europe/great-britain-updates/
            - IMPORT_WIKIPEDIA=true
            - IMPORT_US_POSTCODES=false
            - IMPORT_GB_POSTCODES=true
            - NOMINATIM_PASSWORD=pass
            - IMPORT_STYLE=address
            - THREADS=10
            - PGCTLTIMEOUT=300
        shm_size: '64g'
        image: mediagis/nominatim:4.0
        ports:
            - "25000:8080"
        volumes:
            - nominatim-data-gb:/var/lib/postgresql/12/main
volumes:
    nominatim-data-gb:
        external: true
        name: nominatim-data-gb

Choose some postcodes from the imported dataset:

B68 0NP,52.46604,-1.98571
...
M32 0QT,53.46157,-2.32451
...
SL9 7QE,51.58680,-0.55451

Query nominatim installation about those postcodes:

curl http://localhost:25000/search?postalcode=M32+0QT
[]

curl http://localhost:25000/search?postalcode=B68+0NP
[]

curl http://localhost:25000/search?postalcode=SL9+7QE
[]

Expected behavior
Nominatim should return some information, just like the public deployment:
curl https://nominatim.openstreetmap.org/search.php?postalcode=SL9+7QE&format=jsonv2
[{"place_id":287976321,"licence":"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright","boundingbox":["51.4268","51.7468","-0.71451","-0.39451"],"lat":"51.5868","lon":"-0.55451","display_name":"Gerrards Cross, Buckinghamshire, South East England, England, SL9 7QE, United Kingdom","place_rank":25,"category":"place","type":"postcode","importance":0.325}]

Screenshots & Logs
Upon further investigation, I found out that the postcodes did not exist in the location_postcode table:
nominatim=# select * from location_postcode where postcode='M32 0QT';
 place_id | parent_place_id | rank_search | rank_address | indexed_status | indexed_date | country_code | postcode | geometry
----------+-----------------+-------------+--------------+----------------+--------------+--------------+----------+----------
(0 rows)

Counting the gb postcodes yielded about 375k results, way less than the 1.7 mil in the imported dataset.
nominatim=# select country_code, count(*) from location_postcode group by country_code;
 country_code |  count
--------------+---------
 fr           |       1
 gb           |  374955
(2 rows)

I then downloaded the gb csv from nominatim and ran the update command:
wget https://www.nominatim.org/data/gb_postcodes.csv.gz

nominatim refresh --postcodes

After those operations were completed, the postcodes were successfully indexed into the db:
nominatim=# select * from location_postcode where postcode='M32 0QT';
 place_id | parent_place_id | rank_search | rank_address | indexed_status |       indexed_date        | country_code | postcode |                      geometry
----------+-----------------+-------------+--------------+----------------+---------------------------+--------------+----------+----------------------------------------------------
  6474294 |         5346266 |          25 |            5 |              0 | 2022-02-23 17:16:11.85217 | gb           | M32 0QT  |<PHONE_NUMBER>E6100000B8CCE9B2989802C04968CBB914BB4A40
(1 row)

nominatim=# select country_code, count(*) from location_postcode group by country_code;
 country_code |  count
--------------+---------
 fr           |       1
 gb           | 1727335
(2 rows)

Now the nominatim api successfully returns a non empty array:
curl http://localhost:25000/search?postalcode=SL9+7QE
[{"place_id":6871861,"licence":"Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright","boundingbox":["51.4268","51.7468","-0.71451","-0.39451"],"lat":"51.5868","lon":"-0.55451","display_name":"Gerrards Cross, Buckinghamshire, South East England, England, SL9 7QE, United Kingdom","place_rank":25,"category":"place","type":"postcode","importance":0.325}]

Desktop / Server (please complete the following information):

OS & Version: Ubuntu 20.04.2 LTS
Docker Version: 20.10.9, build c2ea9bc
Nominatim Version: 4.0.1

Additional context
Quoting from the 4.0.0 release notes:

The format of some external data sources (postcodes, TIGER data) has changed to CSV. You need to download new versions of them.

Let me know if I should submit a PR as well as the fix probably implies some 5 min changes.
Cheers!

Ah, well spotted. A PR would be very welcome.
Is the issue that we don't call nominatim refresh --postcodes?

I would download CSVs instead of sql dumps, just like they do in the official documentation.
I'm not really sure if you have to call nominatim refresh --postcodes when doing the initial import, I'll have to rebuild the container and do some testing.

Great, look forward to the PR. Out of interest: how long does one of these imports take? Is it feasible to do it in CI?

I just realised that this changed in between 3.7 and 4.0. Here is the same doc in 3.7: https://nominatim.org/release-docs/3.7.1/admin/Import/#great-britain-usa-postcodes

Yes, that's exactly what I found out when I was researching this issue. I then checked the release notes for 4.0.0 and I saw that mention about changing of the datasources format.

About testing this case under CI, I doubt it would be feasible as nominatim docs requires you to import the country as well:

The postcode files are loaded only when there is data for the given country in your database. For example, if there is a us_postcodes.csv file in your project directory but you import only an excerpt of Italy, then the US postcodes will simply be ignored.

therefore running:
docker run -it --rm \
    -e PBF_URL=https://download.geofabrik.de/europe/monaco-latest.osm.pbf \
    -e REPLICATION_URL=https://download.geofabrik.de/europe/monaco-updates/ \
    -e IMPORT_GB_POSTCODES=true \
    -e THREADS=40 \
    -p 8081:8080 \
    --name nominatim \
    nominatim-dev

would just ignore the postcodes dump.
Maybe running the import with the lightest import style settings? I am testing this as we speak on a pretty beefy AMD EPYC 7502P with 128 gigs of ram.
I'll report the total import time when it's done.

Do you need to import the entire UK or would it be enough to import just a single county? I know that Geofabrik has extracts for those.

Great tip, I will check that as well.

Okay, full import took a little under 1h30m with 40 threads. Seems that changing the file from sql to csv results in a corect postcodes import as expected:
nominatim=# select country_code, count(*) from location_postcode group by country_code;
 country_code |  count
--------------+---------
 fr           |       1
 gb           | 1727322
(2 rows)

I will test with a single county and submit a PR afterwards.

I can confirm that running with a county also results in postcodes being imported.


Pubstwo 1265

Implemented the List Assignment feature by adding  a multi select for publication categories and a checkbox column in the list of publications as well as a warning modal dialog. User should check the publications that they want added to the selection publication list categories. When the operations succeeds, an success alert message is shown at the top of the page. If it failed for any reason, an error alert message is shown.

Looks great :+1:


linalg_grad_test is failing with minor array mismatch

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):N/A
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Ubuntu 16.04 (ppc64le)
TensorFlow installed from (source or binary):
Installed from source
TensorFlow version (use command below):
TF master
Python version:
Python 2.7.5
Bazel version (if compiling from source):
bazel-0.11.1
CUDA/cuDNN version:
NA
GPU model and memory:
NA
Exact command to reproduce:
bazel test -c opt --test_output=errors //tensorflow/python/kernel_tests:linalg_grad_test

Describe the problem
This test is failing due to array mismatch error – a single value in an array of 100+ (or 200+) elements differing i.e.  -0.2765212 VS  -0.09727482 (minor mismatch i.e. 0.01%), I feel this is not "critical".
Hence, I tried running this test by changing minor tolerance (from atol=0.16 to 0.17), and test is passing -
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/kernel_tests/linalg_grad_test.py#L133
Original : self.assertAllClose(theoretical, numerical, atol=tol, rtol=tol)
Update to :  self.assertAllClose(theoretical, numerical, atol=tol+0.01, rtol=tol)
@skye Is it OK to raise a PR with this changes ?. Please provide your comments on this.
This is similar to PR https://github.com/tensorflow/tensorflow/pull/14086 (Issue : https://github.com/tensorflow/tensorflow/issues/13992).
Thanks!
Source code / logs
bazel test -c opt --test_output=errors //tensorflow/python/kernel_tests:linalg_grad_test
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
-----------------------------------------------------------------------------
..F.........
======================================================================
FAIL: test_MatrixSolveLsGradient_float32_10_10_1e-06 (__main__.MatrixBinaryFunctorGradientTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/.cache/bazel/_bazel_root/8f6ddabc24aafac92d95350c806a3c5a/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/python/kernel_tests/linalg_grad_test.runfiles/org_tensorflow/tensorflow/python/kernel_tests/linalg_grad_test.py", line 133, in Test
    self.assertAllClose(theoretical, numerical, atol=tol, rtol=tol)
  File "/root/.cache/bazel/_bazel_root/8f6ddabc24aafac92d95350c806a3c5a/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/python/kernel_tests/linalg_grad_test.runfiles/org_tensorflow/tensorflow/python/framework/test_util.py", line 1368, in assertAllClose
    self._assertAllCloseRecursive(a, b, rtol=rtol, atol=atol, msg=msg)
  File "/root/.cache/bazel/_bazel_root/8f6ddabc24aafac92d95350c806a3c5a/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/python/kernel_tests/linalg_grad_test.runfiles/org_tensorflow/tensorflow/python/framework/test_util.py", line 1338, in _assertAllCloseRecursive
    path_str))
  File "/root/.cache/bazel/_bazel_root/8f6ddabc24aafac92d95350c806a3c5a/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/python/kernel_tests/linalg_grad_test.runfiles/org_tensorflow/tensorflow/python/framework/test_util.py", line 1273, in _assertArrayLikeAllClose
    a, b, rtol=rtol, atol=atol, err_msg=msg, equal_nan=True)
  File "/usr/local/lib/python2.7/dist-packages/numpy/testing/nose_tools/utils.py", line 1396, in assert_allclose
    verbose=verbose, header=header, equal_nan=equal_nan)
  File "/usr/local/lib/python2.7/dist-packages/numpy/testing/nose_tools/utils.py", line 779, in assert_array_compare
    raise AssertionError(msg)
AssertionError:
Not equal to tolerance rtol=0.16, atol=0.16
Mismatched value: a is different from b.
(mismatch 0.01%)
 x: array([[-0.274541,  0.232045,  0.238228, ..., -0.034111, -0.373466,
         0.033984],
       [-0.781969,  3.879241, -0.101673, ..., -2.040497, -3.555899,...
 y: array([[-0.27545 ,  0.234431,  0.2381  , ..., -0.040039, -0.382935,
         0.036284],
       [-0.782201,  3.879493, -0.102113, ..., -2.039877, -3.555702,...

----------------------------------------------------------------------
Ran 12 tests in 1.858s

FAILED (failures=1)
not close where =  (array([40]), array([33]))
not close lhs =  [-0.2765212]
not close rhs =  [-0.09727482]
not close dif =  [0.1792464]
not close tol =  [0.17556396]
dtype = float32, shape = (100, 100)

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code

This strikes me as reasonable. Can you check on bazel v0.12 first? And if it still fails I'll ping someone in build.

@robieta  Tried to run this test with bazel v0.12.0 , but it's still failing.

@robieta Can we go for PR ?

@gunan , @robieta Can we go for PR ?

Hi @robieta , any update on this ?

Nagging Assignee @robieta: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @robieta: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @robieta: It has been 47 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @robieta: It has been 63 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @robieta: It has been 79 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


Styling brokes during saving oscm-app configuration

Steps to reproduce

Go to https://<IP_ADDRESS>:8881/oscm-app/.
Click save configuration (there is no need to change any input field).
Notice font size change:

This is a minor but still valid UI flaw.


USB: DFU class rework (DNM/RFC)

This is reuse/rework of samples/subsys/usb/dfu.
It is not ready to be merged, USB DFU class needs an interface to DFU image manager or similar.

@nashif the header should be removed, i am on it, but I am looking for a interface to partition and boot manager first.

@mbolivar can you please review

Codecov Report

Merging #4373 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4373      +/-   ##
==========================================
+ Coverage   52.63%   52.63%   +<.01%
==========================================
  Files         410      410
  Lines       40041    40048       +7
  Branches     7779     7781       +2
==========================================
+ Hits        21074    21078       +4
- Misses      15767    15768       +1
- Partials     3200     3202       +2

Impacted Files
Coverage Δ

drivers/timer/native_posix_timer.c
86.11% <0%> (-13.89%)
:arrow_down:

boards/posix/native_posix/timer_model.c
100% <0%> (+3.44%)
: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 19b1ce6...17088cf. Read the comment docs.

quark boards does not have flash partitions

@mbolivar It depends on how one want to use it. Maybe someone would like to use it with the MCUboot. The swap partition is definitely not needed to be exported, I will remove it (the code has three alternative configurations).

@mbolivar It depends on how one want to use it. Maybe someone would like to use it with the MCUboot.

So the idea would be something like:

mcuboot boots as stage 0
mcuboot runs second-stage DFU bootloader
use USB DFU to update application in some other partition, reset
mcuboot boots as stage 0
mcuboot runs second stage DFU bootloader, which uses a strap pin or some other mechanism to jump to new application

Or so? I'm just trying to work out the flow here. Are the split partitions mandatory?

The swap partition is definitely not needed to be exported, I will remove it (the code has three alternative configurations).

@mbolivar I have revised it, it uses sys/dfu now. The download (write to the slot1) can be started by the application, so the USB-DFU interface is part of the application. The other option would be to use it in the bootloader, I have not looked deeper into mcuboot yet, but I expect to use USB-DFU in the bootloader needs more work.

@mbolivar I have revised it, it uses sys/dfu now. The download (write to the slot1) can be started by the application, so the USB-DFU interface is part of the application. The other option would be to use it in the bootloader, I have not looked deeper into mcuboot yet, but I expect to use USB-DFU in the bootloader needs more work.

@jfischer-phytec-iot so I think you're saying that the boot partition has the USB DFU driver, and the slot1 partition has the application being updated, right?

@mbolivar:

so I think you're saying that the boot partition has the USB DFU driver, and the slot1 partition has the application being updated, right?

No, think what @jfischer-phytec-iot is saying is that this DFU works exactly like the mcumgr or LWM2M ones. The application in slot0 includes USB support and is able to receive an image and store it into slot 1, and then a reboot will swap the images.
Further down the line we might look into adding USB support into MCUboot, but right now this acts as a normal "push/background/in-app" type DFU like the ones we have.

recheck

@jfischer-phytec-iot Can you rebase after i merged @sundar-subramaniyan's last PR with 52840 fixes?

@carlescufi rebased

@jfischer-phytec-iot Tried testing on an nRF52840 but it doesn't enumerate the device. The cdc_acm sample works fine with that board. Is there something incompatible with that USB driver?

@jfischer-phytec-iot Tried testing on an nRF52840 but it doesn't enumerate the device. The cdc_acm sample works fine with that board. Is there something incompatible with that USB driver?

Ignore that, I was flashing the wrong signed file, sorry for the noise

@carlescufi I've tested it mostly with FRDM-K64F, I'll take a look

@jfischer-phytec-iot tried it today again, and it doesn't enumerate properly actually. Sometimes I manage to enumerate but then the DFU fails.
I see things like:
***** BOOTING ZEPHYR OS v1.11.99 - BUILD: Mar 19 2018 15:39:36 *****
[MCUBOOT] [INF] main: Starting bootloader
[MCUBOOT] [INF] boot_status_source: Image 0: magic=unset, copy_done=0xff, image_ok=0xff
[MCUBOOT] [INF] boot_status_source: Scratch: magic=unset, copy_done=0x0, image_ok=0xff
[MCUBOOT] [INF] boot_status_source: Boot source: slot 0
[MCUBOOT] [INF] boot_swap_type: Swap type: none
[MCUBOOT] [INF] main: Bootloader chainload address offset: 0xc000
[MCUBOOT] [INF] main: Jumping to the first image slot
***** BOOTING ZEPHYR OS v1.11.99 - BUILD: Mar 19 2018 15:47:36 *****
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!

@carlescufi My 2 cents -
From the log you have pasted, towards the end, there's a trouble with USB enumeration:

[usb/dc] [DBG] usbd_handle_state_change: USB detected
[usb/dc] [DB[usb/dc] [DBG] usbd_handle_state_change: USB Powered
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[general] [DBG] dfu_status_cb: USB device connected
G] hf_clock_enable: HF clock start success
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[usb/dc] [ERR] access_fault_handler: USBD Access Fault!
[general] [INF] main: This device supports USB DFU class.

I believe there's a reset happening somewhere during the DFU update that makes it run into this state.
The Access fault is happening because of the anomaly mentioned in the errata No. 187. “USB cannot be enabled”

@carlescufi
I was able to flash and boot the DFU sample merged with mcuboot.
When I issue dfu-util --download <img.bin> I get this:
$ sudo dfu-util --alt 1 --download /tmp/hello.s.bin
dfu-util 0.5

(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY

dfu-util does currently only support DFU version 1.0

Opening DFU USB device... ID 2fe3:0100
Run-time device DFU version 0110
Claiming USB DFU Runtime Interface...
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB...
Opening USB Device...
Found DFU: [2fe3:0100] devnum=0, cfg=1, intf=0, alt=1, name="image-1"
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 64
No valid DFU suffix signature
Warning: File has no DFU suffix
bytes_per_hash=913
Copying data from PC to DFU device
Starting download: [dfu_download: libusb_control_transfer returned -7
Error during download

Is the "No valid DFU suffix signature" harmless?
I'll give it another try later.

@carlescufi
I tried again with USB_DEVICE log level set to 4 and I get this:
[general] [DBG] usb_handle_request: ** 1 **
[general] [DBG] dfu_class_handle_req: DFU_DNLOAD block 0, len 64, state 2
[general] [DBG] dfu_class_handle_req: DFU_DNLOAD start

After about few seconds, the download fails for some reason with following logs:
[general] [DBG] dfu_flash_write: bytes written 0x0
[general] [DBG] usb_handle_control_transfer: >> usb_data_to_host(2)
[usb/dc] [ERR] handle_ctrl_ep_data_state_events: invalid event 0 in data state for EP 0

It looks like Bulk data out handling has some issues in nRF52840.
I'll take another look later.

@carlescufi
I'm using the following command to boot the merged hex file to boot the DFU sample (in case if anyone is wondering):
nrfjprog --eraseall -f nrf52 && nrfjprog --program zephyr.hex.merged -f nrf52 && nrfjprog -r -f nrf52 && sleep 1 && nrfjprog -f nrf52 -p
The sleep and pin reset is to workaround the USB power up anomaly from nRF52840 errata B.
I added some logs in usb_dfu.c and in mcuboot.c in boot_erase_img_bank() and I could see the flash_erase() is stuck for about ~9 seconds. Here's the log:
[general] [DBG] dfu_class_handle_req: DFU_DNLOAD block 0, len 64, state 2
[general] [DBG] dfu_class_handle_req: DFU_DNLOAD start
[general] [DBG] dfu_class_handle_req: reset counters done
[general] [DBG] dfu_class_handle_req: boot erase image start
write prot off
flash erase size: 430080 uptime: 8150
flash erase complete uptime: 17000
write prot on
[general] [DBG] dfu_class_handle_req: boot erase image end
[general] [DBG] dfu_class_handle_req: DNLOAD IDLE. dnload size: 64
[general] [DBG] dfu_flash_write: bytes written 0x0
[general] [DBG] usb_handle_control_transfer: >> usb_data_to_host(2)
[usb/dc] [ERR] handle_ctrl_ep_data_state_events: invalid event 0 in data state for EP 0

The first argument after "flash erase" debug print is the erase size and second argument is uptime in milliseconds. The next debug print "flash erase complete" is with uptime in milliseconds. The difference is 8850 ms. For an erase size of 420K, is this normal?
I'm not an expert in DFU but I believe the dfu-util times out waiting for a response.
If this is synchronous call, I guess the wait time should be expected time of "flash erase + flash write of first 64 bytes".

@sundar-subramaniyan

I believe there's a reset happening somewhere during the DFU update that makes it run into this state.

No, my enumeration problems happen just after flashing the DFU sample, well before I have a chance to run dfu-util. The sample itself doesn't enumerate, right after flashing with nrfjprog

@sundar-subramaniyan I think we are seeing different problems. In my case the initial enumeration after flashing with nrfjprog works fine with the cdc_acm sample but fails with this one. That is the stage that I'm trying to get past before I can really try DFU

@nvlsianpu Can you take a look at this comment and reply regarding the flash erase time?

@carlescufi @sundar-subramaniyan
One page erase can take like 89 ms:
(https://github.com/zephyrproject-rtos/zephyr/blob/master/arch/arm/soc/nordic_nrf/nrf52/soc.h#L240)
105 page of flash are erased - so it can take up to 9,4185 s. So time measured is in this limit.
Time of writing of 64 bytes is neglible in compassion with time of erase such flash area.

@nvlsianpu Thanks for the confirmation on the erase times.

@jfischer-phytec-iot I had a first look at the captures you have uploaded. In the case of nRF52, there's supposed to be an OUT transaction (Status stage) followed by IN transaction and is missing. I'll take another look later and debug it. Thanks for the captures.

@jfischer-phytec-iot
As you pointed out, nRF52840 doesn't ACK the OUT transaction (status stage) when the setup->wLength is exactly 64 bytes, because I thought the usb device stack would take care of writing a ZLP to EP0 IN.
Please see this line.
There are these following cases in my understanding for control read with data stage with read length (wLength):
a) Less than 64 bytes (single IN transaction)
b) Exactly 64 bytes (single IN transaction)
c) More than 64 bytes (multiple IN transactions)
Now my question is, whose job is it to initiate status stage - USB stack or USB driver?
For case a) The USB driver can implicitly know from short packet length and initiate status stage. This is taken care already by the nRF5 USB driver.
For cases b) and c) how does the driver implicitly understand when to initiate status stage without storing the wLength in the driver context and decrementing every IN transaction? It has to be taken care by the USB stack, no?
Just to debug, I made this change to initiate status stage even if the length wrote is 64 bytes in write completion in the USB driver and I get the image uploaded to host PC. All 420KB of image_1.
Although, at the end of upload I get this error:
dfu_upload: libusb_control_msg returned -9
Looking at libusb source, -9 corresponds to LIBUSB_ERROR_PIPE.
Looking at the wireshark, I could see the "SET INTERFACE REQUEST" and "SET INTERFACE RESPONSE" after all the "CONTROL IN" transactions (6720 blocks).
The "SET INTERFACE" sets alternate interface 0 which means it's switching back the interface after upload is complete.
Is the error print normal?

@mbolivar: @carlescufi explained it correctly . I just do not know how to configure it for Quark SE based boards, because they do not have flash partitions.

OK, thanks for the confirmation!
Since these changes are all in the USB subsystem, I think there's nothing for me to review here and will leave you all to it.

@jfischer-phytec-iot

About ZLP, refer to usb spec. <IP_ADDRESS> "Variable-length Data Stage", what is not the case if the setup packet requests for 64 bytes. Also "Variable-length Data Stage" should be handled in the device stack.

I referred to the USB spec section <IP_ADDRESS> and here is the excerpt:
A control pipe may have a variable-length data phase in which the host requests more data than is contained in the specified data structure. When all of the data structure is returned to the host, the function should indicate that the Data stage is ended by returning a packet that is shorter than the MaxPacketSize for the pipe. If the data structure is an exact multiple of wMaxPacketSize for the pipe, the function will return a zero-length packet to indicate the end of the Data stage.
This is exactly what the nRF USB driver from master does - For short packets or ZLP packets, driver initiates (prepares) HW for status stage. Until this happens, the HW shall NACK the OUT transactions (status stage) in the case of control read. In DFU upload, after 64 bytes of transfer, the USB stack does not write a ZLP and so driver never prepares the HW for the status stage and so it gets stuck during the first control read transaction. What I expect is that, after the write completion of the 64 bytes, the stack should check if the last transaction packet size is 64 bytes and should write ZLP to end the transaction.
You can see this line where the USB stack as of now checks if all the  buffer contents are written and if so it does not write ZLP.
Am I missing something here?

@jfischer-phytec-iot
I made this change to the USB stack and removed my earlier change in nRF USB driver and things seem to work similar way for DFU upload. Please see if this makes sense.

@jfischer-phytec-iot For DFU download, I made some changes to nRF USB driver and USB DFU class driver as well to get it barely working. This is besides the change I did for upload in the USB device stack.
nRF USB driver change
USB DFU class change
These are work in progress changes and I need to tweak the work delay to get the download faster.
Right now it's hard coded to 1 second (for each chunk!!). What do you think about these changes?
I'll make a PR once I wrap up all these changes together.

Our USB driver needs a bit of rework, but I think this is independent. @jfischer-phytec-iot could you rebase please to see if we can merge this ahead of the driver work?

@carlescufi rebased

@finikorg any objections to merging this?


Add support for gdax exchange

Hi,
maybe it's worth to take a look at exhange gdax - they just introduced margin trading yesterday.
More information here:
https://support.gdax.com/customer/portal/articles/2725963-intro-to-margin-trading
Any thoughts?

Having the possibility to short on 2 platforms would double our possibility to make profit if I understand it right... Also GDAX fee on makers is 0BTC. I see a real opportunity here.


Tutorial for Hamming loss

I recently used Hamming loss from tfa for my thesis project. If it sounds useful, I'd like to add a tutorial on how to use the metric and probably other metrics in general. It took me some time to get around it so maybe this could save some time for others. Do let me know if this sounds like a worthwhile addition

Are you willing to contribute it: Yes
Are you willing to maintain it going forward?: In the near future, yes
Is there a relevant academic paper?: No
Is there already an implementation in another framework?: Requesting a tutorial
Was it part of tf.contrib?: No

**Which API type would this fall under - Metrics
People who are working on multi-label classification problems would benefit from such a tutorial as tfa is the only library I could find for using these metrics while model training in tensorflow/keras.
P.S - I haven't done many open-source contributions and I'm still learning

You are welcome. Take an overview on https://github.com/tensorflow/addons/tree/master/docs/tutorials

Hi @harshithere , sounds good to me. To start with, please check out the contributing guidelines here. We add tutorials in the form of notebooks. Check out these guidelines for the same.

Perfect!!
I had a look at the tutorials earlier. I'll get started soon and let you know if I need any help. Thanks @bhack and @AakashKumarNain

https://github.com/tensorflow/addons/pull/2044
@bhack , @AakashKumarNain  I submitted a pull request for the same. Looking forward to your reviews

TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision:
TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA:
Keras
Keras-CV
Keras-NLP


Cleanup Exception classes that require an accountId to mirror what's in SettlementServiceException. Maybe add this functionality into an abstract super-class that requires an AccountId.

Cleanup Exception classes that require an accountId and settlementEngineAccountId to mirror what's in SettlementServiceException. Maybe add this functionality into an abstract super-class that requires an AccountId.


Tweak java diagnostics for java 11

I commit this, to bubble up to the images, we need to make a release, upgrade the images in the images and re-run fish-pepper over there.
If we don't have any other feature's we'd like to add, I can do a release soonish.

I commit this, to bubble up to the images, we need to make a release, upgrade the images in the images and re-run fish-pepper over there.  If we don't have any other feature's we'd like to add, I can do a release soonish.

This was released with 1.3.1 (which is broken, don't use) and 1.3.2 (which I think is OK) that https://github.com/fabric8io-images/s2i/issues/123 will have a PR for which bumping to it - then you can use it.


supported-os: Update Fedora EOL versions.

Please notice that I went a month into the future so this update also marks F31 which will be EOL in a little over a month. I can split it into two PRs if that's preferred.

https://github.com/dotnet/core/issues/5291
Fedora will reach end of life in November and we will update the supported OS during our November release.

.NET 5 shouldn't go out with "Fedora 30+" in the list though.

I removed the 31 EOL line then.

@rbhanda the PR has been updated. Does this look good or anything else needs to be addressed?


Defining Navmesh from List of Unwalkable Areas

Hi there, I'm taking an interest in your library navmesh. It seems really good for pathfinding, but I have a question.
How would you use this to make a NavMesh from only the unwalkable areas?
I have a list of obstacles as polygons but I don't have the walkable areas, only the unwalkable areas.
Could this library create a Navmesh defined from the unwalkable areas instead of the walkable areas?

I actually wrote a function to do this if it can be of any help.
I think that the output grid is far from optimal however.
https://gitlab.com/eternal-twin/mush/mush/-/blob/phaser/App/src/game/scenes/daedalusScene.ts#L228

sry, the link is dead following a merge request : here is a new one (once again far from optimal coding):
https://gitlab.com/eternal-twin/mush/mush/-/blob/develop/App/src/game/scenes/daedalusScene.ts

A couple thoughts:

I'd recommend checking out @SylvainBreton's example.
If you are using a tilemap, or if your world can be represented on a grid, then you could try out the built-in navmesh/phaser3-navmesh API for generating the navmesh from a grid.
Beyond that, you'll have to roll your own solution for now. There are JS decomposition libraries out (like poly2tri) there that implement different approaches, e.g. a good algorithm might be constrained delaunay triangulation. It sounds like you want to define a poly for your whole map, then use the obstacles to define holes and then feed it into a decomposition algorithm that supports holes.
It's more tedious, but you can always generate meshes by hand via Tiled.

It's on the roadmap to support more navmesh generation techniques, but time has been limited. PRs welcome if you feel like contributing!


[MB-9025] Create ReviewBillableWeight page

Description
Adds the route for the ReviewBillabeWeight page for future use
Reviewer Notes

James is on vacation so I just made a route of /billable-weight, will have to revisit when he gets back

Setup
make db_dev_e2e_populate
make server_run
make client_run
Log in as a TIO
Visit a move
Change URL from /moves/:moveCode/payment-requests to /moves/:moveCode/billable-weight
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Screenshots

Messages

:book:
:link: MB-9025

  Generated by :no_entry_sign: dangerJS against 6f06dd2d63fbf97fd9ae15e9cedb28f8dc7e10c2


io_uring: sqthread_poll with hipri (submisson polling with completion polling)

Hi,
I have a qeustion -- the paper says

This mode is referred to as submission polling (iou-s, with the hipri flag).

but it seems iou-s configuration only uses sqthread_poll flag:  https://github.com/ZebinRen/Performance-Characterization-Storage-Stacks/blob/master/3-c-work_breakdown_qd1/iou_s.conf#L14
Does fio set hipri automatically when enabling sqthread_poll?

Thanks for the clarification.


Leave off board-mode when RC pitch/roll out of zero-deadband

I would like to suggest to leave off board-mode immediately to manual mode when RC pitch or roll (and eventually throttle) is touched (out of zero-deadband). This would increase safety flying in off board mode and would enable the user immediate action. One problem to achieve this, would be the throttle-stick position when leaving the off board mode. One idea could be to allow entering off board only from altitude-hold (and then switching back to it) or to ensure that throttle is at mid-position when entering off board mode. Maybe that is worth a discussion.
-Eike

The proposal is sensible.

Hey, this issue has been closed because the label status/STALE is set and there were no updates for 30 days. Feel free to reopen this issue if you deem it appropriate.
(This is an automated comment from GitMate.io.)


Can I use DeviceClient to upload files with metadata?

When I use CloudBlockBlob to upload file to blob, I can upload file with metadata.
Can I do the same thing for Microsoft.Azure.Devices.Client.DeviceClient.UploadToBlobAsync?
Reference: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-csharp-csharp-file-upload

@unikisi Thanks for your question. We are checking on this and will respond to you soon.

Our scenario:
We are using blob SDK to upload files along with metadata. Our metadata include os version, instrument id, product, etc..
Now we want to use IoTHub to connect instrument side and server side. In IoTHub, we associate with an azure storage, so when we upload files to iothub, the files go to storage. But when we use iothub sdk to upload files, we cant find any property settings for a file such as metadata information.
If iothub sdk(DeviceClient) cant provide metadata setting, could you provide a possible solution for our scenario?

Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


Export secrets by type

Is your feature request related to a problem? Please describe.
It's only possible to export all open or resolved secrets, but it's not possible to export only certain secret types.
Describe the solution you'd like
The ability to export a specific secret type only.
Describe alternatives you've considered
Export the entire list of secrets, and then filter in the csv directly.
Additional context
/

See https://docs.github.com/en/enterprise-cloud@latest/rest/secret-scanning?apiVersion=2022-11-28#list-secret-scanning-alerts-for-an-organization


Compressing model log files

Model log files can take up a significant amount of storage. For a single year of ESM1.5 simulation, the sub-models produce:

Atmosphere: ~50M
Ocean: ~60M
Ice: ~900M
which can add up over long simulations.

Previous discussions raised the idea of compressing the log files during the archive step. @aidanheerdegen mentioned a good place to start would be the CICE driver, and if successful it could be expanded to a general (perhaps optional) step across models.
A couple of implementation questions/concerns:

Would it be preferable to compress each log file separately, or combine all the logs for a single sub-model into a tar.gz?
People may have workflows set up for extracting information from the logs (e.g. subroutine timing information) which would be affected.

It is possible to grep into a compressed tar archive file:
$ ls
cice_in.nml    ice_diag.d    iceout085  iceout087  iceout089  iceout091  iceout093  iceout095  input_ice.nml
debug.root.03  ice_diag_out  iceout086  iceout088  iceout090  iceout092  iceout094  iceout096
$ grep 'Timer  15:  from_ocn' *
ice_diag.d:Timer  15:  from_ocn       7.83 seconds
$ tar -zcvf logs.tar.gz *
cice_in.nml
debug.root.03
ice_diag.d
ice_diag_out
iceout085
iceout086
iceout087
iceout088
iceout089
iceout090
iceout091
iceout092
iceout093
iceout094
iceout095
iceout096
input_ice.nml
$ zgrep -a 'Timer  15:  from_ocn' logs.tar.gz
Timer  15:  from_ocn       7.83 seconds

So I think a compressed tar archive makes most sense.
The question of what to archive? Probably best to have a list in the model driver of patterns to match files. Simple case would be just anything that beginswith a list of strings.
For cice5 it would be
log_files = ['iceout', 'ice_diag', 'debug.root']

Which isn't too bad.
For mom5 (in ESM1.5)
log_files = ['fort', 'logfile', 'debug.root', 'oceout']

For atmosphere (in ESM1.5)
log_files = ['atm.fort', 'fort', 'nout', 'debug.root']

Are the various hist files also log files? (xhist, thist, ihist)


Multi select expanding while page loads

Hi,
We are having an issue where multi select is expanding on page load, until (and I'm guessing here) js finishes loading and being processed, then it it's displayed as expected.
Here is a screenshot of the example page doing this:

This was on Chrome for Windows, version 43.0
As I'm pretty sure I'm not the first person to run into this, is there a way to prevent this from happening that you know of?
Thanks!

You're guessing right. ;-)
The original select2-bootstrap-css (for Bootstrap 2) seemed to handle that issue with a class .select2 that you would apply to the original <select> element that Select2 would be instantiated on:
/**
 * This stops the quick flash when a native selectbox is shown and
 * then replaced by a select2 input when javascript kicks in. This can be
 * removed if javascript is not present
 */

select.select2 {
  height: 28px;
  visibility: hidden;
}

https://github.com/t0m/select2-bootstrap-css/blob/master/lib/select2-bootstrap.scss#L94-L103

Thanks!


warning.js:33 Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

Happens on your latest version. This because of the wildcard import
import * as React from 'react'

causing importing PropTypes from React. This code line
https://github.com/erikras/redux-form/blob/master/src/FormName.js#L3
It's how webpack behaves when it sees wildcard imports (the _interopRequireWildcard fn)
Can you be more specific what to import, i.E.
import { Node } from 'react`

or so?
Thanks

It's gonna be fixed by #4140, I think

Yeah looks like. Can this get out soon?


fix: Remove Duplicate Code

This PR aims to remove the duplicate codes are mentioned in the issue #1261

@LucasSte @xermicus Hey! I wanted to work towards solving the several duplicate code issues.
Do you think this is the right way to proceed ?


Spring ArmeriaAutoConfiguration could look at spring server settings too

Many of the knobs for controlling an armeria server using spring integration are under the armeria configuration namespace, often to give more flexibility to configure armeria (e.g., ports). But to make migrating an existing Spring server to armeria simpler, does it make sense to fallback to also looking at server configuration.
Reference: https://github.com/apache/incubator-zipkin/issues/2627

/cc @adriancole

I think it's doable if we set clear policy on what to do when a user specifies both server and armeria section. So far, we did not look into the server section because of ambiguity IIRC. Am I correct, @hyangtack ?

Yes, it would be possible, but I didn't do it because of the ambiguity between Spring Boot 2.x and 1.x, e.g. different package name, different class type for data unit, etc. However, I didn't look into it deeply at that time, so it'd be possible to find a simple way to do it. :-)

agree that doing this implies maintenance when spring boot minor and major versions come out.

@adriancole wrote:

ex ideal world is I can paste something like this and no-one is the wiser that armeria is even in use. While it is nice that it is, for some beginners it won't do anything except confuse to speak at this abstraction https://www.baeldung.com/spring-boot-https-self-signed-certificate

(Copied from a Slack thread)

We can start this by making AbstractArmeriaAutoConfiguration (with a different name) to extend AbstractConfigurableWebServerFactory.
Currently, it's not possible because AbstractArmeriaAutoConfiguration is used for boot1 and boot2.
We need to extract the common logic to a utility class and use them together in boot1 and boot2.

We can start this by making AbstractArmeriaAutoConfiguration (with a different name) to extend AbstractConfigurableWebServerFactory.
Currently, it's not possible because AbstractArmeriaAutoConfiguration is used for boot1 and boot2.
We need to extract the common logic to a utility class and use them together in boot1 and boot2.


31-tcpin.js still crashing node-red

Current Behavior
Hi all!
I know that there was similar issue reported sometime, but I'm facing and error and crash of Node-RED with following restart when using TCP-request. The issue repeats every couple of days. Some times node-red works without errors and no restarts fo few days, sometimes this error becomes twice a day. Here is the log:
_TypeError: The "chunk" argument must be of type string or an instance of Buffer or Uint8Array. Received type number (2)
at new NodeError (node:internal/errors:387:5)
at write (node:internal/streams/writable:314:13)
at Socket.Writable.write (node:internal/streams/writable:336:10)
at Socket. (/usr/lib/node_modules/node-red/node_modules/@node-red/nodes/core/network/31-tcpin.js:630:63)
at Object.onceWrapper (node:events:627:28)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1263:10) {
code: 'ERR_INVALID_ARG_TYPE'
I'm using TCP-reauest node to send data to TCP-RS485 gateway and receive reply from it. the requests are always the same.
Expected Behavior
Not facing this error
Steps To Reproduce
Just Run and wait
Example flow
[
{
"id": "f5d28d2c17e35548",
"type": "inject",
"z": "c19010c618161b49",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"v": "0",
"vt": "num"
},
{
"p": "name",
"v": "VRU3",
"vt": "str"
},
{
"p": "type",
"v": "Mercury",
"vt": "str"
},
{
"p": "gate",
"v": "<IP_ADDRESS>:4002",
"vt": "str"
},
{
"p": "unitid",
"v": "72",
"vt": "num"
},
{
"p": "host",
"v": "<IP_ADDRESS>",
"vt": "str"
},
{
"p": "port",
"v": "4002",
"vt": "str"
},
{
"p": "tarif",
"v": "4",
"vt": "num"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 620,
"wires": [
[
"0204bb3d420551ce"
]
]
},
{
"id": "0204bb3d420551ce",
"type": "function",
"z": "c19010c618161b49",
"name": "Open connection",
"func": "msg.topic = 0;\nmsg.tarif = msg.tarif + 1;\n\nvar POLY = 0xA001;\nvar SEED = 0xFFFF;\n\nvar unitid = 0\nunitid = msg.unitid\n\nvar addr = Buffer.from([unitid])\nvar command = Buffer.from([0x01])\nvar data = Buffer.from([0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01])\n\n\n\nvar calculateCRC1 = Buffer.concat([addr, command, data])\nmsg.crc1 =CRC(calculateCRC1)\n\nmsg.crc1_1 = Math.floor(msg.crc1 / 0x100)\nmsg.crc1_2 = msg.crc1 - msg.crc1_1 * 0x100\n\nvar crc = Buffer.from([msg.crc1_2, msg.crc1_1])\n\n\nmsg.payload = Buffer.concat([addr, command, data, crc]);\n\nreturn msg;\n\n\n\n\n\n\n\nfunction CRC(buffer) {\n    var crc = SEED;\n    for (var i = 0; i < buffer.length; i++) {\n        crc = Calc_CRC(buffer[i], crc);\n    }\n    return crc;\n}\nfunction Calc_CRC(b, crc) {\n    crc ^= b & 0xFF;\n    for (var i = 0; i < 8; i++) {\n        var carry = crc & 0x0001;\n        crc >>= 1;\n        if (carry) crc ^= POLY;\n    }\n    return crc;\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 470,
"y": 620,
"wires": [
[
"70d215ac29cf8f8f"
]
]
},
{
"id": "70d215ac29cf8f8f",
"type": "tcp request",
"z": "c19010c618161b49",
"name": "",
"server": "<IP_ADDRESS>",
"port": "4002",
"out": "time",
"ret": "buffer",
"splitc": "800",
"newline": "",
"trim": false,
"tls": "",
"x": 850,
"y": 620,
"wires": [
[
"04da577bb8f012c2",
"3ad9206cf3f8a1d6"
]
]
},
{
"id": "3ad9206cf3f8a1d6",
"type": "function",
"z": "c19010c618161b49",
"name": "Read data tarif",
"func": "var POLY = 0xA001;\nvar SEED = 0xFFFF;\nvar totalizer = 0x00;\nvar tarif = 0 \ntarif = msg.topic\n\nvar unitid = 0\nunitid = msg.unitid\n\nvar addr = Buffer.from([unitid])\nvar command = Buffer.from([0x05])\nvar data = Buffer.from([totalizer, tarif])\n//data = data.reverse();\n\n\nvar calculateCRC1 = Buffer.concat([addr, command, data])\nmsg.crc1 =CRC(calculateCRC1)\n\nmsg.crc1_1 = Math.floor(msg.crc1 / 0x100)\nmsg.crc1_2 = msg.crc1 - msg.crc1_1 * 0x100\n\nvar crc = Buffer.from([msg.crc1_2, msg.crc1_1])\n\n\nmsg.payload = Buffer.concat([addr, command, data, crc]);\nmsg.topic = msg.topic + 1;\nreturn msg;\n\n\n\n\n\n\n\nfunction CRC(buffer) {\n    var crc = SEED;\n    for (var i = 0; i < buffer.length; i++) {\n        crc = Calc_CRC(buffer[i], crc);\n    }\n    return crc;\n}\nfunction Calc_CRC(b, crc) {\n    crc ^= b & 0xFF;\n    for (var i = 0; i < 8; i++) {\n        var carry = crc & 0x0001;\n        crc >>= 1;\n        if (carry) crc ^= POLY;\n    }\n    return crc;\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 760,
"y": 680,
"wires": [
[
"355a432c2d6ed6af"
]
]
},
{
"id": "355a432c2d6ed6af",
"type": "switch",
"z": "c19010c618161b49",
"name": "",
"property": "topic",
"propertyType": "msg",
"rules": [
{
"t": "gt",
"v": "tarif",
"vt": "msg"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 950,
"y": 680,
"wires": [
[],
[
"70d215ac29cf8f8f"
]
]
},
{
"id": "04da577bb8f012c2",
"type": "function",
"z": "c19010c618161b49",
"name": "check answer from dev",
"func": "var POLY = 0xA001;\nvar SEED = 0xFFFF;\n    \nif (msg.payload.length > 4)\n{    \n\nmsg.crc1_r = msg.payload.slice(msg.payload.length - 2, msg.payload.length - 1)\nmsg.crc1_1_r = msg.payload.slice(msg.payload.length - 1)\n\nmsg.crc1_r = 0x100 * msg.crc1_1_r[0] + msg.crc1_r[0]\n\nmsg.DataToCheck = msg.payload.slice(0, msg.payload.length - 2)\n\n    msg.crc1_rc = CRC(msg.DataToCheck)  \n    \n\n    if (msg.crc1_r == msg.crc1_rc)\n{  \n    return msg;}}\n\n\n\n\n\n\n\nfunction CRC(buffer) {\n    var crc = SEED;\n    for (var i = 0; i < buffer.length; i++) {\n        crc = Calc_CRC(buffer[i], crc);\n    }\n    return crc;\n}\nfunction Calc_CRC(b, crc) {\n    crc ^= b & 0xFF;\n    for (var i = 0; i < 8; i++) {\n        var carry = crc & 0x0001;\n        crc >>= 1;\n        if (carry) crc ^= POLY;\n    }\n    return crc;\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1110,
"y": 620,
"wires": [
[
"5bef7db786a178e1"
]
]
}
]
Environment

Node-RED version: 3.0.2
Node.js version: 16.19.0
npm version: 8.19.3
Platform/OS: Tried on Ubuntu 22.04 and Windows 10
Browser: CHROME

tricky - that seems to be coming from the .write call - but we don't set, use or otherwise specify anything to do with chunk size (nor can we I think looking at the api)...
Not sure of the endpoint you are pointing at is public - so not sure how we can run this test case.

Not sure of the endpoint you are pointing at is public - so not sure how we can run this test case.
Yes you are right. The gateway  which is requested with TCP-request node is locally installed. This is MOXA nPort 5430 Gateway.
MOXA nPort is jus a gateway which forward hex data to end-device, receive hex data from the end-device and forward it back to the client.
But I think right behavior would be if nor of the nodes ( tcp-request, tcp-in.. whatever) could crash the main Node-RED application
if there is something wrong with written or received data, just show an error without crashing the main application )

It would be great if you could edit 31-tcpin.js - line 630 - to add a
try {
   ... line 630
}
catch(e) { console.log(e) }

to ee if that catches it - I suspect it's throwing it asynchronously - in which case then that won't catch it - but worth a try.

I've just done it and here what I have in log:
Before:
24 Jan 16:50:32 - [error] [function:PM5_READ_timeout] Reading timeout: <IP_ADDRESS>:4002 UnitID:0,5,105,0
24 Jan 16:50:33 - [red] Uncaught Exception:
24 Jan 16:50:33 - [error] TypeError: The "chunk" argument must be of type string or an instance of Buffer or Uint8Array. Received type number (2)
at new NodeError (node:internal/errors:387:5)
at _write (node:internal/streams/writable:314:13)
at Socket.Writable.write (node:internal/streams/writable:336:10)
at Socket. (/usr/lib/node_modules/node-red/node_modules/@node-red/nodes/core/network/31-tcpin.js:630:63)
at Object.onceWrapper (node:events:627:28)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1263:10)
24 Jan 16:50:35 - [info]
Welcome to Node-RED
24 Jan 16:50:35 - [info] Node-RED version: v3.0.2
24 Jan 16:50:35 - [info] Node.js  version: v16.19.0
24 Jan 16:50:35 - [info] Linux 5.15.0-56-generic x64 LE
24 Jan 16:50:35 - [info] Loading palette nodes
and after adding that lines:
24 Jan 16:53:31 - [error] [function:PM5_READ_timeout] Reading timeout: <IP_ADDRESS>:4002 UnitID:0,5,105,0
TypeError: The "chunk" argument must be of type string or an instance of Buffer or Uint8Array. Received type number (2)
at new NodeError (node:internal/errors:387:5)
at _write (node:internal/streams/writable:314:13)
at Socket.Writable.write (node:internal/streams/writable:336:10)
at Socket. (/usr/lib/node_modules/node-red/node_modules/@node-red/nodes/core/network/31-tcpin.js:632:63)
at Object.onceWrapper (node:events:627:28)
at Socket.emit (node:events:525:35)
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1263:10) {
code: 'ERR_INVALID_ARG_TYPE'
}
24 Jan 16:53:33 - [error] [function:PM5_READ_timeout] Reading timeout: <IP_ADDRESS>:4004 UnitID:115,153,51,0
24 Jan 16:53:35 - [error] [function:PM5_READ_timeout] Reading timeout: <IP_ADDRESS>:4003 UnitID:112,147,51,0
looks like Node-RED was not restarted on this error after correction of 31-tcpin.js
The problem is still present, but now it doesn't make Node-RED restart  at least

thanks - that is progress !


NuttX RV32 (QEMU) - Example

cc: @rauhul
The cmakelists was adapted to download, extract and build the automated NuttX to make it easier for experimental Swift-embedded use.
The NuttX version used is the most recent with Swift 6 support.
Requirements

NuttX & NuttX-apps
kconfig-frontends
CMake
QEMU
Swift 6
RISC-V GNU Toolchain

How to build
# list all supported boards
cmake -B build -DLIST_ALL_BOARDS=ON | less
# build configuration
cmake -B build -GNinja -DBOARD_CONFIG=rv-virt:leds_swift -DENABLE_NUTTX_TRACE=[ON|OFF]
# build
cmake --build build
# clean
cmake --build build -t distclean
# export NuttX as library
cmake --build build -t nuttx-libs

build-output
$ cmake -B build -GNinja -DBOARD_CONFIG=rv-virt:leds_swift
-- The Swift compiler identification is Apple 6.1
-- Check for working Swift compiler: /home/kassane/.local/bin/swiftc
-- Check for working Swift compiler: /home/kassane/.local/bin/swiftc - works
Cloning into 'apps'...
HEAD is now at ac11e3cba Adapt the new header file path of va_format.
Cloning into 'nuttx'...
HEAD is now at 10e44f8915 riscv_fork.c: Fix race condition when handling parent integer registers
-- BOARD_CONFIG: rv-virt:leds_swift
  Copy files
  Select CONFIG_HOST_LINUX=y
  Refreshing...
CP: arch/dummy/Kconfig to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/arch/dummy/dummy_kconfig
CP: boards/dummy/Kconfig to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/boards/dummy/dummy_kconfig
LN: platform/board to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/platform/dummy
LN: include/arch to arch/risc-v/include
LN: include/arch/board to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/boards/risc-v/qemu-rv/rv-virt/include
LN: drivers/platform to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/drivers/dummy
LN: include/arch/chip to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/arch/risc-v/include/qemu-rv
LN: arch/risc-v/src/chip to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/arch/risc-v/src/qemu-rv
LN: arch/risc-v/src/board to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/boards/risc-v/qemu-rv/rv-virt/src
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/audioutils
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/benchmarks
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/boot
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/canutils
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/crypto
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/database
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/examples/mcuboot
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/examples
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/fsutils
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/games
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/graphics
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/industry
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/inertial
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/interpreters/luamodules
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/interpreters
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/logging
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/lte
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/math
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/mlearning
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/netutils
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/sdr
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/system
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/testing
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/videoutils
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/wireless/bluetooth
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/wireless/ieee802154
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/wireless
mkkconfig in /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps
Loaded configuration '.config'
Configuration saved to '.config'
-- Configuring done (133.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build

$ cmake --build build
[2/3] Building NuttX
Create version.h
LN: platform/board to /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/apps/platform/dummy
Register: leds
Register: nsh
Register: sh
Register: ostest
Register: getprime
Register: leds_swift
Archive:  fdt/dtc.zip
039a99414e778332d8f9c04cbd3072e1dcc62798
# [...] Creating and inflating files

Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi)
CPP:  /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/boards/risc-v/qemu-rv/rv-virt/scripts/ld.script-> /home/kassane/swift-embedded-exLD: nuttx
riscv-none-elf-ld: warning: /home/kassane/swift-embedded-examples/nuttx-riscv-blink/build/nuttx/nuttx has a LOAD segment with RWX permissions
[3/3] Running utility command for build_nuttx

Output
qemu-system-riscv32 \
    -semihosting \
    -M virt,aclint=on \
    -cpu rv32 -smp 8 \
    -bios none \
    -kernel build/nuttx.elf \
    -nographic
NuttShell (NSH) NuttX-12.7.0
nsh> leds_swift
leds_main: led_daemon started

led_daemon (pid# 4): Running
led_daemon: Opening /dev/userleds
led_daemon: Supported LEDs 0x7
led_daemon: LED set 0x1
board_userled: LED 1 set to 1
board_userled: LED 2 set to 0
board_userled: LED 3 set to 0
nsh> led_daemon: LED set 0x0
board_userled: LED 1 set to 0
board_userled: LED 2 set to 0
board_userled: LED 3 set to 0
led_daemon: LED set 0x1
board_userled: LED 1 set to 1
board_userled: LED 2 set to 0
board_userled: LED 3 set to 0
led_daemon: LED set 0x0
# [...] see output in QEMU

Quit from QEMU: Ctrl-a x

References

Nuttx - Compiling with CMake
NuttX - C++ Example using CMake
NuttX - leds_rust
https://github.com/apache/nuttx/pull/13113

Heads up im extremely oversubscribed until early November, I did see this PR but won't be able to give you a good review until then. I do really want to include a sample using Nuttx if possible :)

I think the example makes sense to add. However Im trying to get CI setup for this repo before adding additional examples, so avoid hosting broken code!

I think the example makes sense to add. However Im trying to get CI setup for this repo before adding additional examples, so avoid hosting broken code!

I believe that putting all the required dependencies in is not a problem.
Sadly, NuttX cmake support is not fully featured like make.

@kassane  we now have some basic CI for the examples (excluding the current ones that only build for macho) Can you try to extend this CI to the new content in this PR?

@rauhul, only lint has a problem. I tried ignore file but it didn't work.