#0: Add StrongTypeHandle to help creating non-clashing alias types

Ticket
N/A
Problem description
In tt-metal, primitive types such as uint32_t / int often get used to alias distinct meaningful concepts like DeviceId, chip_id, ethernet_channel_t, etc. This is error prone, as this allows interchangeable uses with their underlying types.
What's changed
Add StrongTypeHandle as a way to create strong aliases that are incompatible with each other:

Integrated with std::hash and std::ostream (if the underlying type supports these).
Tests / documentation.

Checklist

[X] Build post commit
[X] New/Existing tests provide coverage for changes

Thank you!
I have an impression that @patrickroberts already introduced a similar concept for chip_id previously. Not sure, but if thats the case, its best to consolidate. The concept is great and very useful.

If anyone can suggest a better location than tt_stl
If anyone can suggest a better name than a StrongTypeHandle. Maybe simply StrongType?

Thanks Artem!

Specifically chip_it_t is referencing using chip_id_t = int; from tt_metal/third_party/umd/device/api/umd/device/types/cluster_descriptor_types.h, but this is just one example. This isn't a wide spread problem, but I've seen enough examples to get annoyed:) https://pastecode.io/s/cndr61dz
The advantage of a single tt_stl location for every generally useful utility is that you don't have to look elsewhere. Perhaps stl is a little misleading. ttsl seems a more appropriate and shorter acronym for "TT standard library"?
Not too worried about StrongTypeHandle vs StrongType, as the name won't be quoted directly more than once anyways.

@omilyutin-tt Approved, but I agree that it would be better to rename StrongTypeHandle to StrongType


Feat/sdk/binary files

Description
Make file upload and download functions compatible with binary files
Summary of changes
Updated storage module on python and typescript SDK
How test the changes
make unit-test in Python
yarn test in Typescript
Related issues

Operational checklist

[x] All new functionality is covered by tests
[ ] Any related documentation has been changed or added

Closed as the storageClient will be removed. #894


Adding http transport Shutdown Timeout

Feature request while integrating with Knative Eventing.
Signed-off-by: Scott Nichols<EMAIL_ADDRESS>

Ping @Harwayne to review.


🚀 [Feature] Where is the user profile of other users shown?

🚀 Feature

Where is the user profile of other users shown?
We can provide user info, but we never show it except to ourself - where does this happen?
E.g. Starmap hover/click

This is still unclear and its decided to postpone. For now we just collect the data.


Develop V1 RSS Class

Class that reads in VersionOne RSS Feeds

Implementation done.  Need to write unit tests.


Fix test failure

Purpose
$subject
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@malinthar shall we merge this?


Changing the priority of OnHandleRequest breaks Admin-Area.

Summary
Changing the Priority of the plugin "ClientConfig" event "OnHandleRequest" shows an error in the Admin-Area instead of the user interface.
ERROR: Could not find action file at: controllers/default/home.php
Step to reproduce
Change the priority to something else than 0 for the plugin "ClientConfig" event "OnHandleRequest".
Observed behavior
The Admin-Area of ClientConfig shows an error instead of the user interface.
Expected behavior
Show Admin-Area.
Environment

ClientConfig version 2.1.0
MODX version 2.6.5

I can't reproduce this with the provided steps, and the priority only affects in what order plugins, which fire on the same event, are executed. So if changing the priority is breaking something, I suspect it is because of another plugin also firing on OnHandleRequest.
Right click > update on the event in the plugin's "Events" tab to see what other plugins run.


Filtering Twitter Feed Content

Some of us feel that we should be only have tweets with a particular hashtag OR there should be some kind of screening process.

Closing as I removed Twitter from site currently.


engine-config-from-meta.js is not transpiled in v0.3

The file shows up as es6 in my vendor.js:
;define("model-fragments/version", ["exports"], function (exports) {
  exports["default"] = "2.3.2";
});
;var config;

try {
  var metaName = 'setup/config/environment';
  var rawConfig = document.querySelector('meta[name="' + metaName + '"]').getAttribute('content');
  config = JSON.parse(unescape(rawConfig));
}
catch(err) {
  throw new Error('Could not read config from meta tag with name "' + metaName + '" due to error: ' + err);
}

export default config;

;define('moment/index', ['exports', 'moment/lib'], function (exports, _lib) {
  'use strict';

Have you tried the latest version to make sure it wasn't already fixed?

I'm stuck on ember 2.9 😞 so I thought I'd try the compatible version since it's documented as being stable

This is likely a compact issue between the versions of ember-engines + ember-cli (and maybe ember-cli-babel). A reproduction, or at the least, more info on your environment and dependencies would help.


Provide comments in config

The Snorkel config comments are still absent, as well as some comments in kNN config
close #252

:param weighted_knn_activation: in KNN denoising is not explained, but only listet.
The rest looks good to me.
I would recommend saving the model by default to a save folder or enforce that one gives a saving directory. Not saving is hardly a good idea and most of the people should have access to their training (also the log etc.) even if they forget about the saving.
I'm not sure, whether referring to the paper is the optimal practise if people just want to use the framework and set it up quickly. Maybe a bit more context in the comments (two, three sentences what the function/class does) would be ok. But that depends on your design decision of Knodle I would say. Most important is to be consistent.

:param weighted_knn_activation: in KNN denoising is not explained, but only listed.

Actually, I'm not aware of why we have it here :D seems it is not used anywhere. @AndSt do you remember maybe? Or should we get rid of it?

I would recommend saving the model by default to a save folder or enforce that one gives a saving directory. Not saving is hardly a good idea and most of the people should have access to their training (also the log etc.) even if they forget about the saving.

I'm not sure, whether referring to the paper is the optimal practise if people just want to use the framework and set it up quickly. Maybe a bit more context in the comments (two, three sentences what the function/class does) would be ok. But that depends on your design decision of Knodle I would say. Most important is to be consistent.

Good points!
Also:
@AndSt could you please also add a comment about the label_model_num_epochs and label_model_log_freq Snorkel params? Thanks!


Fix formatting of HLSL variable precise modifier

This fixes the formatting of the list and code blocks embedded in a Markdown table.

Actually, looking at the blame history, I see that perhaps some part of that last <li> should be outside the <ul>. I also don't know the syntax to mark the <pre> block as HLSL code.
https://github.com/MicrosoftDocs/win32/blame/25211012b002a7d1303e438277373d7faf958a68/desktop-src/direct3dhlsl/dx-graphics-hlsl-variable-syntax.md

There's now an effort to keep HTML out of our markdown files, and remove HTML from them. So a table is probably not the best design for the presentation of this info. I'll take this change, but please add any more HTML to .md files. Thank you! :)


Enable build on Visual Studio 2017

This will update things to work completely with only Visual Studio 2017 installed.
Tested with the RTW build to be released tomorrow on Windows 10 latest release (14393.726). Will update documentation as well to note the requirement for VS2017.

I updated the cibuild.cmd to not pass in that property. That should fix your issue @rainersigwald .
I also removed the netci.groovy changes and sent another PR.

@dotnet-bot test Windows_NT Build for Desktop please

@dotnet-bot test Windows_NT Build for Desktop please

@dotnet-bot test Windows_NT Build for Desktop please


Using MIT license but asking for credit given in desc.

The MIT license allows use and modification and distribution without credit, You probably should not use the MIT license if you wish to receive credit for this work.

Hmm I See, Thanks

Hmm I See, Thanks


Potential nan problem of mean relative error loss

Hello,
Thank you for your excellent open-source work!
I’ve encountered a potential issue with the Loss_MRAE class when using custom datasets. Specifically, the division by label may lead to division-by-zero problems:
class Loss_MRAE(nn.Module):
    def __init__(self):
        super(Loss_MRAE, self).__init__()

    def forward(self, outputs, label):
        assert outputs.shape == label.shape
        error = torch.abs(outputs - label) / label  # <- Here
        mrae = torch.mean(error.view(-1))
        return mrae

What about introducing an epsilon in either the TrainDataset class or the Loss_MRAE class?
class Loss_MRAE(nn.Module):
    def __init__(self):
        super(Loss_MRAE, self).__init__()

    def forward(self, outputs, label):
        assert outputs.shape == label.shape
        mask = label == 0
        if mask.any():
            label_wo_zero = label.clone()
            label_wo_zero[mask] = 1e-8
        else:
            label_wo_zero = label
        error = torch.abs(outputs - label) / label_wo_zero
        mrae = torch.mean(error)
        return mrae

Possibly related issues: #37, #49.
Thanks!

Hi thanks for reminding me,
I have updated the code.
If you find the repo useful, please help us star it, thanks :)


ask Zenodo if merging two collections is possible

we have one conceptdoi https://doi.org/10.5281/zenodo.1003149, and a newer one https://doi.org/10.5281/zenodo.4751536. The latter one is associated with this repository. It would be nice to have all CFF releases as versions in the same collection, ideally in the collection that we used to use (https://doi.org/10.5281/zenodo.1003149).
(Note: consider how future releases from this repo will be affected)

Asked today via contact form.

I've been developing https://github.com/jspaaks/zenodraft, which is supposed to help you draft (and publish) depositions on zenodo and zenodo sandbox. I think since you probably own the conceptdoi https://doi.org/10.5281/zenodo.1003149, we could try to make an access token for Zenodo, and then use the cli to create a new version of the current repo in the old conceptdoi collection (using only a subset of the files, like perhaps just the schema and the specs document README.md). It should be possible to just try it out without making anything final (as long as you don't do zenodraft deposition publish <id> that is)
See zenodraft usage example here: https://github.com/nlesc-calls/2021-test/blob/d31bbbccc8bdae200411d62536e854cc0f6e81fe/.github/workflows/publish.yml. We could opt out of the manual trigger and just use an on-release trigger that creates a prefilled draft on Zenodo for us to review and publish there by clicking the button if we like.
Fair warning: zenodraft is very much a no-guardrails prototype, feedback welcome.

Decide what should go on the schema release proper (on Zenodo):
First thoughts

schema_guide.md
schema.json
README
PDFs?

My personal preference is to not use filenames with underscores but dashes, so schema-guide.[md|pdf]. Just esthetics I guess

My personal preference is to not use filenames with underscores but dashes, so schema-guide.[md|pdf]. Just esthetics I guess

Agree:
Decide what should go on the schema release proper (on Zenodo):
Second thoughts
* schema-guide.md
* schema.json
* README
* PDFs?

But also, this should go in its own issue, so: #219.
Closing this, as Zenodo have now set this up so that new releases from this repo will go under the old concept DOI https://doi.org/10.5281/zenodo.1003149.


Git stashing in initdb process.

Description
Some files are being excluded during the docker build process, so we need to stash before diffing.

Risk

Deploy Plan

PMRR


add EventBridgePutEventsPolicy policy template

Description:
We should add a policy template for putting Amazon EventBridge events. We can call it EventBridgePutEventsPolicy and it should allow the events:PutEvents action. From the EventBridge IAM documentation, it looks like you can't scope the permission down to a specific event bus, although that doesn't sound right so I'm doublechecking on that. However, if that turns out to be the case, this policy template would take no parameters and specify Resource: *.
Here's an example of a past PR that added a new policy template for reference: #904

Hi @jlhood ,
I've been looking at this and, while the AWS console complains that:

The actions in your policy do not support resource-level permissions and require you to choose All resources
I'm absolutely able to create a policy in CloudFormation with a specific EventBus as the resource so I'm unsure of which way to go with this.
I'll see if I can actually use that policy and / or if it restricts writing to other buses but I'm also a little reluctant to have the new policy specify a resource in case that behaviour is removed.
Thoughts?

@Russ-K I appreciate you following up on this! I'm still trying to get more information internally on plans to support a specific event bus resource within an IAM policy. However, that's mainly because I haven't had time to test it myself. I'd love it if you could test and verify if restricting PutEvents permissions to a specific event bus is currently honored by the service. Knowing the current behavior would help us move forward with this change. If restricting PutEvents permissions to a specific event bus is supported, we should be able to rely on that functionality staying. Again, I'll work on confirming from my side, but if you could run some tests to understand the current behavior, that would be terrific!

Thanks @mikedeck. Looks like this issue is blocked until we get this support. I don't want to create a policy template that has no parameters and uses Resource: * only to have it become obsolete later if the service adds per-resource permissions.

@chrisoverzero I am afraid that the docs are outdated still.

Is there any idea about the release date of this new policy?

This is released in v1.22.0


Allows multiple bibleVersion

Would you consider allowing multiple bibleVersions?
E.g. selecting cuv, esv which will convert the same reference to both translation at the same time.

Actually it is a good idea, but need some investigation for the implementation

I would like to reassert this issue as a request. Could you program it to have a default version but then allow for adjustment of a preferred version when typing it out in this manner:
Calling the default version:
--John1:1-4
Calling out a specified version as needed
--John1:1-4,NTGT
I often want to add Greek text when I taking notes to compare to the English text. This is helpful for future reference to the note.

I would like to have this feature as well. Is there any active development on this issue?


Github Actions CI and modern config

This PR creates a CI workflow on Github Actions for python-edtf. The workflow uses a matrix strategy to test Python versions from 3.8 to 3.12. v5 of python-edtf drops support for Python <3.8. This PR also drops the travis.ci config.
This PR drops nose and tox in favor for pytest. nose is beyond EOL and was failing with newer versions of Python; nose2 does not seem to have many benefits over pytest as a testing framework. While tox has some benefits for local testing of multiple versions, it is unnecessary in CI given the Github Actions matrix strategy. I migrated the tox config to pyproject.toml if developers still want to use tox locally, but have removed it from the test dependencies.
This PR consolidates config in pyproject.toml rather than splitting across setup.py, setup.cfg, and tox.ini.

This looks great. Thank you.


Datasheets

Create datasheets

Common layout
reusable parts
generate PDF
track versions
host on WAStD
link from WAStD docs

Thinking points:

model admin defines fields
django forms + templates create online data entry form
paper and online form should be as similar as possible to facilitate data entry
paper form needs to follow natural flow of obs & measurements to facilitate data capture

Is there a clever way to:

reduce double handling between online and printed forms
control layout and templates for printed forms
make designing paper forms easy and intuitive
allow full flexibility to design paper form independently from online form where needed

First cut of mockups on OneDrive shared with Sabrina


add plugin support to sentry

From @ianstormtaylor on June 7, 2014 1:21
Sentry lets you add plugins when loading their library, would be good to let the user pass in which plugins they'd like to load.
Copied from original issue: segmentio/analytics.js-integrations#197

From @jivinivan on December 1, 2014 19:16
:+1:

looked up sentry docs for how to do this but can't find any examples of this. closing due to inactivity + lack of context here.

https://docs.getsentry.com/hosted/clients/javascript/integrations/
Example for angular
I think it should be something along:
<% plugins = ['angular', 'console'] %>
<script src="https://cdn.ravenjs.com/2.3.0/<%= plugins.join(',') %>/raven.min.js"></script>
<!-- instead of -->
<script src="https://cdn.ravenjs.com/2.3.0/raven.min.js"></script>

Thanks! I'll reopen it and triage this issue internally -- happy to accept PRs in the meantime though! :)

up again,
Seems that Raven CDN exposes their plugins as well at http://ravenjs.com/
hope this could help.

If instead of loading https://cdn.ravenjs.com/3.17.0/raven.min.js you provide the possibility to load
https://cdn.ravenjs.com/3.17.0/angular/raven.min.js it would make the use of sentry and segment within an Angular app seemless ;)

cc @anoonan

Hi @ndhoule, as part of the monorepo migration, this issue has been moved to new issue. Our engineers have been notified and will prioritize and work on it ASAP. Thank you!
For more information, see README.md.


Add 2 gb split support

can you add 2 gb split files?

it should split files at 1500MB, though the code was written very fast, i should probably rewrite the project in a more organized fashion.


feat: add systemd unit for Mariner live patching

What type of PR is this?

/kind feature
What this PR does / why we need it:
Add support for Mariner live patching
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
The PR for adding live patching support for Ubuntu has been merged: https://github.com/Azure/AgentBaker/pull/3643
This PR extends the support to Mariner.
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 79.334%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
2288

Relevant Lines:
2884

💛  - Coveralls


Prepare 0.8 release

Checklist

[na] Tests added if applicable
[na] README updated if applicable
[X] CHANGELOG updated if applicable
[na] If a commit includes a breaking change, include the string [breaking-change] somewhere in the commit message

I'll merge without review, since it is just the release chore.


nginx-swarm 503

Hi!  First thank you and all contributors for this image.
Second, I have created a swarm locally using virtualbox that has 3 nodes and I used the docker-compose.yml file in the /docs/examples folder.
This is my config.toml
listenAddr = ":8080"
dockerURL = "tcp://<IP_ADDRESS>:4000"  #$(docker-machine ip manager):4000
TLSCACert = "/etc/docker/ca.pem"
TLSCert = "/etc/docker/server.pem"
TLSKey = "/etc/docker/server-key.pem"
AllowInsecure = false
EnableMetrics = true

[[extensions]]
name = "nginx"
configPath = "/etc/conf/nginx.conf"
pidPath = "/etc/conf/nginx.pid"
maxConn = 1024
port = 80

This is my docker-compose.yml file which is the same as the one in the examples folder with the exception of the added tls mount.
interlock:
    image: ehazlett/interlock:1.0
    command: run
    ports:
        - 8080
    volumes:
        - ./config.toml:/bin/config.toml
        - nginx:/etc/conf
        - /var/run/docker.sock:/var/run/docker.sock
        - ${DOCKER_CERT_PATH}:/etc/docker/

nginx:
    image: nginx:latest
    entrypoint: nginx
    command: -g "daemon off;" -c /etc/conf/nginx.conf
    ports:
        - 80:80
    labels:
        - "interlock.ext.name=nginx"
    links:
        - interlock:interlock
    volumes:
        - nginx:/etc/conf

app:
    image: ehazlett/docker-demo:latest
    ports:
        - 8080
    labels:
        - "interlock.hostname=test"
        - "interlock.domain=local"

When I run docker-compose up -d everything starts fine and after checking the logs I can see that interlock is updating the configuration because this is the output.
time="2016-03-21T22:23:58Z" level=info msg="interlock 1.0.0 (49863fc)"
time="2016-03-21T22:23:58Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:23:58Z" level=info msg="configuration updated" ext=nginx

Then if I run docker-compose scale app=3 I can see that they are also being added because this is the combined output.
time="2016-03-21T22:23:58Z" level=info msg="interlock 1.0.0 (49863fc)"
time="2016-03-21T22:23:58Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:23:58Z" level=info msg="configuration updated" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32769" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="configuration updated" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="restarted proxy container: id=9fc1f9e116e2 name=/node1/nginxswarm_nginx_1" ext=nginx

When I run docker exec -t fa cat /etc/conf/nginx.conf I get this
# managed by interlock
user  www-data;
worker_processes  2;
worker_rlimit_nofile 65535;

error_log  /var/log/error.log warn;
pid        /etc/conf/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    client_max_body_size 2048M;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    # If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
    # scheme used to connect to this server
    map $http_x_forwarded_proto $proxy_x_forwarded_proto {
      default $http_x_forwarded_proto;
      ''      $scheme;
    }

    #gzip  on;
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
    proxy_set_header        X-Real-IP         $remote_addr;
    proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $proxy_x_forwarded_proto;
    proxy_set_header        Host              $http_host;
    send_timeout 600;

    # ssl
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    # default host return 503
    server {
            listen 80;
            server_name _;

            location / {
                return 503;
            }

            location /nginx_status {
                stub_status on;
                access_log off;
            }
    }

    upstream test.local {
        zone test.local_backend 64k;

        server <IP_ADDRESS>:32768;
        server <IP_ADDRESS>:32769;
        server <IP_ADDRESS>:32768;

    }
    server {
        listen 80;

        server_name test.local;

        location / {
            proxy_pass http://test.local;
        }

    }

    include /etc/conf/conf.d/*.conf;
}

I see that my hosts have been added but when I visit <IP_ADDRESS>:80->80/tcp I get the NGINX 503  Service Temporarily Unavailable screen.
I feel like I'm missing something very small but I don't know what it is.
Thanks in advance!
Kris

Also, not sure if it matters but when I visit http://<IP_ADDRESS>:32768/ I see the docker whale and the container that it was served from.

Greetings.  You need to add an /etc/hosts entry for test.local -> the IP of
the host that is running the nginx proxy container as nginx needs to see
the host header for test.local.   For example test.local -> 192.268.99.170.
You should then be able to access it on http://test.local.
Note this isn't needed if you have DNS resolving the domain but is needed
for local deploys.
On Mar 21, 2016 18:57, "Kris"<EMAIL_ADDRESS>wrote:

Hi! First thank you and all contributors for this image.
Second, I have created a swarm locally using virtualbox that has 3 nodes
and I used the docker-compose.yml file in the /docs/examples folder.
This is my config.toml
listenAddr = ":8080"
dockerURL = "tcp://<IP_ADDRESS>:4000"  #$(docker-machine ip manager):4000
TLSCACert = "/etc/docker/ca.pem"
TLSCert = "/etc/docker/server.pem"
TLSKey = "/etc/docker/server-key.pem"
AllowInsecure = false
EnableMetrics = true
[[extensions]]
name = "nginx"
configPath = "/etc/conf/nginx.conf"
pidPath = "/etc/conf/nginx.pid"
maxConn = 1024
port = 80
This is my docker-compose.yml file which is the same as the one in the
examples folder with the exception of the added tls mount.
interlock:
image: ehazlett/interlock:1.0
command: run
ports:
- 8080
volumes:
- ./config.toml:/bin/config.toml
- nginx:/etc/conf
- /var/run/docker.sock:/var/run/docker.sock
- ${DOCKER_CERT_PATH}:/etc/docker/
nginx:
image: nginx:latest
entrypoint: nginx
command: -g "daemon off;" -c /etc/conf/nginx.conf
ports:
- 80:80
labels:
- "interlock.ext.name=nginx"
links:
- interlock:interlock
volumes:
- nginx:/etc/conf
app:
image: ehazlett/docker-demo:latest
ports:
- 8080
labels:
- "interlock.hostname=test"
- "interlock.domain=local"
When I run docker-compose up -d everything starts fine and after checking
the logs I can see that interlock is updating the configuration because
this is the output.
time="2016-03-21T22:23:58Z" level=info msg="interlock 1.0.0 (49863fc)"
time="2016-03-21T22:23:58Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:23:58Z" level=info msg="configuration updated" ext=nginx
Then if I run docker-compose scale app=3 I can see that they are also
being added because this is the combined output.
time="2016-03-21T22:23:58Z" level=info msg="interlock 1.0.0 (49863fc)"
time="2016-03-21T22:23:58Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:23:58Z" level=info msg="configuration updated" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32769" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="test.local: upstream=<IP_ADDRESS>:32768" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="configuration updated" ext=nginx
time="2016-03-21T22:34:37Z" level=info msg="restarted proxy container: id=9fc1f9e116e2 name=/node1/nginxswarm_nginx_1" ext=nginx
When I run docker exec -t fa cat /etc/conf/nginx.conf I get this
managed by interlock
user  www-data;
worker_processes  2;
worker_rlimit_nofile 65535;
error_log  /var/log/error.log warn;
pid        /etc/conf/nginx.pid;
events {
worker_connections  1024;
}
http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;
server_names_hash_bucket_size 128;
client_max_body_size 2048M;
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp_nopush     on;

keepalive_timeout  65;

# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}

#gzip  on;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_set_header        X-Real-IP         $remote_addr;
proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;
proxy_set_header        X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header        Host              $http_host;
send_timeout 600;

# ssl
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

# default host return 503
server {
        listen 80;
        server_name _;

        location / {
            return 503;
        }

        location /nginx_status {
            stub_status on;
            access_log off;
        }
}

upstream test.local {
    zone test.local_backend 64k;

    server <IP_ADDRESS>:32768;
    server <IP_ADDRESS>:32769;
    server <IP_ADDRESS>:32768;

}
server {
    listen 80;

    server_name test.local;

    location / {
        proxy_pass http://test.local;
    }

}

include /etc/conf/conf.d/*.conf;

}
I see that my hosts have been added but when I visit <IP_ADDRESS>:80
->80/tcp I get the NGINX 503 Service Temporarily Unavailable screen.
I feel like I'm missing something very small but I don't know what it is.
Thanks in advance!
Kris
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/105

Yep that fixed it.  Thank you for the response!  I knew it was something trivial.  Thanks for your time.


SPARK-5425: Use synchronised methods in system properties to create SparkConf

Test build #26160 has started for   PR 4222 at commit 51987d2.

This patch merges cleanly.

Test build #26160 has finished for   PR 4222 at commit 51987d2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DenseMatrix(

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26160/
Test FAILed.

retest this please

Test build #26248 has started for   PR 4222 at commit 51987d2.

This patch merges cleanly.

Test build #26248 has finished for   PR 4222 at commit 51987d2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26248/
Test FAILed.

Explanation of the second commit is in https://github.com/apache/spark/pull/4220

Test build #26315 has started for   PR 4222 at commit 00f11a1.

This patch merges cleanly.

Test build #26315 has finished for   PR 4222 at commit 00f11a1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26315/
Test FAILed.

Test build #26319 has started for   PR 4222 at commit 4b6f366.

This patch merges cleanly.

Test build #26319 has finished for   PR 4222 at commit 4b6f366.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26319/
Test PASSed.

Test build #26322 has started for   PR 4222 at commit 8faf2ea.

This patch merges cleanly.

Test build #26322 has finished for   PR 4222 at commit 8faf2ea.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26322/
Test PASSed.

Test build #26500 has started for   PR 4222 at commit 03da61b.

This patch merges cleanly.

Test build #26500 has finished for   PR 4222 at commit 03da61b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26500/
Test PASSed.

I've merged this into master (1.3.0).  Thanks!

@jacek-lewandowski can you close this issue? It didnt' close properly because of the way github auto-closes patches into release branches.


Broke up Zend\Mvc\App::dispatch() into smaller methods

I figured the dispatch() method was kinda too long (over 80 lines) to easily extend and override specific behaviors. Therefore I broke it up in smaller parts.
All Zend\Mvc\App unittests pass, before as well as after.
Some windows line endings were killed in the process.

Looking through this, I'm thinking we should actually do this a little differently: move the dispatch-specific logic into a listener, as well as the route-specific logic. These listeners should receive the application's event manager instance. Then, the Application instance would register these listeners by default, and have a flag for enabling/disabling that registration. This would be a better separation of concerns in many ways, and make the Application class leaner.
Thoughts?

I'm always in favor of separating concerns. I'm however not enough into the code yet to give a well funded answer to your suggestion, nor am I at this point able to realize it. However, by all means, be my guest ;)
=> Closing pull request.

+1, I'm totaly for that. This would allow us to optimize resources consumption in efficiency-critical applications.

re-opening, as I'l likely use this patch as the basis for such refactoring. :)

Closing, as we don't support a WIP policy currently for pull requests.


Rename nova_spice_console to nova_console

In commit 5cce6b5 in os-a-d, we renamed nova_spice_console group to
nova_console.  This commit updates rpc_maas so we correctly deploy
a check/alarm against the actual group.
Closes issue #69

:+1: LGTM

+2


Denote input or output when handing artifacts over the API

Current Behavior
Specifically, if calling an Artifact API method (e.g., alignment.methods.mafft), the traceback is very similar if the input Artifact has an issue, or if the output (i.e., return from the API) Artifacts have an issue. It is implied deep in the traceback, but can easily lead to developer confusion about where an error lays.

I'm not certain what exactly this means? I'm not sure how we would differentiate beyond reading the traceback. If you have a good way forward here feel free to open a PR or drop your ideas here, but given that this is over 6.5 years old and hasn't been touched I'm going to close this for now.


Cron problem

After deploying with "docker-compose up" the cron schedule poller is not working.
I don´t know if I did some thing wrong, I´m looking for solution.
If I run manually works fine.

Hi,
Please be more specific. ;) Attach your docker-compose.yaml for investigation.
I would say that you have done something wrong if the image is working ok when run manually.

Hi,
Sorry.
I just rename from docker-cloud.yml to docker-compose.yml and changed ports.
#########################################
cacti-db:
image: million12/mariadb
environment:
MARIADB_USER: cactiuser
MARIADB_PASS: my_password
cacti:
image: polinux/cacti
links:
- cacti-db
ports:
- "8081:80"
- "4443:443"
environment:
DB_USER: cactiuser
DB_PASS: my_password
DB_ADDRESS: cacti-db

Try redownloading latest image. And see if that helps.

All seems to work ok. Closing


Abstract FileReader

This is fantastic work, thank you!
Do you intend to flesh-out FileReader at some point?  It is the only missing piece to support uploading local files through a web-flutter app, which I suspect will be fairly common scenario.
(https://stackoverflow.com/questions/56457214/is-there-any-plugin-or-way-to-upload-file-to-server-using-flutter-web)

Thank you!
The library already has a FileReader. However, the package can't access Flutter APIs because the package must work in the server-side too (without Flutter). So the proposed feature would have to be implemented in some other package.


Figure size drawn incorrectly when used as a tooltip

Looks like the same issue that was fixed by #1029, but is still reproducible.
@SylvainCorlay @martinRenou
from bqplot import *
# Figure 1
sc1 = OrdinalScale()
sc2 = LinearScale()
bar2 = Bars(x=[1,2,3], y=[3,2,1], scales={'x': sc1, 'y': sc2})
ax_x2 = Axis(scale=sc2, orientation='vertical')
ax_y2 = Axis(scale=sc1)
tooltip_fig = Figure(marks=[bar2], axes=[ax_x2, ax_y2])

# Figure 2
sc3 = OrdinalScale()
sc4 = LinearScale()
bar = Bars(x=[1,2,3], y=[1,2,3], scales={'x': sc3, 'y': sc4}, tooltip=tooltip_fig)
ax_x = Axis(scale=sc3)
ax_y = Axis(scale=sc4, orientation='vertical')

Figure(marks=[bar], axes=[ax_x, ax_y], layout={'height':'300px'})

I'll work on this


Bump version for release

Codecov Report
Base: 99.75% // Head: 99.75% // No change to project coverage :thumbsup:

Coverage data is based on head (ace8a64) compared to base (5138e5a).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #332   +/-   ##
=======================================
  Coverage   99.75%   99.75%
=======================================
  Files          10       10
  Lines         832      832
=======================================
  Hits          830      830
  Misses          2        2

Impacted Files
Coverage Δ

weather_command/main.py
100.00% <100.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


UI updates for Metric Discovery, merging from develop

Metric Discovery is incomplete, need final API calls to sync up with UI to display drop down for each input field.

Current coverage is 36.03% (diff: 100%)

No coverage report found for develop at b3c8ddd.

Powered by Codecov. Last update b3c8ddd...f1cf8a9


Update Frequency.java

Pull Request Type
What kind of change does this PR introduce?
[ ] Solved an issue/task
What is the new behavior?
I just added answer of a hard java question
Other information

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


PNG Conversion issue - image not rendered correctly

Description
MAUI Resizetizer uses svg-net for image conversion and resizing and for some [complex] SVG images conversion is not correct.
Example data
Given SVG image:

Image is not converted correctly (partial conversion):

Used Versions
MAUI Resizetizer

This is fixed in Svg.Skia <IP_ADDRESS>

Maui .Net8 SR3


Clicking on Started execution on line x does not scroll line into view

Issue Type: Bug
Run a query that span more than one screen that has multiple GOes.
In the Messages pane you will see multiple

2:29:41 Started executing query at Line X

Click on one that is not currently in the view
Notice that it is highlighted but not scrolled into view. To see it you must manually scroll
Azure Data Studio version: azuredatastudio 1.9.0 (78a42e1d112ae3231777722b51eaf44f83ddbe55, 2019-07-10T04:31:36.998Z)
OS version: Windows_NT x64 10.0.17763

fixed by #6435


[Python3.8] SyntaxWarning

mpmath/ctx_mp_python.py:892: SyntaxWarning: "is" with a literal. Did you mean "=="?
mpmath/ctx_mp_python.py:986: SyntaxWarning: "is" with a literal. Did you mean "=="?

Can this be closed?  Automatic discovery of these can be achieved by: flake8 . --select=F632
These instances must have been fixed or they would appear in
https://travis-ci.org/fredrik-johansson/mpmath/jobs/617056073#L246


muscod problem for one step locomotion with talos

In GitLab by @proyan on Jan 21, 2019, 12:55
Create the CoM and forces trajectory.

In GitLab by @proyan on Jan 21, 2019, 13:13
changed due date to January 22, 2019

In GitLab by @proyan on Jan 21, 2019, 15:28
I am generating 5 phase motion: LR->L->LR->R->LR with step length of 0.4cm

In GitLab by @nmansard on Jan 21, 2019, 15:35
I believe this is the task you are working on, @rbudhira . Please confirm.

In GitLab by @proyan on Jan 21, 2019, 15:37
Yes. I'm generating the centroidal trajectories. The next task for today would be #64

In GitLab by @proyan on Jan 21, 2019, 20:57
This issue is done with recent commits in multibody_ddp (old ddp repository).

In GitLab by @proyan on Jan 21, 2019, 20:57
closed

In GitLab by @proyan on Jan 21, 2019, 21:30
mentioned in merge request !52

In GitLab by @proyan on Jan 21, 2019, 22:07
mentioned in merge request !54


Theme broken

Opened up Aliucord and it looked like this

this is not auracord just a new theme Vendetta


Board-specific overlays defined in a module's shield directory are not found

Describe the bug
This issue is similar to https://github.com/zephyrproject-rtos/zephyr/issues/67227 but has to do with board-specific overlays defined within a shield directory in a Zephyr module.
Zephyr allows board-specific overlays & Kconfig to be defined for a particular shield by adding a boards/ directory within the shield's directory, e.g. boards/shields/adafruit_neopixel_grid_bff/boards/:
boards/shields/adafruit_neopixel_grid_bff/boards/
├── adafruit_qt_py_rp2040.conf
└── adafruit_qt_py_rp2040.overlay

However, if a boards/shields/ directory is defined in a Zephyr module, the board-specific overlays within the shield's boards/ directory are not found:
<zephyr-workspace>/modules/lib/golioth-zephyr-boards/
├── boards
│   ├── ...
│   └── shields
│       └── arduino_uno_click
│           └── boards
│               ├── nrf9160dk_nrf9160.overlay <-- not found
│               ├── nrf9160dk_nrf9160_common.dtsi <-- not found
│               └── nrf9160dk_nrf9160_ns.overlay <-- not found
└── zephyr
    └── module.yml

To Reproduce
I have prepared two example branches in my Zephyr fork that can be used to reproduce this using a mikroe_weather_click shield installed on an arduino_uno_click shield installed on the nRF9160dk board.

After checking out each branch below, the firmware can be built using the following command:
west build -p -b nrf9160dk/nrf9160/ns samples/sensor/bme280 -- -DSHIELD="arduino_uno_click mikroe_weather_click"

Example where overlays are correctly found
The first branch places the board-specific overlays for the arduino_uno_click shield in the Zephyr tree where they are correctly found by the build system:
https://github.com/cgnd/zephyr/tree/cdwilson/github-issues/zephyr-in-tree-shield-board-overlays/boards/shields/arduino_uno_click/boards
In the build output, the following shield overlays are found:
...
-- Found devicetree overlay: <redacted>/zephyr/boards/shields/arduino_uno_click/arduino_uno_click.overlay
-- Found devicetree overlay: <redacted>/zephyr/boards/shields/arduino_uno_click/boards/nrf9160dk_nrf9160.overlay
-- Found devicetree overlay: <redacted>/zephyr/boards/shields/arduino_uno_click/boards/nrf9160dk_nrf9160_ns.overlay
-- Found devicetree overlay: <redacted>/zephyr/boards/shields/mikroe_weather_click/mikroe_weather_click.overlay
...

Example where overlays are NOT correctly found
The second branch pulls in a 3rd-party Zephyr module in west.yml that contains the exact same board-specific overlays for the arduino_uno_click shield, but located within the module's boards/shields directory:
https://github.com/cgnd/zephyr/blob/cdwilson/github-issues/zephyr-module-shield-board-overlays/west.yml#L32-L35
In the build output, the following shield overlays are found:
...
-- Found devicetree overlay: <redacted>/zephyr/boards/shields/arduino_uno_click/arduino_uno_click.overlay
-- Found devicetree overlay: <redacted>/zephyr/boards/shields/mikroe_weather_click/mikroe_weather_click.overlay
...

In this 2nd example, the boards/nrf9160dk_nrf9160*.overlay files defined in the module are not found.
Expected behavior
I expect that the shields/ directory of a Zephyr module are searched exactly like the shields/ directory in the Zephyr tree when searching for overlay files. In the example above, I expect that overlays in boards/shields/<shield>/boards/*.overlay are found during build.
Impact
Current workaround is to add the overlay code in the app-specific board overlay instead of in the Zephyr module.
Environment (please complete the following information):

OS: macOS 14.4.1
Toolchain Zephyr SDK: zephyr-sdk-0.16.5-1
Commit SHA or Version used: f643f3a6cf6bafd6338c090f4413e34eb3ed806c

Hello! I Let me jump in as I quickly glanced over this issue.
As far as I see your problem is specific to the case when you are trying to add board-specific overlays for a shield that already exists somewhere else.
You are adding shields/arduino_uno_click/boards/* for a shield that's defined in Zephyr (zephyr/boards/shields/arduino_uno_click).
It seems that the  shields.cmake  only allows adding overlays in the same place the board is defined (whether in-tree or in a Zephyr module).
The extension still correctly applies board-specific overlays for shields defined in a module (out-of-tree). What you are trying to do is somewhat different.
So the question really is whether the script should be able to find ANY boards/shields/arduino_uno_click (or any other shield for that matter) and apply all the overlays it finds so that you can edit existing shields.

As far as I see your problem is specific to the case when you are trying to add board-specific overlays for a shield that already exists somewhere else.

@MaroMetelski that's correct. In this specific case, I'm trying to apply a board-specific overlay to the arduino_uno_click shield that already exists in the Zephyr tree (eventually I'm hoping this overlay can be pulled into Zephyr via https://github.com/zephyrproject-rtos/zephyr/pull/71106). Instead of adding this same overlay code to the <board>.overlay in multiple apps, I attempted to put this in a module that could be reused (but found that it didn't work).

The requirement is that's the same place that the shield is defined (contains Kconfig.shield file). Not sure if that's actually a bug since what you are trying to do is somewhat different.
...
So the question really is whether the script should be able to find ANY boards/shields/arduino_uno_click (or any other shield for that matter) and apply all the overlays it finds so that you can edit existing shields.

Thanks for the clarification on this. If this is working as intended, then this may be more of a feature request than a bug. I think it's valuable to be able to modify the built-in boards/shields via overlay/Kconfigs defined in other places (like modules). I'm not familiar enough with how the build system works to know if there are any downsides of doing this though.

@tejlmand or @nordicjm , @57300 can you please take a look at this?

yes, this is more of a feature request, and a good one.
In many ways it is similar in nature to the wish of extending a board in HWMv2: https://github.com/zephyrproject-rtos/zephyr/issues/69548
Now, with the requested behavior, then one thing we need to carefully consider is the behavior of shields.
If we allow board overlays for a given existing shield to be defined out-side the location of the shield definition (that is in the module as proposed in thie case) then we can experience some very surprising behaviors.
For example building cmake -DBOARD=plank -DSHIELD=foo <sample> produces one result.
Now, if I then suddenly do a west config manifest.project-filter -- +bar_module, and that module extends with extra overlays for plank when using shield foo.
This suddenly makes it harder to predict which overlays will be picked up, as well as where to look for such knowledge (should I examine all Zephyr modules myself to avoid surprises).
Secondly, users cannot opt-out of those extra overlays, unless they disable the bar_module.
But bar_module could contain other features my project needs.
I will change this into a feature request for now, and create a more general shield enhancement meta issue, as there are a couple of more use-cases we would like to support, and where the transition to HWMv2 makes it possible.
(Shields has not changes in HWMv2, but shields could benefit from some of the work introduced there)

@tejlmand thanks for the insight on this.

then I could end with a completely different result.

FWIW, this is actually the result I'm looking to achieve with this feature request in this specific case, but I can see that there are cases where this would not be desired.

This suddenly makes it harder to predict which overlays will be picked up, as well as where to look for such knowledge (should I examine all Zephyr modules myself to avoid surprises).

I realized from your comment that this concern applies more generally to including any overlays in a module for boards/shields that are not defined in that same module (not just the specific use case I described in the original issue). i.e. I had not realized that it was not currently possible to include a <board>.overlay in a module if the <board> was defined elsewhere.
Here is what I'd like to be able to achieve at a high-level:

I want to be able to modify/extend an existing "in-tree" board definition
I want to be able to modify/extend an existing "in-tree" shield definition
I want to be able to modify/extend an existing "in-tree" board definition but ONLY when a specific shield is also applied (this was my original issue).
I want to be able to do all three of the above in a repo separate from my app repo (i.e. I want to be able to make the change in one place and pull that change into multiple apps via west.yml)

I'd like to add one little addition, I'm trying to use an ssd1306 shield with a board that doesn't have arduino_i2c nodes. I can add it easily enough in the zephyr provided board dts for the blackpill_f401ce but I'd rather not modify those. I have an overlay file in my workspace that I'm doing configuration with, so I thought I could add the arduino_i2c name or alias there. The problem is it seems the shield overlay is being processed before my board overlay, so it still complains about not finding that node. I'm not sure if your proposed change will help with this, but I'd like to:
modify an existing "in-tree" board definition to fill in the gaps required by a shield definition. I want to store this change in my app repo.

modify an existing "in-tree" board definition to fill in the gaps required by a shield definition. I want to store this change in my app repo.

@digiexchris take a look here: https://github.com/zephyrproject-rtos/zephyr/pull/72857
This PR will allow you to extend the blackpill_f401ce board in your own repo like this:
board:
  extend: blackpill_f401ce
  variants:
    - name: myvariant
      qualifier: stm32f401xe

and then in your custom blackpill_f401ce_stm32f401xe_myvariant.dts file add the extra devicetree nodes you require.
Then when building, instead of doing west build -b blackpill_f401ce/stm32f401xe <sample> -- -DSHIELD=ssd1306_128x64 you can now do:
west build -b blackpill_f401ce/stm32f401xe/myvariant <sample> -- -DSHIELD=ssd1306_128x64

or the short form:
west build -b blackpill_f401ce//myvariant <sample> -- -DSHIELD=ssd1306_128x64

Here is what I'd like to be able to achieve at a high-level:

I want to be able to modify/extend an existing "in-tree" board definition

and this is covered by #72857.
Please take a look and provide feedback.

I want to be able to modify/extend an existing "in-tree" shield definition

Yes, and with the new hardware model in place, then at some point we should consider if the new principle used by boards should be expanded to cover shields.
But we have quite a few identified enhancements already: https://github.com/zephyrproject-rtos/zephyr/issues/69546
But feel free to open an enhancement issue to have HWMv2  also covering shields.
It sounds like a good candidate for future work and having the new hardware model cover shields makes a lot of sense.

I want to be able to modify/extend an existing "in-tree" board definition but ONLY when a specific shield is also applied (this was my original issue).

and this is why a shield can define board overlays, so that the board devicetree is adjusted when using the given shield.
But I understand that the board overlay provided with the shield itself, does not cover your use-case.

does that solve the problem with the shield dts being processed before my project overlay resulting in the new nodes not being found? Sounds like it would since it would effectively act the same as a custom board

@digiexchris it would, because your extended board variant will define the nodes before the shield overlay is applied.

thanks! this solves a lot of problems (unrelated to this too)!

@cdwilson could you confirm that https://github.com/zephyrproject-rtos/zephyr/pull/72857 solves the issue described here?

@cdwilson getting back to this issue.
I came to notice that you're actually creating overlay files for the nrf9160dk to allow that devkit to work with the uno click shield.
The Zephyr in-tree uno click implementation has no overlay's foir the nRF9160dk: https://github.com/zephyrproject-rtos/zephyr/tree/main/boards/shields/arduino_uno_click
So why are you not contributing your overlay files for the nRF9160dk to the Zephyr repository ?
I'm quite sure that having in-tree support for uno click on the nRF9160dk will be valuable to other users.

@cdwilson could you confirm that #72857 solves the issue described here?

@carlescufi sorry for the delay in response, I'm still trying to digest https://github.com/zephyrproject-rtos/zephyr/pull/72857 and understand how I would accomplish this using extensions.
I think what you are suggesting is that by using extensions, I can define a new board variant which extends nrf9160dk/nrf9160 by including the content of my nrf9160dk_nrf9160_common.dtsi, something like this:
board:
  extend: nrf9160dk
  variants:
    - name: arduino_uno_click
      qualifier: nrf9160

However, in this specific example, I'm building for nrf9160dk/nrf9160/ns which (as I understand it) is already using the ns board variant.
It's not clear to me how I would specify both my arduino_uno_click extension variant and the built-in ns variant in the same west build command. e.g.
west build -p -b nrf9160dk/nrf9160/<WHAT GOES HERE???> samples/sensor/bme280 -- -DSHIELD="arduino_uno_click mikroe_weather_click"

Could you explain a bit further what this might look like using board extensions?

So why are you not contributing your overlay files for the nRF9160dk to the Zephyr repository ?

@tejlmand I opened this PR about 2mo ago with this exact overlay, but it's still waiting for a review. Actually, the reason why I originally opened this issue is because I wanted the ability to distribute this overlay in one of our Zephyr modules as a stopgap. I assumed it will take a couple months to get this PR reviewed & merged into the official Zephyr repo, then wait for those changes to get picked up into a new NCS release, then wait for that NCS release to get picked up into a new golioth-firmware-sdk release before it actually becomes available for me to use in an app... 🫠
Btw, not trying to throw shade on anybody for the delay! I really appreciate all the work from maintainers to review PRs, I just know these things take some time to upstream. In general, I'd like to have a workflow where I can extend "in tree" boards/shields via a Zephyr module where I can make changes available immediately to my app(s), and then upstream those changes in parallel (if they are relevant to the broader Zephyr community).

@tejlmand I opened this PR about 2mo ago with this exact overlay, but it's still waiting for a review. Actually, the reason why I originally opened this issue is because I wanted the ability to distribute this overlay in one of our Zephyr modules as a stopgap. I assumed it will take a couple months to get this PR reviewed & merged into the official Zephyr repo, then wait for those changes to get picked up into a new NCS release, then wait for that NCS release to get picked up into a new golioth-firmware-sdk release before it actually becomes available for me to use in an app... 🫠

Sorry about that, this PR fell through the cracks. @erwango has reviewed it now, so please do address his review comments.

Sorry about that, this PR fell through the cracks. @erwango has reviewed it now, so please do address his review comments.

No worries, thanks to you both for helping to get this merged!
@carlescufi I also wanted to follow up on my previous question about how to extend ns board variants with the new extensions PR (I assume that in general people will want to use extensions with ns variants of boards, and was just curious how y'all envisioned this working with extensions)


Question

Can You Make It A Bookmarklet? I use a Chromebook and it only supports bookmarklets.

I already did, but, you can open the developer console (on Chromebook too btw) with CTRL + Shift + I.

Bookmarklets are extremely trivial to make, however, and I think you should make your own. (It is literally just a javascript uri)


Update script to fix travis build error

travis-build.sh is already removed. So, the chmod command was causing problem. Removed that command from script.
cc @aleffert @shahidtamboli

:+1:


Make PEX_PATH unify pex sources, as well as requirements.

Addresses https://github.com/pantsbuild/pex/issues/317


21638 Don't save authorization object if it's null/undefined

Issue #: bcgov/entity#21638
Description of changes:

app version = 5.10.23
don't save authorization object if it's null/undefined

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

/gcbrun

Now saves and reloads correctly:

Temporary Url for review: https://business-create-dev--pr-704-fpvh1ciy.web.app


proposal: config module

@iuioiua, this is the followup to https://github.com/denoland/fresh/pull/2266#discussion_r1501230633.
I propose we introduce a type for the deno.json schema. I have a generator like this:
import configSchema from "https://raw.githubusercontent.com/denoland/deno/v1.41.0/cli/schemas/config-file.v1.json" with {
  type: "json",
};
import { compile, JSONSchema } from<EMAIL_ADDRESS>
const result = await compile(configSchema as JSONSchema, "DenoConfig");
await Deno.writeTextFileSync("./config/configType.ts", result);

Maybe this type already exists, but I couldn't find it.
Additionally, there should be a suite of utilities for interacting with this configuration file. I propose two functions to start with:

readConfig -- This should read a path and parse the config file, handling a few things:
a. Look for both deno.json and deno.jsonc files.
b. Possibly look in parent directories, mimicking whatever the cli does in order to find the governing file.
importMap -- Return  the relevant imports as Record<string, string>. This should handle both inline imports and also importMap.

I should also mention that I have this implemented with 100% test coverage. (I'm aware that coverage isn't the end-all be-all, but it's better than having 0% coverage.) Let me know if I should open a PR for this.

I think the cleanest way to do this is to add a Config (or similar) interface to a std/deno module and keep it in sync with the runtime. We can then leave it up to the developers to read the file and use the interface as necessary. This would make use of deno.json available to all runtimes.

@iuioiua I agree with you here, but wouldn't it make more sense to add such a type to the global Deno namespace?

That would mean only Deno programs have access to it. Having it in the Standard Library allows its use in other runtimes.

@iuioiua this seems like outsourcing to me. Correct me if I'm wrong, but I don't think the type definition is relevant outside of Deno, at least not that I can think of a valid use case for it.
2 more reasons to keep it in the same codebase as the runtime itself:

the runtime parses it & already provides auto-completion/a json schema for it
that way it's kept in sync with the runtime and you don't suddenly end up with a type declaration that is different from what the runtime can understand/parse

On second thought, yes, maybe having this in the runtime is better. Closing in favor of https://github.com/denoland/deno/issues/24628.


How to remove header

I'm integrating the filegator to a wordpress project, I need to remove the header where it shows the username and the exit button, but I couldn't find which file it is in.
Can you help?

See https://github.com/filegator/filegator/issues/378 and https://github.com/filegator/filegator/issues/85


add sibbay health token

add sibbay health token
suggested  gas limited 110000

Please provide more detailed information about the project, to smoothen and speed up the screening process.
To speed up the screening process, please provide detail information about the project, media coverage (if any), and the following information to help imToken team better understand your project.
Team background:
Project current status:
Media coverage:
Recommended gas limit for users (default is 60,000):
PR example: https://github.com/consenlabs/token-profile/pull/1636


Create an Event Calculus Library

This would likely require implementing at least minimal HOL features, first, Issue #95. In order to implement the library IN Blawx, as opposed to in Flora-2 in the background, it would also probably be necessary to implement constraints, Issue #58.
Once that's done, it ought to be possible to create a library and a set of blocks that allow users to specify events, fluents, initiations, etc., and get some planning capabilities, and perhaps some abduction capabilities.

HOL is not a prereq. We can use references to statements and reduce them to FOL in the sCASP code as was done with defeasibility.
There are issues with numerical constraints that would need to be solved to make this realistic. It is also not clear if the current date library is sufficient, or if we need to extend it to make timestamps easier to deal with.

Problems with numerical constraints have been resolved in 1.5.3, but we would need to figure out what to do about #472 first, because we might want to re-write the date library using that operator instead of is/2. That is on top of whether we have enough access to timestamps in the code editor to be able to make EC work.

Currently, I have code that will generate posix timestamps, but if I try to use the posix time stamps in a rule rather than just providing the numbers directly, the calculations freeze. The freeze seems to be happening at not blawx_stopped_in(), which is happening because the translation to posix was happening last, and becoming the last check in the negated version of a rule. So it's a clause-order thing that's being caused in part because the user needs to specify the translation from datetime to posix.
Perhaps there is a way that I could wrap datetime predicates around timestamp predicates in the library.

So i don't think it's clause-order, i think that the datetime to timestamp transition is non-terminating in dual form. Still working on a work-around for that.

OK, I have a working proof of concept at https://swish.swi-prolog.org/p/new ec.pl. Basically, we need a pre-processing step that will find all statements that can be derived for becomes(X,datetime(...)). We examine the reasons for the answers to see where the datetime comes from, and then generate rules of the form:
predicate(X,123456) :- predicate(X,datetime(...)), calculating the timestamp and using the ground datetime.  Then run the query and it will work, and we just need to figure out how to display the results properly.

I have something that seems to be working in the code editor and the reasoner, but the answers need to be displayed better, and we need to be consistent about posix/day counting time, and things.

The current method has a problem, where if the code cyclically generates dates, the pre-processing step will never terminate. For instance, if birthday(date) :- birthday(bd), date is bd + 1 year.. I don't think that's super-common, but it's a problem with the current method. Some of the workarounds I've looked into include pre-processing the date to timestamp translation, so that we don't need the pre-processing step. And while that does even out the processing time between going datetime to ts and vice versa, both of them are extremely slow inside s(CASP). Joquin has suggested an approach using the cut operator, but that isn't implemented in SWI-Prolog, and he's not even sure if it would work in Ciao. I can't test it in Ciao, because my code uses logically negated parameters, and Ciao doesn't support them, it seems.
So there are two open paths. One is that Joaquin demonstrates a method that works with the cut operator, and SWI-Prolog can be persuaded to add the cut operator to their version of sCASP. Or, we get SWI-Prolog to implement a change to the s(CASP) library such that we are able to manually specify the dual program for certain predicates instead of it being generated automatically. Then the task of making sure that the dual is actually accurate in addition to efficient would fall on me. But it seems like a realistic approach. So I'm going to wait on hearing back from J about the cut method, and if that doesn't seem like a realistic solution I'll start making feature requests.
In the meantime, what I need to do to get this issue finished is to fix the way everything is displayed in explanations.

I tried pre-processing, and then decided it wasn't sufficient. I re-implemented dates using numerical constraints, then re-implemented ec using the new dates system, and upgraded the scenario editor to display the results better. Currently working on chasing down a few display issues in scenario editor and test editor, and a couple of reasoning issues where answers are strange or duplicated.

Done in 1.6.0


use the github master as the default image

Signed-off-by: Chuck Ha<EMAIL_ADDRESS>What this PR does / why we need it:
This PR uses the default image of capd to be the default GitHub latest image built off HEAD. we should change this to a release version when we release a version.
NONE

/hold
the packages seem to require basic auth to pull

GitHub packages require docker/cri login to their service before even pull. Unacceptable.


[Feature request]: Add support for new private channels

General Info

[X] I installed the latest version of Supabase Kt
[X] I checked for similar feature requests

Feature request
Supabase has a new feature which allows creating private channels to use the broadcast and presence features within RLS policies. See https://github.com/orgs/supabase/discussions/22484.
Usecase
No response

Implemented in: https://github.com/supabase-community/supabase-kt/pull/642


[unsafe-fields] Add as_ref_checked

Release 0.2.0.
Makes progress on #1931

This PR is on branch unsafe-fields-zerocopy.

#1960

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.46%. Comparing base (f51d666) to head (f1391d2).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1960   +/-   ##
=======================================
  Coverage   89.46%   89.46%
=======================================
  Files          16       16
  Lines        5838     5838
=======================================
  Hits         5223     5223
  Misses        615      615

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Provisioning tools add-in updates from recent usage

Updated to support right click deploy for multiple files instead of one at a time.
Updated to include better support for async operations.
Updated to cache sp clientcontext during deployment in order to reduce unnecessary login attempts with different templates.
Performance enhancements to consolidate deployment templates when multiple files are deployed from the same template.
Misc cleanup, refactoring, and bug fixes.

thx Michael, looks great.


Porting Data example: Integers and Floats

Hi,
During the Global Sprint, I plan to start by porting this Data example from the Processing examples page.

closed with https://github.com/processing/p5.js-website/pull/198 😄


No status field for service instance

Bug Report
What happened:
We have a k8s cluster with service catalog extension and our own service broker. This cluster  has been running for about 3 months without restarting catalog pods and the last request to broker was done 3 months ago. Recently we have tried to create again the service instance (another k8s cluster), but new instance showed no status:
~$ kubectl get serviceinstances
NAME                  CLASS                                            PLAN                                   STATUS   AGE
test              ClusterServiceClass/xxx                            xxx                                      Ready    116d
test-new      ClusterServiceClass/xxx                             xxx                                                     6d

Such behavior crashed our GUI since catalog returned no status. All new requests end up with no status.
What you expected to happen:
Status field is expected to be filled as a normal behavior.
How to reproduce it (as minimally and precisely as possible):
Basically nothing was done with catalog. It was running for a long time without interacting with it.
Anything else we need to know?:
It seems to be a bug. Logs from pods showed that during new request from GUI service broker received no requests for a new instance and contoller-manager sent no requests to broker. The catalog is left running as it is.
Environment:

Kubernetes version (use kubectl version):
Server side v1.13.7
service-catalog version:
0.1.43
Cloud provider or hardware configuration:
Configuration on openstack. Openstack is on physical machines.
Do you have api aggregation enabled?
Yes

Do you see the configmap in kube-system?
Yes
Does it have all the necessary fields?

kubectl get cm -n kube-system extension-apiserver-authentication -o yaml and look for requestheader-XXX fields
All fields are filled

Install tools:

Did you use helm? What were the helm arguments? Did you --set any extra values?
Yes - via helm with:
--set apiserver.storage.etcd.persistence.enabled=false

Are you trying to use ALPHA features? Did you enable them?
No

I can't really say what caused this problem without more information. What are you using as the backing store for your Service Catalog? Can you verify if the request made it through the Service Catalog apiserver to the backing store?

Can't say for sure what went wrong without more info. Are you sure everything from your request is making it through the apiserver to the backing store? Have you looked through the logs of the Service Catalog controllers to see if they crashed or something? What happens if you restart the controller manager pods manually?

Hello. It seems controller ran out of memory, rebooted itself and catalog was restored without intervention. So I believe if I rebooted it manually - i would restore...


Kombu transport

Add https://github.com/celery/kombu transport.
unit tests against latest django 1.11, 2.2 and 3.1 on travis
execute integration tests on travis
execute backward compatibility tests on travis

Awesome job.


cilium mesh etcd old

Is there an existing issue for this?

[X] I have searched the existing issues

Version
equal or higher than v1.16.0 and lower than v1.17.0
What happened?
A bug happened!
etcd-client","caller":"v3/retry_interceptor.go:63","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0007b2000/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = InvalidArgument desc = etcdserver: revision of auth store is old"
How can we reproduce the issue?
Install latest 1.16.1, and i see this in the logs
Cilium Version
1.16.1
Kernel Version
5.14.0-284.30.1.el9_2.x86_64
Kubernetes Version
1.28.1
Regression
No response
Sysdump
unfortunately I can't
Relevant log output
No response
Anything else?
Is the etcd container inside clustermesh api server too old?
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @cccsss01, thanks for opening this issue, which appears to be related to problems with the clustermesh etcd server.
Unfortunately, without access to at least the etcd server logs from as many nodes as possible, it won't be possible for anyone to troubleshoot this issue. I suggest seeing if you can grab those logs at least and add them to this issue.

I figured this one out, i'll great a pr for clustermesh trouble shooting.


BUG: /ob/purchase asks for way too many satoshis

This is the specific way this bug occurred. Here is the listing:
{
  "contract": {
    "vendorListings": [
      {
        "slug": "facebook",
        "vendorID": {
          "guid": "QmeRr7eJh3GYioe6mQm3oDb5H46maxkCbink4hygCPFyHR",
          "blockchainID": "@drwasho",
          "pubkeys": {
            "guid": "CAESIJnxpl+DADtM6ZavEbJh2CspWN8qUUZqiY5GbfswzuLn",
            "bitcoin": "A7DxQySvvKAtTWDaFK3TULFfYzZ8nKDYWTLy3cEw5fPw"
          },
          "bitcoinSig": "MEQCIEMy+70wfGYwxAqZuMOFk+LLZi0YEbypni6C+gyWsE6fAiBnkorAp/+sYjZD6fHo7VRlbNLmKhQfM/B937RLom7Nzw=="
        },
        "metadata": {
          "version": 1,
          "contractType": "PHYSICAL_GOOD",
          "format": "FIXED_PRICE",
          "expiry": "2037-12-31T05:00:00.000Z",
          "acceptedCurrency": "tbtc",
          "pricingCurrency": "BTC"
        },
        "item": {
          "title": "Facebook",
          "description": "Book of faces",
          "price": 100000000,
          "tags": [],
          "images": [
            {
              "filename": "250165013",
              "original": "QmXzQ6K87r1EUrMzfCbqJsWx5TD55A6M2TxXdj63askYfR",
              "large": "QmdiCRTVaTUzoYAA8LH2L9cDU9k7KMbQ9TReaQ7b2uoG9q",
              "medium": "QmPTM8gRC1pRxhbAJFFrwonWGE84qedcUfkgFLq51fQY4e",
              "small": "QmZTKtcopzJsya4gzR7cAZpg9pJgcVFsiEyiHz2nR4GvBj",
              "tiny": "QmccudX5VWVEVBSWh7yW8M3BPLkHfctJW1Vz9UWHb6UycT"
            }
          ],
          "categories": [
            "🔌 Electronics"
          ],
          "options": []
        },
        "shippingOptions": [
          {
            "name": "Worldwide",
            "type": "FIXED_PRICE",
            "regions": [
              "ALL"
            ],
            "services": [
              {
                "name": "Standard",
                "price": 100000000,
                "estimatedDelivery": "3 days"
              }
            ]
          }
        ],
        "taxes": [],
        "coupons": [],
        "moderators": [],
        "termsAndConditions": "...",
        "refundPolicy": "..."
      }
    ],
    "signatures": [
      {
        "section": "LISTING",
        "signatureBytes": "8b8eq50F1J6EiJtiW7rKlnezMf/qsdv69Gw734HyF8ASb7nwiPIhJTme4Eg6oJYRRf2tVo3+3wyCgiMS12MOCw=="
      }
    ]
  }
}

Here is the body of the POST /ob/purchase call:
{
  "shipTo": "Dr Washington Sanchez",
  "address": "1060 W Addison",
  "state": "Illinois",
  "country": "UNITED_STATES",
  "postalCode": "60613",
  "addressNotes": "Leave at reception",
  "items": [{
    "listingHash": "Qmb6FJ2ftmaJ5T5r3FzuipdnMTz4Vd1Rk2QYNtvpHjGDLU",
    "quantity": 1,
    "options": [],
    "shipping": {
      "name": "Worldwide",
      "service": "Standard"
    },
    "memo": "thanks!",
    "coupons": [""]
  }]
}

And this was the response:
{
  "paymentAddress": "2NGAQeAbnnULRKABGycJmr2F4uJVpcFtoUf",
  "amount":<PHONE_NUMBER>20202,
  "vendorOnline": false,
  "orderId": "QmR1nfSxUxALN2os7gxDKjj8sfF7AF2Fn7Z84PFJ78qwqf"
}

So far I haven't encountered any problems with the listing was priced in fiat.

I think the source of the issue is likely (*OpenBazaarNode) CalculateOrderTotal which extensively works between ints/uints and does some math without bound checking. E.g.
lowestPrice := int64(-1)
for _, v := range combinedOptions {
	if int64(v.price) < lowestPrice || lowestPrice == -1 {
		lowestPrice = int64(v.price)
	}
}
shippingTotal += uint64(lowestPrice)
for _, o := range combinedOptions {
	modifier := o.modifier
	modifier *= (uint64(o.quantity) - 1)
	if o.add {
		shippingTotal += modifier
	} else {
		shippingTotal -= modifier
	}
}

That contains multiple areas to get into trouble. E.g. lowestPrice is instantiated to -1 and uint(-1) equals<PHONE_NUMBER>.
We need to

Rewrite this function to be much more careful about int typing and bounds checking
Reduce inputs to a minimum
Leverage #2 to write a very large, encompassing, set of tests against this single function. Eventually we can even fuzz test it for maximum reliability.

Sounds like this is a fairly high-priority todo. I've added it to the next sprint.

@jjeffryes In Slack @cpacia mentioned that this appears to be fixed in the variants PR. I'll check again after it gets merged.

Fixed


Add an option to control sleep interval between calls to read_poll

The default is as before: 0.1 s sleep between calls to read_poll. A value of 0.0 skips sleeping altogether. This is possibly useful if events are being lost - a lower sleep may result in fewer events being lost.

I think being able to control the sleep is a good idea but could we go further and have a simple control loop that tunes it adaptively?

I'm not familiar with adaptive tuning, but I assume it is something like:

Check the number of events read from the most recent poll (n, say)
With two bounds (hi and lo): If n>= hi, assume the rate of production is high, and don't sleep (ie sleep for 0s); if n<= lo, sleep for 0.1s, say; if lo < n < hi, sleep proportionately between 0 and 0.1s

Something like this?

Yes. Another way to think about it is that we're aiming to sleep for some amount of time that means we expect to read N events when we do poll.
If we poll and we read fewer than N events then increase our interval (up to hi), if we read fewer then decrease (down to lo).

Some sample code. There's lots of possible choices here. I've guessed at what might be good choices. What do you think?
let clamp lo hi (x:float) =
  match () with
  | _ when x < lo -> lo
  | _ when x > hi -> hi
  | _ -> x

let next_sleep_dur ~n_target ~lo_dur ~hi_dur () =
  assert(lo_dur < hi_dur);
  (* delta is the amount we increment or decrement the duration; currently 10% of the
     target range *)
  let delta = (hi_dur -. lo_dur) *. 0.1 in
  fun current_sleep_dur n_read ->
    if n_read > n_target then
      (* we want to decrease sleep duration if possible; we are worried about losing events
         so we immediately drop to the lowest possible duration *)
      lo_dur
    else if n_read < 0.5 *. n_target then
      (* if we are reading substantially less events than our target, gradually increase
         sleep, clamped between lo_dur and hi_dur *)
      clamp lo_dur hi_dur (current_sleep_dur +. delta)
    else current_sleep_dur

That looks like it could work. Have you tested it on a couple of examples?


Updated color palette and added limits for ethnicity.

Courtney mentioned that the limit changed for the ethnicity plots when you clicked on certain filters, so I added the 'limits' parameter to the ethnicity plot. One question that raises is that of repeated colors: because there are so many categories for ethnicity, a couple colors are repeated, and I had to add a couple colors that were not part of the original colorblind friendly palette.

Cool, thanks @jwinternheimer! Merged this in now. The colorblind friendly palette seems a little tricky with lots of categories. I think perhaps the best way to partially solve the problem would be to have interactivity in our next iteration?


Apply history differently

Issue

It does not currently seem to be possible to restore a historyStack when trying to load a saved editorState.
The reason is that the undo and redo functions in the history package try to apply each editorState in the historyStack to the instance that produced it. This "historical" instance was saved to the historyStack, along with the editorState we care about, via the registerHistory function.
More info from Discord.

Reason

I ran into this problem while attempting to pass Lexical editors around my UI (outside LexicalContext).

I achieve this by:
a.  Saving the editorState and historyStack of the current editor,
b. Unmounting the current Lexical editor,
c. Mounting a new Lexical editor, and
d. Passing the saved editorState and historyStack into it as initial config.

While the editorState worked as expected, I was not able to undo/redo through the preexisting historyStack entries.

Analysis

The problem here is that the new Lexical editor does not match the editor instances that are found in each of the historyStack's preexisting entries.

You can see the mismatch by comparing the new instance's .__key to the .__key property on the instances found in the preexisting historyStack.
This seems to mean that Lexical is running the undo and redo functions on a now non-existent editor.

Conclusion

The preexisting historyStack will work with the new editor instance by modifying the undo and redo functions to apply the preexisting editorState to the current editor instance. It's passed into each function as an argument.

In fact, this "active" editor instance is currently used to dispatch the "canUndo" and "canRedo" commands.

This pull request makes this change. The test suite seems to pass. The e2e tests seem to pass to the same degree as they currently do on the main branch.

I also:
a. Added an explanatory comment to each function, and
b. Changed a .length test for more consistency between the two functions
I signed the contributor agreement yesterday.

I'm currently addressing this via patch-package, but would love to see the change migrate upstream.

Please let me know if I've misunderstood something or how I can further help.

Thanks so much for the time. -j

@fantactuka did you have thoughts you wanted to add here?

Main concern from discord discussion:
Editor in history stack was added for nested editors (e.g., image's caption or sticky notes in the playground). History stack does not store whole editor state when nested one is updated, instead it only persists that nested editor data, and during undo/redo needs correct editor instance to apply that state

I hear you. This sounds like an absolute bar to merging this pull request as is — correct?
My concern is this:
There seem to be at least two use cases for the historyStack:
(a) Restoring a set of editor instances that haven't unmounted, and
(b) Restoring a set of editor instances that have mounted.
Right now, (a) has been solved, but (b) hasn't.
I tend to think restoring a historyStack is as reasonable as handling nested editors, but you may see this as an edge case?
Nested editors do seem complicated — I absolutely haven't understood them until @fantactuka's example above.
To work within the confines of the history package, I guess you'd have to apply the old editorStates to the newly generated instances? That'd mean crawling down the editor tree and matching the old state up with the new instance that should represent it. Maybe you could use some sort of editor-instance dictionary on the historyStack when Lexical mounts?
I'm not sure.
Do you, @acywatson, or anyone have any thoughts. Orphaning history doesn't seem right to me. I'd try to apply an instance stored on context to a newly mounted editor, but I think the initialConfig says passing a full editor instance is deprecated?
I'm going to have to do something on my end — stick with the patch or try something else.
If you've thoughts in terms of where I might take this pull request, I can give it a whirl.
Thanks again for the continued interest.
-j

I hear you. This sounds like an absolute bar to merging this pull request as is — correct?
My concern is this:
There seem to be at least two use cases for the historyStack:
(a) Restoring a set of editor instances that are mounted, and (b) Restoring a set of editor instances that are unmounted.
Right now, (a) has been solved, but (b) hasn't. (I think?)
I tend to think restoring an old historyStack is important, but you may see this as an edge case?
Nested editors do seem complicated — I absolutely haven't understood them until @fantactuka's example above.
To work with the history package, I guess I'd have to apply the old editorStates to the newly generated instances? That'd mean crawling down the editor tree and matching the old state to the new instance that represents it? Maybe I could use some sort of editor-instance dictionary on the historyStack when Lexical mounts?
I'm not sure.
Do you, @acywatson, or anyone have any thoughts?
I'm going to have to do something on my end — stick with the patch or try something else. (I'd try to apply an instance stored on state to a newly mounted editor, but I think the initialConfig says passing a full editor instance is deprecated?)
If you've thoughts in terms of where I might take this pull request, I can give it a whirl.
Thanks again for the continued interest.
-j

I wonder if Editors could have serializable stable identifiers that could then be used to associate history state entries to the correct editor on undo/redo.
I guess the fundamental use case here is just initializing editor with a saved state that also has a history. If I'm understanding correctly, this would fail in any case where you try to pass an initialHistory into a different editor than it was generated in. I guess it's simpler without nested editors, because you could just go go through the historyStack and change all the editor references to point to the new one.

Hey @acywatson. Sorry for the delay, I got busy with a separate set of Remix-related issues.
Some background explanation: My Lexical editor instances can be dragged and dropped around the page. Each drop places the Lexical editor into a sibling div. Thus it unmounts and remounts. This is a good interface and a fair structure. But, preserving the Lexical history is the fly in the ointment.
Now, your comments:
I think your suggestion sounds accurate. You have a more sophisticated understanding of this than I do, but some kind of stable and serializable ID on an editor instance sounds like a good way to sync old history with the new editor instances.
But, doesn't the editor instance have a __key property?
Why do you think this key isn't stable and serializable over time? I'm probably missing something?
I can see my current patch is a problem. This PR will have to be closed, unless I can contribute something better.
In theory, I'd like to be able to do this:

Build an object — a map of history — by looping through the parsed json of the "saved" instances. The "old" key from each instance will become a key on this object map.
Each of these keys will then receive the new "new" editor's key as a value, as soon as it can be identified, at least.
(The problem, of course, is that I'm not entirely sure how to link the two, i.e., match the new key to the old key. I haven't tried to loop through old editor state on mount, though, so maybe something will be obvious when I do...?)

Anyway, this might let me do what you suggest, update the history to work with the new instances?
Am I right about that, or does this sequence sound insufficient to you, generally speaking?
The main alternative in my mind is React.Context.
There's an existing issue on Github with Genei that discusses how to use React.Context to manage many editor instances. If the editor instances stay in state, then maybe the history stack will just keep working because the editor instances won't be lost when the component that "shows" the Lexical editor unmounts?
Any thoughts are appreciated... I'll mess with this, so will at least close the loop when I figure something out should others pass this way in the future.   -j


[ISSUE #6673]Issue template enhancements

Which Issue(s) This PR Fixes

Fixes #6673
Brief Description

How Did You Test This Change?

Codecov Report

Merging #6674 (c88b5cf) into develop (bcbb25f) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #6674      +/-   ##
=============================================
- Coverage      43.03%   43.00%   -0.03%
+ Complexity      9018     9009       -9
=============================================
  Files           1109     1109
  Lines          78579    78579
  Branches       10224    10224
=============================================
- Hits           33813    33791      -22
- Misses         40541    40558      +17
- Partials        4225     4230       +5

see 18 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@aaron-ai I will fix it and resubmit again.