Not logging data

For some reason the program stopped logging new shows. It still displays the data for the ongoing show correctly, but does not log the data. Not sure what I did to cause this. I have tried downloading a fresh copy with the data.db copied over but it still does not log new data.

Not sure exactly. If you just mean the new game mode shows then that would be because they don't show up as a normal level until I get around to add them.
Try v1.98 and let me know

Seems to be fixed now. I guess it must be some issue with state then that I caused by copying data.db around. In the future then I should probably just update it with the built-in update feature?


ERROR: Unable to provision MSA id automatically. Please pass them in as parameters and try again.

Tool
Name: Msbot
Version: 4.0.7
OS: Windows
Describe the bug
I am trying to create a bot using msbot clone in a new azure subscription and I am getting "ERROR: Unable to provision MSA id automatically. Please pass them in as parameters and try again.",
I'm not clear on what needs to be done to enable automatic creation of MSA on a tenant or how to specify them as parameters.
Is this documented somewhere?
Expected behavior
I would like to understand what permissions are missing, what do I need to configure to get this to work and how to pass MSA id as params if the automatic step continues to fail.
Screenshots

Hello @gabog!
I'm looking into this.
As an alternative to auto-provisioning, msbot clone receives appId and appSecret arguments where you can pass your app id and password created at apps.dev.microsoft.com.
Also as additional information for you, the current method of provisioning an app id and password is less from ideal because it requires a second log in (after az login). We are working towards removing this second login and reuse your az login.
Question 1: Can you run az login with your hotmail account? I would think you cannot, unless you have an Azure free trial for this hotmail account. In general, msbot clone login is similar to az login login in behavior.
Question 2: could you please re-run msbot clone with --verbose to get a bit more info?
If you do have Azure subscriptions on this account and az login works for you with hotmail, and msbot clone fails, that is certainly a bug. If that is the case, we can make a plan of action to swiftly solve this issue.
A final thought is that we are drastically improving az and msbot verbose logging which should make this much easier.
While I expect your answer, I'll keep investigating this.

Hi Carlos, this issue happened on a customer environment and I don’t think I can try what you are asking there again. We were using Azure AD accounts to run the deployments. Manually creating the AppId and password (using the same Azure AD account but login directly to http://dev.apps.microsoft.com/ directly) and passing them as parameters worked for us.
Gabo
From: Carlos Castro<EMAIL_ADDRESS>Sent: Friday, December 7, 2018 1:11 PM
To: Microsoft/botbuilder-tools<EMAIL_ADDRESS>Cc: Gabo Gilabert<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/botbuilder-tools] ERROR: Unable to provision MSA id automatically. Please pass them in as parameters and try again. (#813)
Hello @gaboghttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgabog&data=02|01|Gabo.Gilabert%40microsoft.com|cae907ae85fb4539cbdc08d65c6f4cae|72f988bf86f141af91ab2d7cd011db47|1|0|636798030429704161&sdata=DQU0zbzjL8i05p5CtFL5AWlHOgeKcIooM8QV8SlqwKE%3D&reserved=0!
I'm looking into this.
As an alternative to auto-provisioning, msbot clone receives appId and appSecret arguments where you can pass your app id and password created at apps.dev.microsoft.com.
Also as additional information for you, the current method of provisioning an app id and password is less from ideal because it requires a second log in (after az login). We are working towards removing this second login and reuse your az login.
Question 1: Can you run az login with your hotmail account? I would think you cannot, unless you have an Azure free trial for this hotmail account. In general, msbot clone login is similar to az login login in behavior.
Question 2: could you please re-run msbot clone with --verbose to get a bit more info?
If you do have Azure subscriptions on this account and az login works for you with hotmail, and msbot clone fails, that is certainly a bug. If that is the case, we can make a plan of action to swiftly solve this issue.
A final thought is that we are drastically improving az and msbot verbose logging which should make this much easier.
While I expect your answer, I'll keep investigating this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fbotbuilder-tools%2Fissues%2F813%23issuecomment-445317297&data=02|01|Gabo.Gilabert%40microsoft.com|cae907ae85fb4539cbdc08d65c6f4cae|72f988bf86f141af91ab2d7cd011db47|1|0|636798030429714173&sdata=gHVc6Hn6sAVBdSmCA97x9eguMC9Qs82DBrsT9BkCTMo%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALsl8ibddex_z7Y49wBCIJIE3OXWpNXPks5u2q8ggaJpZM4Y-m6q&data=02|01|Gabo.Gilabert%40microsoft.com|cae907ae85fb4539cbdc08d65c6f4cae|72f988bf86f141af91ab2d7cd011db47|1|0|636798030429714173&sdata=bzFmq%2Fq94aot4SzE7pjqCkfcOnlj3fP6VWz%2BoWnnOHM%3D&reserved=0.

Closing via stevengum/Azure-Cli#f9469d8287d8c4e32c11c7e8cbe9b4a5d0831b4e.
--appId and -p/--password are now required for az bot create and can be provisioned via Azure CLI (az ad app create).


Dramatically improve worst-case time

Some of the best characters-per-amount-of-improvement ratio I've ever written :)
In the worst-case of this algorithm (before), the worst-case is encountered when downstream nodes can't be filtered based upon connectivity to the partial candidate-mapping.
For example, in the star graph on 100 nodes, it takes us O(200) iterations to realize that we can't form any triangles: First to pick random nodes, and then to draw the first edge and realize there's nowhere for us to go.
This improvement checks the minimum degree of the receiving end of the edge, and short-circuits any search that is doomed to fail due to not-enough-places-to-go. In short, given a candidate mapping for any node, degree_motif ≥ degree_host.

Codecov Report

Merging #10 (b5ab1f1) into master (b5db289) will increase coverage by 0.14%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
+ Coverage   91.81%   91.95%   +0.14%
==========================================
  Files           3        3
  Lines         342      348       +6
==========================================
+ Hits          314      320       +6
  Misses         28       28

Impacted Files
Coverage Δ

grandiso/__init__.py
80.48% <ø> (ø)

grandiso/test_grandiso.py
100.00% <100.00%> (ø)

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 b5db289...b5ab1f1. Read the comment docs.


Clean up the code generation.

The code generation file is currently neither efficient nor elegant, some cleaning up is thus necessary.

Fixed up the worst offenders, might be interesting to revisit this though at some point.


Indicator details: Move number field after indicator name field

Move the number field from the Performance tab to the Summary tab, right after the name.
Why: Keep related things close together. Indicator numbers typically appear immediately before the title. Right now the number field is on an entirely different tab than the name field.

Subsumed by Satsuma


Create universal CF dashboard for Grafana, that will contain all metrics, available from firehouse nozzle.

Actually, all logs and metrics, that CF provides, follow the (same structure)[https://github.com/cloudfoundry/sonde-go/blob/master/events/envelope.pb.go#L103]
We can utilize this fact, and create a universal dashboard for grafana, that will be able to display all available metrics. This should be a grafana (scripted dashboard)[http://docs.grafana.org/reference/scripting/ ]
When executed, this dashboard should query influxdb and group all records by their (metric name)[https://github.com/cloudfoundry/sonde-go/blob/master/events/metric.pb.go#L23] This will provide us with a list of all available metrics. Then for each metric we can build individual graph, that will display the value for this metric.
Because CF provides us with very large amount of metrics, we should also provide a way of filtering this graphs. We can build special control, that will have a tree structure, with check box on each level.  Items in this tree, will correspond to different parts of CF metric names, splited by "."  (for example, for the following metric name 'cf.cc.total_users' we will have 3 nested levels) By clicking on checkboxes, operator will be able to show and hide graphs for individual metrics, as well as for the whole metric group.
CF have different event types, that can be interesting for us from monitoring perspective (this is not only metrics, but also counter events, container metrics, http events, the full list is here https://github.com/cloudfoundry/sonde-go/blob/master/events/envelope.pb.go#L56) we can also create similar dashboards, or extend our original dashboard to support this types of events.

I've finished this task. There is a set of pull request that makes it possible to create such dashboard
https://github.com/18F/cg-riemann-boshrelease/pull/27
This PR adds tag fields to riemann config, so this fields are added to influx db as tags and not as ordinary fields
https://github.com/18F/riemann-firehose-nozzle/pull/5
This PR adds additional field, that riemann-firehouse-nozzle will transfer ti riemann. This field is used in the dashboard
https://github.com/18F/cg-deploy-monitoring/pull/78
And finally this PR adds dashboard itself.

Blocked waiting for the merges above.

@sharms we're trying to figure out the status here and see if we can move this to complete. Can you assess it?

@rogeruiz will take a look at the related tickets that came out of this.


Release FMP 4.1.0

@lordofthejars @dev-gaur @mojsha: I'm thinking about releasing fabric8 maven plugin tomorrow. Does anyone have any objections? Are we good with releasing it? There are some people who want updated version(like in case of #1620) urgently.

Go for it. Releasing a new version is just free.

@rohanKanojia Can you please hold off until we have sorted out watch? I am currently unable to test it due to the other issue with duplicate sidecar container.

Thanks for 4.1.0! :heart_eyes:


<EMAIL_ADDRESS>

Used by:

https://github.com/grpc-ecosystem/proto-field-extraction

Related to: https://github.com/opencomputeproject/ocp-diag-core-cpp/pull/9

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (ocp-diag-core-cpp) have been updated in this PR. Please review the changes.


Deprecation of sklearn

Your https://github.com/AudioCommons/timbral_models/blob/master/setup.py depends on sklearn, which is now deprecated. The suggested fix is to use scikit-learn instead.
Does someone have the time to try this? For some reason I get an error when trying to clone the repository. The easiest way to try might be

clone the repository
change line 27 in https://github.com/AudioCommons/timbral_models/blob/master/setup.py
in the terminal, go into the repository with cd your/path/to/timbral_models and try to locally install using pip install -e . (you might want to do this in a separate python environment)

@Rodsis your pull request #17 does this , but it seems to do more than changing setup.py. Maybe a simple pull doing only this could be merged quickly to release a new version of timbral_models

@f-brinkmann I have created a focused pull request that addresses only the update from sklearn to scikit-learn in the setup.py file. This should ensure compatibility without the additional changes included in pull request #17


Remove panics in favour of dropping into a shell

Boot errors would occasionaly result in panics when certain conditions were met (like a dodgy vinit config). Rather than do that, we should log and drop out to a shell on error

I'm ignoring the quality gate, due to being too hard to test


Is multiple statement queries supported?

Executing multiple query statements within the same string can delegate the transaction management to mysql itself, which also has a smaller overhead since we don't need to create a transaction session within node.js server.
Is multiple statement queries (like the following one) supported?
INSERT INTO parent_table (id, field1, field2, field3) VALUES (1,2,3,4); INSERT INTO child_table (id, parentid, field1, field2) VALUES (1,1,2,3);
Right now I'm getting a parser error, but the output SQL can be  executed if I go directly to mysql terminal.
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlState: '42000'

Hi! Does it not work if you set to enable multiple statements in the connection options? Can you share what connection options you are using to create the connect? Perhaps you have a typo in the property to enable it?

Hi, doug!
My bad, I completely forgot that config parameter.
Thanks!

Hi @joserodolfofreitas, ah, gotcha :) Glad to hear it's working for you now :)!


Batch simple jobs inform log stream name

This PR solves #5824

[X] Feature is added
[X] The linter is happy
[X] Tests are added
[X] All tests pass, existing and new

The changes added are the minimum required to include the 'logStreamName' property to Batch Simple.

I fail too see how my changes affect the failing tests and how to fix the issue :/
Locally they pass with python 3.11.1 as well.
Could someone give me a hint so that I can fix them? Thanks!

Codecov Report

Merging #5825 (e50c949) into master (89fdf9d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #5825   +/-   ##
=======================================
  Coverage   96.18%   96.18%
=======================================
  Files         753      753
  Lines       73969    73970    +1
=======================================
+ Hits        71150    71151    +1
  Misses       2819     2819

Flag
Coverage Δ

servertests
36.95% <0.00%> (-0.01%)
:arrow_down:

unittests
96.12% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/batch/models.py
91.61% <100.00%> (ø)

moto/batch_simple/models.py
93.75% <100.00%> (+0.20%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I fail too see how my changes affect the failing tests and how to fix the issue :/ Locally they pass with python 3.11.1 as well.
Could someone give me a hint so that I can fix them? Thanks!

Looks like it was an intermittent failure - restarting the build fixed it


Improve handling of time for server side rendering (WIP)

Project organization

Related

Description
Checklist

[x] Base branch of the PR is dev

What the status of this PR? It's open for 4 months

No need to have this one open as a PR


idempotency seemingly broken; recipe fails to reinstall dmg when it's already installed

Cookbook version
2.4.0
Chef-client version
Chef: 12.10.24
Platform Details
OS X 10.9.5
Scenario:
I have the following recipe which ran fine the first time:
include_recipe 'dmg'

dmg_package "Xquartz" do
  source node['xquartz_url']
  volumes_dir node['xquartz_name']
  type 'pkg'
end

Where my attributes/default.rb file has:
default['xquartz_url'] = "https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.9.dmg"
default['xquartz_name'] = "XQuartz-2.7.9"

So I ran the recipe once and it worked fine.
Running it a second time I would expect it to realize that XQuartz is already installed and for it not to try and reinstall it. Instead it tries and fails to reinstall it.
Steps to Reproduce:
Run recipe above on a Mac OS X 10.9.5 node (or test kitchen)
Expected Result:
I was expecting the recipe to realize that XQuartz has already been installed and just skip over it.
Actual Result:
         * dmg_package[Xquartz] action install
           * remote_file[/tmp/kitchen/cache/Xquartz.dmg - Xquartz] action create (up to date)
           * ruby_block[attach /tmp/kitchen/cache/Xquartz.dmg] action run (skipped due to not_if)
           * execute[sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target /] action run

             ================================================================================
             Error executing action `run` on resource 'execute[sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target /]'
             ================================================================================

             Mixlib::ShellOut::ShellCommandFailed
             ------------------------------------
             Expected process to exit with [0], but received '1'
             ---- Begin output of sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target / ----
             STDOUT: installer: Error the package path specified was invalid: '/Volumes/XQuartz-2.7.9/Xquartz.pkg'.
             STDERR:
             ---- End output of sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target / ----
             Ran sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target / returned 1

             Resource Declaration:
             ---------------------
             # In /tmp/kitchen/cache/cookbooks/dmg/providers/package.rb

       73:       execute "sudo installer -pkg '/Volumes/#{volumes_dir}/#{new_resource.app}.#{new_resource.type}' -target /" do
       74:         # Prevent cfprefsd from holding up hdiutil detach for certain disk images
       75:         environment('__CFPREFERENCES_AVOID_DAEMON' => '1') if Gem::Version.new(node['platform_version']) >= Gem::Version.new('10.8')
       76:       end
       77:     end

             Compiled Resource:
             ------------------
             # Declared in /tmp/kitchen/cache/cookbooks/dmg/providers/package.rb:73:in `block in class_from_file'

             execute("sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target /") do
        action [:run]
        retries 0
        retry_delay 2
        default_guard_interpreter :execute
        command "sudo installer -pkg '/Volumes/XQuartz-2.7.9/Xquartz.pkg' -target /"
        backup 5
        environment {"__CFPREFERENCES_AVOID_DAEMON"=>"1"}
        returns 0
        declared_type :execute
        cookbook_name "BBS-provision-cookbook-mac"
             end

             Platform:
             ---------
             x86_64-darwin13.0

Worked around this with:
  not_if {File.exists? "/Applications/Utilities/XQuartz.app"}


Add support for lazy evaluation in Playground

In pull request #1052, cadet-frontend was updated to be able to select different variants of Source in js-slang as well as import and export programs using these variants with the "Share" links feature.
This commit updates cadet-frontend to be able to access the existing lazy evaluator through the same means as well, which was added in https://github.com/source-academy/js-slang/pull/461
Example:

Note: For this to work properly, https://github.com/source-academy/js-slang/pull/517 has to be merged as well, and cadet-frontend updated to use the version of js-slang that has those changes

Pull Request Test Coverage Report for Build 4380

2 of 7 (28.57%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 37.129%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sagas/workspaces.ts
1
6
16.67%

Totals

Change from base Build 4377:
-0.01%

Covered Lines:
2801

Relevant Lines:
6751

💛  - Coveralls


Logo Design

I'd like to create a professional logo for the website, something that goes with the theme.
I'd like to work on this under GSSOC'21, so if you approve of the issue please assign it to me. Thank you :)

hey @aashishah  sure u can go ahead! can you! post some ideas or things once made so that we can discuss them here or in the discord channel.

hey @aashishah sure u can go ahead! can you! post some ideas or things once made so that we can discuss them here or in the discord channel.

Surely, will post some designs here. Thank you!

hey @aashishah sure u can go ahead! can you! post some ideas or things once made so that we can discuss them here or in the discord channel.

Surely, will post some designs here. Thank you!

Share it in discord server

hey @aashishah sure u can go ahead! can you! post some ideas or things once made so that we can discuss them here or in the discord channel.

Surely, will post some designs here. Thank you!

yeah, please use the project discord server!

hey @aashishah sure u can go ahead! can you! post some ideas or things once made so that we can discuss them here or in the discord channel.

Surely, will post some designs here. Thank you!

yeah, please use the project discord server!

I accidentally closed this, apologies!

I would also like to make logo for the website under GSSOc'21, if you approve of this issue, I will start working on it.


Memory consumption

Describe the bug
memory is not being freed correctly i think
this is my example https://github.com/abdelaziz-mahdy/face_grouping
try to pick a dir with images in it it should extract the faces in it,
from the devtools the memory should be 100mb

but in activity monitor its 2 gb

Expected behavior
i think the memory should be the same as devtools and since they are not the same i think there is a problem with how the c part frees the memory
Desktop (please complete the following information):

OS: Macbook pro m2

Smartphone (please complete the following information):

Device: Macos
ABI Version arm64

Additional context
Add any other context about the problem here.

I have tested your example, yes, on windows a memory leak also observed.
It seems native resources are not correctly freed in cv.imread and cv.imencode, could you please replace the dependency of opencv_dart with issue-64 branch in your pubspec.yaml and test it? I tested on windows and it seems ok.

It seems an increase of ~20M still exists every time opening a directory, but much better now, and the reason may be an abuse of arena, but I am not clear why...
Anyway, I will reassess all arena recently.

i can confirm its much better now

its lower in devtools, dont know if ffi objects are not kept in the tracking or something

Just for remind myself,
According to https://github.com/dart-lang/sdk/issues/54233 , dart objects are small but native objects are large, so GC will not execute as we expected to free native resources timely, but I am still confusing why arena will not release memory automactically...
Releated:

https://github.com/dart-lang/sdk/issues/54233
https://github.com/dart-lang/native/issues/848

[x] reassess the use of Arena
[ ] Add [bool attach=true] to all native struct wrappers
[ ] Add explicit free methods to free native resources manaully, maybe called release(), free() or dispose()

 in some cases i still face the same problem, yes it got reduced alot but still happens, do you know how can i identify objects in memory so i can dispose what is not disposed, or we can check it to check why GC doesnt clean it
btw i opened devtools and forced GC but it didnt delete the objects

Yes, the memory increases constantly even when I switch around different tabs... will keep tracking


fill_form hangs for minutes until interrupted

When I try to fill a form, it just hangs for minutes until I interrupt it. I am using this form, which is just a random form I found online. And here's my code:
pdftk = PdfForms.new('/usr/local/bin/pdftk')

pdftk.get_field_names '/tmp/example.pdf'
=> ["Given Name Text Box", "Family Name Text Box", ...]

pdftk.fill_form '/tmp/example.pdf', '/tmp/filled.pdf', 'Given Name Text Box' => "Steve", 'Family Name Text Box' => "Hanson"
# just hangs for minutes

If I interrupt, I get:
from /~/dev/my-app/vendor/bundle/gems/safe_shell-1.0.3/lib/safe_shell.rb:12:in `read'

It was also hanging on get_field_names for another form I was trying to use. Am I just doing something wrong? Would appreciate any advice.
I'm on Mac OS X El Capitan and installed pdftk using brew install https://raw.github.com/quantiverge/homebrew-binary/pdftk/pdftk.rb

I have similar issue, it hangs on get_field_names until interrupt signal.
macOS Sierra, installed pdftk via brew install pdftk

I am also facing similar issue. I am using MacOS Sierra and pdftk 2.02 .

If a simple pdftk /path/to/pdf dump_data_fields on the command line is hanging as well there's nothing I can do. Please file a bug with pdftk in that case.

Guys, I found the problem. Basically, it is the same issue as this one from SO. You probably have El Capitan of Sierra as OS, and the package you've installed from official site is outdated. Use the link that Sid posted - this package fixed an issue for me.

@dikond Thanks for link. I was banging my head over my desk literally.
@jkraemer The issue is with the pdfkt installation. Not with the gem. Thanks for pointing it out.

@dikond thanks for sharing. Installing the updated pdftk version that Sid shared on that SO thread did fix it for me!
Sorry for posting the issue here instead of with pdftk, which is where the problem was. Seems like we can close this now.

thanks for reporting back your success.


[Bug] Neo 0.10.0 SpiketrainList objects may not pass type checks

Describe the bug
Some elephant functions check if an input is indeed a list of neo.SpikeTrain objects. With Neo 0.10.0, container objects such as Segement store lists of spiketrains as SpikeTrainList objects, and therefore users may pass such an object instead of a proper list. The error will be difficult to spot, therefore functions should make proper checks for lists of spike trains or a SpikeTrainList object.
An example of a function that checks inputs in this way is spade.spade().
Workaround:
x = [st for st in block.segment.spiketrains]

Hi! I can confrm @ackurth and I run into this problem when trying to use elephant.conversion.BinnedSpikeTrain(), would just avoiding the error already fix the issue or does the spiketrainlist also need special handling?
Best,
Aitor


unwanted conversion of underscores to spaces, in time units

Reported by Andrew Wittenberg on 17 Feb 2006 20:45 UTC
I have a NetCDF file with units of "months_since_event", where the underscores
(_) are intended to render the units human-readable, but not Ferret-parsable.
However, it looks like Ferret is trying to parse these units anyhow, converting
the underscores to spaces.  The same thing happens if I use a dash (-) instead
of an underscore.  Using a period (.) as a separator appears to work, however.
Note that a similar underscore-to-space conversion occurs with DEFINE AXIS/UNITS.
Is this desired behavior?
    NOAA/PMEL TMAP
    FERRET v5.81
    Linux(g77) 2.4.18 - 07/14/05
    17-Feb-06 15:40

yes? def ax/t=1:3:1/unit="months_since_event" tax
*** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
yes? let a = t[gt=tax]
yes? save/clobber/file=a.nc a
LISTing to file a.nc
yes? can var a; can ax tax
yes? use a.nc
**TMAP ERR: error in time line definition
syntax error in "EVE
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1394

Comment by<EMAIL_ADDRESS>on 23 Feb 2006 22:46 UTC
This is because of the special treatment of time units that contain the word
"since".  Ferret looks for "since" and tries to split the units string into the
units (such as months) and the time origin (1-jan-1990).  "event" cannot be
parsed as a date/time string, so that's where the error comes from.
/units="months_from_event" works ok (except that the string is truncated, see
below for more on this).
yes? def axis/t=1:3:1/unit="months_after_event" tax
*** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
yes? let a = t[gt=tax]
yes? save/clobber/file=a.nc a
LISTing to file a.nc
yes? can var a
yes? can ax tax
yes? use a
yes? say a,return=tunits
!-> MESSAGE/CONTINUE MONTHS_AFTER_EVE
MONTHS_AFTER_EVE
The reason the units string is truncated is that units strings are stored in the
character array line_units, which has strings of length 16 characters.

Fix cd_get_1_axis so that if the potential "date" string that comes after a
"since" is not able to be parsed, that we just use the whole units string.

Increase the length of units strings.

Comment by<EMAIL_ADDRESS>on 7 Mar 2006 23:03 UTC
yes? def axis/t=1:3:1/unit="months_since_event" tax
*** NOTE: /UNIT=MONTHS is ambiguous ... using 1/12 of 365.2425 days
yes? let a = t[gt=tax]
yes? save/clobber/file=a.nc a
LISTing to file a.nc
yes? can var a; can ax tax
yes? use a
*** NOTE: cannot parse "units since date", date= "EVENT"; leaving units string
yes? say a,ret=tunits
!-> MESSAGE/CONTINUE MONTHS_SINCE_EVENT
MONTHS_SINCE_EVENT
! changes to the following routines; mostly sending a flag to TM_DATE_REFORMAT,
! whether to output warning messages on attempt to reformat date.
fer/gnl/line_facts_xml.F
fer/gnl/show_line_xml.F
fmt/src/tm_date_reformat.F
fmt/src/tm_break_fmt_date.F
fmt/src/cd_get_1_axis.F
fmt/src/cd_write_axis.F
fmt/src/tm_make_dyn_line.F
cmn/xtm_grid.cmn_text


Replace uglify-js with terser.

Opening this to check the diff and investigate the switch.

@Johann-S: your thoughts? Not sure about this personally. I mean, to me, the most stable is closure, but it requires more work to configure it and it's a lot slower, although the latter let's say we ignore it.
On the other hand, I don't see any fixes in uglify for months and the latest version has known issues.

I'm still a little scared to make the switch yet...

personnally I want this in v5.
BTW Angular switch to Terser in their v7 and Terser did a lot of things so I think now it should works better

Ok, let's merge it and see how it goes. Compared to an unmaintained package with known bugs, this should be better.


client can report his own review, multiple times

1. Severity:
medium
2. Reported by:
Muhammad Khattab
3. Description:
client can report his own review.
client can report any review multiple times.
4. Steps to reproduce the issue:
review a service
click report
refresh the page then click report
5. Expected result:
should not allow a client to report his own review.
should not allow a client to report a review more than once.

Part1 is a duplicate of #245.
Part2 is a design decision.


Create an RE fixture for tests

In Hyperion we have an RE fixture for tests that neatly cleans itself up (https://github.com/DiamondLightSource/hyperion/blob/a8bc8b229581144296f9a88692bbf8f67f547348/tests/conftest.py#L139). We should consider moving it into dodal
Acceptance Criteria

dodal has a similar RE fixture to Hyperion

Done


changed postgres version in README.adoc

changed in Readme to use latest 16 postgresql version

Also needs update in :
https://github.com/PlaytikaOSS/testcontainers-spring-boot/blob/develop/embedded-postgresql/src/main/resources/META-INF/additional-spring-configuration-metadata.json#L13


Consistent: "No codeblocks detected in LLM response" for several files with

I am seeing consistent and repeatable issues with several files in Coolstore when I run against claude 3.5 sonnet.
It looks like the output stops suddenly midway through generating an update.
Config:
[models]
provider = "ChatBedrock"

[models.args]
model_id = "anthropic.claude-3-5-sonnet-20240620-v1:0"

Error snippet:
WARNING - 2024-09-04 06:50:33,902 - kai.models.file_solution - [    file_solution.py:95   - parse_file_solution_content()] - No codeblocks detected in LLM response
WARNING - 2024-09-04 06:50:33,907 - kai.service.kai_application.kai_application - [  kai_application.py:202  - get_incident_solutions_for_file()] - Request to model failed for batch 1/1 for src/main/java/com/redhat/coolstore/model/ShoppingCart.java with exception, retrying in 10.0s
Error in LLM Response: The LLM did not provide an updated file for src/main/java/com/redhat/coolstore/model/ShoppingCart.java

Attempting to convert:

https://github.com/konveyor-ecosystem/coolstore/blob/main/src/main/java/com/redhat/coolstore/service/ShoppingCartService.java

prompt:

https://gist.github.com/jwmatthews/c1dc0e251a9bd40e1efb83172e383439

llm_result (all failures, stops prematurely)

https://gist.github.com/jwmatthews/7b444fadd6db8645f1803f7bb16c8702
https://gist.github.com/jwmatthews/181e4c1ba3ccb3c98159f51c9ff5f58b
https://gist.github.com/jwmatthews/7b21d4b6135e569d490c91de66266144
https://gist.github.com/jwmatthews/554dcc24809141bd549f2c5e710995fe
https://gist.github.com/jwmatthews/9dd55a9378ed7437074d97fae0132f25

Note on a subsequent retry it failed once more and then succeeded but the contents of what it generated are incomplete/truncated
1 more failure: https://gist.github.com/jwmatthews/7d7aac70a6b69291e2ff0ed2b467debb
Partial Success but Incomplete:  https://gist.github.com/jwmatthews/0b366ffa4ff8fe2ed89638552e9972e9
It truncates the response and adds a comment   // Rest of the class remains unchanged
package com.redhat.coolstore.service;

import java.util.Hashtable;
import java.util.logging.Logger;

import jakarta.ejb.Stateful;
import jakarta.inject.Inject;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import jakarta.enterprise.context.SessionScoped;
import java.io.Serializable;

import com.redhat.coolstore.model.Product;
import com.redhat.coolstore.model.ShoppingCart;
import com.redhat.coolstore.model.ShoppingCartItem;

@SessionScoped
public class ShoppingCartService implements Serializable {

    private static final long serialVersionUID = 1L;

    @Inject
    Logger log;

    @Inject
    ProductService productServices;

    @Inject
    PromoService ps;

    @Inject
    ShoppingCartOrderProcessor shoppingCartOrderProcessor;

    private ShoppingCart cart  = new ShoppingCart(); //Each user can have multiple shopping carts (tabbed browsing)

    public ShoppingCartService() {
    }

    // Rest of the class remains unchanged

    private static ShippingServiceRemote lookupShippingServiceRemote() {
        try {
            final Hashtable<String, String> jndiProperties = new Hashtable<>();
            jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");

            final Context context = new InitialContext(jndiProperties);

            return (ShippingServiceRemote) context.lookup("ejb:/ROOT/ShippingService!" + ShippingServiceRemote.class.getName());
        } catch (NamingException e) {
            throw new RuntimeException(e);
        }
    }
}

Related to:

https://github.com/konveyor/kai/issues/208
https://github.com/konveyor/kai/issues/126

I'm seeing this consistently with bedrock and updating a big file. In order for the source code diff to actually render appropriately in in the IDE, I need the file in full. So I explicitly added into the prompt that I wanted the updated file in full, and it never has enough room in the response to give it to me.

@dymurray when you access via Bedrock what model did you see issues with?  I have used claude 3.5 sonnet and seen issues.  To date we've done more testing with llama3 and mixtral and not much with claude 3.5 sonnet.
I have 2 initial thoughts:

We've exceeded a context size for the response and the model is smart enough to truncate the output, this could be...but I'm not sure it's the case
We need to tweak the prompt more for claude, below are 2 links that may help us learn more:

https://github.com/anthropics/prompt-eng-interactive-tutorial/tree/master
@savitharaghunathan recently shared https://github.com/aws-samples/claude-prompt-generator

I think it's very likely our issue is from not modifying the prompt sufficiently for Claude.
We can likely get more info on the context size by looking at response metadata.
I have been working with @devjpt23 and he shared the below.
sample code from @devjpt23
ai_msg = llm.invoke(messages)
ai_msg.response_metadata['token_usage']['completion_tokens']

Example:
{\\n\\t\' response_metadata={\'token_usage\': {\'completion_tokens\': 738, \'prompt_tokens\': 1122, \'total_tokens\': 1860, \'completion_time\': 1.192732671, \'prompt_time\': 0.056392911, \'queue_time\': 0.0009406290000000053, \'total_time\': 1.249125582}, \'model_name\': \'mixtral-8x7b-32768\', \'system_fingerprint\': \'fp_c5f20b5bb1\', \'finish_reason\': \'stop\', \'logprobs\': None}

I could be mistaken, but I don't think there is any intelligence with returning a response when hitting the token limit. They just return what they finished generating before hitting the limit. It would make sense if this is what is happening.

I could be mistaken, but I don't think there is any intelligence with returning a response when hitting the token limit. They just return what they finished generating before hitting the limit. In the case of a streaming response they'll just stream until they hit it. It would make sense if this is what is happening.

@jmontleon I agree, I had assumed no intelligence and model would stream and get cut off, yet when I saw this the model intentionally omitted code, so it wasn't cut off, it made a choice to strip code out and give me a condensed output.
    public ShoppingCartService() {
    }

    // Rest of the class remains unchanged

    private static ShippingServiceRemote lookupShippingServiceRemote() {
        try {
            final Hashtable<String, String> jndiProperties = new Hashtable<>();
            jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");

            final Context context = new InitialContext(jndiProperties);

            return (ShippingServiceRemote) context.lookup("ejb:/ROOT/ShippingService!" + ShippingServiceRemote.class.getName());
        } catch (NamingException e) {
            throw new RuntimeException(e);
        }
    }
}

I've seen the above behavior, and also just stopping midstream and cutting off.
I have been using
model_id = "meta.llama3-70b-instruct-v1:0"

We were able to find that modifying the config with the following increased the output result with bedrock. I believe @dymurray finally had success with smaller files using this, although results for larger files were still cut off.
[models.args]
model_id = "meta.llama3-70b-instruct-v1:0"
model_kwargs.max_gen_len = 2048

Unfortunately this is the max_gen_len for llama models on bedrock
https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-meta.html

Related to #391

I have been working on resolving the issue and have successfully identified an optimal solution for the primary problems:

The "No codeblocks" error.
Unnecessary comments

Here is the detailed documentation regarding this issue.

Thank you @devjpt23 for the extensive deep dive into this problem and sharing what you learned!


Module 4 exercises [Mohammed Munzamil]

WS2_M4E1_Template_Mohammed_Munzamil.docx

Well done, Mohammed. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


Handle neovim plugin dependencies for luarocks specs? (e.g. nvim-dap-python)

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10
Operating system/version
macos 13
Describe the bug
the luarocks spec of nvim-dap-python requires a non-lua dependency: nvim-dap which triggers the luarocks build.
However, since nvim-dap is just a neovim plugin and there are no need to use the luarocks to build the package, just add nvim-dap as the dependencies in the lazy specs is sufficient enough.
Add build=false in the plugin specs works, however, this introduces a lot of manual works in the user's config as more plugins are writing luarocks specs.
Steps To Reproduce
get the following error when try nvim -u minimal-init.lua
(I don't have luarocks installed and I suppose most of the neovim users do not need it)

   Failed to spawn process luarocks {
          args = { "--tree", "~/nvim-test/.repro/data/nvim/lazy-rocks/nvim-dap-python", "--server", "https://nvim-neorocks.github.io/rocks-binaries/", "--dev", "--lua-version", "5.1", "make", "--force-fast" },
          cwd = "/Users/northyear/Downloads/nvim-test/.repro/plugins/nvim-dap-python",
          on_exit = <function 1>,
          on_line = <function 2>,
          timeout = 120000
        }

Expected Behavior
The installation should just works.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
	vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
	vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
	"folke/tokyonight.nvim",
	-- add any other plugins here
	{ "mfussenegger/nvim-dap", dependencies = {
		"mfussenegger/nvim-dap-python",
	} },
}
require("lazy").setup(plugins, {
	root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

However, since nvim-dap is just a neovim plugin and there are no need to use the luarocks to build the package, just add nvim-dap as the dependencies in the lazy specs is sufficient enough.

Unfortunately I have no way to know what the url is for that plugin and that it is indeed a Neovim plugin.
Submit a PR to the nvim-dap-python repo with a proper lazy.lua file so that will be used instead.


Move migration according to commit orders

#1900  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tommylau523 and the rest of your teammates on  Graphite

Merge activity

Apr 29, 6:10 PM EDT: @tommylau523 merged this pull request with Graphite.


Fixed requirements link

I just noticed this while browsing this project: the requirements link in the "Special thanks to" section is broken.

thanks


[FIX] bump pymare version to fix z values

Closes # .

Changes proposed in this pull request:

Summary by Sourcery
Bump the pymare package version from 0.0.7 to 0.0.8 in the setup configuration to fix issues related to z values.
Bug Fixes:

Update pymare dependency version to 0.0.8 to address issues with z values.

The change here: https://github.com/neurostuff/NiMARE/pull/903/files#diff-28db297ccb8f266a46d62412ac9cb9efde23ed3a1ea07a7db12313dc50b7e5b1 should fix the issues in the example gallery.
For the GitHub action, we only need to upgrade upload-artifact and download-artifact from v2 to v4.

looks good to me!
https://nimare--904.org.readthedocs.build/en/904/auto_examples/02_meta-analyses/02_plot_ibma.html#sphx-glr-auto-examples-02-meta-analyses-02-plot-ibma-py


vocals.volume fighting the value I try to set for it?

Describe your bug here.
Hey all, trying to set it so that the vocals are muted via lua, trying it out using
function onUpdate()
debugPrint(getProperty('vocals.volume'))
setProperty('vocals.volume', 0)
end
Seems to show that it's fighting between 0 and 1, constantly switching back and forth. any fix? Thanks!
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
None

2 options that may work better for you:

Delete the voices file itself
Set the needsVoices variable to false (alternatively, you can uncheck the box that's labeled has voice track in the chart editor), this method doesn't seem to work for me though, the voices seem to play anyway for some reason

Thanks for the tips! Unfortunately, neither achieved the goal I wanted. I'm looking for something like 'if VocalDisable == 1, then mute vocals'


Question about usage

Hi, potential silly question here:  does solve() actually send the solution back to the website via selenium, or does it just return the solution to be saved into a var and sent by the user as needed?

Hi, .solve() just returns a str solution to be used as needed.

Thanks


Testing

I created a mybinder environment for testing, but currently it fails:
https://github.com/jan-janssen/quantum-espresso-example
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 1.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

My mistake - it was an issue with the example I tried.


"Unset Field" information is lost when instantiating Model with nested model of "wrong" type

Bug
This may not actually be a bug, but the behavior seemed a bit unexpected. When unset fields are copied from an instantiated model into the expected nested model class, the information that they are unset is lost.
Perhaps best shown with a test case:
from pydantic import BaseModel

def test_unset_fields_maintained():
    class Child(BaseModel):
        a: str
        class Config:
            extra = "allow"

    # if this is a subclass of Child, all assertions succeed
    class ChildWithNone(BaseModel):
        a: str
        b: str = None

    class Parent(BaseModel):
        child: Child

    # data2 uses an "invalid" model with a superset of fields
    data = Parent(child=Child(a="hi"))
    data2 = Parent(child=ChildWithNone(a="hi"))

    expected = {"child": {"a": "hi"}}
    expected_with_none = {"child": {"a": "hi", "b": None}}

    assert data.dict() == expected
    assert data.dict(exclude_unset=True) == expected
    assert data2.dict() == expected_with_none

    # `b` was not set in ChildWithNone, but that information is lost
    # when copied into a Child instance
    assert data2.dict(exclude_unset=True) == expected
    # actual result is expected_with_none

Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.6.1
            pydantic compiled: False
                 install path: /home/test/.venv/lib/python3.7/site-packages/pydantic
               python version: 3.7.3 (default, Aug  7 2019, 15:06:22)  [GCC 5.4.0 20160609]
                     platform: Linux-4.15.0-72-generic-x86_64-with-debian-stretch-sid
     optional deps. installed: ['typing-extensions']

Hello @nayaverdier
It is unfortunately a recurring question (type coercion) and the thing is that here when you do
data2 = Parent(child=ChildWithNone(a="hi"))

pydantic tries to coerce it as a Child, which is valid because of the extra = "allow"
So you end up with
data2.child == Child(a='hi', b=None)

and that's why it is b is still here when you dump it with exclude_unset=True.

Hello,
Thanks for the explanation. With extra = "allow" it does make sense to include those extra fields.
Still, it would be nice to keep track of unset fields even after type coercions. I'm not sure if there are any reasons against doing it by default , but if one pydantic model is being coerced into another, is there any ability to copy __fields_set__ with it?

Hey all, I think I might be running into the same issue, or perhaps it's a different flavour of this problem?
I have a "main" object that you can think of as a mixture of multiple objects.
class Parent(BaseModel):
        a: str = None
        b: str = None

class ChildOne(BaseModel):
        a: str = None

class ChildTwo(BaseModel):
        b: str = None

Normally, when I need to pass ChildOne to a function, I do this:
def foo(parent: Parent):
    child_one = ChildOne.parse_obj(parent)

Now, if calling parent.dict(exclude_unset=True) returns an empty dictionary, I'd expect calling child_one.dict(exclude_unset=True) to also return an empty dictionary. But that's not what happens, I get {"a": None}.
Is there currently a way to get the behaviour I describe above? In my example, I guess I could make Parent simply extend ChildOne and ChildTwo, but that's not always going to work when my models get more complex.

@mrlubos You can use ChildOne(**parent.dict(exclude_unset=True)) to retain the unset fields as you'd expect. Not as elegant, but behaves more as you'd expect here.

That makes sense. Thank you @nayaverdier!

In v2, we no longer automatically coerce unrelated models from one type to the other, so the code above will now produce a ValidationError rather than setting the __fields_set__ in a surprising way.
Given that, I'm going to close this now, but message here if you want it reopened.


[FLINK-8012] [table] Fix TableSink config for tables with time attributes.

What is the purpose of the change
Fix the configuration of TableSinks for Tables with time attributes (TimeIndicatorTypeInfo).
Time indicators types are internal and must not be exposed to the outside (such as TableSinks).
Brief change log

the field type of time attributes (rowtime or proctime) is changed to their publicly visible type SQL_TIMESTAMP.
an existing test is adapted to check this case.

Verifying this change

an existing test method in TableSinkITCase was adapted.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? n/a

merging


Question: need access to parser.parse_args() or sys.arg from within custom completer

I have multiple completer functions that build dynamic (on-demand) completion lists from a database and directory listing.  I also have some additional optional arguments that would affect the database and parent directory locations however it looks like from within a completer function I only have access to the current option/prefix or the default args to the parser as opposed to everything passed in thus far.  Am I missing something?  Below is a simple example of what I am trying
def myTagCompleter(prefix, parsed_args, **kwargs):
    if parsed_args.doIt:
        # this never works as parsed_args.doIt is always the default of False
        completeList = ['four','five','six']
    else:
        completeList = [‘one’,’two’,’three’]
    jobCompletion = [job for job in completeList if job.startswith(prefix)]
    return jobCompletion

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument(-t, dest=tags, action=myTagValidater).completer = myTagCompleter
    parser.add_argument('-d', dest='doIt', default=False, action='store_true')

    argcomplete.autocomplete(parser)
    args = parser.parse_args()

myScript.py -d -t f<tab>

That looks like it should work. Can you set _ARC_DEBUG and show me the output when you do that?

You do have access to everything parsed thus far via the parsed_args argument. Your example works for me.
If you are still experiencing the problem, please paste the complete script that reproduces it. What you pasted contains syntax errors and is not a complete Python argparse script (python script.py --help won't run).


PVC Path and Host Mount Point

Hi all,
PVC volume name and rancher path is not same and clear when I check the related path on the /var/lib/rancher/longhorn/ path and there is no directory with same shown name on the screen  end of the that , I have find hover on the UI and find the real path with different name with pvc .

PVC name is not the same as Longhorn volume name. When you create PVC/PV manually in Longhorn UI, you can name the PVC as your wish.
The directory used the replica (and the result of hovering on the UI) is like <data path>/replicas/<replica name>/. Here the data path is /var/lib/rancher/longhorn. If you had never attached that volume to any nodes, the corresponding directory won't be created. BTW, the path is the path of host node rather than that of any workload containers.

@shuo-wu OP is expecting that when provisioning a PV using a PVC the corresponding Longhorn volume should inherit the name of the PVC. What do you think about that?
@WoodProgrammer Can you explain the benefit of having the file path on the worker nodes match the PVC name?

@janeczku any downtime, I need the recover my disk space, so that if I have to know name-in convention of the path of the replica disk space and mount point of dev disk

some disaster time I think we can use skillset of ISCSI just idea

@WoodProgrammer Since PVC is per namespace not per cluster, multiple namespaces might have the same-named PVC. That's one of the reasons Kubernetes doesn't provide PVC name to storage vendor. PV names are unique per cluster, so we can use it as the unique volume name across the whole cluster.
We do provide the associate PVC name to the volume through our UI and API.

thank for your helping I understand UI design and lognhorn between PV and PVC on k8s site


Fixed NON_EMPTY and NON_BLANK regex patterns

The regex patterns NON_BLANK and NON_EMPTY are wrong.
Current NON_EMPTY (".+") does not match a string with a new-line character(s): "\n\n".
Current NON_BLANK (".(\S+|\R).|!^\R*$") does not match e.g. "Foo\nBar\n".

Please add tests here https://github.com/spring-cloud/spring-cloud-contract/blob/master/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/RegexPatternsSpec.groovy

Ok, I will take a look at it.

updated tests: https://github.com/spring-cloud/spring-cloud-contract/pull/404

After updating the PR with tests please ensure that the whole project can be successfully built. For example, I'm more than certain that this test MockMvcMethodBodyBuilderSpec.should allow an easier way of providing dynamic values for [#methodBuilderName] will fail. Before you commit your changes please run
./mvnw clean install -Pintegration

to build the whole project and ensure that you don't break things.

I am sorry, I don't think I can get into that right now. I suggested how to fix the patterns and added some true/false test cases. I wanted to make it easier for you by doing a PR, but I can't get into fixing the tests now.


Saving Site Settings For Different Sites Saves To All Site Portals Same Setting 9.3.1

Description of bug
Installed 9.2.2, upgraded to 9.3.1 RC0, Created second portal website and looked at settings noticed they had blank description after creating one while creating the new site portal.  Created a second website and the website settings description saved to all the website portal settings as in each site had the same name, description....
Steps to reproduce
List the steps to reproduce the behavior:

Create a second portal website
Edit the portal site settings description or title, click save.
Go to site settings and it will be the same as the host first site setup settings
You will see you are Editing Site "Site Name" and the Title/description will be the same as the last one saved on any of the sites you create and install.  The last site settings saved overwrites the others... including site alias's....
Go To MANAGE > SITES

On any of the site portals websites to manage the sites.
the updates are applied correctly to each site however you will see the last updated site settings for all portals. If you go to Site Settings things get a little more interesting behavior... also not displaying site settings correctly except when you first visit the site ??
Affected version

[x] 9.3.1

Go To MANAGE > SITES
On any of the site portals websites to manage the sites.
the updates are applied correctly to each site however you will see the last updated site settings for all portals.  If you go to Site Settings things get a little more interesting behavior... also not displaying site settings correctly except when you first visit the site  ??

figured out the confusion was when I click on the gear in MANAGE > SITES On the persona bar for a certain site/portal it would take me to site settings admin panel but the choice at the top would have the last site selected settings.
I was expected to see my site settings for the site I clicked on the gear for.

I just installed the latest release, when I update the Site Alias it updates for all the website portals I created.  I will test on more instances however seems to be if I change the SITE selected in site settings all the websites display the same inforamtion after I update one of them.
The website I am on is the site alias information being displayed and updated on all portals as I switch between them.  Or at least it appears that way... it might be different in the database itself I will check.

OK this is confirmed, opened up the other website portal and the same thing is happening.  No matter what portal I choose it shows the portal I have currently logged into information.
When you switch between portals you see the same information displayed
Site Settings > SIte Behavior > Site Aliases
None of other tabs or settings pages have this behavior I have seen or tested.

Two seperate instances issue confirmed.  Switching between sites while viewing site alias will only display the portal alias settings for the portal you are logged into.

I've verified that switching sites does not refresh the alias list, but does refresh everything else. Switching between tabs fixes the alias list.

correct, in the previous version there was an issue with all the pages, now just the alias seems to not function, you have to log into the portal to see the changes and you only see the settings for the portal you are using.

This issue is still present in DNN 9.3.2

This is still the case with 9.4.0 RC, I am closing this issue in favor of a duplicate in AdminExperience https://github.com/dnnsoftware/Dnn.AdminExperience/issues/1052 since it needs to be fixed there.


Markdown files not formatted automatically sometimes

When committing changes that only touch markdown files the current configuration for lint-staged is not checking for changes in markdown files so they're not being formatted.

Just found out our glob is incorrect and markdown files are still not being formatted


How to make a complete backup of the k3s cluster data?

When my cluster is down, and cannot be recovered anymore.  I want to create a new cluster and restore the data from the previous cluster.
I want that I can simpley make a data backup of the k3s cluster ,  and use the data to restore a cluster.

Hi @zengyongjie you can do that but this depends on your storage type (embedded etcd, Postgres). This might help https://github.com/k3s-io/k3s/issues/3174


suggestion to include purescript-language-server in example

Closes: https://github.com/thomashoneyman/purescript-overlay/issues/44
Only a suggestion
I.m.o. this supports direnv and LSP users.
Test:
purescript-overlay-test$ which purescript-language-server
/nix/store/6mqk8yzjyvk230w2j52m550xpdg8mw8v-purescript-language-server-0.17.1/bin/purescript-language-server

from NixPkgs:
https://search.nixos.org/packages?channel=unstable&show=nodePackages.purescript-language-server&from=0&size=50&sort=relevance&type=packages&query=purescript-language-server

See #46


Upgrade Parallels Desktop.app to v10.1.3-28868

Besides upgrading the app to the newer version, I also dared extract the /v10/ part of the URL by simple slicing the version string. If it is acceptable here (since the cask is a ruby file) so great.

Not only acceptable, but encouraged. Thank you.


Update discipline-scalatest to 1.0.1

Updates org.typelevel:discipline-scalatest from 1.0.0 to 1.0.1.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "discipline-scalatest" } ]

labels: library-update, semver-patch

Codecov Report

Merging #1404 into master will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1404      +/-   ##
==========================================
- Coverage   85.89%   85.85%   -0.05%
==========================================
  Files          72       72
  Lines        2496     2496
  Branches      112      112
==========================================
- Hits         2144     2143       -1
- Misses        352      353       +1

Impacted Files
Coverage Δ

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
91.66% <0%> (-8.34%)
:arrow_down:

...d/src/main/scala/io/circe/cursor/ArrayCursor.scala
61.53% <0%> (-7.7%)
:arrow_down:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
92.77% <0%> (-4.82%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.28% <0%> (+0.27%)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
85.96% <0%> (+0.58%)
:arrow_up:

...les/core/shared/src/main/scala/io/circe/Json.scala
79.42% <0%> (+1.14%)
:arrow_up:

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
97.29% <0%> (+2.7%)
: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 af857ba...7c5c01e. Read the comment docs.


Dependencies Issue of Chromium | Puppeteer | Repl.it

Dependencies Issue of Chromium | Puppeteer | Repl.it
I am recently working on a fun project in repl.it where I need to use puppeteer as a browser automation tool. And after adding this package in my repl some error showed up saying,

Failed to launch the browser process! /home/runner/WhatsAppBot/node_modules/puppeteer/.local-chromium/linux-869685/chrome-linux/chrome: error while loading shared libraries: libgobject-2.0.so.0: cannot open shared object file: No such file or directory.

When I went to check the missing dependencies, I got a huge list containing those missing libraries. As I don't have the root permission, I couldn't able to install them.
Is there any way to solve this problem?

NOTE: I tried installing some previous versions of puppeteer and chromium but didn't work out for me.

Here are some lines of my index.js
require("./server");
const pptr = require("puppeteer");

async function send() {
  const brwoser = await pptr.launch({
    //userDataDir: "./User_Data",
    headless: true,
    args: ['--no-sandbox', '--disable-setuid-sandbox']
  });
  const page = await brwoser.newPage();
  await page.setUserAgent(
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36"
  );
  await page.setViewport({ width: 1000, height: 728 });
  await page.goto("https://web.whatsapp.com");
  await page.waitForTimeout(5000);

Missing Dependencies:

Originally posted by @erendexter in https://github.com/puppeteer/puppeteer/issues/7321#issuecomment-859141705

I use Remote Development in vscode to develop, and when I run it in a container, I have exactly the same problem as you.

Same here

there are some solution for this?

@jrandolf Is there any solution to run puppeteer on repl.it ?


Use Rayon for threading instead of in-house solution

What does this solve?
Throughput / deadlock issues that would occur on lower-end systems with poorer thread scheduling
Why is this necessary?
Using Rayon will help improve throughput in many places, helping bring down migration time even further

Turns out Rayon is slower than my custom collector system!


Restricting terragrunt *-all to specific environment?

Hey guys,
I have the following configuration in the parent terragrunt.hcl file:
inputs = merge(
  yamldecode(
    file("${get_parent_terragrunt_dir()}/../global/global-values_${get_env("ENVIRONMENT", "")}.yaml"),
  ),
  yamldecode(
    file("${get_terragrunt_dir()}/values_${get_env("ENVIRONMENT", "")}.yaml"),
  )
)

Running terragrunt plan-all/apply-all fails due to some directories which don't contain a yaml file for the specific environment.
Is there a way to restrict terragrunt *-all to run only on modules which contain the environment's yaml file, without resorting to --terragrunt-include-dir or --terragrunt-exclude-dir?
Thanks!

This isn't an answer to your exact question, but should workaround the specific issue you are hitting with the usage of yamldecode and file. The canonical way to address this is to use find_in_parent_folders and default to an empty yaml file at the root of your project. See this repo for an example setup. Specifically: https://github.com/gruntwork-io/terragrunt-infrastructure-live-example/blob/master/non-prod/terragrunt.hcl#L26

Thanks @yorinasub17.
I did try this example, however the module is asking for the missing variables when an empty yaml file is used as input.
Any other suggestions?

I have found a workaround to the missing variables issue, I added the following to the child terragrunt.hcl:
skip = fileexists("../values_${get_env("ENVIRONMENT", "")}.yaml")  ? false : true

However, I'm still not loving the idea of having to create a subdirectory for the terragrunt,hcl file just for the sake of using the find_in_parent_folders function. Is there an alternative?
Thanks

however the module is asking for the missing variables when an empty yaml file is used as input.

What is the normal way you are providing these variables? As in, are these modules designed such that you need the variables to be provided manually and thus want to exclude from the apply-all?

I'm still not loving the idea of having to create a subdirectory for the terragrunt,hcl file

I am confused by this. Are you referring to the terragrunt.hcl inheritance model with include? Or are you referring to the yaml files? What is the ideal way you want to organize your folders?

@yorinasub17 I'm providing the variables with a yaml values file specific for the component within a specific environment:
yamldecode(
    file("${get_terragrunt_dir()}/${find_in_parent_folders("values_${get_env("ENVIRONMENT", "")}.yaml", local.default_yaml_path)}"),
  )

Currently this is my directory structure:
├── devops
│   ├── amazing-app
│   │   ├── ecr
│   │   │   ├── terragrunt
│   │   │   │   └── terragrunt.hcl
│   │   │   └── values_us-east-1_global.yaml
│   │   ├── k8s
│   │   │   ├── terragrunt
│   │   │   │   └── terragrunt.hcl
│   │   │   └── values_us-east-1_dev.yaml
│   │   └── s3
│   │       ├── terragrunt
│   │       │   └── terragrunt.hcl
│   │       └── values_us-east-1_dev.yaml
├── empty.yaml
├── global
│   ├── global-values_us-east-1_dev.yaml
│   ├── global-values_us-east-1_global.yaml
│   ├── global-values_us-east-1_prod.yaml
│   ├── global-values_us-east-1_staging.yaml
├── modules
│   ├── ecr
│   │   ├── main.tf
│   │   ├── outouts.tf
│   │   └── variables.tf
│   ├── k8s
│   │   ├── main.tf
│   │   ├── outouts.tf
│   │   └── variables.tf
│   └── s3
│       ├── main.tf
│       ├── outouts.tf
│       └── variables.tf
└── terragrunt.hcl

As you can see I had to move the child terragrunt.hcl files to a terragrunt subdirectory due to the use of the find_in_parent_folders function.

Oh in that case, can you use path_relative_from_include for the default path? E.g:
file("${get_terragrunt_dir()}/${find_in_parent_folders("values_${get_env("ENVIRONMENT", "")}.yaml", "${path_relative_from_include()}/global/values_${get_env("ENVIRONMENT", "")}.yaml")}")

Thank @yorinasub17.
I ended up with this workaround:
locals {
  default_yaml_path = find_in_parent_folders("empty.yaml", "empty.yaml")
  file_path = "${get_terragrunt_dir()}/values_${get_env("TF_VAR_environment", "")}.yaml"
  environment_yaml_file = fileexists(local.file_path) ? local.file_path : local.default_yaml_path
}

inputs = merge(
  yamldecode(
    file("${get_parent_terragrunt_dir()}/global/global-values_${get_env("TF_VAR_environment", "")}.yaml")
  ),
  yamldecode(
    file(local.environment_yaml_file),
  ),
  {
    team = "${split("/", path_relative_to_include()).0}"
  },
  {
    account = "${split("_", get_env("TF_VAR_environment", "")).0}"
  }
)

Thanks for closing the loop. Going to close this issue now as we don't intend on implementing complex build logic for the xxx-all commands in terragrunt at the moment.


Refactor dtmdriver

Codecov Report

Merging #335 (d0143ce) into main (a788ebe) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #335      +/-   ##
==========================================
- Coverage   97.29%   97.29%   -0.01%
==========================================
  Files          55       55
  Lines        3185     3178       -7
==========================================
- Hits         3099     3092       -7
  Misses         51       51
  Partials       35       35

Impacted Files
Coverage Δ

client/dtmcli/dtmimp/vars.go
100.00% <100.00%> (ø)

client/dtmgrpc/dtmgimp/grpc_clients.go
100.00% <100.00%> (ø)

client/workflow/imp.go
96.72% <100.00%> (-0.08%)
:arrow_down:

dtmsvr/svr.go
92.30% <100.00%> (-0.72%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us.


Add css styling and color indicators to source select buttons

fixes #193

Fascinating, i didn't even know one could style GTK UIs like that.

beautiful :)


Add GET and PUT core-command endpoints by Device and Command Names:

/device/name/{name}/command/{commandname}
Issue: https://github.com/edgexfoundry/edgex-go/issues/1223
Signed-off-by: difince<EMAIL_ADDRESS>

recheck


entity, part, sketch testcases partially completed

Implemented and verified testcases in entity, part, sketch modules.

Looks good, thank you @Nandhakumar19dev


New pattern: aws-kinesisfirehose-elasticsearch

Data coming through Firehose pushed to Elasticsearch
Use Case

Proposed Solution

Other

[ ] :wave: I may be able to implement this feature request
[ ] :warning: This feature might incur a breaking change

This is a :rocket: Feature Request

@hnishar I can help with this pattern


Use unix timestamp rather than DateTime in Timestamp structure

Timestamp is only created from librdkafka values (message notification and message consumed) so it's better to use the timestamp to define it.
DateTime is misleading given its kind (to datetime with different kind are not equal even if they have the same timestamp) and that it can't always be converted to a unix timestamp (precision is below the millisecond)
This PR also make the conversion more consistent (the static method DateTime -> timestamp now always round down to the latest millisecond - I like API to be 100% predictable)

I just had a quick look at this and my initial reaction is yes, I like it a lot - it's a much better factoring. Will do a closer review a bit later.

some changes:

I removed the LocalDateTime and DateTimeOffset properties as DateTimeOffset apparently inserts some local timezone magic, which I think should be avoided here.
I added some missing comments.

I've pushed the changes to my (mhowlett) timezone branch. I can merge this, or you can give me write permission to your repo and I can push to yours. The reason i suggest the latter is I don't know if merging from my branch will affect attribution.

Ok for me :+1: You can merge from your branch, commit attribution should stay ok

closing - PR #138 (which is about to be merged) extends this PR with some tidy-up.

this did affect attribution (because of squash before merge) - feel free to give me write access to your confluent-kafka-dotnet repo - sometimes it will be a quicker workflow for me to just push commits rather than explain everything in words...

Done, thanks!


build(build-tools): Upgrade oclif

Upgrades oclif and related packages to the latest version.

The oclif/test upgrade is causing tests to fail, so I can't merge this until that's resolved.


Support per-model settings for batched tiles

Is your feature request related to a problem? Please describe.
A view can customize the way a particular model displays in several ways:

Apply different clip volumes to groups of models
Apply a display transform to individual models
Use PlanProjectionSettings to apply an elevation transform and/or transparency to a plan projection model; and/or specify that the model should draw as an overlay.

These work well when each model is associated with its own independent tile tree. They do not currently work at all for batched tile trees, which combine geometry from many models into a single tile tree.
Describe the solution you'd like
The features above should work as expected with batched tiles.
Describe alternatives you've considered
None.
Additional context
PlanProjectionSettings can also specify that the display priorities associated with subcategories should be used to control the order in which geometry lying in the same XY plane is drawn. That also does not work with batched tiles, but it is separate from these per-model display settings.
Schedule animations are closely related in that they also can apply a transform on a per-model basis. They do currently work with batched tiles, but their implementation will need to be replaced (generalized) as part of the work required to implement the above features.

A naive approach would be to split the contents of each tile into a separate branch for each model - then we could apply transforms etc to individual branches. However this would negate many of the benefits of batching by generating (at least) one draw call per model.
Instead we will identify groups of models which are to be drawn with equivalent settings (i.e., having equivalent transforms, clip volumes, and plan projection settings) and split the contents of the tiles based on those groupings. This should produce many fewer draw calls. However, now we must detect if the grouping later changes (e.g., because a model was added or removed from a ModelClipGroup), and re-split the tiles based on the new grouping. We will rely on the likelihood that the tile content will remain in the browser cache, so that we're not re-downloading the tiles every time the groupings change.
Detecting when the groupings may have changed should be straightforward in most cases, because the view and display style provide events notifying us when, e.g., the plan projection settings are modified. Model display transforms are the exception - a ModelDisplayTransformProvider supplies only a single method - getModelDisplayTransform. We need to invoke that function to find out the current transform for each model (likely to change relatively frequently), and detect whether the groupings of models sharing equivalent transforms has changed (likely to change relatively infrequently). We want to limit how frequently we need to re-evaluate the full groupings, and optimize the performance thereof. We can probably assume that display transforms remain unchanged as long as the viewport's scene is not invalidated, as any transform provider would want to invalidate the scene when it updates the transform so that the view will update accordingly.


CompactToken parsing failed with error code: 80049217

Bug description:

When I formatted the SD card and re-hacked my camera with firmware. I found the curl in /usr/bin directory ran with Segment fault failure, so I grabbed the latest curl from official and it worked for the initial setup using the first-time redeemed access token;
When the onedrive-uploader runs a second time (reboot or be killed and run again) after configured, the refreshed token cannot be used to access OneDrive API successfully, and found the error in the log file as this bug's title;

This issue is resolved without changing any code.


Add debug logging for output streaming

This PR adds debug logging for the creation of output streams.
The ladybug logging is still not good.
It appears to me that the AOP proxying of pipes and senders is broken, possibly after merge of #1686

See https://docs.spring.io/spring-framework/docs/3.0.0.M3/reference/html/ch08s06.html,
https://stackoverflow.com/questions/34563058/spring-aop-cglib-proxys-field-is-null
and https://stackoverflow.com/questions/11580911/spring-singleton-bean-fields-are-not-populated


Example 1 is solved with wrong steps

Output of solving Example 1:
> import PubGrub
> import Version
> PubGrub.solve "root" Version.one
Add the following 1 incompatibilities from dependencies of root: ""
   root: 1.0.0, foo: Not ( 1.0.0 <= v < 2.0.0 )  <<<  from dependency of root at version 1.0.0: ""
Decision level 1 : root : 1.0.0: ""
Derivation : foo : 1.0.0 <= v < 2.0.0: ""
Add the following 1 incompatibilities from dependencies of foo: ""
   foo: 1.0.0, bar: Not ( 1.0.0 <= v < 2.0.0 )  <<<  from dependency of foo at version 1.0.0: ""
Decision level 2 : foo : 1.0.0: ""
Derivation : bar : 1.0.0 <= v < 2.0.0: ""
Add the following 0 incompatibilities from dependencies of bar: ""
Decision level 3 : bar : 1.0.0: ""
Ok [("bar",Version { major = 1, minor = 0, patch = 0 }),("foo",Version { major = 1, minor = 0, patch = 0 }),("root",Version { major = 1, minor = 0, patch = 0 })]

Comparing this to the exact steps algorithm should take, elm-pubgrub at least uses incorrect decision level numbers while solving this example.

Yeah decision level spec is very unclear in the spec actually. And the start of the algorithm I add an incompatibility that generates a derivation that will be added to the partial solution first (thus with level = 0). Then the decision for root is added, making it level 1. I don't thing this is much of an issue, the algorithm doesn't seem to be reliant on which level is the first one.

Also as I think of it now, I remember that the order in the examples rely on the strategy used to choose the next package/version. The thing I've implemented just take the first one in the list. That's why I still have a List.reverse in example 3: https://github.com/mpizenberg/elm-pubgrub/blob/3a36cd3ed2dd4c0278fff6316b57b9411c35b1cf/src/Database/Stub.elm#L127
As I remember it, At the time I was testing this, I've tried reversing lists of stuff. But maybe there is still an issue that I didn't spot!

The example step-by-step solutions are a bit simplified and not totally accurate with the detailed PubGrub implementation. They are more guidelines than accurate algorithm steps. For example, note that the description says

decision level 1 is the level where the root package was selected

while the example table uses level 0 for this. Level 1 is the correct choice since the algorithms actually starts with

Begin by adding an incompatibility indicating that the current version of the root package must be selected (for example, {not root 1.0.0}).

Which should be in the table just before step 1. In turn, that incompatibility triggers the add of the derivation root 1.0.0, which should also appear before. Finally, that derivation which must have a level (so level 0 is given to it) triggers the addition of the decision root 1.0.0. Decisions added to the partial solution automatically increment the decision level, which means it has to be 1 since the previous derivation already has level 0.
PS: to see in the log the add of that level 0 derivation root 1.0.0, we should add a debug log in the first branch of PartialSolution.prependDerivation.


Error when upgrading from 6.02

Hi,
When we're trying to update the plugin from 6.02 we get an error and I believe it's related to an updated table schema.
The error we received was "Invalid column name 'ModificationDate'." and when I compare the table schemas from https://github.com/valdisiljuconoks/LocalizationProvider/blob/b42b2e6509899a644d6d90c91183a129beb590a0/src/DbLocalizationProvider.Storage.SqlServer/SchemaUpdater.cs and what we have I can see that we're missing the "ModificationDate" on the "LocalizationResourceTranslations" table.
Is there a migration job missing for this?
Br,
Mathias

Hmm,
this does not work on your db?
https://github.com/valdisiljuconoks/LocalizationProvider/blob/b42b2e6509899a644d6d90c91183a129beb590a0/src/DbLocalizationProvider.Storage.SqlServer/SchemaUpdater.cs#L129

Hi,
It did not unfortunately, we had to make our own migration for this. We also noticed errors when the index ix_UniqueTranslationForLanguage was created (this was created when updating the tool). We had some duplicate keys which caused a hard exception and we had to create a migration for this as well.
Br,
Mathias

That is strange. I've tested different migration paths to see how this will work. Which SQL version are you running? Chances of half migrated state somehow?

There was a chance of half migration, after I upgraded I was just met with a generic 500 error and in the event viewer I could see the error above.
I was running Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) when I got this error, however on another machine the migration worked by itself.

If you do have repro steps, please reopen


Why ESP32-S3 in ESP-IDF v4.4.2 building error?

I want to use this repo to build my fully_connected application. But when I use my ESP32-S3 and ESP-IDF v4.4.2 to build this application will report error.
CMakeOutput.log

@WangShuoran
Few questions:

Does the test application build well for you?
What method do you use to include esp-nn in your project? Looks like your application is trying to search for components insider esp-nn/ directory whereas, esp-nn itself is a component

Additionally, can you please also share console logs?

Sorry, I forget it.
I am use repo/test_app(as your 1. say), I think this is an example, when I inter the test_app folder , select ESP32-S3, and run idf.py menuconfig. the error console is:
{}[SDK Configuration Editor]
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.36.1.windows.1")

[SDK Configuration Editor]
-- ccache will be used for faster recompilation

[SDK Configuration Editor]
-- The C compiler identification is GNU 8.4.0

[SDK Configuration Editor]
-- The CXX compiler identification is GNU 8.4.0

[SDK Configuration Editor]
-- The ASM compiler identification is GNU

[SDK Configuration Editor]
-- Found assembler: C:/Espressif/tools/xtensa-esp32s3-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe

[SDK Configuration Editor]
-- Detecting C compiler ABI info

[SDK Configuration Editor]
-- Detecting C compiler ABI info - done

[SDK Configuration Editor]
-- Check for working C compiler: C:/Espressif/tools/xtensa-esp32s3-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe - skipped

[SDK Configuration Editor]
-- Detecting C compile features

[SDK Configuration Editor]
-- Detecting C compile features - done

[SDK Configuration Editor]
-- Detecting CXX compiler ABI info

[SDK Configuration Editor]
-- Detecting CXX compiler ABI info - done

[SDK Configuration Editor]
-- Check for working CXX compiler: C:/Espressif/tools/xtensa-esp32s3-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-g++.exe - skipped

[SDK Configuration Editor]
-- Detecting CXX compile features

[SDK Configuration Editor]
-- Detecting CXX compile features - done

[SDK Configuration Editor]
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32s3

[SDK Configuration Editor]
---------------------------ERROR--------------------------

CMake Error at C:/Espressif/frameworks/esp-idf-v4.4.2/tools/cmake/build.cmake:201 (message):
  Failed to resolve component 'esp-nn'.
Call Stack (most recent call first):
  C:/Espressif/frameworks/esp-idf-v4.4.2/tools/cmake/build.cmake:232 (__build_resolve_and_add_req)
  C:/Espressif/frameworks/esp-idf-v4.4.2/tools/cmake/build.cmake:233 (__build_expand_requirements)
  C:/Espressif/frameworks/esp-idf-v4.4.2/tools/cmake/build.cmake:509 (__build_expand_requirements)
  C:/Espressif/frameworks/esp-idf-v4.4.2/tools/cmake/project.cmake:384 (idf_build_process)
  CMakeLists.txt:9 (project)

-----------------------END OF ERROR-----------------------
[SDK Configuration Editor]
-- Configuring incomplete, errors occurred!
See also "D:/test_study_v2/esp-nn-master/test_app/build/CMakeFiles/CMakeOutput.log".
Executing action: confserver
Running cmake in directory d:\test_study_v2\esp-nn-master\test_app\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DCCACHE_ENABLE=1 d:\test_study_v2\esp-nn-master\test_app"...

[SDK Configuration Editor]
---------------------------ERROR--------------------------

cmake failed with exit code 1

-----------------------END OF ERROR-----------------------
[SDK Configuration Editor]
---------------------------ERROR--------------------------

SDK Configuration editor confserver process exited with code: 2
-----------------------END OF ERROR-----------------------

And I don't find the README.md let me config global environment. And the ASM I don't know how to let CMakeLists.txt import to Project, so I don't know how to config an instead CMakeLists.txt.

Thanks for the updates.
I see that you have renamed the project folder to esp-nn-master. You need to keep the folder name to esp-nn.
This is because, the the lib gets built with the folder name!
In brief: Rename the outer folder back to esp-nn and the build shall go through.
For configuration you may refer to this: https://github.com/espressif/esp-nn#configuration
Using a CMake Project is quite standard. You will need to specify requirements and include the project directory. You may refer to tesp_app for this.

@WangShuoran by the way, if you are looking for tflite-micro integration, you can already find it here: https://github.com/espressif/tflite-micro-esp-examples

I test the example, and build is ok, but when I efuse ESP32-S3 it will output:
I (43) boot: ESP-IDF v4.4.2-dirty 2nd stage bootloader
I (43) boot: compile time 09:33:21
I (43) boot: chip revision: 0
I (56) boot.esp32s3: Boot SPI Speed : 80MHz
I (56) boot.esp32s3: SPI Mode       : DIO
I (57) boot.esp32s3: SPI Flash Size : 8MB
I (59) boot: Enabling RNG early entropy source...
I (65) boot: Partition Table:
I (68) boot: ## Label            Usage          Type ST Offset   Length
I (76) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (83) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (91) boot:  2 factory          factory app      00 00 00010000 00100000
I (98) boot: End of partition table
I (102) esp_image: segment 0: paddr=00010020 vaddr=3c030020 size=08248h ( 33352) map
I (117) esp_image: segment 1: paddr=00018270 vaddr=3fc91db0 size=02b40h ( 11072) load
I (122) esp_image: segment 2: paddr=0001adb8 vaddr=40374000 size=05260h ( 21088) load
I (132) esp_image: segment 3: paddr=00020020 vaddr=42000020 size=2075ch (132956) map
I (160) esp_image: segment 4: paddr=00040784 vaddr=40379260 size=08b50h ( 35664) load
I (168) esp_image: segment 5: paddr=000492dc vaddr=50000000 size=00010h (    16) load
I (174) boot: Loaded app from partition at offset 0x10000
I (174) boot: Disabling RNG early entropy source...
I (189) opi psram: vendor id : 0x0d (AP)
I (189) opi psram: dev id    : 0x02 (generation 3)
I (189) opi psram: density   : 0x03 (64 Mbit)
I (193) opi psram: good-die  : 0x01 (Pass)
I (197) opi psram: Latency   : 0x01 (Fixed)
I (202) opi psram: VCC       : 0x01 (3V)
I (207) opi psram: SRF       : 0x01 (Fast Refresh)
I (212) opi psram: BurstType : 0x01 (Hybrid Wrap)
I (218) opi psram: BurstLen  : 0x01 (32 Byte)
I (223) opi psram: Readlatency  : 0x02 (10 cycles@Fixed)
I (229) opi psram: DriveStrength: 0x00 (1/1)
W (234) PSRAM: DO NOT USE FOR MASS PRODUCTION! Timing parameters will be updated in future IDF version.
I (244) spiram: Found 64MBit SPI RAM device
I (249) spiram: SPI RAM mode: sram 80m
I (253) spiram: PSRAM initialized, cache is in normal (1-core) mode.
I (260) cpu_start: Pro cpu up.
I (264) cpu_start: Starting app cpu, entry point is 0x40375230
0x40375230: call_start_cpu1 at C:/Espressif/frameworks/esp-idf-v4.4.2/components/esp_system/port/cpu_start.c:160

I (0) cpu_start: App cpu up.
I (559) spiram: SPI SRAM memory test OK
I (567) cpu_start: Pro cpu start user code
I (567) cpu_start: cpu freq: 240000000
I (567) cpu_start: Application information:
I (570) cpu_start: Project name:     test_app
I (575) cpu_start: App version:      1
I (579) cpu_start: Compile time:     Oct 15 2022 09:33:12
I (585) cpu_start: ELF file SHA256:  5fbba61455b970c4...
I (591) cpu_start: ESP-IDF:          v4.4.2-dirty
I (597) heap_init: Initializing. RAM available for dynamic allocation:
I (604) heap_init: At 3FC95308 len 0004ACF8 (299 KiB): D/IRAM
I (610) heap_init: At 3FCE0000 len 0000EE34 (59 KiB): STACK/DRAM
I (617) heap_init: At 600FE000 len 00002000 (8 KiB): RTCRAM
I (623) spiram: Adding pool of 8192K of external SPI memory to heap allocator
I (631) spi_flash: detected chip: winbond
I (636) spi_flash: flash io: dio
I (640) sleep: Configure to isolate all GPIO pins in sleep state
I (647) sleep: Enable automatic switching of GPIO sleep configuration
I (654) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (674) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (674) test_app: Running s8 tests...
esp_nn_add_elementwise_s8_test[0] passed
esp_nn_add_elementwise_s8_test[1] passed
esp_nn_add_elementwise_s8_test[2] passed
esp_nn_add_elementwise_s8_test[3] passed
esp_nn_add_elementwise_s8_test[4] passed
esp_nn_add_elementwise_s8_test[5] passed
esp_nn_add_elementwise_s8_test[6] passed
esp_nn_add_elementwise_s8_test[7] passed
esp_nn_add_elementwise_s8_test[8] passed
esp_nn_add_elementwise_s8_test[9] passed
add, c 315273 opt 76357
esp_nn_mul_elementwise_s8_test[0] passed
esp_nn_mul_elementwise_s8_test[1] passed
esp_nn_mul_elementwise_s8_test[2] passed
esp_nn_mul_elementwise_s8_test[3] passed
esp_nn_mul_elementwise_s8_test[4] passed
esp_nn_mul_elementwise_s8_test[5] passed
esp_nn_mul_elementwise_s8_test[6] passed
esp_nn_mul_elementwise_s8_test[7] passed
esp_nn_mul_elementwise_s8_test[8] passed
esp_nn_mul_elementwise_s8_test[9] passed
mul, c 123610 opt 34730
esp_nn_depthwise_conv_s8_test[0] passed
esp_nn_depthwise_conv_s8_test[1] passed
esp_nn_depthwise_conv_s8_test[2] passed
esp_nn_depthwise_conv_s8_test[3] passed
esp_nn_depthwise_conv_s8_test[4] passed
Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4037e9d9  PS      : 0x00060833  A0      : 0x8037f789  A1      : 0x3fc991f0
0x4037e9d9: remove_free_block at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_tlsf.c:213
 (inlined by) block_locate_free at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_tlsf.c:448
 (inlined by) tlsf_memalign_offs at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_tlsf.c:814

A2      : 0x3d800014  A3      : 0x00000010  A4      : 0x00000810  A5      : 0x00000000
A6      : 0x00000006  A7      : 0x00000001  A8      : 0x0050002b  A9      : 0x0000001f
A10     : 0x3d8013fc  A11     : 0x00000010  A12     : 0x00000010  A13     : 0x001e0022
A14     : 0xfffffffc  A15     : 0x00ffffff  SAR     : 0x0000001a  EXCCAUSE: 0x0000001d
EXCVADDR: 0x001e002e  LBEG    : 0x400556d5  LEND    : 0x400556e5  LCOUNT  : 0xfffffff8

Backtrace:0x4037e9d6:0x3fc991f00x4037f786:0x3fc99210 0x4037f7da:0x3fc99230 0x40375ff5:0x3fc99250 0x4037fbb0:0x3fc99270 0x420068c5:0x3fc99290 0x42005d41:0x3fc99490 0x4202058c:0x3fc994b0 0x4037c171:0x3fc994d0
0x4037e9d6: remove_free_block at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_tlsf.c:212
 (inlined by) block_locate_free at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_tlsf.c:448
 (inlined by) tlsf_memalign_offs at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_tlsf.c:814

0x4037f786: multi_heap_aligned_alloc_impl_offs at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/multi_heap.c:274

0x4037f7da: multi_heap_aligned_alloc_impl at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/multi_heap.c:290

0x40375ff5: heap_caps_aligned_alloc at C:/Espressif/frameworks/esp-idf-v4.4.2/components/heap/heap_caps.c:622

0x4037fbb0: memalign at C:/Espressif/frameworks/esp-idf-v4.4.2/components/newlib/heap.c:74

0x420068c5: esp_nn_depthwise_conv_s8_test at D:/nn_temp/esp-nn/tests/src/convolution_test.c:214

0x42005d41: app_main at D:/nn_temp/esp-nn/test_app/main/main.c:61

0x4202058c: main_task at C:/Espressif/frameworks/esp-idf-v4.4.2/components/freertos/port/port_common.c:141 (discriminator 2)

0x4037c171: vPortTaskWrapper at C:/Espressif/frameworks/esp-idf-v4.4.2/components/freertos/port/xtensa/port.c:131

ELF file SHA256: 5fbba61455b970c4

Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0xa (SPI_FAST_FLASH_BOOT)
Saved PC:0x40375848
0x40375848: esp_restart_noos at C:/Espressif/frameworks/esp-idf-v4.4.2/components/esp_system/port/soc/esp32s3/system_internal.c:143 (discriminator 1)

SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1654
load:0x403c9700,len:0xbb8
load:0x403cc700,len:0x2f88
SHA-256 comparison failed:
Calculated: 26be4cebc6558f2beaabc506afee9df1c5d97fdfa86af8bd2b9bf7868ea91386
Expected: 2bbb1f86d0b09daca94e77b08476226fd42c131cac433e50ef9a3bafa8178d8c
Attempting to boot anyway...
entry 0x403c9954

I think the "s8 tests done!" is not output explain the code is error.

Hi @WangShuoran the allocation is failing for the large block!
Please enable SPIRAM for the test to run.
You can do this via menuconfig: idf.py menuconfig, component configs, ESP32-S3 specific, SPIRAM.

So can I think the esp_nn_softmax_s8_test() need the SPIRAM? But another API do not need SPIRAM.
And when I open the menuconfig “CONFIG_SPIRAM_IGNORE_NOTFOUND”, the ESP32-S3 will error with my before answer. I do not know way.
Thank you for a lot answer. I am running this repo good. I think the repo is very useful.

The test specifically fails to allocate as the chunk it requires is quite large!
About SPIRAM,  you seem to have already enabled it:
I (244) spiram: Found 64MBit SPI RAM device
I (249) spiram: SPI RAM mode: sram 80m
I (253) spiram: PSRAM initialized, cache is in normal (1-core) mode.
I (260) cpu_start: Pro cpu up.
I (264) cpu_start: Starting app cpu, entry point is 0x40375230
0x40375230: call_start_cpu1 at C:/Espressif/frameworks/esp-idf-v4.4.2/components/esp_system/port/cpu_start.c:160

I didn't notice the logs before.
Can you please also make sure that it is allocatable?
The code shouldgo through this path: https://github.com/espressif/esp-nn/blob/master/tests/src/convolution_test.c#L25

As you know, I am exactly enable the SPIRAM, and if I enable the CONFIG_SPIRAM_IGNORE_NOTFOUND, this example will trigger error, error in the answer above.
If I disable the CONFIG_SPIRAM_IGNORE_NOTFOUND, the error will disappear.
So, I don't know why, and I can not make sure why enable the CONFIG_SPIRAM_IGNORE_NOTFOUND that it is allocatable.

I think CONFIG_SPIRAM_IGNORE_NOTFOUND is close in release because of consistency assurance, so I think this option is only a small probability event, so I do not want to reproduce this error.
But I have another question. You know I am use this repo's test_app to learn this repo, but if I want to integrate this repo into my project, components is in repo (dir: repo/components).
(One option is) I need copy esp-nn into components, and in my main.c to include esp-nn include file and call esp-nn API.
Does this is OK?
And you say:

Thanks for the updates. I see that you have renamed the project folder to esp-nn-master. You need to keep the folder name to esp-nn. This is because, the the lib gets built with the folder name!

Does I cannot in my project/components rename this repo?

Hi @WangShuoran you can keep the esp-nn repo at any location. You would also need to specify it in the project CMakeList.txt as extra component dir.
You can also rename the repo, however, while specifying dependencies, you would specify new name. (esp-nn-master in place of esp-nn).
For more info on IDF build system, please follow: https://espressif-docs.readthedocs-hosted.com/projects/esp-idf/en/latest/api-guides/build-system.html

Hi @vikramdattu thank you give me those info, I think I am totally understand what you mean.
To make sure I fully understand what you mean, I will restate your words:The esp-nn as a component can be rename with any another name(almost).
You say:

I see that you have renamed the project folder to esp-nn-master. You need to keep the folder name to esp-nn.
This is because, the the lib gets built with the folder name!
In brief: Rename the outer folder back to esp-nn and the build shall go through.

But why the repo/test_app should name this repo with esp-nn instead of esp-nn-master? I am in test_app CMakeLists.txt want to find out.
This is project CMakeLists.txt, I think in project CMakeLists.txt don't appoint esp-nn instead of another.
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)

set(EXTRA_COMPONENT_DIRS "../" "../tests/")
set(IDF_EXCLUDE_COMPONENTS test test_app)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(test_app)

and repo/main/CMakeLists.txt is:

set(COMPONENT_SRCS "main.c")
set(COMPONENT_ADD_INCLUDEDIRS "")

set(COMPONENT_PRIV_REQUIRES tests)

register_component()

I also think this don't  appoint esp-nn instead of another.
So, I don't know why in test_app should rename esp-nn instead of esp-nn-master. Exactly, I do not know "the lib gets built with the folder name!" in test_app where?

I think I am completely figured out how to use this repo. Thank you for a lot!