[napari-workflows] Pyramid levels

Branching from https://github.com/fractal-analytics-platform/fractal-tasks-core/issues/31#issuecomment-1280852826

Regarding pyramid levels: I'd say the user chooses a pyramid level to run the whole workflow in, one can't easily change that within the workflow. Do you still see issues then and what would they be?

My understanding is that:

Labeling should take place at a user-defined level (sometimes it could be too expensive to do it at level 0)
Measurement should always take place at level 0, with label arrays upscaled to match the high-res image arrays.

This is easy to achieve if the labels are not produced by napari-worfklows, since we can just upscale them at the very beginning (before running a napari-workflow). But some other napari-workflows involve both labeling and measurement, and thus we cannot select different levels easily.
The simplest workarounds are a bit cumbersome, but we can explore them:

We provide a coarse image array as an input, we let the whole workflow run, and at the end we need to rescale the measurement by the appropriate factor. Annoying part: this requires scanning all columns of the dataframe, and "knowing" which ones are lengths/areas/volumes.
We construct a custom workflow which takes two images: one at level X (to be used in labeling), the other one at level 0 (to be used for measurement, after labels are upscaled within the workflow). Annoying part: we cannot use a given workflow "as is".

Hmm, that's a fair point. Though I think there are 2 workarounds for this that avoid us having to dive into this:

Run 2 separate workflows. The first to get segmentation e.g. at level 2. And then a second workflow that runs at level 0.
Have a workflow that handles the resolutions within the workflow, e.g. the workflow downsamples images to create segmentation, upsamples the result again before saving. Some deep-learning libraries we may use can do this built-in I think.

Switching resolutions within a workflow would then be option 3 and can be in the backlog for now. If we want to tackle it, I suggest we go with a version of your option 2. i.e. the user provides 2 different inputs: 1) the image at low res, 2) the same image at high res => would require that we don't just specify the channel, but also the resolution level for inputs and outputs.  I think that can be done as part of the actual workflow by picking 2 different inputs in the workflow as well.
But I think to start with, running workflows at level 0 should be a good start. Once we want to generalize, adding the option to choose the resolution level for inputs should work

Though thinking about my proposed solution 1 now: That also requires us to be able to specify the resolution level we want to process. So that probably needs to be added to the workflow wrapping, as part of the input we specify? And that should default to resolution level 0, but if we want to support processing at lower resolution levels, then an optional level parameter would also need to be part of the input & output dictionary.

[I'm splitting this comment into parts, for clarity]
I started to work on this, but then realized that the plan is not clear yet. To make it explicit (but I'm open to other advice): I am now trying to implement a version of @jluethi's option 1:

Run 2 separate workflows. The first to get segmentation e.g. at level 2. And then a second workflow that runs at level 0 to make measurements.
That also requires us to be able to specify the resolution level we want to process

This idea of splitting a complex workflow into two different ones is nice in that it provides a "segmentation" fractal task (this could be through cellpose o napari-workflows), and then a "measurement" fractal task (always through napari-workflows). The segmentation one would possibly run at level>0, and the measurement one would simply run at level=0` (upscaling any input label array to make it match the image array).
A note:

Since I understand that napari-workflows could offer much more than just labeling/measurement, are there already some interesting example that we think should be covered in the future? Listing relevant examples would be helpful for the wrapper design.

To-do for this:

[ ] Add a level parameter to the task (but not to each entry in the input_specs dictionary).
[ ] We should include at least a soft check, that raises a warning if level>0 but some task include regionprops (are there other known measurements functions? should this be a hard check?)

A different option is to set a level value for each entry of input_specs.
TL;DR: I think handling all cases would quickly become a bit complex
Let us look at some examples of input_specs dictionaries:
input_specs_1 = {
    "input": {"type": "image", "channel": "A01_C01"},
}
input_specs_2 = {
    "slice_img": {"type": "image", "channel": "A01_C01"},
    "slice_img_c2": {"type": "image", "channel": "A01_C01"},
}
input_specs_3 = {
    "dapi_img": {"type": "image", "channel": "A01_C01"},
    "dapi_label_img": {"type": "label", "label_name": "label_DAPI"},
}

For case 1, it would be very simple to replace the input value with {"type": "image", "channel": "A01_C01", "level": 1}. Since the corresponding workflow performs some labeling, we would then know that any output label should inherit the level parameter from input. Note that there is a single input here.
For case 2, we already have to enforce an additional check. If we add a level to each of the two inputs, the two levels must be equal. This is required later by the workflow, but fractal cannot inspect the workflow in advance to know that. Easiest (but not cleanest) solution: let any input go through, and then fail via napari-workflows. Slightly better solution (in my opinion): we force all input levels to be the same (but this brings us back to a global level parameter).
In this case, in principle, levels are already handled correctly: we take level 0 of both dapi_img and dapi_label_img, and we upscale the label array to match the image array.

Perhaps this question will help us move forward:
Which kind of processing will need to take place at arbitrary resolution?
At the moment, this is only relevant for labeling. Are there other known cases?
If not, the simplest approach would be the one of asking the user to separate the labeling workflow from the rest: we would expose a task-wise level parameter, but allow a value level>0 only for a workflow that satisfies some constraints (e.g. it includes a labeling task, and it does not include any measurement).

This is now in-place, with a code like
    # Characterization of workflow
    input_types = [params["type"] for (name, params) in input_specs.items()]
    output_types = [params["type"] for (name, params) in output_specs.items()]
    are_inputs_all_images = set(input_types) == {"image"}
    are_outputs_all_labels = set(output_types) == {"label"}
    is_labeling_workflow = are_inputs_all_images and are_outputs_all_labels
    if level > 0 and not is_labeling_workflow:
        msg = (
            f"{level=}>0 is currently only accepted for labeling workflows, "
            "i.e. those going from image(s) to label(s)"
        )
        raise NotImplementedError(msg)

TO-DO:

[ ] Design a new example where the labeling+measurement workflow (e.g. wf_3.yaml) is split into two workflows, and labeling is performed at a higher level.

Also to consider: #152

Sorry for only catching up on this now.
Going with option 1 of splitting workflows looks good to me and great that we have a way of passing levels now. Are levels a required argument or do they default to level 0? I'd think defaulting to level 0 makes sense.
I think in general, it's hard to know what operations make sense at what level. A reasonable default assumption is that we don't want to do measurement operations at levels > 0, so your implementation makes sense as a first start.
I'll open an issue to discuss this further whether this assumption should be relaxed and e.g. just be a warning.
Also, at the moment, there is a global level for the workflow, right? Seems reasonable, I'll need to think whether we'd ever need to relax that.

Ok, I thought it over in detail in https://github.com/fractal-analytics-platform/fractal-tasks-core/issues/159
My conclusion: The current implementation is good. There is a few areas we may want to adapt in the future, but I wouldn't focus on any of them now :)


[KeePassXC] General security note

Extension
https://www.raycast.com/zkytech/keepassxc
Description
First of all, it's worth saying thank you for your contribution!
However I would raise an important issue in terms of security. The architecture of this extension is in my opinion, it negates the assumptions that Keepass* should have.
My main objective is that it's not using the HTTP server that is exposed by the open Keepass* app, which is should instead. That should works similar to the Browser extension that query the Keepass* to obtain the credentiials when the database is unlocked in Keepass*.
Instead the extension stores the:

Location of the database
Password

Keepass* database password shoudn't be saved anywhere other than the user's memory. If the Raycast has an vulnerability there will be an easy way of gaining access to the database. In fact i can image targeted attack on Raycast.
Steps To Reproduce

Install the extension
Configure the extension

Current Behaviour
No response
Expected Behaviour
No response

Is there any http api to get account list ? or search by keyword ?
If the Raycast has an vulnerability there will be an easy way of gaining access to the database. In fact i can image targeted attack on Raycast. . Why http api can avoid this ?
In theory, there are indeed some methods that can give you a stronger sense of security, but I don't have time to implement them. Anyway, Pull requests welcome.

Hello @imkebe,

if the Raycast has an vulnerability there will be an easy way of gaining access to the database. In fact i can image targeted attack on Raycast.

Why http api can avoid this ?

I agree with @zkytech. However @imkebe, I understand your concern. Whenever I export my Raycast config file, I always erase the password saved in the extension before. If you can propose an alternative, feel free to do a PR. Unfortunately, I don't have time as well.

The main difference is that the database is only accesible then user unlock the database while with the extension it's always accesible. I know that http api has also needs to be authenticated by exchanging some credentials - however this is not the master password.
I just wanted to point those security issues to the community.


Get the distance related to the plane using the screen coordinates

I'm trying to automate two taps on the phone's screen coordinates - let us suppose (x1,y1) and (x2,y2) and get the distance between two points on the plane that their corresponding rays hit on the plane.
My Aim is to get the distance y on the plane by passing the distance x viz on my phone's screen. Kindly please help on this.

I've got the issue solved by using hitTest.


Don't use relative_path_from on glob results

Windows Ruby 2.3 Dir.glob() translates pathnames like ADMINI~1 to Administrator, making the comparison fail.

👍  assuming travis doesn't find any edge conditions

:+1:

👍


Add place for documentation to live

Actually I think we're going to be moving this to the main Venice wiki

We can still commit these mockups here and then link to the files from the main Venice WIki


Make ackee loadable from subfolder/same host

Hi there, i really like ackee for its clear visuals and simplicity. Also i can easily set it up with docker and reverse proxy.
🐣 Is your feature request related to a problem? Please describe.
If i understand correctly, ackee can only be loaded from a different (sub)domain. For this to work, you need to setup headers etc. Also you need to open another https connection with handshake etc. which can be slowish. This is not a real problem because ackee.js loads asynchronous.
💡 Describe the solution you'd like
Configure ackee to be loadable from a subfolder. This is already doable e.g.

Main site hosted on example.com
ackee-docker reverse proxied on ackee.example.com
configure webserver to internally proxy example.com/ackee.js and example.com/api to same ackee-docker host as ackee.example.com.
embed script but change source from ackee.example.com/ackee.js to example.com/ackee.js
script is loaded and ackee counts visits on different hosts, but no second https connection is opened so site loads faster. Also i did not explicitly set up (cors-)headers for this and it still worked (with caddy http server)
ackee dashboard still reachable under ackee.example.com

I'm unsure if this breaks anything, because i couldn't find this setup in the docs. For me it is working.
📋 Additional context
This is surely more "nice to have" than a serious issue. Also maybe all of this already is implemented but i did not find it in the docs? Then please dismiss this request.
Greetings!

This issue was already raised in #227. Pull requests #288 and #317 both address this same issue, but have not been accepted yet.
Although this issue is a duplicate, I want to suggest to keep it open because #227 is closed.

Are there any news on this front? Plausible currently has the same issue and I'm looking for an alternative that supports a base url. Unfortunately, ackee is in the same position as Plausible.
The reverse proxy along isn't enough as mentioned in #227 so something has to happen in the ackee codebase.


Fix incorrect code

What changed?
Removed the syntax error code.

Why?

How did you test it?

Potential risks

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

Yea, this is clearly a bot / something with a history of opening misleading PRs.  Reported.


[HOLD] Remove api-server certificate workaround

Solution/Idea
I don't know if this is fixed already in 4.4 or if it's 4.5-only for now, but I noticed this workaround today, which is supposed to be unneeded
Testing
If this change does not work, then with a bundle older than 24h, crc delete && crc start will not result in a working cluster.

/retest


Include docs, tests, and example.py in PyPI tarball.

Hi!
This would be nice for downstream re-packagers of this (awesome) lib, like Linux distros.  We like to pull down the tarball from PyPI just like everybody else, but then it's nice to be able to re-run your test suite before we push the "go" button on a new package update.
Cheers!

Heya,
this is a bit weird but my current practice for all of my packages is to not include docs and tests inside the PyPI release tarball, but publish docs on PythonHosted.org (i.e. PyPI) and leave tests for the devs.
In general that is to avoid headaches - Python packaging is very bad (though in all fairness, many more languages have it way worse) and the less I have to include in the hacky mess that is setuptools, the better.
If you can make a compelling case that this is a good idea and common practice, I will gladly change my way of releasing software though; at the cost of writing a few extra lints for unleash. =)

No compelling case from me.  It would only add convenience for Linux packagers in Debian, Fedora, etc..
We can pull down upstream tests from git, but it means an extra headache on our side.  (We have to identify and encode the place from which to pull the official tarball and then also have to identify and encode the separate place from which to pull tests).
In my mind, it is all simpler if all the bits go with the software everywhere it goes, but ultimately its your project, your preferences.  :)  No hard feelings if this gets closed without merging.


Debian 12 support?

Rig does not seem supporting Debian 12 now.

There are no R builds for Debian 12 yet: https://github.com/rstudio/r-builds/pull/166

We have now Debian 12 R builds (x86_64, arm64 still building), but this will still need a rig release first.

Now released.


Is this compatible with SGM41511

Hi,
First of all impressive work. I see there is I2C address for SGM41511 does this work fine with that IC?
Thanks

Incompatible, the registers are different. I don't have a sample to test, I just added the I2C device address of the same type of chip


Add "kvm uninstall" or "kvm replace" command.

Since we have new builds daily I recommend adding "kvm uninstall" or "kvm replace" commands.

File this on aspnet/dnvm


fix: upgrade pytest-flask to 1.3.0 to fix some unit testing issues

From #3162 looks like we can remove pytest-flask :D

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to @_bellini666 for the PR 👏

Get it here 👉 https://github.com/strawberry-graphql/strawberry/releases/tag/(next)

From #3162 looks like we can remove pytest-flask :D

Oh, even better!
Well, let me know if you want to drop this or not. It is probably good to merge, I didn't add any RELEASE.md because it only affects tests, so I don't think it is worth producing a new release for it.

I think we can close it, so we don't cause merge conflicts 🗡


Deindent tests - previously, due to indentation these methods were tr…

…eated as internal functions of test_presto_to_mysql and not collected by nosetests
Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:

AIRFLOW-239

[Current coverage][cc-pull] is 68.03%

Merging [#1591][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master      #1591   diff @@
==========================================
  Files           116        116
  Lines          8310       8310
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           5654       5654
  Misses         2656       2656
  Partials          0          0

Powered by Codecov. Last updated by [5963ac8...d59fce9][cc-compare]
[cc-base-branch]: https://codecov.io/gh/apache/incubator-airflow/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/apache/incubator-airflow/compare/5963ac8b7b7c0b3470ce6171b1cd928485bc9884...d59fce9fe538f9b5f2ec0f986873645861663023
[cc-pull]: https://codecov.io/gh/apache/incubator-airflow/pull/1591?src=pr

Looks good, but the commit message seems to have been messed up.

@aoen @mistercrunch ^


new node api nick

INCLUDE app.jpeg and output.jpeg (DONE)
AI/ML NODES

CLASSIFICATION/ACCURACY
[x] app.txt
[x] example.md
CLASSIFICATION/ONEHOTECODING
[x] app.txt
[x] example.md
CLASSIFICATION/SVM
[x] app.txt
[x] example.md
CLASSIFICATION/TRAIN_TEST_SPLIT
[x] app.txt
[x] example.md
IMAGE_CAPTIONING/NLP_TO_GPT2
[x] app.txt
[x] example.md
NLP/COUNT_VECTORIZER
[x] app.txt
[x] example.md
PREDICT_TIME_SERIES/PROHPET_PREDICT
[x] app.txt
[x] example.md
REGRESSION/LEAST_SQUARES
[x] app.txt
[x] example.md
SEGMENTATION/DEEPLAB_V3
[x] app.txt
[x] example.md
TEXT_SUMMARIZATION/BART_LARGE_CNN
[x] app.txt
[x] example.md

EXTRACTOR NODES
DONE
GENERATORS

SAMPLE_DATASET/TEXT_DATASET

VISUALISERS

PLOTLY/PROPHET_LINE
[x] app.txt
[x] example.md
PLOTLY/PROPHET_COMPONENT
[x] app.txt
[x] example.md

Description

[x] I've included a concise description of what each node does

Styleguide

[x] My node adheres to the styleguide for Flojoy nodes

Docs

[x] I've submitted a PR for a documentation page for the new node(s) that contains usage examples (see docs.flojoy.io)

Testing

[x] This PR includes a unit test (example here and/or ideally a screenshot of the node's output on an example app.

Few minor comments, let me know what you think.
Additionally, some node tests need to be updated to reflect the new node API. Do we have CI running these tests?

yes we have a PyTest CI that runs all test files. I'll prioritize fixing up, perfecting the nodes and their corresponding app.txt, example.md, app.jpeg, output.jpeg and take a look at those if I must after nodes get merged!

@youngsun4786  I replied to your comments about SVM + ONE_HOT_ENCODING. I think composability with other nodes for column extraction makes sense and applies the same way to both those nodes. Feel free to proceed, and I should be able to approve at the next round


Add a feature to config mods via text files

Helper classes in ONI-Common
https://github.com/javisar/ONI-Modloader-Mods/commit/be8b96fbd93d091b2ec60b340588b69594902b23


Update README.md

Motivation and Context

Description

Contribution Checklist

[ ] The code builds clean without any errors or warnings
[ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[ ] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

In particular:

dotnet 7.0 is not a requirement (you can use dotnet 6 or 8)
checking prerelease box isn't a requirement in command line or all IDEs, but it would be good to call out that it is a prerelease, in case people have trouble finding it. Note: we're discussing just removing the prerelease on our weekly packages.

Closing this PR as I don't think this is quite the right text, but you're right in pointing out that we can highlight some additional steps for clarity. @matthewbolanos can you please review this readme and make any changes needed?


Find and implement alternative to /deep/ and ::shadow use.

/deep/ and ::shadow are being deprecated:
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/68qSZM5QMRQ/pT2YCqZSomAJ

Polymer 1.0 has decided to use "custom properties" to allow, essentially, /deep/ and ::shadow styling. However, users can only style aspects of Paper Elements which have a custom property implemented (for example, they may provide a custom property for a button's color, but not the amount of padding).
Source: https://groups.google.com/forum/#!topic/polymer-dev/P4WgenEfiAY


Add contracts

tl;dr

Adds smart contracts to repo
Sets up Foundry in the repo
Adds tests for smart contracts
Sets up abigen for generating code out of smart contracts

Warning
You will need to run ./dev/up to generate some code and start the blockchain node
You may also have to run git submodule update --init --recursive to pull down the submodules.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#103  👈
#102
main

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

Join @neekolas and the rest of your teammates on  Graphite

Merge activity

Aug 12, 2:33 PM PDT: @neekolas started a stack merge that includes this pull request via Graphite.


Update the Buffer APIs

Use Buffer.alloc/Buffer.from instead of "new Buffer"
Remove the 'noAssert' parameter from the write calls
This got removed with https://github.com/nodejs/node/pull/18395

Fixes #91

@pierrec thanks for merging this. Could you please create a patch release with these changes, so we can start using them downstream?

<EMAIL_ADDRESS>uploaded. Thanks for the PR.

Seems 0.6.4 is "corrupt" in some way, I filed #99 with some more details.


UUID is not set

Short description of the problem:
What sets UUID for the Ionic Deploy service - With the new (or it stopped working with the old pre-cloud version too) Ionic Cloud library?
$ionicDeploy.check() never returns success because the UUID is always unset, while I am testing the application. This was not the case four weeks ago; it just stopped working.
Additional Thoughts
I have migrated the application to the new library (plugin and cloud). My issue is the same as far as I can tell. I call getSnapshots() and get an empty array. I got check() and always get false. I do not see any Network traffic. If I call getMetadata I always get an error related to not have a valid uuid. I see the same code in the checkForUpdates in the *.java file.
String deployed_version = this.prefs.getString("uuid", "");

I do not have a uuid as far as I know because I just loaded the application locally and was testing to see if I could pull down a later project I ionic upload —note “0.21.08" —deploy qa with.
The crux of my problem seems to be related to not having a uuid in my application when I am running locally. I had the same problem with ionic cli 1.7.1 and the old libraries; because the errors from the service were the same.
What behavior are you expecting?
It would return true because I deployed the application with a higher version with ionic upload —note “0.21.08" —deploy qa.
My .io-config.json is
{"app_id”:”…","api_key”:”…"}

My ionic.config.json is
{
  "name": “…",
  "v2": false,
  "typescript": false,
  "app_id": “…"
}

My code which connects the app_id is:
.config(function ($ionicCloudProvider) {
  $ionicCloudProvider.init({
    core: {
      app_id: ‘…'
    }
  });
})

My application code where I check versions is:
.controller('X', function($ionicDeploy) {
  $ionicDeploy.check(function(hasUpdate) {
    // hasUpdate is always false, but in the Java object it breaks at... (see below)
  });
});

In the checkForUpdates.java file it breaks when asking for UUID.
String deployed_version = this.prefs.getString("uuid", "");

Which Ionic Version?
1.x
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.2.0
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic CLI Version: 2.0.0
Ionic App Lib Version: 2.0.0
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v6.2.2
Xcode version: Xcode 7.3.1 Build version 7D1014

This issue was moved to driftyco/ionic-cloud-issues#181

Hello, because this issue was related to the Ionic Cloud and not the Ionic framework i have moved this issue to the appropriate repo. Thanks for using Ionic!


Using jQuery plugins

I am using import $ from 'jquery'; to include jquery as shown [here] (https://github.com/jakemmarsh/angularjs-gulp-browserify-boilerplate/issues/90), but I am getting 'angular.js:13236 ReferenceError: $ is not defined'.
I am importing jQuery before Angular, and trying to include packery and angular-packery
UPDATE:
jQuery is actually loading using import $ from 'jquery';, I can run $(document).ready(myFunction); outside of the AngularJS app. My issue seems to be that I cannot load plugins, I have imported import 'packery'; import 'ng-packery'; and done the dependency injection, this is when the ReferanceError occurs.
I am guessing that the plugin cannot find jquery or it is being loaded after the plugin looks for it?

This great little articale solved my problem: http://maximilianschmitt.me/posts/angular-angular-ui-browserify-tutorial/

Glad you got this figured out!


Funceble produce a log file without any logical reason

When matching domain with Registry Expiry Date:.* the script find the date but it also generates a log file which is not logical because it should produce the log file only if the date is not found.

Still not solved.


Replace matomo with DAP

https://digital.gov/guides/dap/

The memo on the DAP points to at Policies for Federal Agency Public Websites and Digital Services  says that all agencies with a public facing website needs to have the DAP code, but websites that needs a login or privileged session should NOT include the DAP as that would not fit the criteria of public facing.
Seems to me that it would need to be done on Cyber Cares (If there is no login), but maybe not on Crossfeed unless we are still classified as public facing.
It also goes on to say that they even encourage having another analytics tool working along side for internal awareness.
My thoughts would be to keep some kind of analytics for our own auditing reasons even if DAP might/might not be needed.
Will investigate other options for Analytics


Compilation notes

Sharing a compilation note for Windows OS FYI:
Need to first enable CGO in cmd prompt with command

set CGO_ENABLED=1

Also watch out to make sure your GO compiler and GCC compiler are the same bit depth (32 vs 64).  I wasn't paying attention to that at first and had to reinstall a different version of GO compiler.
On an unrelated note — I wanted the program to display all cultures by default without needing to manually set the 30 day filter, so I just changed line 110 in "queries.go" to
if filter.Since == nil {
It works perfectly for my purpose but is definitely a hack.  If there is another easy way to flip the 30 day flag that is more "proper", please let me know  ;)

When I compiled on Windows, I didn't have to enable cgo manually. As far as I'm aware, it is on by default. Could it be that you had switched it off yourself at some point in the past?

If you want to view e.g. mycelium that is older than 30 days by default, this patch should work:
diff --git a/cmd/mycolog/tmpl/details.html b/cmd/mycolog/tmpl/details.html
index 174c226..58bc4f1 100644
--- a/cmd/mycolog/tmpl/details.html
+++ b/cmd/mycolog/tmpl/details.html
@@ -15,7 +15,7 @@
 {{if .Grow}}{{$typeName   = "Grow"}}{{end}}
 {{$backLink := ""}}
 {{if .Spores}}{{$backLink = "/spores"}}{{end}}
-{{if .Myc}}{{$backLink    = "/mycelium"}}{{end}}
+{{if .Myc}}{{$backLink    = "/mycelium?old=on"}}{{end}}
 {{if .Spawn}}{{$backLink  = "/spawn"}}{{end}}
 {{if .Grow}}{{$backLink   = "/grows"}}{{end}}
 {{$createdAtLabel := ""}}
diff --git a/cmd/mycolog/tmpl/overview.html b/cmd/mycolog/tmpl/overview.html
index fd466c4..a3944aa 100644
--- a/cmd/mycolog/tmpl/overview.html
+++ b/cmd/mycolog/tmpl/overview.html
@@ -10,7 +10,7 @@
                                Spores

-                               Mycelium
+                               Mycelium

                                Spawn

I had never installed GO or GCC compiler on this machine until now, and I rarely do code compilation here (I think the only things I've comiled on this machine were a few small python and java codes), so pretty sure I hadn't change the setting before...
Your patch worked great, thanks — definitely less hackish than my method, hah.


Directory Printer

Description of the new feature / enhancement
Currently Windows does not have many significantly useful ways/options to print file directories.
Scenario when this would be used?
Currently I open a command line & use "tree /a > tree.txt". Then I have to filter out the "|" & "+" etc. Then I export to Excel. And so on.
Instead this tool will give you the proper options, sorting, type of files included, etc.
Supporting information
The only ways through CMD I know of are "tree /a > output.txt" & "dir > output.txt"
I found some other tools here:
https://www.makeuseof.com/tag/5-ways-to-print-folder-and-directory-contents-in-windows/#:~:text=Right-click inside a folder,to directly print the list.
If a similar tool to these was developed & integrated into PowerToys, it would be great!

Hello and thanks for your message. Can I ask more about the why? And I presume you mean you want the result to be plain text, like in the clipboard or in a .txt file?

I need these king of lists often. This particular time I was trying to end up with an Excel spreadsheet of my entire music library.
I have them organized in one main directory, then artist, then album, etc. (C:\Users%username%\Music[Artist_Name][Album_Name]). In the txt file, I've been replacing the "|----" with a tab, then pasting into Excel and ending up with the proper columns.
One of the problems is that there is no way to print dir with any "sort by" options. It has a random non-alphabetical order that is useless for more than one column.
The reason I'm suggesting this to PowerToys is because I think that it would be a great tool integrated into the 'Windows' system.
You can see the way the other tools do it and follow suit. Part already exist in Windows as "tree" and "dir". The rest is output options that those tools display.

Is the ask you want to see all the files in a directory and copy it to the clipboard? /needinfo

More like to save as a text or spreadsheet file

while i see the user case, i don't think this is something the PowerToys team would build out.  This can be quickly done via powershell and would be more flexible for the different permutations
from target dir,
gci -r | select fullname,lastwritetime,length | Export-Csv files.csv -NoTypeInformation
this produced


Event Listeners Not Triggering in Expo Environment

I'm facing an issue where event listeners for 'message' and 'error' aren't being invoked when using the library within an Expo app, despite the EventSource connection being established.
Environment:
Expo SDK Version: 51.0.0
Platform:  Android, iOS
Expected Behavior:
The 'message' event listener should be invoked when the server sends an event, and the 'error' event listener should be triggered in case of connection errors.
I kindly request your assistance in resolving this issue. Please let me know if you require further information or have any suggestions.

It's possible that Expo's dev tools interceptor is blocking the event-stream. See https://github.com/expo/expo/issues/27526
Here is a possible fix: https://github.com/MartinHarkins/expo-sse-patch


Upgrade codeql to v2

Description

Codeql v1 is coming to its end so it is recommended to upgrade to v2. Our code-scanning alert might also get fixed with this.
Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (add or update README or docs)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

We can't test this unless we merge it right?

@kotewar It has run here: https://github.com/actions/cache/actions/runs/3750128316/jobs/6369436850


There is pretty much nothing working

#node v6.9.1 npm 4.0.2 windows 10 64 bit
slc loopback
tried loopback 2,x and 3.x with empy and note sample
applied changes from wiki like so:
note: the wiki starts with a very wrong vommand "npm ssh://https://github.com/ISBX/isbx-loopback-cms.git"
1, npm install https://github.com/ISBX/isbx-loopback-cms.git --save
2. copy boot-cms.js
3. set RoleMapping and Role to be public
4. created CMS/config.json -  why ist the defaulte port 3005 in the CMS/config.json !? doesnt have any effect!?
btw: http://localhost:3000/cms/ give a blank page with a lot of errors:
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3000/cms/vendor/jquery-resizable-columns/dist/jquery.resizableColumns.css".
localhost/:16 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3000/cms/vendor/bootstrap3-datetimepicker/build/css/bootstrap-datetimepicker.min.css".
localhost/:21 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3000/cms/css/custom.css"
Refused to execute script from 'http://localhost:3000/cms/config.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
localhost/:1 Not allowed to load local resource: file:///C:/loopback-cms2/node_modules/isbx-loopback-cms/client/app/app.js
localhost/:1 Not allowed to load local resource: file:///C:/loopback-cms2/node_modules/isbx-loopback-cms/client/app/dashboard/alert/Alert.js
localhost/:1 Not allowed to load local resource: file:///C:/loopback-cms2/node_modules/isbx-loopback-cms/client/app/dashboard/Dashboard.js
localhost/:1 Not allowed to load local resource: file:///C:/loopback-cms2/node_modules/isbx-loopback-cms/client/app/dashboard/model/DashboardModel.js
localhost/:1 Not allowed to load local resource: file:///C:/loopback-cms2/node_modules/isbx-loopback-cms/client/app/dashboard/model/DashboardModelAction.js
localhost/:1 Not allowed to load local resource: file:///C:/loopback-cms2/node_modules/isbx-loopback-cms/client/app/dashboard/model/definition/ModelDefinition.js
[...]
what's wrong? thx

Just had the same problem, it's probably windows issue. The problem is here:
Refused to execute script from 'http://localhost:3000/cms/config.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
I don't how to fix it properly, but as a quick workaround, if you have apache installed, just open that config.js in browser, save content as config.js inside your /www/ directory where your http://localhost/ files are, and then add this include file in: projectDir\node_modules\isbx-loopback-cms\client\index.jade below the //loop through javascript files line. Then do the same with the other problem file "dev-templates.js", just put it after the each files.javascript:
Like this:
script(src="http//localhost/config.js?v=#{version}")        // ADD THIS
each file in files.javascript
  script(src="#{file}?v=#{version}")
script(src="http://localhost/dev-templates.js?v=#{version}")      // ADD THIS

Then you will see the login screen. It's probably not worth the time though.

Then you can use loopback explorer to insert a user: http://localhost:3000/explorer/
POST /Users
with data:
{"username": "joe", "password": "password", "email"<EMAIL_ADDRESS>
and login with that in cms: http://localhost:3000/cms/login
After overcoming the error in Dashboard.js by debugging the javascript and skipping over the if (Config.serverParams.defaultNav) { by setting Config.serverParams.defaultNav=null in console, you'll finally reach this:

I was expecting something like in this link: https://github.com/ISBX/isbx-loopback-cms/wiki/Customizing-the-Model-Edit-View
But after looking at that, it's still not a CMS with custom objects, so I'm giving up on this project. Have fun.


Add builders for greaterOrEqual and LessOrEqual

Add builders for LessOrEqual and GreaterOrEqual

Jenkins Linux ppc64le Build #10741 [push] Add builders for greater... started at 13:35

Jenkins Linux amd64 Build #11683 [push] Add builders for greater... started at 12:28

Jenkins Linux s390x Build #11694 [push] Add builders for greater... started at 13:28

Jenkins Linux amd64 Build #11683 [push] Add builders for greater... failed after 1 hr 24 min

Jenkins Linux s390x Build #11694 [push] Add builders for greater... passed after 1 hr 38 min

Jenkins Linux ppc64le Build #10741 [push] Add builders for greater... passed after 1 hr 58 min


Translate English artifacts from {{< release-data >}} shortcode in localized docs

When the following shortcode appears in a localized document...
https://github.com/kubernetes/website/blob/6637a171c87cf28f6911b67f4d99551a605d0df4/content/ko/releases/_index.md?plain=1#L21
...the translated document displays English words such as:
"Complete 1.24 Schedule and Changelog"
Instances of the {{< release-data >}} shortcode display English words in various translations, such as:

https://kubernetes.io/zh-cn/releases/
https://kubernetes.io/ko/releases/
https://kubernetes.io/pl/releases/

Is there a way to localize the languages these shortcodes display?

For instance, see https://github.com/kubernetes/website/pull/29679#issuecomment-1210551182.

I have asked this question in the Hugo forum, here: https://discourse.gohugo.io/t/can-i-translate-english-words-from-a-shortcode-so-they-match-the-localized-kubernetes-website-docs/39984

/assign @Sea-n

This is not a Hugo bug. https://github.com/kubernetes/website/blob/fac477b9e4d3e1569c53bc13f13b09b1e6602740/layouts/shortcodes/release-data.html#L36-L40 is the file to localize.

#35950 partially fixes this issue. Each localization branch would need to merge PR #35950 and add corresponding entries to their data/i18n/<lang>/<lang>.toml files, such as:

data/i18n/ko/en.toml
data/i18n/pl/pl.toml
data/i18n/zh-cn/zh-cn.toml

This is not a Hugo bug.
Thanks, yes. I wasn't sure whom to ask, and generally try not to bother you with every question I have.  The Hugo forum pointed us in the right direction, and @Sea-n quickly put together a PR solution.

Each localization branch would need to merge PR https://github.com/kubernetes/website/pull/35950 and add corresponding entries to their data/i18n//.toml files

@rolfedh Once you PR merges, we should plan to add this topic to a localization meeting and post a message in the localization slack channel. We can also send an email, re post messages in slack for additional visibility. We should make sure the message includes all the steps needed o implement this and any urgency/priority around this change for the localization teams
By a partial fix in your PR, do you mean that Localization teams will need to take additional steps to apply the changes to their localization, or are there additional file changes that need to be made?

@a-mccarthy Yes, exactly. Once this PR merges, I would do all the things you've suggested above or arrange with someone to do them. I'll create separate issues for each of the localization teams to update their branches as needed. This is not a breaking change, so there is no urgency.

I've tested to make sure this isn't a breaking change. If the data/i18n/<lang>/<lang>.toml file is missing the required entries, the http://localhost:1313/<lang>/releases/ page falls back and uses the entries from data/i18n/en/en.toml

/area localization


Fix condition for checking whether priority is set or not

We should only set priorityLevel set  if the configured priority is not null and not empty .
@nickfyson @Daverlo

LGTM


Graders: Tracking Marking Completion/Remaining

It would be ideal for graders, who are randomly assigned a subset of submission to mark to be able to see how many submissions they have left to grade, but also how many they have completed.
As marking is often distributed by questions (indicated using different criteria), having a way to assign a grader to a specific criteria (on top of subsets of submissions) and then allow them to see their progress, would be ideal.
Additionally, it would be beneficial for admins (instructors) to be able to view the progress of individual markers. Allowing us to see how many submissions (in their subset) they've completed grading for.

Hi @MichaelLiut,
I'm pretty sure most of these features are already present in MarkUs. Please let me know if I'm missing anything:

See how many submissions graders have left/have completed
Assign graders to criteria
Viewing the progress of individual graders


Error: Unable to connect to Mina daemon

The daemon might not be running. See logs (in ~/.mina-config/mina.log) for details under the host:<IP_ADDRESS>.
Run mina daemon -help to see how to start daemon.

If you just started the daemon, wait a minute for the RPC server to start.
Alternatively, the daemon may not be running the RPC server on (<IP_ADDRESS> 8301).
If so, add flag ---daemon-port with correct port when running this command.

Same problem

Closing this one because of no activity for a long time and I hope that the most recent versions of Mina Daemon behave more stable for you.
Please feel free to report new issues should you face any.
Thank you.


How to visualize the result in Fig.5

I'd like to know how to visualize the result in Fig.5 in your paper? I have used the rllab to visualize the result, but I don't know which metric (Y-Axis Attribute) to show.

This would be the "goal achieved" values.


Device does not have package com.google.android.gsf

I'm running µg with the xposed signature faker module. Most apps work fine so far :+1:
But the German McDonalds app keeps crashing (new install, first run):
E/AndroidRuntime(21416): FATAL EXCEPTION: IntentService[GCMRegistrationService]
E/AndroidRuntime(21416): Process: de.mcdonalds.mcdonaldsinfoapp, PID: 21416
E/AndroidRuntime(21416): java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
E/AndroidRuntime(21416): 	at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98)
E/AndroidRuntime(21416): 	at de.mcdonalds.mcdonaldsinfoapp.service.gcm.GCMRegistrationService.onHandleIntent(GCMRegistrationService.java:29)
E/AndroidRuntime(21416): 	at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
E/AndroidRuntime(21416): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(21416): 	at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(21416): 	at android.os.HandlerThread.run(HandlerThread.java:61)

Any idea what could be the reason and how it could be fixed? As I understand it, µg should be a replacement for com.google.android.gsf, therefore it should be available, or not?

I guess you need https://github.com/microg/android_packages_apps_GsfProxy
you can build it using gradle

I made a (untested) build:
http://d-h.st/wGoX

Seems to work! Thanks!


Pass Consul location via environment var

The Consul URL should be defined in an environment var so it can be changed easily, and so we can do Consul discovery via DNS.

The Couchbase image is fixed as of https://github.com/misterbisson/triton-couchbase/pull/6 and released in https://github.com/misterbisson/triton-couchbase/releases/tag/enterprise-3.0.3-r4
I still need to update the Mesos side of this.

Accidentally committed straight to master. WFM, closing.


Switch default standard to C++20 (+gnu extensions)

As in #5, I'd like to propose that we enable C++20 by default, since I know the NDK compilers support it.
No pressure. It just seems like a good opportunity before the interface hardens.
Also, while we're all here: Is this code shared with blaze still (hopefully, so improvements are shared both ways)? If so maybe there's an equivalent of has_cxx17_headers that should be enabled? (From a quick search, that seemed to be a blaze-specific feature, since I didn't see the string in Bazel, but maybe that's wrong.)
[Self note: Maybe also strip X-ray section if no longer relevant. Seems unlikely people will be using this with NDK r15...]

I see it's already the case here... but why would NDK builds use a different default standard version than other platforms? That seems prone to confusing users. As a user I would expect bazel to be consistent across targets (even if it's consistently no opinion and punts to the compiler to decide, which is what ~every other build system I've used does).

I don't know if there is another bazel standard (I'm not a bazel user, I just lurk here because I work on the NDK). If bazel doesn't aim to be consistent across targets this PR seems fine :)

I remember from seeing you on other issues over there, like https://github.com/android/ndk/issues/837 Hardly lurking! Thanks so much for all you do, and for caring enough to be here, too!

Tagging @ahumesky, since it seems like we'll want him to make the directional call here.

I guess a quick pitch for the latest would be: The benefit of having people be up to date by default is that they can use the broadest set of (stable) language features without having to do additional configuration. But that's no different than just recommending people use the latest stable version of anything that's (mostly) backwards compatible:)

(@ahumesky, could we get your call on this? Totally find to close or to change over to the compiler default instead; just thought this might be the best default option for the reasons above.)


update submodule

@ehildenb I am merging this, but it's just a submodule update so that's pretty much within existing policy regarding code reviews.


⚠ Adacta-fintech.com has degraded performance

In 586acbc, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 2341 ms

Resolved: Adacta-fintech.com performance has improved in ce94ed2.


Added new value to enum legal_entity_type

Changes Unknown when pulling 0fc66aa604975502882eb504a503d1d6b8ce221b on svetavedmed-patch-1 into ** on master**.


Offers resource returns 200 with non-existent public key.

The following request returns a status code of 200:
curl https://horizon.stellar.org/accounts/yomama/offers
This is the response body:
{
  "_links": {
    "self": {
      "href": "https://horizon.stellar.org/accounts/yomama/offers?cursor=\u0026limit=10\u0026order=asc"
    },
    "next": {
      "href": "https://horizon.stellar.org/accounts/yomama/offers?cursor=\u0026limit=10\u0026order=asc"
    },
    "prev": {
      "href": "https://horizon.stellar.org/accounts/yomama/offers?cursor=\u0026limit=10\u0026order=desc"
    }
  },
  "_embedded": {
    "records": []
  }
}

The same happens on both the public and test networks. When the /offers resource is removed completely or replaced with another resource like /payments or /transactions, a 404 is returned. This seems to be inconsistent behaviour.

So the crux of this is 200 returned may mean either:

No account exists
No offers for said account

Not a priority to change for now, but will update the docs.

Thanks @robertDurst. Are you saying that this is expected behaviour? I would expect a 200 where there are no offers on a valid account, but not when the account doesn't exist. Returning a 200 in that scenario could give the illusion that the account exists when it doesn't.
If it's a trivial change, I could take a crack at adding some error handling myself.


add field to manifest to specify repo name

Relevant: #7

Hmmm, should this override the name a package was requested as?
If so, it might surprise people when a package is suddenly renamed.


Electron.App.CommandLine.AppendSwitch does not seem to be working propertly

Version: Electron.NET API 23.6.1, Electron.NET CLI <IP_ADDRESS>
.NET Core Version 6.0
Node.js v18.12.1

Target: Windows

I'm building an app which is using a window with transparent background. While I did get it to work (thanks to #748 ), some users are seeing a black background instead of the transparent one. After doing some research, I stumbled upon this, so I tried adding the following flags:
Electron.App.CommandLine.AppendSwitch("disable-gpu-compositing");
Electron.App.CommandLine.AppendSwitch("disable-gpu");
Electron.App.CommandLine.AppendSwitch("disable-software-rasterizer");

However, when loading the chrome://gpu page to see that these arguments were applied, it appeared that wasn't the case:

I then tried manually adding the flags (electronize start /args --disable-gpu-compositing --disable-gpu --disable-software-rasterizer), which gave me this result:

So either I'm adding the Electron.App.CommandLine.AppendSwitchs wrong, or they do not work.
You can find the full source code of how I'm adding them here (note that you will only find the disable-gpu-compositing flag there, I added the rest locally without pushing yet)
If there is indeed a bug, is there any way I can get around this to force these arguments to always be passed?
Edit:
When manually adding the appendSwitchs to the main.js file in ElectronNET.Host, they do work. I also made sure that the append switch message sent from Electron.NET is received in Electron.js, so I guess the issue has something to do with the time of appending the switches. I also tried appending them right at the start of the Configure method - with no success.
This worked:
diff --git a/src/ElectronNET.Host/main.js b/src/ElectronNET.Host/main.js
index 0e4079c..179e0d9 100644
--- a/src/ElectronNET.Host/main.js
+++ b/src/ElectronNET.Host/main.js
@@ -26,6 +26,11 @@ if (app.commandLine.hasSwitch('watch')) {
   watchable = true;
 }

+app.commandLine.appendSwitch('enable-transparent-visuals');
+app.commandLine.appendSwitch('disable-gpu');
+app.commandLine.appendSwitch('disable-gpu-compositing');
+app.commandLine.appendSwitch('disable-software-rasterizer');
+
 let currentBinPath = path.join(__dirname.replace('app.asar', ''), 'bin');
 let manifestJsonFilePath = path.join(currentBinPath, manifestJsonFileName);

Hi, I have a similar problem. I cannot run webgpu through electron on Linux apparently because I cannot set the "--enable-unsafe-webgpu" and the "--enable-vulkan" flags. As in my comments of the issue I linked to this discussion, it looks like they are not in the list of flags supported by the app.commandLine.appendSwitch method of electron.
Any idea how to fix this? I got no solution from that issue, actually they closed it without a satisfactory answer.
I also tried on Discord: same thing.
Thanks

Hi @ezorzin I would love to help you on this one, but unfortunately this seems to have to do with Electron directly and not the Electron.NET wrapper (which has a more general problem with the append switch; nothing to do with the WebGPU).

@FlorianRappl
I am having a similar issue (need to run WebGL shader code on VM but lack GPU so I need to set ignore-gpu-blacklist switch).
Would you accept a pull request to try to address this issue? And if so, how long do you think it would take you guys to review and merge? Anything that I could do to make it easier on you?
Asking humbly as I know you guys are busy and supporting open source can be thankless..

@SemanticStudios PRs are always welcome - I can have a look quite fast and if reasonable we can surely make a release.


Early dispatch call get lost when using store-devtools

I am using these versions or ngrx/store and related libs (in an Angular 2 application):
"@ngrx/core": "^1.2.0",
"@ngrx/store": "^2.2.1",
"@ngrx/store-devtools": "^3.1.0",
"@ngrx/store-log-monitor": "^3.0.2",

When my app container loads, I launch a request for data to the API and dispatch an action to set the state of my application.
Everything goes well when I am not using the store-devtools, but when I use store-devtools I noticed the initial dispatches somehow get "lost", they don't reach reducers, and don't reach the store.
I have these 2 screenshots. I added some logging in 1 of my reducers (popular content reducer  the type of the action). I also added a console log before I do request the data from the API, the line says dispatch load state for popular content. Immediately after that log, I dispatch an action.
The first screenshots is without devtools, the action for the loading state comes through, the 2nd screenshot is with devtools, then the action does not come through.
without devtools

with devtools

So with the store-devtools enabled, the action dispatched does not reach the reducer.
I started doing some debugging, I noticed that in ngrx/store, the State object is a BehaviourSubject and is automatically subscribed to: https://github.com/ngrx/store/blob/master/src/state.ts#L20
For ngrx/store-devtools the State object is a regular observer without any subscriptions:
https://github.com/ngrx/store-devtools/blob/58f3ea62d93bd639c64d14cb765503907e021395/src/devtools.ts#L64
So, this can help me explain the issue, when dispatching the load action from my application container, routing has not been done, and there is no component subscribing to the state yet, so when dispatching an action, nothing happens as observables don't do anything until they are subscribed on. Which is not the case for store-devtools but which is the case for store.
(In my opinion it's not bad practice to dispatch an action to update the application state before there are components listening for it)
I tried adding a subscribe on the state$ object in my devtools and that does fix my issue.
Is there a specific reason devtools does not use BehaviourSubject for the state object?
I have the feeling adding an "empty" subscribe on the state$ is not the prettiest solution.
Am I the first person running in to this problems or am I approaching this incorrectly?

Apparently this is not the case anymore in version 3.2.2.
Using a ReplaySubject in https://github.com/ngrx/store-devtools/commit/d4a6382d54c1c97ac7b2bdfe08c4cbf38c839ca2 fixed it.


fix NameError: name 'Factory' is not defined on line 97.

Fix name error on line 97 because when you are using eval, some libraries are not imported.
I think pycharm removes unused import on optimize imports, and it won't care if you are using eval().
Description of Changes

add an import

@zylo117
Thank you for helping to improve the KiwiMD library!
The import you specified is missing from the master branch.


About pairwise data

Hello, I notice that there is a "all_positive_negative_pairs.json" file in "pairwise_data" folder. I'm curious about:

How do you obtain these samples?
What are these samples use for?

Thanks!

It's from the original annotation pipeline.


Alpaca patch

Purpose / why
Because we don't use Karaf any more. See also https://islandora.slack.com/archives/C019U12D44Q/p1715952738914049
What changes were made?
Pulled out Karaf and expanded the Alpaca instructions (mostly pulling directly from its README.md).
Verification
Does it look correct?
Interested Parties

@Islandora/documentation
@Islandora/committers, esp @rosiel and @whikloj

Checklist
Pull-request Reviewer
Pull-request reviewer should ensure the following:

[x] Does this PR link to related issues?
[ ] Does the proposed documentation align with the Islandora Documentation Style Guide?
[ ] Are the changes accurate, useful, free of typos, etc?

Person Merging
The person merging should ensure the following:

[ ] Does mkdocs still build successfully? (This is indicated by TravisCI passing. To test locally, and see warnings, see How To Build Documentation.)
[ ] If pages are renamed or removed, have all internal links to those pages been fixed?
[ ] If pages are added, have they been linked to or placed in the menu?
[ ] Did the PR receive at least one approval from a committer, and all issues raised have been addressed?

I've yet to test it in reality, but i'm happy to merge if nobody else does in the next few days. Thank you @seth-shaw-asu this is an awesome fix. Thanks for providing redirects too!


configure webhook via cli (Gitlab, Bitbucket)

#579 added ability to configure webhook via cli for GitHub
for other provider too we need to add

[x] Gitlab
[ ] Bitbucket Cloud
[ ] Bitbucket Server

created #624 for bitbucket to handle it in next release


[Release-1.27] - [RFE] Mechanism to easily determine etcd node health/voter status

Backport fix for [RFE] Mechanism to easily determine etcd node health/voter status

#8033

Validated using commit id on k3s version v1.27.8+k3s-0abb8a5a
Display etcd node health/voter status
ec2-user@ip-172-31-0-69:~> k3s -v
k3s version v1.27.8+k3s-0abb8a5a (0abb8a5a)
go version go1.20.11
ec2-user@ip-172-31-0-69:~> kubectl get node $IP -o=jsonpath='Node Name: {.metadata.name}{"\n"}Conditions:{"\n"}{range .status.conditions[*]}- Type: {.type}{"\n"}  Status: {.status}{"\n"}  LastHeartbeatTime: {.lastHeartbeatTime}{"\n"}  LastTransitionTime: {.lastTransitionTime}{"\n"}  Reason: {.reason}{"\n"}  Message: {.message}{"\n\n"}{end}'
Node Name: ip-172-31-0-69
Conditions:
- Type: MemoryPressure
  Status: False
  LastHeartbeatTime: 2023-11-22T21:20:16Z
  LastTransitionTime: 2023-11-22T20:42:07Z
  Reason: KubeletHasSufficientMemory
  Message: kubelet has sufficient memory available

- Type: DiskPressure
  Status: False
  LastHeartbeatTime: 2023-11-22T21:20:16Z
  LastTransitionTime: 2023-11-22T20:42:07Z
  Reason: KubeletHasNoDiskPressure
  Message: kubelet has no disk pressure

- Type: PIDPressure
  Status: False
  LastHeartbeatTime: 2023-11-22T21:20:16Z
  LastTransitionTime: 2023-11-22T20:42:07Z
  Reason: KubeletHasSufficientPID
  Message: kubelet has sufficient PID available

- Type: Ready
  Status: True
  LastHeartbeatTime: 2023-11-22T21:20:16Z
  LastTransitionTime: 2023-11-22T20:49:41Z
  Reason: KubeletReady
  Message: kubelet is posting ready status. AppArmor enabled

- Type: EtcdIsVoter
  Status: True
  LastHeartbeatTime: 2023-11-22T20:42:21Z
  LastTransitionTime: 2023-11-22T20:42:21Z
  Reason: MemberNotLearner
  Message: Node is a voting member of the etcd cluster


11.03.24 crash on first load of mod with new save

Save has many hours over the last week with some modded spidertrons.
Current manually directed combat spiders are named Hunter. None named Killer yet.
No map marker called Homebase yet.
Crash happens within 30 seconds or so after load.
Tried to race it by quick making map marker named Homebase, game crashed before could confirm text box.
Tried renaming a spider too, crash before confirmed.
79.825 Script @skins-factored/control.lua:262: Runtime initalizing
99.712 Error MainLoop.cpp:1429: Exception at tick 11700000: The mod Hunter and Killer Spidertrons (0.6.0) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event hunter-killer::on_nth_tick(3600)
hunter-killer/control.lua:1194: bad argument #2 of 2 to 'table_size' (table expected, got nil)
stack traceback:
[C]: in function 'table_size'
hunter-killer/control.lua:1194: in function <hunter-killer/control.lua:1192>
simple fix, or at least I thought so based on my personal mods that don't do table stuff
I tried a bunch of error catches that usually work for non tables including changing the 0 to nil, nope.

Found a solution. simple in hindsight. forget the table stuff, check for only the variable. change
if table_size(storage.homebases) ==  0
if storage.homebases == nil or 0 then

no crash, but for some reason the message pops up again after creating map tag, renaming/copying killer name to multiple spiders and a bunch more indicating deployment.
look at em go!

I'll have a look. Not having a Homebase Marker should not be a problem, but I never tried it with a new save.--Gesendet mit der GMX Mail AppAm 04.11.24, 01:37 schrieb Zuzakiin @.***>:
Save has many hours over the last week with some modded spidertrons.
Current manually directed combat spiders are named Hunter. None named Killer yet.
No map marker called Homebase yet.
Crash happens within 30 seconds or so after load.
Tried to race it by quick making map marker named Homebase, game crashed before could confirm text box.
Tried renaming a spider too, crash before confirmed.
79.825 Script @skins-factored/control.lua:262: Runtime initalizing
99.712 Error MainLoop.cpp:1429: Exception at tick 11700000: The mod Hunter and Killer Spidertrons (0.6.0) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event hunter-killer::on_nth_tick(3600)
hunter-killer/control.lua:1194: bad argument #2 of 2 to 'table_size' (table expected, got nil)
stack traceback:
[C]: in function 'table_size'
hunter-killer/control.lua:1194: in function <hunter-killer/control.lua:1192>
simple fix, or at least I thought so based on my personal mods that don't do table stuff
I tried a bunch of error catches that usually work for non tables including changing the 0 to nil, nope.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

This sounds like a message from a different mod. If you could look in control.lua for game.print for the message (should be about 5 places) and pinpoint which message is issued, I can try to suppress it Am 04.11.24, 01:52 schrieb Zuzakiin @.***>:
no crash, but for some reason the message pops up again after creating map tag, renaming/copying killer name to multiple spiders and a bunch more indicating deployment.
look at em go!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


fix(behavior_path_planner) fix stop path for pull_over

Description

In pull_over, ego-vehicle stops in the road lane when there is no available parking space.
However, it may not be able to stop completely at low speeds.
(getStopPath sets deceleration velocity forward, but resample inserts the current speed forward.)
In this PR, when the current velocity is less than 1.0m/s, set 0.0m/s to path and make ego stop immediately.
I changed the algorism to one that compares the previous safety state like

safe: generate pull_out_path
safe -> not_safe: generate new stop_path
not_safe -> not_safe: use previous stop_path

before
https://user-images.githubusercontent.com/39142679/187618908-98cd5b35-d634-410b-9d9d-d9d1138bbe25.mp4
after
https://user-images.githubusercontent.com/39142679/187618776-baea5ee7-a2ad-4785-8183-d3eb64728798.mp4
Related links

Tests performed

psim
(TIER IV internal  scenario tests https://evaluation.tier4.jp/evaluation/reports/faf22a21-a6aa-58c7-b53c-d8c293a58c59?project_id=prd_jt)
Notes for reviewers

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@rej55
Thank you for your advice.
I changed the algorism to one that compares the previous safety state like

safe: generate pull_out_path
safe -> not_safe: generate new stop_path
not_safe -> not_safe: use previous stop_path


Getting error: Include of non-modular header inside framework module

Hi!
I have installed the pods in some framework and when I try to import the header files into objective c classes I get following error:
Include of non-modular header inside framework module 'MyFramework.NMSSH': '.../iosApp/Pods/Headers/Public/libssh2-iosx/libssh2.h'
I am importing like:
#import "libssh2.h"
#import "libssh2_sftp.h"

I can't repeat your problem. Can you create and share a minimal project that reproduces the error?

I have a framework in my project and I have added NMSSH classes from: https://github.com/NMSSH/NMSSH in that framework, also I have added pods for openssl and libssh in that framework.
I have added pods for openSSL, and libssh like:
target 'MyFramework' do use_frameworks!    pod 'openssl-iosx', '~> 1.1.1o'   pod 'libssh2-iosx', '~> 1.10.0' end
I have imported libssh2.h and libssh_sftp.h files in NMSSH.h, like:
#import "libssh2.h" #import "libssh2_sftp.h"
I get the error in the import while building the framework.
Hope this helps you!

I've created an empty ios App project, added Podfile with openssl and libssh2 pods, run 'pod install', opened xcworkspace file obtained in the previous step, added an empty m file to the project, added lines with #import "libssh2.h" #import "libssh2_sftp.h", added a simple function that calls some libssh2 function, gone to Project settings and add libz.tbd to "Link Binary With Library" section. And successfully built the project without any error. In addition, I checked that "Allow Non-modular Includes in Framework Modules" flag in the build setting has its default value - False. So I can't reproduce your problem, and has to repeat my previous question: Can you create and share a minimal project that reproduces the error?


ChainerMN's ImageNet example is slower than Chainer's data parallel

You might know this already, recently I tried ChainerMN on Sakura Koukaryoku Computing.
I measured processing throughput by ImageNet example and compared ChainerMN's train_imagenet.py to Chainer's train_imagenet_data_parallel.py
// Chainer
$ python train_imagenet_data_parallel.py /opt/traindata/ILSVRC2012/train.ssv /opt/traindata/ILSVRC2012/val.ssv -a resnet50

// ChainerMN
$ mpiexec -n 4 python train_imagenet.py /opt/traindata/ILSVRC2012/train.ssv /opt/traindata/ILSVRC2012/val.ssv -a resnet50

Other detailed environment settings are written on my blog post (sorry for in Japanese).
The result showed the ChainerMN's was slower than Chainer's.

What happened and can I improve ChainerMN's performance?
Please ask me if you have any questions and request me if you want to get the same ImageNet images to reproduce this problem

Thank you for reporting this! I personally don't think this is generally the case; For example, in our recent experiments (https://arxiv.org/abs/1711.04325), our throughput on ResNet50 with ChainerMN was kind of state-of-the-art in comparison with other efficient frameworks such as Caffe 2. I assume that your result is because of environment of configuration. Anyway, @shu65 will investigate on it soon.

@iwiwi Has this problem been solved?


Catch all bug for build issues with SDK 0.10.0-rc2

Seeing the following build issues with SDK 0.10.0-beta, though some may not be limited to that SDK version.
15 tests selected, 85710 tests discarded due to filters
total complete:    0/  15   0%  failed:    0

altera_max10              tests/kernel/stack/stack_api/kernel.stack          FAILED: build_error
	see: sanity-out/altera_max10/tests/kernel/stack/stack_api/kernel.stack/build.log

total complete:    3/  15  20%  failed:    3

qemu_nios2                tests/kernel/stack/stack_api/kernel.stack          FAILED: build_error
	see: sanity-out/qemu_nios2/tests/kernel/stack/stack_api/kernel.stack/build.log

total complete:    6/  15  40%  failed:    6

mimxrt1050_evk_qspi       samples/cpp_synchronization/test                   FAILED: build_error
	see: sanity-out/mimxrt1050_evk_qspi/samples/cpp_synchronization/test/build.log

total complete:    9/  15  60%  failed:    9

imxrt1050_evk            samples/cpp_synchronization/test                   FAILED: build_error
	see: sanity-out/mimxrt1050_evk/samples/cpp_synchronization/test/build.log

total complete:   11/  15  73%  failed:   11

mimxrt1050_evk_qspi       tests/application_development/cpp/test             FAILED: build_error
	see: sanity-out/mimxrt1050_evk_qspi/tests/application_development/cpp/test/build.log

total complete:   12/  15  80%  failed:   12

mimxrt1050_evk            tests/application_development/cpp/test             FAILED: build_error
	see: sanity-out/mimxrt1050_evk/tests/application_development/cpp/test/build.log

total complete:   13/  15  86%  failed:   13

minnowboard               tests/kernel/mem_protect/mem_protect/kernel.memory_protection FAILED: build_error
	see: sanity-out/minnowboard/tests/kernel/mem_protect/mem_protect/kernel.memory_protection/build.log

total complete:   14/  15  93%  failed:   14

minnowboard               tests/kernel/fifo/fifo_timeout/kernel.fifo.timeout.poll FAILED: build_error
	see: sanity-out/minnowboard/tests/kernel/fifo/fifo_timeout/kernel.fifo.timeout.poll/build.log

total complete:   15/  15  100%  failed:   15
0 of 15 tests passed with 0 warnings in 10 seconds

altera_max10              tests/kernel/stack/stack_api/kernel.stack          FAILED: build_error
/opt/zephyr-sdk-0.10.0-rc2/nios2-zephyr-elf/bin/../lib/gcc/nios2-zephyr-elf/8.2.0/../../../../nios2-zephyr-elf/bin/ld: ../app/libapp.a(test_stack_contexts.c.obj): in function `tstack_pop':
/home/galak/git/zephyr/tests/kernel/stack/stack_api/src/test_stack_contexts.c:31: warning: unable to reach (null) (at 0x004002f4) from the global pointer (at 0x004082fc) because the offset (-32776) is out of the allowed range, -32678 to 32767

minowboard:
/opt/zephyr-sdk-0.10.0-rc2/i586-zephyr-elf/bin/../lib/gcc/i586-zephyr-elf/8.2.0/../../../../i586-zephyr-elf/bin/ld:linker_pass_final.cmd:64 cannot move location counter backwards (from<PHONE_NUMBER>10afaf to<PHONE_NUMBER>10afae)

@andrewboie you have an idea what the issue is with minnowboard and new toolchain?

on minnowboard:
[100%] Linking C executable zephyr.elf
/home/nashif/Work/SDK/0.10.0-rc2-pr-43/i586-zephyr-elf/bin/../lib/gcc/i586-zephyr-elf/8.2.0/../../../../i586-zephyr-elf/bin/ld:linker_pass_final.cmd:64 cannot move location counter backwards (from<PHONE_NUMBER>10be4e to<PHONE_NUMBER>10be4d)

on nios2:
[ 94%] Linking C executable zephyr_prebuilt.elf
/home/nashif/Work/SDK/0.10.0-rc2-pr-43/nios2-zephyr-elf/bin/../lib/gcc/nios2-zephyr-elf/8.2.0/../../../../nios2-zephyr-elf/bin/ld: ../app/libapp.a(test_stack_contexts.c.obj): in function `tstack_pop':
/home/nashif/Work/zephyrproject/zephyr/tests/kernel/stack/stack_api/src/test_stack_contexts.c:31: warning: unable to reach (null) (at 0x00400300) from the global pointer (at 0x00408308) because the offset (-32776) is out of the allowed range, -32678 to 32767

just noticed @galak already provided the trace :)

@galak which issues are still outstanding? the nxp issues are resolved, so can we reassign this bug to the appropriate person?

closing this now in favor of dedicated issue for the nios2 issue, I think I have a fix


save_inventory_container: use metadata

Replaces copy and pasted methods with metadata.
This is a requirement for container entity disconnects. It allowed writing tests for it and writing it only once for different entities.

@miq-bot add_label wip, providers/container
More testing required

@miq-bot add_label providers/containers
@simon3z fyi

@moolitayer it seems a nice clean-up. I can't evaluate at the moment if it's flexible enough for the future, but as long as it's not introducing regressions and it's ok with @dkorn @zeari and @yaacov (who sent some refactoring here around as well)... it's fine by me.
(Just to state the obvious: think if you want to live with this refactoring going forward ...pros/cons).

of course I can't force anything... After staring at this code for very long trying to figure out relationships I think It's much easier to look at the descriptor then to chase save_X_inventory around. Looking at this also gives attention to things that should be similar.
@simon3z @dkorn @zeari @yaacov please review
p.s the 'Unnecessary spacing detected' seem like false positives. as for the others I'm not yet sure whats the nicest way to fix

Looks very good, It makes the whole file much more clear and easy to use. still needs to fix some specs but overall LGTM :+1:

I think that it's more DRY this way, and will make it easier to adapt to changed in the db :+1:
The current code looks very copy/pasty and need revision.

@zeari @dkorn @alongoldboim any objection here?

In general i really like this refactor, it looks good and much more readable but i'm getting a weird error trying to test it (not sure its related to mooli's changes), will do some more checks and report back.

In general i really like this refactor, it looks good and much more readable but i'm getting a weird error trying to test it (not sure its related to mooli's changes), will do some more checks and report back.

@alongoldboim would you like to share what's the error? I had a few of those last couple of days :)

This is what im getting on refresh.

It doesn't happen on my master branch, again not sure its connected to those changes specifically but we need to farther test it.

@alongoldboim @yaacov and me thought that maybe you should add an some in-code comments to explain what exactly is the meaning of each part of the metadata structure for easier future reference.

rebased (on top of #5790 this time). Added documentation per @enoodle's request

@miq-bot assign moolitayer

@miq-bot add_label refactoring
@moolitayer what do you want to do with this?

I would like to drop it for now and revive it in the future if the need for it arises.


To what extent do Spikingformer and Spikingformer-CML differ in terms of SOP?

Hi, thank you for your excellent work on Spikingformer-CML. As far as I know, Spikingformer has more SOPs than Spikformer. I'm wondering if there are any differences between Spikingformer and Spikingformer-CML in SOP. If so, To what extent do Spikingformer and Spikingformer-CML differ in terms of SOP? I am eagerly awaiting your prompt response, thanks!

Both Spikingformer and Spikingformer-CML have the same SOPs.


"Podgoria", "Coțatcu", "Oratia", "Pleșești" and "Tăbăcari" are listed in the drop-down menu

Description:
"Podgoria", "Coțatcu", "Oratia", "Pleșești" and "Tăbăcari" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Podgoria" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Podgoria, BUZĂU (Podgoria)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Coțatcu" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Coțatcu, BUZĂU (Podgoria)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Oratia" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Oratia, BUZĂU (Podgoria)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Type "Pleșești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Pleșești, BUZĂU (Podgoria)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Type "Tăbăcari" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Tăbăcari, BUZĂU (Podgoria)".


Consider making NoopTextMapPropagator private

https://github.com/open-telemetry/opentelemetry-ruby/blob/main/api/lib/opentelemetry/context/propagation/noop_text_map_propagator.rb can probably be defined as private, and be enabled public later on if/as needed. This is done to reduce API surface ;)

We reference this in two places in the API and once in the SDK. Ruby doesn't provide a mechanism to make this private to the API. We could mark it with the comment @api private, but then we're technically violating that by using it from the SDK. We can get around that with some duplication.
So, you're not wrong 😄 but we'll have to jump through some hoops to make it so.

I think this is fixed by #841 - I just copied and pasted the implementation into the SDK so that we could have a "private" implementation in the API where needed (not that anything is ever really private in Ruby, of course...).


TypeDB expansion of ClassDB, including ScriptDB/SceneDB, with auto-registration of runtime assets.

Please search existing issues for potential duplicates before filing yours:
https://github.com/godotengine/godot/issues?utf8=✓&q=is%3Aissue+is%3Aopen+script+identifier
https://github.com/godotengine/godot/issues?utf8=✓&q=is%3Aissue+is%3Aopen+script+inheritance+view
Godot version:
Godot 3.1+
Issue description:
I've been doing some work on a ScriptDB to solve problems with (#6067), but I think I've stumbled onto an even more powerful, extended solution that would allow for a lot more functionality.
The ClassDB grants C++ classes really powerful, integrated functionality for Godot Engine. C++ classes have "first-party support", such as...

having identifiers for them automatically generated and accessible to the scripting API.
representing types of all kinds (not just Node or Resource, but also Object, Reference, and everything else).
making an entire scene of nodes be represented as a single Node in the engine (for example, when looking at the Tree node in the remote debug scene tree, it has several child nodes generated by the engine).
able to pull up an inheritance view of Node and Resource types in the Editor.

However, all of this is only supported for types defined at compile time, that are part of the ClassDB.
Our closest approximation of this, custom types, do not currently support any of this functionality.

No identifiers or namespaces are created for custom types (this would be a scripting language-specific issue, so it isn't appropriate to solve it with the ClassDB).
The Editor will add custom types to the Node and Resource creation tools, but because the Editor doesn't have (or need) similar tools for other types, there's nothing to do here for custom types that extend those other C++ classes. That is, a script won't be able to exploit point 1 because the Editor doesn't need it, not because games don't need it.
Custom types allow you to bind scripts, not scenes, to a name (and the name is only pertinent to the creation tools from point 2, so it doesn't actually give us point 1 either).
The custom types support does not currently give inheritance between custom types, only the inheritance from the immediate relationship to the C++ type. Now, this is actually a simple bug that could be fixed, so it's not quite as big of an issue. However, even if you were to do this, you still cannot define abstract types that aren't instance-able, but which still show up in the inheritance hierarchy (things like BaseButton).

Also, each custom type must be manually registered in order for custom type functionality to be engaged in the first place. There are other problems with the custom type system (as mentioned in the other Issue), and while some parts of that Issue overlap, the concept of creating script constraints for Object types (and the possible ramifications thereof) isn't the subject of this Issue.
I did attempt to create a runtime-generated (so no manual registration required) substitute for points 2 and 4 with the creation of a plugin for Godot, the Inheritance Dock, but it has to deal with a core problem that doesn't scale well: in order to view the inheritance information about any given script or scene, you have to load the resource into memory. Because it rebuilds the entire Tree in the dock every time the filesystem is changed, and checks the inheritance of every single file by loading them all into memory every single time, there is an immense amount of work being done for very little gain that is exacerbated as the size of project increases. Ideally, we would be able to check this type/inheritance information without ever having to load any files.
Proposed solution:
Create a TypeDB class that is analogous to the ClassDB, but which is purely for storing

filepath
namespace
typename (an UpperCamelCase rendition of the file name)
inherited type's data (a pointer to its filepath, namespace, and typename)
inherited type's name (in cases where there is no runtime-defined parent for the type, this would be the name of the ClassDB entry). This allows us to preserve inheritance hierarchies across the various DBs.

The TypeDB would be a separate .h/.cpp in core that includes class_db.h/.cpp and script_language.h/.cpp. It would mimic much of ClassDB's methods for CRUD-ing type and inheritance information, but it would function more like GDScript's global_map, just creating a two-way mapping (so 2 HashMaps) between the namespace+typename and the filepath.
Assuming much of the TypeDB's functionality is defined via macros (like Object), it could then define a ScriptDB and SceneDB in the same file with common functionality that grants localized storage for both scripted types and scene types. Calling the common functions on the TypeDB would then aggregate the data from ClassDB, ScriptDB, and SceneDB.
Types' full names could mimic filepaths with slash delimiters (/). A front-facing slash could be used to refer to non-C++ types defined in the local project (not part of a plugin), e.g. "/MyType".
# filesystem, res://
panel_container.gd # editor auto-registers /PanelContainer in ScriptDB.
panel_container.tscn # editor auto-registers /PanelContainer in SceneDB.
addons/my-plugin/panel_container.tscn # editor auto-registers /MyPlugin/PanelContainer in SceneDB.

# some .gd file
func _ready():
    TypeDB.type_exists("/PanelContainer", TYPE_CPP & TYPE_SCRIPT & TYPE_SCENE) # returns true
    # ^ automatically returns true for CPP types if the name is the same, like a fallback
    TypeDB.instance("/PanelContainer", TYPE_*) # instances the desired type. Returns null if multiple types requested.
    TypeDB.instance("/PanelContainer", [TYPE_SCENE, TYPE_SCRIPT, TYPE_CPP]) # instances a scene if it exists. If not, then a script. If not, then a C++ type.  If not, then reports an error.

    # Because things are registered, typenames can now be directly accessed
    PanelContainer.new() # returns C++ PanelContainer instance, no change from before
    var type = /PanelContainer # returns an instance of a TypeRecord C++ type that provides an interface for interacting with the "type" regardless of whether it knows about a C++ type, script or scene.
    # if panel_container.gd/.tscn weren't defined, then this would default to the C++ type again (so it has an in-engine fallback)
    var type2 = /MyPlugin/PanelContainer # gets the TypeRecord for the file at res://addons/my-plugin/panel_container.gd/.tscn.

    # can have fetching and instantiation follow a scene > script > C++ type priority
    type.create() # returns PackedScene.instance() if a scene exists, else Script.new(), else ClassDB.instance(typename). Else null
    type.new() # returns load("panel_container.gd").new() or, if there is no script, ClassDB.instance(typename). Else null
    type.instance() # returns load("panel_container.tscn").instance(). Else null.
    type.fetch(TYPE_*) # returns null in null/TYPE_CPP cases, Script and PackedScene for the others
    type.fetch([TYPE_SCENE, TYPE_SCRIPT]) # returns PackedScene or, if null, Script, etc. (maybe this is the default value?)

With something of this nature, the editor could then incorporate a Type Dock that supplies an inheritance view of ALL types, WITHOUT having to explicitly load any resources (solving #13357). From the dock, users could then open, instantiate, or extend any of the types (for which those actions are possible) by clicking on icons in the row, similar to the Scene dock.
In addition, the "Add a node" window could display C++ types, scripts, and scenes (based on the root node), providing some kind of visible differentiation between each (color coded? icons? etc.) along with allowing users to define editor metadata to be associated with the associated DB (an icon, a brief description, a class API XML file, etc.). This would then also enable a nearly automatic fix for #17093 by changing the editor's code to refer to the TypeDB rather than the ClassDB.
Anyway, just throwing thoughts out there. Good/bad ideas? All of it, some of it? Please let me know since I already have about half of the ScriptDB implemented. XD
Edit:
Also, because I know it'll come up, I recognize that namespacing and identifiers are generally not a concern for non-GDScript/non-VisualScript languages, so one might claim that this is a scripting-language specific problem. And that is true for the registration of scripts, but if you used this technique and then exposed the TypeDB to the in-engine scripting API, then you'd even be able to share namespaces between all languages by unifying them in the TypeDB (perhaps handle script registrations slightly differently, letting them specify a language to clarify any inter-language typename conflicts?). Not in a literal fashion of course (a C# script isn't gonna suddenly access MyScript class defined in my_script.gd), but through TypeDB.fetch(name), you could start to approximate it.
It's also possible that we may have different ideas about how an individual script could be auto-registered (flags itself or its subclasses as exported, declares a particular namespace / tyepname for itself or subclasses, etc.).

Seems this is is also related to solving #7402 . Gotta thank karroffel for bringing it to my attention.

Again, I insist that current system does not need changes in core, only
editor does.
On Mar 9, 2018 19:30, "Will Nations"<EMAIL_ADDRESS>wrote:

Seems this is is also related to solving #7402
https://github.com/godotengine/godot/issues/7402 . Gotta thank
karroffel for bringing it to my attention.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/17387#issuecomment-371963802,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2yav6mWAS5UYoSiHbwMOSjxgja9fks5tcwJogaJpZM4Sk6v7
.

A powerful system is powerless when it's not aimed at real, concrete use
cases.
The only concrete use case that needs to be solved is better editor
feedback. We don't need complex, powerful and very flexible systems to do
this.
On Mar 9, 2018 19:34, "Juan Linietsky"<EMAIL_ADDRESS>wrote:

Again, I insist that current system does not need changes in core, only
editor does.
On Mar 9, 2018 19:30, "Will Nations"<EMAIL_ADDRESS>wrote:

Seems this is is also related to solving #7402
https://github.com/godotengine/godot/issues/7402 . Gotta thank
karroffel for bringing it to my attention.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/17387#issuecomment-371963802,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2yav6mWAS5UYoSiHbwMOSjxgja9fks5tcwJogaJpZM4Sk6v7
.

@reduz Well, all of the namespacing and typename stuff from 7402 and this COULD be done in the Editor. We'd just have to have the editor auto-replace the typenames and such with paths to the script files during compilation of the scripts so that the runtime content is the same as what it currently is.
However, the 6067 proposal to introduce script constraints for Objects that are custom types WOULD require core changes (just add getter/setter for a custom_script property and modify set_script/set_script_and_instance to take it into account). If you don't do that, then it defeats the whole purpose of defining custom types in the first place.

So the question comes down to whether you want to allow script constraints or not. If not, then the entire concept of custom types can be done away with entirely when the related Editor changes are made and scripts are registered automatically at design-time.

As I mentioned there, I am against that entire idea.
On Mar 9, 2018 19:43, "Will Nations"<EMAIL_ADDRESS>wrote:

So the question comes down to whether you want to allow script constraints
or not. If not, then the entire concept of custom types can be done away
with entirely when the related Editor changes are made and scripts are
registered automatically at design-time.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/17387#issuecomment-371966554,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z23yQHFq-GfmF3F9UiEss9m7atiMXks5tcwWdgaJpZM4Sk6v7
.

Hmm..ok, understood.
Any possibility of a plugin approach to any of this seeming like a problem to you? For example, if GDScript left it open for a plugin to define identifiers as well (would just need to expose the global_map, if I understand correctly).
I don't intend any sort of disrespect. I earnestly just want to have confidence as to whether I should trash this idea entirely, or if there is some way I can get the editor to allow for the functionality I'm seeking from it, without having to resort to just independently developing a fork of the engine of my own that supports it (for personal use). Would really rather not do all that work and have it only benefit me cause I know there are many others interested in the feature(s).

When you approach a problem, you first should discuss the use case, not go straight to a solution. I still don't see an use case or even a problem for this, so discussing a solution imo is not what should be going on here

Well, the "problem" in this case is more of a usability / convenience thing. It's not that people can't use file paths. They are simply inconvenient and that's it. And this is simply solving the inconvenience by mapping file paths to names with namespaces to prevent collisions.

This is not an usability/convenience thing. You rarely assign scripts to nodes,  so all this work is not justified.

FYI, what I've been doing for this.

EditorData now has TypeDB class. It stores information about all types defined in a project (and not just custom types, but all manner of scripts and scenes). Type names are automatically assigned based on PascalCase-ifying the basename of a file (scenes get Scn appended to their type names). Type names are namespaced one level under a plugin name (if they are included in /addons/some_plugin/) or the project name. Each entry in the TypeDB holds the path, name, namespace, and its inherited asset's entry and namespace+name (if any).

If a script/scene is a custom type defined by a plugin, then the TypeDB entry includes the script/scene Ref, whether or not its abstract (can be inherited but can't be instantiated from the TypeDB), and a link to any XML documentation it references. The fact that it only includes the script/scene if it's a custom type means that we don't force the engine to store a loaded reference to every script/scene constantly.

For creating references to ALL scripts/scenes in GDScript safely (no constant loaded references), I plan to the engine create a global "GD" GDScript instance to be stored in the .godot file. When using the editor, upon updates to the filesystem's scripts/scenes, it can update the source code for the script global by generating its content from the TypeDB's records. An example of what it might look like...
extends Node
const API = {}
class MyPlugin:
var MyNode = "res://node.gd" setget set_MyNode, get_MyNode
func set_MyNode(p_value): MyNode = p_value
func get_MyNode(): return load(MyNode)
 var MyNodeScn = "res://node.tscn" setget set_MyNodeScn, get_MyNodeScn
 func set_MyNodeScn(p_value): MyNodeScn = p_value
 func get_MyNodeScn(): return load(MyNodeScn)

An example usage in a regular GDScript file might be...
# sample.gd
extends Node
func _ready():
    # I want to get an instance of the type
    var node = GD.API.MyPlugin.MyNode.new()
    # I want to change which script is associated with the type
    GD.API.MyPlugin.MyNode = "res://path/to/new/script.gd"

What do you guys think?

From the perspective of a lurker, it looks like this issue has turned from solving a relatively straightforward problem (nicely summed up by Akien) to adding a set of features.
The original issue is quite a specific scope, and reduz suggested an elegant fix (third paragraph). Occam's Razor suggests the simplest fix is nearly always the best one. I think this fix is the simplest and clearest. It can be implemented to solve the current problem. Then the new features being suggested can be opened separately, and discussed from the perspective of adding a new, independent feature. Currently, the discussion is about adding features as a fix to a problem, which IMHO is backwards.
Just my two cents.

This is effectively what I am doing @RodeoMcCabe, only this Issue is essentially my personal tracking for a variety of other related issues, and I'm creating a single foundation that will be able to support each of them. In addition to the things akien mentioned, there is also...

Allowing users to reference scripts by name rather than by filepath in GDScript (and not just custom types, but to have the editor automatically bind a name to any created script or scene).

Having the editor prevent the user from breaking a custom type script inheritance hierarchy on a node created with that script (does not block it in real-time).

Allowing users to define custom type scenes in addition to Individual nodes.

Allowing users to define XML documentation for their custom types.

Allowing users to define whether a custom type is abstract and having that affect the CreateDialog's displayed content.

Fixing a bug that prevents the custom type icon from updating when you change the type of a node (or even when you remove the custom type script currently, though that will become obsolete when these changes are made).

The most efficient way to handle points 1 and 2 is to cache the names and inheritance hierarchies of files as they are edited (so that we don't re-load every script and scene in the entire resource folder every time the file system changes). Hence, the TypeDB. And by default, the only thing it stores is the name, namespace, and inheritance hierarchy. It only stores an actual script/scene or documentation path when you specifically register them manually in an EditorPlugin.
The complexity here is due to a need for optimization. And I know it's needed because I've basically already attempted to track inheritance hierarchies in the file system with my Inheritance Dock plugin, and it suffers from the same problem. Constant tly reloading every script/scene to re-evaluate its Inheritance relationships is very costly, and furthermore, if a file has errors on it, then you can easily start flooding the console with repetitive, undesirable error logs since every time you save or move one file, every file gets re-evaluated.
To solve THAT problem, setting up the TypeDB really is the easiest and most effective solution.

Based on the introduction of script classes, the future addition of annotations in GDScript, and the eventual ability to generate documentation data for a script (which I believe might be planned), there isn't really any reason to keep up this stuff. Also...
Based on the discussion in #21187, there is no need to continue working on this. Anything that can assist both the editor (can't be a module, must be in core or editor) and runtime (can't be in editor) would have to be in core, and any and all core changes that would enable a user-defined type system will not be approved by reduz.


Updated Readme

Description of Work
Fixes #128
Provided explanations on how to solve this issue and made the repository main page nicer.
Testing Instructions
On a fresh mantid windows install, follow the instructions in the README.md on the repository main page and check if you can run fitbenchmarking.

Pull Request Test Coverage Report for Build 323

85 of 322 (26.4%)  changed or added relevant lines in 14 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+27.2%) to 64.619%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

fitbenchmarking/fitting/misc.py
1
2
50.0%

fitbenchmarking/utils/misc.py
13
21
61.9%

fitbenchmarking/fitting/scipy/nist_def.py
0
24
0.0%

fitbenchmarking/fitting/scipy/func_def.py
0
30
0.0%

fitbenchmarking/fitting/scipy/prepare_data.py
0
32
0.0%

fitbenchmarking/fitting/scipy/main.py
0
65
0.0%

fitbenchmarking/fitting/scipy/neutron_def.py
0
77
0.0%

Totals

Change from base Build 288:
27.2%

Covered Lines:
526

Relevant Lines:
814

💛  - Coveralls


add a addition method to file

create a new file in python and add a method to add two numbers

Added a method called "add".

added a method for multiplication of two numbers