Comp grounding unit tests

This PR adds unit tests for compositional grounding. The tests check

That the grounding for each slot (theme, theme property, process, process property) is correct, based on the gold groundings we have right now
That the grounding for each slot is from the right branch

theme -> wm/concept/
theme property & process property -> wm/property/
process -> wm/process/)

That the groundings we know are incorrect are NOT grounded to (using the current groundings from the evaluation sheet)

@ZhengTang1120 If you want, you can add your tests directly to this branch, or you can merge your branch into mine, or we can make a separate PR for yours. Whatever is easiest.

@kwalcock I tidied up the branch and now I think it could be ready to merge, pending your code review (and the various checks). Feel free to review at your leisure, make any changes you see fit, and also tag me for any changes I should make. Thanks!
Here are the passing/failing tests before (in master) and after (these changes):
Before:

683/904 passing (75.5%)
221/904 failing (24.5%)

After:

764/904 passing (84.5%)
140/904 failing (15.5%)

Nice. Good job!
On Wed, Nov 10, 2021 at 2:12 PM zupon @.***> wrote:

@kwalcock https://github.com/kwalcock I tidied up the branch and now I
think it could be ready to merge, pending your code review (and the various
checks). Feel free to review at your leisure, make any changes you see fit,
and also tag me for any changes I should make. Thanks!
Here are the passing/failing tests before (in master) and after (these
changes):
Before:

683/904 passing (75.5%)
221/904 failing (24.5%)

After:

764/904 passing (84.5%)
140/904 failing (15.5%)

—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/clulab/eidos/pull/1070#issuecomment-965609457, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI75TTGVVGPP7QJBUF55NDULKYYNANCNFSM5DEPBGJQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

The failing tests are these below and I'm checking into them.  If they look familiar, please send a hint.
[error] Failed tests:
[error] 	org.clulab.wm.eidos.text.englishGrounding.TestSRLGrounder
[error] 	org.clulab.wm.eidos.serialization.jsonld.TestJLDDeserializer
[error] 	org.clulab.wm.eidos.document.TestSentenceClassifier

[info] TestSentenceClassifier:
[info] SentenceClassifier on the small evaluation dataset
[info] - should have an accuracy above 0.69 and an f1 above 0.77 *** FAILED ***
[info]   false was not true (TestSentenceClassifier.scala:112)

[info] JLDDeserializer
[info] - should deserialize compositional groundings from jsonld *** FAILED ***
[info]   0 was not equal to 2 (TestJLDDeserializer.scala:701)

[info] TestSRLGrounder:
[info] SRLCompositionalGrounder
[info] - should not overflow the stack when there is a loop in the semantic roles *** FAILED ***
[info]   java.util.NoSuchElementException: head of empty list
[info]   at scala.collection.immutable.Nil$.head(List.scala:431)
[info]   at scala.collection.immutable.Nil$.head(List.scala:428)
[info]   at org.clulab.wm.eidos.groundings.grounders.SRLCompositionalGrounder.groundSentenceSpan(SRLCompositionalGrounder.scala:201)
[info]   at org.clulab.wm.eidos.groundings.grounders.SRLCompositionalGrounder.groundSentenceSpan(SRLCompositionalGrounder.scala:179)
[info]   at org.clulab.wm.eidos.groundings.grounders.SRLCompositionalGrounder.groundEidosMention(SRLCompositionalGrounder.scala:165)
[info]   at org.clulab.wm.eidos.groundings.OntologyHandler$$anonfun$3.apply(OntologyHandler.scala:41)
[info]   at org.clulab.wm.eidos.groundings.OntologyHandler$$anonfun$3.apply(OntologyHandler.scala:39)
[info]   at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
[info]   at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
[info]   at scala.collection.immutable.List.foreach(List.scala:392)
[info]   ...

I don't have any hints for those failing tests. The one I might be best suited to investigate is TestSRLGrounder to see what's going on with the semantic roles. I'll let you know if I find anything (no promises)!

I think I found a solution to the TestSRLGrounder issue. There was a test case where it had neither a Property grounding nor any Concept/Process groundings. The algorithm did not have a case for that, so it broke. I added some functionality to return an empty grounding in that situation. The TestSRLGrounder now passes, but I want to try a general sbt test before pushing it in case it breaks anything new.

Sounds like something I would never have found.  Thanks!

It seems to run out of Java heap space before the tests finish running. I will just push what I have now, though, and hope for the best.

@zupon, that was the end of my first pass through the code.  It looks like all the comments appear above.  I'll pause and let you catch up.

BTW I've started to address most things, so no need for you to code a lot.  There were plenty of uncertainties, though, which could use some feedback.

One problem with the JLDDeserializer was a hard-coded grounding that is no longer valid.  That one is fixed.

For TestSentenceClassifier, the classification of one sentence has changed from a 0 to 1 so that the prediction no longer matches the label.  It is the sentence
this loud, boisterous event, is put on by snow plow drivers, in order to have some fun and test their skills, by racing their plows through a rigorous obstacle course, trying to make a good time without murdering too many strategically placed mailboxes	0

I don't know if it is at all important.  I can lower the expected accuracy from 0.69 to 0.68 if it isn't.

I pushed a new update that just removes that unimplemented function. After the checks finish (and hopefully they still pass) will this be ready to merge?

@zupon, I have quite a few in number, although minor in effect, changes lined up.  I don't think you've seen some of the code review boxes above in green.  There are some issues that need clarification so that I know which way to tweak.  I should also check performance before it goes to master.

Ah yes. I did/do not see the code review boxes above. This has happened before, but I don't remember how it got solved. I'll snoop around and try some things and let you know if I still can't figure it out.

If I look at the page from a different browser without logging in, I don't see the review comments, either.  I'll poke around as well.

Do I understand correctly that we're allowing things like this with nothing in the concept slot?  It's just a property.
PredicateTuple(emptyOntologyGrounding, themePropertyOpt.get, emptyOntologyGrounding, emptyOntologyGrounding, Interval(index).toSet)

My understanding is yes. If we have something like "Drought increased prices.", we allow a grounding that just includes the themeProperty price_or_cost and nothing in the concept slot.
I believe this is different from how things used to be, where we needed to have a theme no matter what.

@zupon, are those other questions understandable?  Don't need code, just clarification.

They are understandable! I added a quick comment to the other code review boxes that I hadn't addressed yet. The only question I don't really know the answer to is your question about what to do with the one sentence in TestSentenceClassifier.

The last change resulted in
[info] - should NOT process cause theme incorrectly *** FAILED ***
[info]   "wm/concept/crisis_or_disaster/conflict/discontent" was equal to "wm/concept/crisis_or_disaster/conflict/discontent" (TestGrounding.scala:50)

[info] - should process "For Belg rain dependent areas , the food security situation for farmers and agro-pastoralists will likely deteriorate as household food stocks start depleting , while the rain will improve the pasture and water conditions ." effect theme correctly *** FAILED ***
[info]   "wm/concept/[goods/water]" was not equal to "wm/concept/[environment/natural_resources/pasture]" (TestGrounding.scala:39)
[info]   Analysis:
[info]   "wm/concept/[goods/water]" -> "wm/concept/[environment/natural_resources/pasture]"

Thanks for catching that! I've updated the new failing tests to failingTest so the checks should (hopefully) pass now.
New stats:

771/904 pass (85.3%)
133/904 fail (14.7%)

"Increasing tensions and violence have raised fears that a civil war or regional fragmentation could be looming" used to ground to wm/concept/crisis_or_disaster/conflict/tension.  It no longer does because "tension" does not match "tensions" if only whole words match.  This is unfortunate.  The lemma might match.
"Increasing tensions and violence have raised fears that a civil war or regional fragmentation could be looming" no longer comes up empty.  It matches wm/property/price_or_cost.  This might be a side effect of the above mismatch.  After finding no concept, it tries harder.
"Attempts at stabilizing prices are rarely completely successful because they need to be combined with safety nets and other social protection measures to mitigate the impact of higher food prices and to help prevent violent conflicts." no longer matches "wm/concept/safety_net" because "safety net" doesn't match on word boundaries.  The lemma might match.
"Attempts at stabilizing prices are rarely completely successful because they need to be combined with safety nets and other social protection measures to mitigate the impact of higher food prices and to help prevent violent conflicts." now finds wm/property/right_to_use.  That may be a side effect as well.
"The underlying push was that creating a window for the aggrieved to release some fume of anger would invariably reduce the concentration of conflict ." now gets the undesired wm/concept/crisis_or_disaster/conflict/discontent.  I'm checking.

Changing to lemma does fix the first 4 of 5 problems.

Nice! Let me know if there are other areas I can provide feedback for (or just missed the first time around). I can also adjust the tests in TestGrounding if/when those are the ones that are failing.

Thank you both. This is great.

That last test is passing now after I merged the test changes into my branch.  It had to do with the empty/nonEmpty.

The timings look like this, with the annotation just there for control:

Branch
Annotation (ms)
Grounding (ms)

master
320657
15546

this one
316011
32722

pending
312266
13522

It looks to me like this is ready.  I'm prepared to press the button if the branch owner thinks it's OK.  It's certainly possible that the documentation effort, for example, exposes some rough spots to smooth out.

@zupon, is it OK to merge this?

This is good to go! Sorry for the delay. I was travelling since Friday and hadn't had a chance to get back to this.


Enable rank-unsafe optimizations for MAXSCORE/WAND.

Both MAXSCORE and WAND can easily be tuned to perform rank-unsafe optimizations, by skipping doc IDs that are unlikely to make it to the top-k. The main challenge is how to expose this kind of optimization. One approach could consist of artificially increasing the minimum competitive score as suggested in the original WAND paper. The approach I'm considering here is to configure a target evaluation cost, giving the scorer a budget of documents that it can visit and asking it to compute the best hits it can identify with this budget.
This draft PR tries to give an idea of how it could look like. It's currently only implemented for our MAXSCORE implementation but could easily be ported to our WAND scorer too.
An interesting follow-up could be to integrate this into the timout mechanism, so that IndexSearcher would progressively reduce the target cost as the amount of remaining time reduces.
I'm interested in gathering feedback on this approach.

As an example, with this PR and calling searcher.setMaxEvaluatedHitRatio(.001f), the query be (+mostly +interview) goes from 7.0ms to 2.7ms while still returning the same top 100 hits.
You typically won't see a speedup if you run pure disjunctions of terms because score upper bounds are so good that the rank-safe MAXSCORE logic already works extremely well. But if some clauses have less optimal score upper bounds, such as above with a conjunction, then you will see speedups.

Rank unsafe optimizations is a neat idea!  It'd give another tool for maybe more smoothly trading cost for recall.


Incorrect width of fields when used in FormLayout

Adding number fields to FormLayout seems to ignore size (in particular, width) of the field.
Interestingly enough, the width of the added component is set correctly and is even present in the dom as an attribute, but that seems to be overwritten by the form item.

This does not seem to happen to other Vaadin components.
This issue has been reported by Gabe Merton in the Directory.

this is most likely caused by CSS: display: inline applied to the component, which makes it not follow defined size; changing that mode to display: inline-block seems to fix the issue, so this is likely a way to fix it

this selector fixes the problem, but it has to be applied externally:
:host(vaadin-form-item) #contentSlot {
    display: inline-block;
}

and on the layout: @CssImport(value = "path/to/the/file/with/above.css", themeFor = "vaadin-form-item")
on to figuring out how to apply that globally, if at all possible


Large XML parameters are being interpreted as NVARCHAR(4000)

I'm currently using the node-odbc to connect to our SQL Server database. It's a pretty standard connection. I pass in the query and an array of parameters (params). The problem is when I have rather large amounts of text within a parameter. Over 4000 characters.
db.open(cn, function (err) {
    if (err) {
        console.log(req.fullPath);
        console.log(JSON.stringify({'Error': err.toString() }));
        res.writeHead(500, 'Internal Server Error', {'content-type': 'application/vnd.collection+json'});
        res.end(JSON.stringify({Error: req.SystemErrors.GetError(req.SystemErrors.ErrorConnectingToDatabase)}));
        return;
    }

    db.query(query, params, function (err, data) {
        if (err) {
            res.writeHead(500, 'Internal Server Error', {'content-type': 'application/vnd.collection+json'});
            res.end(JSON.stringify({Error: req.SystemErrors.GetError(req.SystemErrors.ErrorRunningQuery)}));
            return;
        } else if (typeof data[0] === 'undefined') {
            res.writeHead(200, 'OK', {'content-type': 'application/vnd.collection+json'});
            res.end(JSON.stringify({ 'Message': 'No data returned for this request.' }));
            return;
        } else {
            next(data);
        }

        db.close(function (err) {
            if (err) {
                res.writeHead(500, 'Internal Server Error', {'content-type': 'application/vnd.collection+json'});
                res.end(JSON.stringify({Error: req.SystemErrors.GetError(req.SystemErrors.ErrorClosingDatabaseConnection)}));
            }
        });
    });
});

I ran into this issue when trying to pass over a large XML variable type to my stored procedure in MS SQL Server. I did a trace on the data being passed over and node-odbc interpreted this XML as an NVARCHAR(4000), thus truncating the value stored in this variable.
So my question is, how can I tell node-odbc the variable type (XML, VARCHAR(MAX), ect) OR set the length of of the variable?
Thanks!

Hmmm we occasionally have issues with this. The way the code is now, we assume the driver will figure out the proper type. What odbc driver are you using?
Not all odbc drivers handle strings in the same way, so we may have to add some configuration for this, or we'll have to hard-code behavior for the drivers that have issues with the current implementation. Unfortunately, there is no workaround at the moment.
If you're feeling brave, you can fork node-odbc and correct the problem for your driver. The code to modify is here
I have an example of this for an old MSAccess datasource here. Instead of the 255 limit, you can put 4000 I think.

Thanks, I'm looking into this more now. I'm using the FreeTDS driver version 7.2

Thanks for the help @bzuillsmith. I updated and tested the code to handle this. I sent a pull request to the wankdanker/node-odbc branch.


"List" Action on "Form" Item type results in Crash

In TOC select "Administration->Form" and invoke the context action "List Form". The application crashes

Seems to happen for every Itemtype.

There seems to be a general bug in the code:
    prop.Name

always resolves to Item.
I guess what you meant is
 prop.KeyedName().Value

which is the correct property name.


a.ui.space is null due to eagerly initialising of CKEditor

We experienced failures with CKEditor if the page takes longer to load.
The error reads a.ui.space being null.
Our workaround was to initialise CKEditor on $(window).on('load', initialiseCKEditor). Especially the replace call happened too early.

It's clearly no thread hijacking. The issue you reported was about a problem with early initialization of the editor instance, and this has nothing to do with you going to work somewhere else.
Thanks @n3storm for reopening this issue. I haven't encountered the problem (yet?) but it clearly still exists somewhere.


Add storage drawing toggle to some storages

QOL feature from CM-ss13 which allows you to take the first item out of storage by clicking

:cl:

add: You can now toggle storage like pouches and armor to eject the first item when you click on it. This toggle can be accessed with a verb.

That toggle in 13 switches between take out first and take out last, not unequipping and taking out item I thought, or does it depend by storage?

Our click interaction is different than 13's so unless you want to make inventory slots be unequipable unless you drag drop it to your hand it has to be that

Like clicking a bag in 13 opens the storage, here it unequips the item

Our click interaction is different than 13's so unless you want to make inventory slots be unequipable unless you drag drop it to your hand it has to be that

Might be good as an option yeah, reagent canister pouches do this already but I'd have to think on it

Our click interaction is different than 13's so unless you want to make inventory slots be unequipable unless you drag drop it to your hand it has to be that

Might be good as an option yeah, reagent canister pouches do this already but I'd have to think on it

Reagent canisters click to take out the auto injector, this PR makes the same component the auto injector uses toggleable, that's it


INFO:waybackpack.session: HTTP status code: 302

INFO:waybackpack.pack: Fetching acasaredonda.com.br @<PHONE_NUMBER>1150
INFO:waybackpack.session: HTTP status code: 302
INFO:waybackpack.pack: Writing to /home/vz/acr_wbm_snapshot/20200812061150/acasaredonda.com.br/index.html
Only recreates 0-bytes index.html files in directories for each snapshot and returns the 302 HTTP STATUS CODE.

Hello. Try using the --follow-redirects command-line option. Does that resolve your issue? (For all options, see this project’s README.md and/or run waybackpack -h.)

Hi,
I might add a disclaimer that I am not an experienced programmer etc, but I do my best to learn. I am running Python 3.9 and trying to setup but experiencing the follow issue:
<EMAIL_ADDRESS>can't find 'main' module in '/Users XXXXXXXXX
Any ideas?

I had a similar issue. Adding --follow-directs option solves this issue.

@BEaXt7f97 Can you provide steps to reproduce this error? Did you make any changes to the source code?

This works:
waybackpack http://acasaredonda.com.br/ -d ...

But this (note the lack of slash after the domain name) causes spurious redirects:
waybackpack http://acasaredonda.com.br -d ...

From the browser's perspective these two URLs are equivalent, so they should both work the same way in waybackpack too.

Thanks for flagging, @jwilk — very interesting. It seems that from the perspective of the Wayback Machine, these are different resources. A bit frustrating that they don't do any internal resolution. But I'd be wary of blindly choosing one URL over the other. I'd be interested for your perspective on ways to handle this, as well as the perspectives of anyone else with deep experience/familiarity with the Wayback Machine's logic.


dev server port

Hi, looks great! Where do I change the devserver port?

Hello @baseio
The devserver port & logger port can be configured via tools/forge/forge.config.js file.
In that config file, we can assign these ports properties to the existing plugin @electron-forge/plugin-webpack :
        port: 9010,  // Webpack Port
        loggerPort: 9020,  // Webpack Output Logger port

Example usage :
  // Forge Plugins
  plugins: [
    [
      // The Webpack plugin allows you to use standard Webpack tooling to compile both your main process code
      // and your renderer process code, with built in support for Hot Module Reloading in the renderer
      // process and support for multiple renderers.
      '@electron-forge/plugin-webpack',
      {
        // Ports
        port: 9010,  // Webpack Port
        loggerPort: 9020,  // Webpack Output Logger port

        // Main process webpack configuration
        mainConfig: path.join(rootDir, 'tools/webpack/webpack.main.js'),
        // Renderer process webpack configuration
        renderer: {

Sweet! Thanks!!


Search suggestions

Related Issue

I added suggestions to the search bar for projects.

Closes: #1341
Describe the changes you've made
I added a search suggestion to the search bar that directs to the project when clicked
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] New and existing unit tests pass locally with my changes.

Screenshots

@akshay399 please resolve the merge conflicts

@akshay1027 Please resolve merge conflicts

Hey @Ankita297 you have tagged the wrong person, it's @akshay399 I guess

Sorry @akshay1027 .


Add missing build dependencies from test-infra for deck image build

The configs in top level folder and hack/ are hidden dependencies for gather-static.sh (in prow/cmd/deck, which is called by prowimagebuilder) and ts_rollup.
The gopherage/ package is also a dependency by coverage.ts, added in the sync-prow.sh script so it will be synced next time.
Tested prow/cmd/deck can be successfully built with these changes.

/assign @cjwagner @listx @airbornepony


Change the navigation bar from top to left side.

Change the navigation bar from top to left side.

Changed the navigation bar from top to left side.


Number of Samples

Hey, if I want to add custom logos, how many examples/pictures of the logo are needed to achieve reasonable  performance.
And is it possible to add detectable logos without retraining the whole model?
Thanks for the great project!

@Siegi96
Thank you for your interest!
Each class in flickr_logos27_dataset has about 20 to 100 annotation data, so please collect the same amount of data for the newly added classes.
In this repository, the backbone and Transformer of DETR are frozen and only the prediction heads are fine tuned. When a new class is added, only the prediction heads need to be fine tuned.


next build crashes if rewrites object contains just the fallback key

I'm having a trouble integrating axiom within my existing nextjs (@12.2.2) app. Looks like withAxiom throws when next.config.js contains a following rewrites configuration:
async rewrites() {
    return {
      fallback: [
        {
          source: '/:region/:name([\\w-]{1,})-:id(\\d{1,})',
          destination: '/activity-card/:name/:id',
        },
      ],
    };
  },

with the exact error message being
xxx:build: > Build error occurred
xxx:build: TypeError: Cannot read properties of undefined (reading 'concat')
xxx:build:     at /Volumes/Dev/repos/yyy/node_modules/next-axiom/dist/withAxiom.js:88:71
xxx:build:     at step (/Volumes/Dev/repos/yyy/node_modules/next-axiom/dist/withAxiom.js:44:23)
xxx:build:     at Object.next (/Volumes/Dev/repos/yyy/node_modules/next-axiom/dist/withAxiom.js:25:53)
xxx:build:     at fulfilled (/Volumes/Dev/repos/yyy/node_modules/next-axiom/dist/withAxiom.js:16:58)
xxx:build: error Command failed with exit code 1.

Looking at the withAxiom source code https://github.com/axiomhq/next-axiom/blob/f5be9ade99f0de80ce4918908d1cf801e1c68dbc/src/withAxiom.ts#L40 I see that only afterFiles field is supported. Why is that so?

Hi @klapec, thanks for the issue, fixed in #22, will be in v0.11.0 which will be released next week 👍

Awesome, thank you!


Add Config Allowed Values

Issue https://github.com/awslabs/cfn-python-lint/issues/50, if available:
Add all the allowed values of the AWS::Config Resources
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #654 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #654   +/-   ##
=======================================
  Coverage   85.03%   85.03%
=======================================
  Files         116      116
  Lines        6648     6648
  Branches     1564     1564
=======================================
  Hits         5653     5653
- Misses        635      636    +1
+ Partials      360      359    -1

Impacted Files
Coverage Δ

src/cfnlint/__init__.py
87.12% <0%> (ø)
: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 7d3d7e3...4e86a66. Read the comment docs.

Yikes. Agreed. The per region resource types is kind of scary but makes sense why it was done this way.


[Bug]Respect the is-read-only settings in the syncer.

Currently, despite enabling the read-only option in the synchronizer, modifying user information and adding new users still results in synchronization with the external table.

@anyidea hi, can you make a PR to fix it?


[Bug]: SSH keys generation issue

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
We use Jsch library to generate SSH keys which used by git sync feature to connect to a git client. The Jsch library generates the RSA SHA-1 types keys. But the github made some changes to improve protocol security when you push or pull Git data. This change includes removing support for RSA SHA-1 type signature keys.
More can be found here - https://github.blog/2021-09-01-improving-git-protocol-security-github/
Steps To Reproduce
All the git related operations will fail because of the security change done by github as the support for RSA SHa-1 type keys is stopped from today.
Environment
Production
Version
Cloud

Just checked with the compatibility with ECDSA, this does support SHA-2 which can be quick fix with no library upgrade etc. But this does mean we will have to go through the migration and will have to ask users to update on Github as well
cc: @AnaghHegde @nayan-rafiq

Yes this looks like a better fix. Also migration is needed no matter what type of solution we take @abhvsn

@AnaghHegde are you picking this up or should I go ahead?


UpdateView functions in View and FolderView

I think all runs ok, at least in the manual tests I have done.
I made some minor changes:
XstFile:
+ New property: RootFolder (with the root of the current Folder Tree)
+ Modification in ReadMessages: Automatically add the Messages to Folder
FolderView:
+ New function: UpdateMessageViews (updates MessageViews list with Messages in Folder)
View:
+ New function: UpdateFolderViews (updates FolderViews list with Folders inside RootFolder)
MainWindow:
+ Some changes in reading root folder stucture and messages in a folder (commented in code)

These changes are mostly all to the good. I don't agree with adding the RootFolder property, though, as I think the core's caller should be in control of the lifetime of the data read from the Outlook file, and adding this property holds it in memory in a way that is both opaque and unavoidable. I do agree with setting the Folder property in Message where you do, but I think I would have used a .ForEach clause in the Linq statement to avoid an additional loop construct.
Also, there is no need to leave old code in place commented out, the differencer tells me what has changed quite clearly. It is better just to change the code to what you think it should be, so that it is ready for check-in, and leave any explanation in the pull request's comments.
What do you think we should do next with these changes?
I am currently working on testing the core API by adding a second client in the form of a command line export tool, starting from the baseline provided by another contributor.

The updated changes all look good to me.  I am curious, though, why you introduce the Internal restriction on things like NIDs?

Hey, sorry, I haven't written it before ... I thought you wouldn't see it if I didn't make a new pull-request ... I'm new to git
I think the properties and methods should be visible only where they should be used. All the properties were public, but I think that some are just for internal structures and data. I think this information is only for the Core. UI works with processed and structured by the Core.
Maybe is not important...
In the case of defining a public API, it is important to have good control over everything that can be “seen” outside, to avoid mistakes and misuses.

The main changes I have made are:

I have changed the access modifiers of some properties of the XstFile, Folder, Message and Attachment classes to 'internal': I think these properties are only for internal use in Core (BTree for example)
I changed some foreach loops for Linq expressions or for 'list.AddRange(ienumerable.ToList())'. But I think the improvement is minimal
The class Attachment has a property with the Message (I changed the name from "Parent" to "Message"), and the Message has a property with the Folder. I added a new Property in Folder: "ParentFolder". In this way, we allow a possible navigation between ParentFolder<->Folder<->Message<->Attachment. With this information, we can know the Folder's "Path" (new property).
I moved the XstFile property from Attachment to Folder

I have tested and I think everything works fine.

I like it! Accepting the pull. Thank you very much.

FYI:  I am pushing this towards release - the Divided branch contains the latest candidate, with a few more changes:

XstReader.Core is now XstReader.Base, to avoid confusion with .Net Core
The DLL is still built by the solution, but no longer used by XstReader or XstExport in order to maintain the existing 'needs nothing but the executable' model
As well as XstExport, the solution builds XstPortableExport, which is exactly the same command line tool, but built for .Net Core 2.1, with some loss of functionality in areas that would require framework references and so tie it to Windows, specifically RTF and MIME decryption. This also provides a sample showing one way to embed XstReader.Base in a Core program.

FYI:  I am pushing this towards release - the Divided branch contains the latest candidate, with a few more changes:

XstReader.Core is now XstReader.Base, to avoid confusion with .Net Core
The DLL is still built by the solution, but no longer used by XstReader or XstExport in order to maintain the existing 'needs nothing but the executable' model
As well as XstExport, the solution builds XstPortableExport, which is exactly the same command line tool, but built for .Net Core 2.1, with some loss of functionality in areas that would require framework references and so tie it to Windows, specifically RTF and MIME decryption. This also provides a sample showing one way to embed XstReader.Base in a Core program.

Perferct!
I'm playing with the code in my fork to understand it. I'm trying to do some more improvements.
I'm enjoying with your project 😄

Perferct!
I'm playing with the code in my fork to understand it. I'm trying to do some more improvements.
I'm enjoying with your project 😄

I have now shipped all these changes as Release 1.14, so everything is now back in master.
Thanks again for your contribution. It is much appreciated.

I have now shipped all these changes as Release 1.14, so everything is now back in master.
Thanks again for your contribution. It is much appreciated.


Update Settings “general”

Automatically generated by Netlify CMS

👷 Deploy Preview for eloquent-trifle-1eb8df processing.

Name
Link

🔨 Latest commit
5337a8ebf2eaa6c066f477784e64467d4d6e842b

🔍 Latest deploy log
https://app.netlify.com/sites/eloquent-trifle-1eb8df/deploys/64b93bc84646f80008beaa5a


If this lib supports OpenGL factory, will FMX support macOS, linux, android, IOS?

since you made it possible to use other engines, will the support of OpenGL make it possible to target MacOS, linux, android and IOS.
also since embarcadero will support metal, will it be reasonable to write wrappers for that as an engine on MacOS and IOS?

Cairo is also available on most platforms.

@GaNacereddine: there is a new version of components (2.3.0) that uses a new engine Image32 that is compatible also with Android and iOS. I've not tested yet with Android and iOS, is not my primary business platform, but the FMX version of SVGIconsImageList now uses this new library that can be used also on Android and don't need windows units:
http://www.angusj.com/delphi/image32/Docs/Examples.htm
Please give me a feedback if you can try.

In those days I've committed a new version for FMX...

New version with demo for Android:

No positive/negative feedback. I'm closing this issue.


Snapshot not sent until end of event

When a person is detected by a camera, the alert is not sent until that person leaves the scene and the camera no longer detects them.
Logs look something like this:
tracking: {ID:1727303158.501277-1d3hmv Camera:dome Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.301045-18gg3p Camera:bullet Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.501277-1d3hmv Camera:dome Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.301045-18gg3p Camera:bullet Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.301045-18gg3p Camera:bullet Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.501277-1d3hmv Camera:dome Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.301045-18gg3p Camera:bullet Zones:[] Label:person HasSnapshot:true}
tracking: {ID:1727303158.301045-18gg3p Camera:bullet Zones:[] Label:person HasSnapshot:true}
alerted:  {ID:1727303158.301045-18gg3p Camera:bullet Zones:[] Label:person HasSnapshot:true}

I'm able to sit in front of a camera for 15+ mins (in my testing, this could potentially be limitless) and not receive any alerts through Slack.
As soon as I walk out, I get an alert of me leaving the scene.
For security purposes, an alert should be sent as soon as possible when a person is detected in the scene.

This is true, the trade-off here is that the snapshot will be best when the event is finished.
I was planning to look into the Slack API to see if it could be swapped out at the end of an event, but failing that I think this could be added as a config option, either prioritize early warnings or better snapshots, possibly even send both the initial snapshot and the final snapshot when the event ends.


Multiplexer not handling PeerConnectionLost error

What is wrong?
I haven't figured out exactly what is happening but here is what I see:
DEBUG2  08-28 17:19:24             Transport  Waiting for 32 bytes from <Node(0xd4e4@<IP_ADDRESS>)>

This eventually raises a PeerConnectionLost error which ends up not being properly handled. Trinity seems to sit idle from that point on.
After I Control+C Trinity, I get this traceback.
   ERROR  08-28 17:22:26               asyncio  Task exception was never retrieved
future: <Task finished coro=<<async_generator_asend without __name__>()> exception=StopAsyncIteration()>
StopAsyncIteration
   ERROR  08-28 17:22:26               asyncio  Task exception was never retrieved
future: <Task finished coro=<BasePeerFactory.handshake() done, defined at /home/cburgdorf/Documents/hacking/ef/trinity/p2p/peer.py:588> exception=PeerConnectionLost()>
Traceback (most recent call last):
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/transport.py", line 230, in read
    timeout=CONN_IDLE_TIMEOUT,
  File "/home/cburgdorf/Documents/hacking/ef/trinity/venv/lib/python3.7/site-packages/cancel_token/token.py", line 152, in cancellable_wait
    return done.pop().result()
  File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
    raise IncompleteReadError(incomplete, n)
asyncio.streams.IncompleteReadError: 0 bytes read on a total of 32 expected bytes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/peer.py", line 600, in handshake
    token=self.cancel_token
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/peer.py", line 96, in handshake
    token=token,
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/handshake.py", line 303, in negotiate_protocol_handshakes
    in zip(selected_handshakers, selected_protocols)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/venv/lib/python3.7/site-packages/async_generator/_util.py", line 53, in __aexit__
    await self._agen.athrow(type, value, traceback)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/multiplexer.py", line 307, in multiplex
    fut.result()
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/multiplexer.py", line 326, in _do_multiplexing
    async for protocol, cmd, msg in msg_stream:
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/cancellable.py", line 66, in wait_iter
    timeout=timeout,
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/cancellable.py", line 20, in wait
    return await self.wait_first(awaitable, token=token, timeout=timeout)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/cancellable.py", line 42, in wait_first
    return await token_chain.cancellable_wait(*awaitables, timeout=timeout)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/venv/lib/python3.7/site-packages/cancel_token/token.py", line 152, in cancellable_wait
    return done.pop().result()
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/multiplexer.py", line 58, in stream_transport_messages
    raw_msg = await transport.recv(token)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/transport.py", line 239, in recv
    header_data = await self.read(HEADER_LEN + MAC_LEN, token)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/transport.py", line 233, in read
    raise PeerConnectionLost from err
p2p.exceptions.PeerConnectionLost

My guess is that the stream_transport_messages dies in the background but I haven't got around figuring out more about it yet...
cc @pipermerriam
How can it be fixed
:policeman:

Just noting that I can still reproduce this even after #1006 landed with my local parity node when the local parity node does not respond as expected.
   ERROR  08-30 10:37:17               asyncio  Task exception was never retrieved
future: <Task finished coro=<BasePeerFactory.handshake() done, defined at /home/cburgdorf/Documents/hacking/ef/trinity/p2p/peer.py:574> exception=PeerConnectionLost()>
Traceback (most recent call last):
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/transport.py", line 240, in read
    timeout=CONN_IDLE_TIMEOUT,
  File "/home/cburgdorf/Documents/hacking/ef/trinity/venv/lib/python3.7/site-packages/cancel_token/token.py", line 152, in cancellable_wait
    return done.pop().result()
  File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
    raise IncompleteReadError(incomplete, n)
asyncio.streams.IncompleteReadError: 0 bytes read on a total of 32 expected bytes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/peer.py", line 586, in handshake
    token=self.cancel_token
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/peer.py", line 96, in handshake
    token=token,
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/handshake.py", line 309, in negotiate_protocol_handshakes
    in zip(selected_handshakers, selected_protocols)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/venv/lib/python3.7/site-packages/async_generator/_util.py", line 53, in __aexit__
    await self._agen.athrow(type, value, traceback)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/multiplexer.py", line 343, in multiplex
    fut.result()
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/multiplexer.py", line 365, in _do_multiplexing
    async for protocol, cmd, msg in msg_stream:
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/cancellable.py", line 66, in wait_iter
    timeout=timeout,
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/cancellable.py", line 20, in wait
    return await self.wait_first(awaitable, token=token, timeout=timeout)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/cancellable.py", line 42, in wait_first
    return await token_chain.cancellable_wait(*awaitables, timeout=timeout)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/venv/lib/python3.7/site-packages/cancel_token/token.py", line 152, in cancellable_wait
    return done.pop().result()
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/multiplexer.py", line 59, in stream_transport_messages
    raw_msg = await transport.recv(token)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/transport.py", line 265, in recv
    header_data = await self.read(HEADER_LEN + MAC_LEN, token)
  File "/home/cburgdorf/Documents/hacking/ef/trinity/p2p/transport.py", line 243, in read
    raise PeerConnectionLost from err
p2p.exceptions.PeerConnectionLost

Maybe this was taken care of in #1545 or #1548 ?

This has resurfaced in https://github.com/ethereum/trinity/pull/1671 (https://circleci.com/gh/ethereum/trinity/211744?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link)

But in #1671 it happens before a Ctrl-C

Maybe I'm missing something but this looks like a legitimate exception that just needs to be properly handled at some layer.

Maybe I'm missing something but this looks like a legitimate exception that just needs to be properly handled at some layer.

It's an asyncio warning about the exception not being retrieved from the task (either by calling its .result() or .exception() methods), not about the exception not being handled

May have been addressed by https://github.com/ethereum/trinity/pull/1671#discussion_r408910574, so closing for now


Deprecated import

https://github.com/ExCALIBUR-NEPTUNE/NESO-Spack/blob/7487b7343e2cc15915af98596ae0a7490827966c/packages/stdpython/package.py#L12
get_filetype  was removed from spack as of this change

To be honest, the entire stdpython package can be removed, I think. Pretty sure we don't use it for anything anymore.

Could you make the PR for this please @JamesEdgeley ?


[TF 2.0] Logs from model.fit is not conform to the documentation for Molde with multiple outputs

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

TensorFlow version (use command below): tf-nightly-gpu-2.0-preview

Describe the current behavior
I have a model with multiple outputs. Precisely, an object detector which outputs locations and classes of object. The model is compiled as follow:
ssd.compile(optimizer=optimizer,
            loss={'output_1': loc_loss, 'output_2': class_loss},
            loss_weights=[1., 1.]
           )

From the documentation, the loss to be optimized should be loss = loc_loss + class_loss but
fit outputs the following logs to the console:
Epoch 1/5
  37/1000 [>.............................] - ETA: 23:46 - loss:<PHONE_NUMBER> - output_1_loss: 0.0212 - output_2_loss: 0.0449

Clearly, the value of loss is not the sum of the two losses.
Is it a real bug or a misunderstanding on the meaning of output_1_loss and output_2_loss ?

After some investigation, I think the problem is that I don't use the same reduction in my loss ( a custom loss with Reduction.SUM) and the loss metrics which use SumOverBatchSize :
    if len(self.outputs) > 1:
      self._output_loss_metrics = [
          metrics_module.SumOverBatchSize() if hasattr(loss_fn, 'reduction')
          else metrics_module.SumOverBatchSizeMetricWrapper(loss_fn)
          for loss_fn in self.loss_functions
      ]

Does it make sense to have the ability to set a custom metric here ?

@jrabary I am closing the issue as it was resolved. Check this resource for custom_metric implementation. Thanks!


How to get the bounding boxes on some unknown objects?

Hi @pierluigiferrari ! During the test stage, I wonder if SSD can capture something not only belonging to the training categories. How could I get the bounding boxes not only drawed on the, say dogs but also some unknown objects?

The short answer is, you can't. The long answer is that you could show any or all of the boxes the model predicts by disabling confidence thresholding and non-maximum suppression, but it would probably be pointless to do so. Since, in a trained model, almost all boxes have confidence of close to zero, you cannot use the confidence criterion to measure whether or not a given box is meaningful. So the only thing you could do is look through all the boxes manually and see if any of them surround objects that you consider meaningful.


Gh 254 scale table

Closed while fixes are applied to table layout.

Might be worth increasing the pagination limits to 50, 100, 1000. Then set the default to 50.

1000 results in a noticeable delay in displaying. Therefore I set the upper limit to 200


Fixes for pixi v5

I believe @andrewstart is already working on v5 compatibility in a branch https://github.com/pixijs/pixi-animate/tree/ts-and-v5-rewrite
You should checkin with him to make sure this isn't duplicating what he's already done.

See https://github.com/pixijs/pixi-animate/pull/99 - it could use more testing in existing projects.

Okay, i will try to use ts version


Add Contributors.md file to the repo

Description:
Add contributors.md file to the repo and update the title of the repo to match with title of other similar WSO2 products[1].
[1] https://github.com/wso2/kubernetes-apim

Fixed in https://github.com/wso2/kubernetes-open-banking/pull/31.


Suspect issues on python 3.11.2 with error: AttributeError: module 'subprocess' has no attribute 'PIPE' due to white space in file path

Describe the bug
I'm facing issues with openai on Python 3.11.2. When I run the demo code, I'm getting the following issues. I suspect there's an issue due to a space in the Python file path. Please let me know of any workaround or fixes:
Please note that the Python script is in a folder: Z. Temp This folder has a space.
/Users/mithun % /usr/local/bin/python3 "/Users/mithun/Documents/Z. Temp/Python/GPT_Test2.py"
Traceback (most recent call last):
File "/Users/mithun/Documents/Z. Temp/Python/GPT_Test2.py", line 1, in
import openai
File "/usr/local/lib/python3.11/site-packages/openai/init.py", line 9, in
from openai.api_resources import (
File "/usr/local/lib/python3.11/site-packages/openai/api_resources/init.py", line 1, in
from openai.api_resources.audio import Audio  # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/api_resources/audio.py", line 4, in
from openai import api_requestor, util
File "/usr/local/lib/python3.11/site-packages/openai/api_requestor.py", line 1, in
import asyncio
File<EMAIL_ADDRESS>line 8, in
from .base_events import *
File<EMAIL_ADDRESS>line 40, in
from . import events
File<EMAIL_ADDRESS>line 203, in
class AbstractEventLoop:
File<EMAIL_ADDRESS>line 511, in AbstractEventLoop
stdin=subprocess.PIPE,
^^^^^^^^^^^^^^^
AttributeError: module 'subprocess' has no attribute 'PIPE'
However, when I run the sample code from MacOS Desktop, I'm no longer getting the subprocess error, but rather the expected API key error. Note that the file path does not have any spaces.
/Users/mithun % /usr/local/bin/python3 /Users/mithun/Desktop/GPT_Test2.py
Traceback (most recent call last):
File "/Users/mithun/Desktop/GPT_Test2.py", line 5, in
models = openai.Model.list()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/api_resources/abstract/listable_api_resource.py", line 60, in list
response, _, api_key = requestor.request(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/api_requestor.py", line 226, in request
resp, got_stream = self._interpret_response(result, stream)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/api_requestor.py", line 619, in _interpret_response
self._interpret_response_line(
File "/usr/local/lib/python3.11/site-packages/openai/api_requestor.py", line 682, in _interpret_response_line
raise self.handle_error_response(
openai.error.AuthenticationError: Incorrect API key provided: sk-dvmDm***************************************po9e. You can find your API key at https://platform.openai.com/account/api-keys.
To Reproduce
Execute the sample code on MacOS Desktop and another folder with a space in the file path
Code snippets
import openai
openai.api_key = "sk-xxxx"

# list models
models = openai.Model.list()

# print the first model's id
print(models.data[0].id)

# create a completion
completion = openai.Completion.create(model="ada", prompt="Hello world")

# print the completion
print(completion.choices[0].text)

OS
macOS
Python version
Python v3.11.2
Library version
openai-python v0.27.2

Hi @mithunsridharan! I can't create this with the reproduction steps above. I strongly suspect a configuration issue on your side (either a conflicting file name / module with subprocess, or something else in your dev setup). Please let me know if you have other steps that might help me reproduce the error.


How to verify whether the model's output is equal to the ground truth?

Thanks for releasing the dataset of Lila benchmark.
Now, I want to evalutate the math reasoing ability by Lila benchmark.
I have a question that has been bothering me: how can we compare whether the ground truth and the model output are strictly equal?
It is difficult to compare the execution results with [output_answer]. And, It is not accurate to compare the actual execution results of the [output_program] with the execution results of our model output program.
For example:
Problem:
"Problem: Find the norm and argument (phase angle in radians) of $(1+i) \sqrt{10}$."

The gt problem is:
"import math from sympy import * i = 1j x = (1+i)*math.sqrt(10) norm = math.sqrt(pow(x.real, 2) + pow(x.imag, 2)) arg = math.atan(x.imag/x.real) print('Norm:', norm) print('Arg:', arg) "

Our model doesn't know to output the string "Norm", "Arg".
May I ask if you have any plans to release the relevant evaluation code or provide some ideas?

here is a line using prompt to verify:https://github.com/Aiden0526/SymbCoT/blob/main/prompts/LogicalDeduction/solver.txt


lmdb: deprecated conversion from pointers to slices

The cgo wiki page suggests a different way to turn arrays into slices.
https://github.com/golang/go/wiki/cgo#turning-c-arrays-into-go-slices
The current method using the "reflect" package isn't guaranteed to be compatible.
https://godoc.org/reflect#SliceHeader
The docs claims the method is not portable. This may be due to os/arch restrictions on the amount of memory available for use and the slice implementation.
https://github.com/golang/go/blob/6b0688f7421aeef904d40a374bae75c37ba0b8b4/src/runtime/slice.go#L17-L34
https://github.com/golang/go/blob/a03bdc3e6bea34abd5077205371e6fb9ef354481/src/runtime/malloc.go#L151-L164

LMDB has a hard limit on data size, 2^32-1 (0xffffffff). From the above document it seems like it should be ok to make a temporary conversion to [1<<32 - 1]byte when 'slicing' a db value.


parse image pull auth from env

Details
This commit attempts to avoid loading auth from the nydusd configuration file, which is insecure for users. The auth loaded from env will overwrite the auth loaded from file if it is not null.
Types of changes
What types of changes does your PullRequest introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Go over all the following points, and put an x in all the boxes that apply.

[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.

There's a PR to enable passing nydusd configuration information through pipe instead of a file, seems these two PRs are both to enhance the security of auth info. So what's the relationship between the two PRs?

There's a PR to enable passing nydusd configuration information through pipe instead of a file, seems these two PRs are both to enhance the security of auth info. So what's the relationship between the two PRs?

The PR https://github.com/dragonflyoss/image-service/pull/1379 attempts to propose an interface for nydus-snapshotter to update configuration (including auth). This PR avoids loading auth from disk when starting nydusd. I think they are not in conflict with each other.
In short, we can parse auth from the environment variable and update it via pipe.

Maybe we can prefix the first commit log with nydusd? nydusd: parse image pull auth from env

Done.


Bump framework version from 5.21.30 to 5.21.32

Purpose

please refer the $subject.

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2730564760

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2730564760
Status: failure


Make node specifiers more specific, add another debug log.

Also some cosmetic stuff.
Basically, starts making moves towards PR #265. Taking it a bit slower.
[Sorry, I meant the last changes to apply to a different branch. Let me know if I should split this.]

I forgot that PR was merging in to here, sorry. May be easier to look at the two first commits in here independently now, @niharikasingh .


Add blog post by @mddas

Link to suggestion
https://medium.com/@HeCanThink/exploring-polars-the-lightning-fast-dataframe-library-in-python-2d01aa332f70
Targeted section
Blog posts
Describe your suggestion

Exploring Polars - The Lightning-Fast DataFrame Library in Python  - A blog post on the basics of Polars by @mddas.

Checklist

[X] checked if your suggestion is not already listed in Awesome Polars list.
[X] checked if it can fit in an existed section or suggest a new section and explain why your item does not fit into one and what would be the interest of your new section.
[X] checked when it's a repository if it's maintained (archived repository will be rejected).

@mddasmddas your blog post about Polars will be added to the Awesome Polars List


Problems when changing the app owner of an application

Description
When trying to change the ownership of an application from the admin console, the following error is observed.
ERROR - GlobalThrowableMapper User does not have scope. Username : B2E/87654321 Scope : apim:subscribe
When multiple scope mappings are done through the Admin Console we could observe an additional space getting appended before the role name as below.
"RoleMappings": {
    "Internal/subscriber": "Internal/subscriber,B2E/ADAM_SUBSCRIBER, B2E/ADAM_SUB"
  }

Once we removed this space and tried out the same scenario, we could able to successfully change the ownership of the application.
Steps to Reproduce
Reproducing Steps : APIM <IP_ADDRESS> and IS <IP_ADDRESS>

Create a secondary user store which points to IS.
Create two users 12345678 and 87654321
Create two roles ADAM_SUBSCRIBER and ADAM_SUB
Assigned ADAM_SUBSCRIBER role to 12345678 user and ADAM_SUB role to 87654321 user.
Add scope assignment from admin console as below order.

     B2E/ADAM_SUBSCRIBER > Internal/subscriber
     B2E/ADAM_SUB > Internal/subscriber

Log into devportal using both users then created applications, generated keys and invoked sample API from both users.

     App Name                              App Owner

    12345678UserApp                   B2E/12345678

    87654321UserApp                   B2E/87654321

Tried to change ownership of 12345678UserApp application to B2E/87654321 user from the admin console.
Then observed the below error.

ERROR - GlobalThrowableMapper User does not have scope. Username : B2E/87654321 Scope : apim:subscribe

Navigated to _Resource > Browse > /system/config/apimgt/applicationdata/tenant-conf.json file and observed that additional space has been appended before to the role name as follows,

"RoleMappings": {
"Internal/subscriber": "Internal/subscriber,B2E/ADAM_SUBSCRIBER, B2E/ADAM_SUB"
}

Removed this additional space and tried again to change the ownership and was able to change successfully.

Affected Component
APIM
Version
4.0.0
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

Need to merge master fix PR: https://github.com/wso2/carbon-apimgt/pull/12212


The props of PublicRuntimeConfig are inferred as unknown

Environment

Operating System: Windows_NT
Node Version:     v22.0.0
Nuxt Version:     3.12.4
CLI Version:      3.12.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      runtimeConfig
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/KazariEX/nuxt-minimal
Describe the bug
When I write the following code somewhere in the application:
declare module "@nuxt/schema" {
    interface PublicRuntimeConfig {}
}

all properties under runtimeConfig will be overridden by this interface instead of being extended.
Additional context
I understand that doing this in isolation doesn't make sense, but when I import the ModuleOptions type from @nuxtjs/robots, the dist/types.d.ts file from that package will be included, which contains the aforementioned code, causing all my runtimeConfig.public types to be lost.
I'm not sure what the issue is, but I hope to learn how to prevent type loss.
Logs
No response

I have this issue also. I noticed that changing declare module 'nuxt/schema' { by declare module '@nuxt/schema' { in .nuxt/types/schema.d.ts fixes the issue (but obviously it gets overridden every time there's a change)
I'll be honest, I'm highly confused as why there's nuxt/schema and @nuxt/schema in the same file, and I think TypeScript is also very confused.

With the latest module builder, we now no longer emit those types with both nuxt/schema and @nuxt/schema. Modules should only ever touch/author @nuxt/schema. Users can use nuxt/schema as a shorthand.
Some actions (if not specified, we need to update @nuxt/module-builder and release):

[x] @nuxt/telemetry
[ ] nuxt-csurf
[ ] nuxt-security
[ ] @nuxtjs/i18n

@nuxtjs/i18n: https://github.com/nuxt-modules/i18n/pull/3071 but may need to be backported to v8 (cc: @BobbieGoede)

This was backported in v8.5.1 so if anyone is experiencing issues, make sure to check if you have updated @nuxtjs/i18n to v8.5.1 or higher!

The reproduction is no longer reachable, and I think this has now been resolved in upstream modules.
If this is is still reproducible for you, let me know and I'll happily reopen.


Errors are printed on console during callback

When setting an error in i.e BeforeCreate callback, the error itself is printed on the console.
How to silence this ?
Example
func (record *User) BeforeCreate(tx *gorm.DB) (err error) {
  if !record.duplicate_email(tx) {
    record.Errors["Email"] = fmt.Sprintf("Email address already taken")
   // this will be printed to the console
    err = errors.New(record.Errors["Email"])
    return
  }
}

db.LogMode(false)


issue and PR templates: h2 instead of h1 headers

This makes the titles a bit less shouty / take less screen space
(but there's still the thin separator lines).
Testing performed
rendered the md files.
haven't actually tested creating a new issue/PR with these templates though.
(edit: I did now, it works).
Known bugs/limitations
none known

(only disadvantage is that the separation in the source code between heading and content -- with the ====== -- was nice. Nicely mirrors the hlines in the rendered version).
but a separation can be done with spaces too
## heading

text
etc

## another heading

text


Add Smart Home functionality

As stated in the docs:
Note: The Node.js 'actions-on-google' client library does not currently support Smart Home apps.

It would of course be a lot easier if this were supported.

Smart Home support has now been added in 186b108d7cdca0425b856a42272dc3b9cd1c12ee
So any release since 2.1.0 should support the Smart Home service.
Check out the README for some snippets on how to use it.


[CMake] iOS simulator should still build 32-bit by default.

Accidentally deleted and never noticed because all of the package builds configure this explicitly.

@swift-ci Please smoke test Linux

@swift-ci Please test macOS

@jrose-apple Can you please cherry-pick and CCC this into swift-4.0-branch?

@jrose-apple Sorry, just notice something.
Do we also need to update this file?
https://github.com/apple/swift/blob/master/utils/swift_build_support/swift_build_support/targets.py#L95
    iOSSimulator = DarwinPlatform("iphonesimulator", archs=["x86_64"],
                                  sdk_name="IOS_SIMULATOR",
                                  is_simulator=True)


AWS EC2NodeClass's Cannot be Deleted/Edited

Description
Observed Behavior:
Deleting an EC2NodeClass with karpenter v.0.32.1 running on AWS EKS hangs indefinitely despite any force or other CLA's provided to the kubectl delete EC2NodeClass <nodeclass-name> command. I am deleting it AFTER I delete the associated NodePool and there are no nodes running that were spawned from this NodePool. I am forced to go into the kubectl edit EC2NodeClass and modify the finalizers: to be [] manually, then it deletes fine.
Editing EC2NodeClass definitions has also not been taking effect properly in the resulting NodePool associated with it, and as such I have needed to manually delete the entire EC2NodeClass and re-create it fully in order to accomplish an edit of its definition.
Expected Behavior:
The EC2NodeClass gets deleted properly when no NodePools are associated with it and no Nodes are running that were spawned by it.
EC2NodeClass definitions can be updated in-place and take effect.
Reproduction Steps (Please include YAML):
kubectl delete EC2NodeClass <nodeclass-name>
kubectl edit EC2NodeClass <nodeclass-name>
Versions:

Chart Version: v.0.32.1
Kubernetes Version (kubectl version):

WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.0", GitCommit:"a866cbe2e5bbaa01cfd5e969aa3e033f3282a8a2", GitTreeState:"clean", BuildDate:"2022-08-23T17:44:59Z", GoVersion:"go1.19", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"25+", GitVersion:"v1.25.14-eks-f8587cb", GitCommit:"7e6f4dcad910c5e01deb6c0e6b313e0ca2fed5b7", GitTreeState:"clean", BuildDate:"2023-09-18T22:14:19Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

I cannot delete the CRD EC2NodeClass too.
I can get it.

but I cannot delete it.
log:
{"level":"ERROR","time":"2023-11-14T11:18:01.832Z","logger":"controller.disruption","message":"listing instance types for herculesdev16, resolving node class, ec2nodeclasses.karpenter.k8s.aws \"herculesdev16\" not found","commit":"1072d3b"}

For the purposes of NodeClass CloudProvider resolution, we treat deleting NodeClasses as NotFound
I saw this comment in pkg/cloudprovider. So I cannot delete it?

I cannot delete the CRD EC2NodeClass too

The EC2NodeClass contains a finalizer that watches for all nodes that were launched by the NodePool/EC2NodeClass to be fully deleted before the EC2NodeClass can be removed. This is in-place to ensure that all of the instances that are running using the managed instanceProfile are deleted before the instance profile is removed and the EC2NodeClass is deleted.
This behavior is maintained by the EC2NodeClass checking for the existence of any NodeClaims that are using it and refusing to be removed until all associated NodeClaims are removed. You should be able to see this by doing a describe on the EC2NodeClass to see the events on why it's hanging.

I cannot delete the CRD EC2NodeClass too

The EC2NodeClass contains a finalizer that watches for all nodes that were launched by the NodePool/EC2NodeClass to be fully deleted before the EC2NodeClass can be removed. This is in-place to ensure that all of the instances that are running using the managed instanceProfile are deleted before the instance profile is removed and the EC2NodeClass is deleted.
This behavior is maintained by the EC2NodeClass checking for the existence of any NodeClaims that are using it and refusing to be removed until all associated NodeClaims are removed. You should be able to see this by doing a describe on the EC2NodeClass to see the events on why it's hanging.

@jonathan-innis
I understand that an EC2NodeClass should only be deleted one all of its nodes' / nodeclaims' no longer exist, but I am seeing it unable to be deleted even when there are NO nodes / nodeclaims existing anymore. See the following evidence:
$ kubectl get nodes
NAME                                         STATUS   ROLES    AGE   VERSION
ip-30-0-102-210.us-west-2.compute.internal   Ready    <none>   26d   v1.25.13-eks-43840fb
ip-30-0-106-137.us-west-2.compute.internal   Ready    <none>   26d   v1.25.13-eks-43840fb
ip-30-0-127-92.us-west-2.compute.internal    Ready    <none>   26d   v1.25.13-eks-43840fb
ip-30-0-137-159.us-west-2.compute.internal   Ready    <none>   26d   v1.25.13-eks-43840fb
ip-30-0-139-163.us-west-2.compute.internal   Ready    <none>   26d   v1.25.13-eks-43840fb
ip-30-0-165-35.us-west-2.compute.internal    Ready    <none>   26d   v1.25.13-eks-43840fb

These are the 6 nodes that my cluster has, which are all in AWS EKS NodeGroups, and where I schedule kubernetes / karpenter / etc services that are persistent.

Events:    <none>

As you can see, then describe shows it is queued for delete, and it also has no Events.
$ kubectl get ec2nodeclass
NAME                     AGE
nodeclass                46h
nodeclass-high-storage   46h

Finally, you can see the EC2NodeClass I attempted to delete is still stuck existing.

Finally, you can see the EC2NodeClass I attempted to delete is still stuck existing

What are the Karpenter logs associated with the deletion?

One solution that worked for me is to edit the ec2nodeclass yaml (e.g using k9s) and remove the finalizer. This instantly allowed me to delete the ec2nodeclass resource.

One solution that worked for me is to edit the ec2nodeclass yaml (e.g using k9s) and remove the finalizer. This instantly allowed me to delete the ec2nodeclass resource.

Yes, this is the workaround I had been using as well.
However, I was able to resolve this issue fully, thanks to @jonathan-innis's suggestion to look at the karpenter service logs. I was seeing various IAM permissions related Access Denied errors because the karpenter controller role did not have the necessary perms to manage instance profiles. I updated my roles according to https://karpenter.sh/v0.32/getting-started/migrating-from-cas/#create-iam-roles and it is now working correctly, thank you!

I have deleted the deployment that triggered the Karpenter to provision additional nodes
All additional nodes have been removed from the cluster by Karpenter
I've successfully deleted Karpenter and its namespace from the cluster

However, I still can't delete the EC2NodeClass resource without removing its karpenter.k8s.aws/termination finalizer as described above.
kubectl delete EC2NodeClass default

This looks like a bug to me.

This behavior is maintained by the EC2NodeClass checking for the existence of any NodeClaims that are using it

Can you grab all of the NodeClaims on the cluster using kubectl get nodeclaims and then checking if there are any NodeClaims that reference the default EC2NodeClass that you have through the spec.nodeClassRef field?

Sure. Thanks @jonathan-innis for looking into this.
Here are the results:
❯ kubectl delete ns karpenter
namespace "karpenter" deleted
❯ kubectl get all -n karpenter
No resources found in karpenter namespace.
❯ kubectl get nodepool
No resources found
❯ kubectl get ec2nodeclass
NAME      AGE
default   36m
❯ kubectl get nodeclaim
No resources found

Then this one hangs forever unless I remove its finalizer

Can you share the Karpenter logs to see if there are any errors that are being raised here? Looking at the describe output, looks like you're right that all the NodeClaims are gone so it shouldn't be waiting on that anymore

As I've already successfully deleted Karpenter, there are no pods to get logs from

After further tests, I confirmed that the behaviour above is intermittent. The ec2nodeclass is removed sometimes but not always.

Force removal of EC2NodeClass in K8s
Once you have removed all the nodes associated with the nodecalss, you can force removal by editing the EC2NodeClass manifest on kubernetes. This is a hack, use only as last step.

On k8s edit the EC2NodeClass manifest
remove finalizers and save
   finalizers:                                                                                │     - karpenter.k8s.aws/termination

I installed karpenter via eks tf addons.
Then I uninstalled karpenter with "helm".
After that the ec2nodeclass's are not deletable.
Same workaround: remove finalizers.

Hi, I'm facing the same problem but I can't delete the Ec2Nodeclass even if I edit the finalizer first:
❯ kg ec2nodeclass
kNAME   AGE
apps   32s
ci     30d
❯ k edit ec2nodeclass apps
ec2nodeclass.karpenter.k8s.aws/apps edited
❯ k delete ec2nodeclass apps
ec2nodeclass.karpenter.k8s.aws "apps" deleted
k%                                                                                ❯ kg ec2nodeclass
NAME   AGE
apps   3s
ci     30d

The Ec2nodeclass just get recreated automatically
There are no nodeclaims:
❯ kg nodeclaim
No resources found

And the same behaiviour happens with the Nodepool:
❯ kg nodepool
NAME   NODECLASS
apps   apps
ci     ci
❯ k delete nodepool apps
nodepool.karpenter.sh "apps" deleted
kg%                                                                                ❯ kg nodepool
NAME   NODECLASS
apps   apps
ci     ci

(except it doesn't have  a finalizers to edit)

I have the same issue. I ran into it while trying to upgrade from Karpenter 0.37 to v1.0.5.
I tried deleting the node group but nothing.
Now I have to delete the whole cluster.
This was really unexpected.


Unable to login using standand means

I am currently unable to login to the Planteome instance of Noctua using standard means.

navigate to http://noctua-dev.planteome.org/
click [Login]
click "Sign in with GitHub"

accept Planteome Noctua request on GitHub (first time only)

At this point, I am returned to the barista page. While the login apparently "succeeded", it still asks for login or return

with the URL
http://barista-dev.planteome.org/login/success?barista_token=null&return=http://noctua-dev.planteome.org/
and I have no way to proceed back to the application logged in.
I think the null token is key here. My guess would be that it either means that barista-dev could not lookup my name to give me access (possible because I have "go" access and not "planteome" access?) or that the return handshake from github back to barista-dev went wrong (maybe wrong domain?).

I added you to the Planteome organization in users.yaml.  Try it now.  Or let me know if I need to restart barista.

Assuming that you have given yourself maximum privileges, you will need to:

go to http://noctua-dev.planteome.org
login and return to the landing page
click on [Danger Zone] tab
click "Barista Information" [Users]
click [User refresh]

That said, I have them and refreshed the user information; however, am still unable to login as myself. Is the correct users.yaml located in the expected location for Barista?

Be aware that refreshing users shuffles their colors ;)

I had not, but I did now.  I had to restart barista, so I think it's all good now.

It now works for me; just the permissions issue then.
A barista restart should not be necessary, but it is certainly effective as well.


Use the Jinja2 compiler syntax

I'm not sure this is adequate but I'm having trouble with incompatibilities with gmt since the compiler updates. I noticed that pcre isn't using the new compilers and this is a pcre dependency so I figured I'd start here.

@jakirkham if this works and is acceptable, then #8 would be unnecessary.

Ping @isuruf

Yay, CIs are passing

LGTM. Thanks @leouieda :)

@jakirkham I'm glad to help. Is this good to merge?

The Circle build is failing now after the merge with a "Permission denied" while cloning the repo. Is there something wrong with the ssh key?
https://circleci.com/gh/conda-forge/libtool-feedstock/15

I updated the token and re-started it.

Perfect! Thank, Filipe


Added select option for input type on modal

Hi Alex.
I was using Trumbowyg and I've missed the feature of creating a select inside a modal so I've designed this workaround.
In order to test it, just use:
trumbowyg.openModalInsert(
    trumbowyg.lang.affiliate,
    {
        "Type": {
            type: 'select',
            options: {
                'home': 'Home page',
                'registration': 'Registration page',
                'new_customer_bonus': 'New Customer bonus',
                'special bonus': 'Bonus page'
             },
             required: true
     }
 }

And it works like a charm for now. But of course. As I said. Is just a workaround that I was in need now. Maybe someone else also needs this kind of changes.
Thanks and keep up the great work.
Cheers,

Was too strong to be added to the core. And it's too old now. Sorry :/


ISPN-12570 REST server stop hangs when channel is open

https://issues.redhat.com/browse/ISPN-12570
Do not try to close channels explicitly.
Only check that shutting down the event loop groups
also closed the channels.
Might be superseded by https://github.com/infinispan/infinispan/pull/8885, but I opened it so I can trigger a build in CI and verify that the channels are indeed closed.

Integrated into master, thanks @danberindei !


Fix most combine tests

This PR fixes almost all of the combine tests. There are a couple of notable test cases that fail as of now but these failures seem, based on my investigation so far, to somehow be related to the cases in which coo_map is provided to MultiZarrToZarr. In these cases, datetimes are not properly being parsed and, instead, floats are what gets decoded.
Depends on:
https://github.com/zarr-developers/zarr-python/pull/2533
https://github.com/fsspec/filesystem_spec/pull/1755

After this, the table (here)[https://github.com/fsspec/kerchunk/pull/516#issuecomment-2501887793) should be amended to say that test_combine.py has 2 failures with a note about the coo_map and/or datetime decoding issue mentioned above


Fix:Change method name

Method name block_markdown_exporter was wrong.
Because of which getting error while importing
Fixed the issue in the PR

Thanks!


Failing test on AzDO:  Activation of Environments in Terminal :: Should activate with venv

The test Activation of Environments in Terminal :: Should activate with venv is blocking PR merges.  For example, see https://vscode-python.visualstudio.com/VSCode-Python/_build/results?buildId=3659.
2019-02-06T23:46:13.5637755Z     ✖ Should activate with venv -- error: expected 'C:\\hostedtoolcache\\windows\\Python\\3.7.0\\x64\\python.exe' to equal 'D:\\a\\1\\s\\.venv\\Scripts\\python.exe'
2019-02-06T23:46:13.5637877Z
2019-02-06T23:46:13.5766606Z ##[error]out\test\common\terminals\environmentActivationProviders\terminalActivation.testvirtualenvs.js(,): error : FAILED Activation of Environments in Terminal :: Should activate with venv
2019-02-06T23:46:13.5777399Z ##[debug]Processed: ##vso[task.logissue type=error;sourcepath=D:\a\1\s\out\test\common\terminals\environmentActivationProviders\terminalActivation.testvirtualenvs.js;]FAILED Activation of Environments in Terminal :: Should activate with venv

I have disabled the test in #4303 to unblock merging.

@d3r3kk, any ideas on this?

FYI, the same failures happen with Should activate with pipenv and Should activate with virtualenv.

Looks like the shared output file (used to determine which Python interpreter was invoked in the terminal) is causing a problem between teardown and setup perhaps.


init.sh : command not found

Situation:
I'm running through the tutorial and have successfully ssh into...
ubuntu@ubuntu-xenial:~/quorum-examples/7nodes$
I'm trying to execute init.sh and start.sh
looking at list files, I see both init.sh and start.sh available in 7nodes

Expected Behavior:
I expected to have the 7 nodes up and running.
Actual Behavior:
instead I received...
"ubuntu@ubuntu-xenial:~/quorum-examples/7nodes$ init.sh
init.sh: command not found"

Try ./init.sh and ./start.sh


Add support for the -update-code flag used to run the migrator

This doesn't pass the corresponding lit test yet because the flags are in a different order, but everything else seems to match.
It's worth pointing out that I deleted the -update-code check in determinePrimaryOutputs because the condition would never be met (-update-code isn't in the modes option group and the same problem occurs in the old driver). This seems consistent with the intent of the original driver's implementation which treats the migration as a parallel output to the compile, but might be worth double checking for correctness because I don't think the migrator is used much outside of Xcode.
Also, please feel free to ignore this until after the holidays! I'm just posting it early to run CI tests

@swift-ci please test

@swift-ci please test

@swift-ci please test


TypeError: Cannot read properties of null (onKeyDown.js)

Description
Greetings dear fellows.
We did set up Algolia search autocomplete with the help of @algolia/autocomplete-js. It is quite similar to what is defined in the query suggestions sandbox example from your docs.
It is rolled out in one of our services and works, however we are noticing cryptic errors coming from the library code.
We cannot reproduce it and it happens quite occasionally.
Sentry gives us the following traceback:
TypeError: Cannot read properties of null (reading 'item')
  at <anonymous>(./node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js:116:20)
  at <object>.onKeyDown(./node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js:179:9)
  at <object>.onKeyDown(./node_modules/@algolia/autocomplete-js/dist/esm/elements/Input.js:36:18)
  at eventProxy(./node_modules/@algolia/autocomplete-js/dist/esm/utils/setProperties.js:30:25)

Reproduction
Couldn't yet.
Expected behavior
No errors coming from the library.
Environment

OS: Windows >= 10
Browser: Edge 122.0.0, Firefox 124.0, Chrome 122.0.0, Edge 120.0.0
Autocomplete version: 1.17.0

To start unpacking this behaviour, it seems to be linked to this line: https://github.com/algolia/autocomplete/blob/next/packages/autocomplete-core/src/onKeyDown.ts#L146 where somehow getActiveItem returns null, although I don't know how that can happen

Analysis

The function getCollectionFromActiveItemId attempts to find the collection containing the active item based on the activeItemId. If no collection contains this item, the function returns undefined, leading getActiveItem to return null
Similarly, if the activeItemId is invalid the function can fail to find the active item and return null.

Possible Fix

By Validate activeItemId Before Using It.
Null Check in Calling Code: In onKeyDown.js and other places where getActiveItem() is used.

I would like to open a PR for this issue. Could you please assign it to me? @Haroenv


When aborting the program due to force unwrapping a nil value, include the type of the value in the error message

This PR changes SILGen to include more debug info when emitting a call to _diagnoseUnexpectedNilOptional:  It adds the name of type of the value that is being force-unwrapped, and _diagnoseUnexpectedNilOptional then includes it in the error message.  The idea here is to improve the message for cases where you may have multiple force-unwraps on the same line:
let dict: [String:[Int]] = ...
print(dict["hello"]!.first!)

Currently, this aborts with:

unexpectedly found nil while unwrapping an Optional value

Which doesn't tell which of the two bangs is failing.  With this PR, we'll print:

unexpectedly found nil while unwrapping value of optional type '[Int]?'

This helps understand what exactly went wrong.

I don't want to bloat code size with this. Can we dynamically print the name of the type instead?

(not to mention secrecy—type names are not necessarily meant for public consumption!)

Ok, thanks!  I'll update the PR.

Could we instead print the line and column number?

@DemiMarie We already do.

Talked to Kuba offline.  There's some core problems with this approach that would need to be shaken out before we could take this.
Closing it out.


Resize operation naive

The resize currently just drops every other pixel from the image this is very bad for the quality of the image and should be done instead with bilinear interpolation

wont fix


Feature request: Improvements to the query import modal

Implementation plan

Query load flows
Rename
Preview
Delete
Last modified date
Filter by Class
Filter by dataspace
Filter by mine

Service execution editor
❎
✔
❎
✔
❎
❎
✔

Load existing query (setup)
✔
✔
✔
✔
❎
❎
✔

Productionize query (setup)
❎
✔
❎
✔
❎
❎
✔

Load existing query (query editor)
✔
✔
✔
✔
❎
❎
✔

Load existing query (from dataspace)
✔
✔
✔
✔
✔
✔
✔

Engine work

[ ] Modify search endpoint to return last modified date for a query finos/legend-engine#1535

General design of import modal

Filter Options

Mine only

Advanced options

Preview

Studio Tasks

[x] Send classPath as tagged value when we save/update queries so that we can filter via class #2018
[ ] Add a generic load query importer
[ ] Customize load query importer for all workflows via extensions
[ ] Limit to search to list of top 10 queries
[ ] Make the minimum search text to be 3 letters
[ ] Leverage localStorage to store list of 10 query ids most used by the user (update the list stored whenever user tries to access a new query. Use concept of caching here)
[ ] Add metrics around the operations getting added (THINK)

| Query load flows                     | Rename | Preview | Delete | Last modified date | Filter by Class | Filter by dataspace | Filter by mine |  | SearchModified                      | View | Free |                                    |
| ------------------------------------ | ------ | ------- | ------ | ------------------ | --------------- | ------------------- | -------------- |  | ----------------------------------- | ---- | ---- | ---------------------------------- |
| Service execution editor             | ❎      | ✔      | ❎      | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    | x    | <- should be scoped to the project |
| Load existing query (setup)          | ✔     | ✔      | ✔     | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    |      |                                    |
| Productionize query (setup)          | ❎      | ✔      | ❎      | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    |      |                                    |
| Load existing query (query editor)   | ✔     | ✔      | ✔     | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    | x    |                                    |
| Load existing query (from dataspace) | ✔     | ✔      | ✔     | ✔                 | ✔              | ✔                  | ✔             |  | x                                   | x    | x    |                                    |
|                                      |        |         |        |                    |                 |                     |                |  |                                     |      |      | POST /search                       |
|                                      |        |         |        |                    |                 |                     |                |  |                                     |      |      | POST /relevants                    |
|                                      |        |         |        |                    |                 |                     |                |  | Sort order                          |      |      |                                    |
|                                      |        |         |        |                    |                 |                     |                |  | owned by user last modified         |      |      |
|                                      |        |         |        |                    |                 |                     |                |  | recently viewed by user             |      |      |
|                                      |        |         |        |                    |                 |                     |                |  | free (ordered by recently modified) |      |

| Query load flows                     | Rename | Preview | Delete | Last modified date | Filter by Class | Filter by dataspace | Filter by mine |  | SearchModified                      | View | Free |                                    |
| ------------------------------------ | ------ | ------- | ------ | ------------------ | --------------- | ------------------- | -------------- |  | ----------------------------------- | ---- | ---- | ---------------------------------- |
| Service execution editor             | ❎      | ✔      | ❎      | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    | x    | <- should be scoped to the project |
| Load existing query (setup)          | ✔     | ✔      | ✔     | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    |      |                                    |
| Productionize query (setup)          | ❎      | ✔      | ❎      | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    |      |                                    |
| Load existing query (query editor)   | ✔     | ✔      | ✔     | ✔                 | ❎               | ❎                   | ✔             |  | x                                   | x    | x    |                                    |
| Load existing query (from dataspace) | ✔     | ✔      | ✔     | ✔                 | ✔              | ✔                  | ✔             |  | x                                   | x    | x    |                                    |
|                                      |        |         |        |                    |                 |                     |                |  |                                     |      |      | POST /search                       |
|                                      |        |         |        |                    |                 |                     |                |  |                                     |      |      | POST /relevants                    |
|                                      |        |         |        |                    |                 |                     |                |  | Sort order                          |      |      |                                    |
|                                      |        |         |        |                    |                 |                     |                |  | owned by user last modified         |      |      |
|                                      |        |         |        |                    |                 |                     |                |  | recently viewed by user             |      |      |
|                                      |        |         |        |                    |                 |                     |                |  | free (ordered by recently modified) |      |


AnimateDiff producing noise output in Comfyui

Any workflow that uses AnimateDiff produces a colorful noise like the image included. Ive tried changing every possible setting in the relevant AD nodes. My nodes and Comfyui are up to date. AD was working fine then suddenly everything was just this noise output.
After some testing it seems that the FreeNoise in sample settings for FreeInit is the culprit. I uninstalled and reinstalled AD and it was working as expected. When I changed the noise type in sample settings to FreeNoise the output was starting to resemble the Noise seen in the photo I included but nowhere near as bad. Unfortunately, the damage was done and even after I changed the settings back to default and even created a new AD loader (legacy or new) the outputs slowly get worse until they look like the image. Using mm_sd_v15_v2 btw.
https://github.com/user-attachments/assets/c7d0bb43-edf5-423d-9eac-a88afd4d1b74

After some testing it seems that the FreeNoise in sample settings for FreeInit is the culprit. I uninstalled and reinstalled AD and it was working as expected. When I changed the noise type in sample settings to FreeNoise the output was starting to resemble the Noise seen in the photo I included but nowhere near as bad.  Unfortunately, the damage was done and even after I changed the settings back to default and even created a new AD loader the outputs slowly get worse until they look like the image.

Although, your video being 0 seconds/1 frame long does make me thing you are simply not using 16 latents/more than 16 latents with context_length 16, and instead gave it 1 latent.

I was using multiple latents which were also generating the noise after free noise, but I will say that I wasn't increasing the context length with more latents and I wasn't aware that 16 was the sweet spot. With that in mind I created a new workflow from scratch using 16 latents with 16 context length and got no noise but it wasn't working like it was before, it wasn't really doing anything at all. Long story short I played around with some different checkpoints and cfg and eventually got it somewhat close to where it was before and freenoise is no longer causing issues. Thankyou you so much for responding, I'm new to comfy, sorry for the noob question.
Ill include a list of my custom nodes as I am still curious to see if anything could be interacting with AD


[mgmt] hybridconnectivity release

https://github.com/Azure/sdk-release-request/issues/4439

/azp run prepare-pipelines

/azp run js - hybridconnectivity - mgmt - ci

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-hybridconnectivity


test(ocm-backend): Add missing cluster to a router test

SSIA
The workflow on the latest keycloak commit probably needs to be rerun since it failed because of this. Sorry about that.

sorry, didn't noticed this one until I've merged #278 🤦
I'm sorry.. 🤦


feat: Switch/Toggle widget

Here is the switch/toggle widget that adds a boolean conjunctive filter and removes it with a checkbox.
Use case is hiding/showing all results that have for example free_shipping: true. When checked, only items with this attribute true will be displayed. When unchecked, all items will be displayed.
I renamed it from switch to toggle because naming variables switch in JavaScript caused issues as this is a reserved keyword.
Comments welcome

Oh, and as the instant search demo does not have any boolean attributes, there is no way to test it here. I tested on a custom index on my side.

Oh, and as the instant search demo does not have any boolean attributes, there is no way to test it here. I tested on a custom index on my side.

We'll add a randomly generated "free_shipping" attribute then.

@pixelastic The proposed API in #41 had template and cssClass in it, what about them? Do you implement them also?
About template: we could maybe have a default template, use it if no provided template. Otherwise use the provided template (like for multipleChoiceList).

Oh, and as the instant search demo does not have any boolean attributes, there is no way to test it here. I tested on a custom index on my side.

It did have something like a switch at some point when we did the API proposal, in #41 there's a screenshot but now it's no more on the demo. Yes for adding it to the data.

@vvo: No I did not implemented the template and cssClass because once again we're going back to the same questions :)
I listen to the checkbox change event, so allowing for a custom template would raise again all the questions of how we will be able to correctly bind our event if we don't know what the template will compile too.
Regarding the cssClass, I'm not even sure the label wrapping the checkbox will be the final default template. Also, we won't even use this widget in the instant search, so I think we can just keep it like it is for now.

Regarding the cssClass, I'm not even sure the label wrapping the checkbox will be the final default template. Also, we won't even use this widget in the instant search, so I think we can just keep it like it is for now.

100% agree to review the PR as it now because it's sufficient.

I listen to the checkbox change event, so allowing for a custom template would raise again all the questions of how we will be able to correctly bind our event if we don't know what the template will compile too.

For this issue I thought we did solve it in the refinementList where you can have either a checkbox or  a link and we only listen for the item click event (and it bubbles from the checkbox or the link to the item element).
BUT no need to make anymore modifications on this one, just wanted your input on the onClick/template

The code we have on the refinementList for catching the event is quite complex IMHO, and we only needed it because we provided the user the ability to add a custom template. As I'm not doing it here, just listening to the checkbox change event is enough.
The thing is, the way we will handle event is tightly linked to if and how we handle the templates. If we do not let the user change the template and provide our own HTML markup, then we can listen to specific event on our own markup (like the change event on the checkbox).
If we let the user completely change the template, then it may or may not use a checkbox (which will in that case become only a design element and not part of the widget behavior). In that case, we'll have to listen to our events higher in the hierarchy (click event on the wrapper instead of change event on the checkbox). And as we've seen, this comes with its own strange bugs (click event firing twice when wrapping checkbox in label).
So, to conclude, I think putting the onclick on top would be the way to go if we go the template route. But as we're still ensure how to handle template, I'll just put that on hold for now :)

Ok, so I actually did the complete opposite of what I just said above :)
For adding the widget to the page example, I needed a template, so I added the option. I used debounce with leading: true, trailing: false though. It seems more straightforward to me than handling the specifics tagname cases, but I'm open to improvements.
I did not add the cssClass/rootClass property though, as this can be achieve either by editing the wrapping HTML or the `template.

I've added a bit of documentation (both code and human-readable) with a print screen. Ready to be merged after that.

I like the screenshot thing, we should do it for other widgets after.

@redox @vvo @bobylito: Comments? Otherwise ready to be merged.

Will merge soon

Interesting trick! Have you tested on multiple browsers?

I think we did not test any other than chrome for now!


Modfisto 103 1

Purpose
MODFISTO-103
netTranster value "from budget" should be negative and positive for "to budget"
Approach

Swap sign to cover requirements
Update OverEncumberance calculation

Pre-Merge Checklist
Before merging this PR, please go through the following list and take appropriate actions.

Does this PR meet or exceed the expected quality standards?

[x] Code coverage on new code is 80% or greater
[x] Duplications on new code is 3% or less
[x] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] Were any API paths or methods changed, added or removed?
[ ] Were there any schema changes?
[ ] Did any of the interface versions change?
[ ] Were permissions changed, added, or removed?
[ ] Are there new interface dependencies?
[x] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

Failed test will be fixed in scope of https://issues.folio.org/browse/MODFISTO-142