Framework as package

Pull Request Description
What issue does this change request address?
#1764
Closes #42
What are the significant changes in functionality due to this change request?
This changes framework to a package.  This allows creating a pip package that just has a framework directory in the root directory, instead of multiple directories and files.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Job Test qsubs sawtooth on c104753 : invalidated by @joshua-cogliati-inl
Failed tests/cluster_tests/InternalParallel/test_hybrid_model_code

Job Mingw Test on c104753 : invalidated by @joshua-cogliati-inl
failed in Set Python Environment

Job Test qsubs sawtooth on a3f36b8 : invalidated by @joshua-cogliati-inl
Timeout failures.

Job Test qsubs sawtooth on 366ae3b : invalidated by @joshua-cogliati-inl
Failed tests/cluster_tests/InternalParallel/test_hybrid_model_code

Suggested email:
In order to make a raven pip package, RAVEN's code needs to be inside a single package.  This requires changing all the imports, since now they are inside ravenframework, instead of just at the top level.  In addition, the directory framework has been renamed to ravenframework.
This will require changes in three things.

Any imports of things that used to be in framework, now need to have ravenframework explicitly mentioned.
Direct use of Driver.py can no longer be done, since the imports will not be setup correctly.  Use raven_framework.py instead.
Pickle files have the package information embedded inside, so they will need to be regenerated.

The following are example modifications for framework as a package in the source code.
Relative (use . if in ravenframework/, .. if in ravenframework/someDir/, ... if in ravenframework/someDir/anotherDir/ and so forth.
Example for something that is in a directory inside of ravenframework:
Original:
import Files
New:
from .. import Files
Original:
from utils import mathUtils
New:
from ..utils import mathUtils
Original:
import utils.TreeStructure
New:
from ..utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ..utils import TreeStructure as TS
Ravenframework imports:
Original:
import Files
New:
from ravenframework import Files
Original:
from utils import mathUtils
New:
from ravenframework.utils import mathUtils
Original:
import utils.TreeStructure
New:
from ravenframework.utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ravenframework.utils import TreeStructure as TS
Importlib (Example from ravenframework/Models/Code.py )
Original:
importlib.import_module("CodeInterfaces")
New:
importlib.import_module("..CodeInterfaces", "ravenframework.Models")
(Note the second parameter package anchor for finding relative packages.)
Driver.py can no longer be used from the python executable.
Original:
python framework/Driver.py "${ARGS[@]}"
New:
python raven_framework.py "${ARGS[@]}"
or
raven_framework "${ARGS[@]}"

Before this is merged, we should send an email warning people about the upcoming change.

I see there's a TEAL update in there; that's intentional? Just checking for completeness.

I think this PR will need @wangcj05 control board approval.

I don't think these changes will impact users beyond the email Joshua prepared. However, I think this significantly impacts our approaches as developers, so I wonder if a Monday or Wednesday meeting should cover what the impact of these changes are on:

Installing RAVEN (and plugins)

Installation via pip
Installing and running tests (separate?)

Pathing within RAVEN (and plugins)

? Anything else I missed

Installing RAVEN (and plugins)
1. Installation via pip

2. Installing and running tests (separate?)

At the moment, the install is still the same.  I am continuing to work on making a pip package work at: https://github.com/joshua-cogliati-inl/raven/tree/package_testing

I agree with @PaulTalbot-INL, I think next Monday is good for the discussion. @joshua-cogliati-inl Can you prepare some slides for next Monday discussion?

Okay, I can make some slides for next Monday's discussion.
P.S. I will look thru the manual for imports and use of Driver.

I updated the user manual fixing places that used import and Driver.py.

Job Test qsubs sawtooth on 6d79372 : invalidated by @joshua-cogliati-inl
Timeout tests/framework/CodeInterfaceTests/RAVEN/Code        Timeout tests/framework/CodeInterfaceTests/RAVEN/ROM        Timeout tests/framework/CodeInterfaceTests/RAVEN/ReturnDatabase        Diff tests/cluster_tests/RavenRunsRaven/Code        Diff tests/cluster_tests/test_mpiqsub_parameters        Diff tests/cluster_tests/AdaptiveSobol/test_parallel_adaptive_sobol

Job Test qsubs falcon on 6d79372 : invalidated by @joshua-cogliati-inl
Timeout tests/framework/CodeInterfaceTests/RAVEN/Code        Timeout tests/framework/CodeInterfaceTests/RAVEN/ROM        Timeout tests/framework/CodeInterfaceTests/RAVEN/ReturnDatabase        Diff tests/cluster_tests/RavenRunsRaven/Code        Diff tests/cluster_tests/test_mpiqsub_parameters        Diff tests/cluster_tests/AdaptiveSobol/test_parallel_adaptive_sobol

PR is good and checklist is satisfied.

@joshua-cogliati-inl Could you send out an email to the users and plugin developers (LOGOS, TEAL, HERON, FARM, etc.)?

Wonderful! Thanks a lot.
Congjian

From: Haoyu Wang @.>
Sent: Thursday, May 12, 2022 12:12 PM
To: idaholab/raven @.>
Cc: Congjian Wang @.>; State change @.>
Subject: [EXTERNAL] Re: [idaholab/raven] Framework as package (PR #1784)
Hello Congjian,
Thank you for letting me know.
I can fix it. Paul gave me the instructions on how to update the submodule
versions a moment ago. I will get it done no later than next Monday.
Thanks,
Haoyu
On Thu, May 12, 2022 at 1:09 PM Congjian Wang - INL <
@.***> wrote:

Hi @wanghy-anl https://github.com/wanghy-anl, this PR causes the
failure of FARM on RAVEN regression test machines. Basically, we changed
the way to import raven modules. Do you have plan to update the module
import in FARM? The following is the suggestion how to change the import
from Josh:
Suggested email:
In order to make a raven pip package, RAVEN's code needs to be inside a single package. This requires changing all the imports, since now they are inside ravenframework, instead of just at the top level. In addition, the directory framework has been renamed to ravenframework.
This will require changes in three things.
Any imports of things that used to be in framework, now need to have ravenframework explicitly mentioned.
Direct use of Driver.py can no longer be done, since the imports will not be setup correctly. Use raven_framework.py instead.
Pickle files have the package information embedded inside, so they will need to be regenerated.
This is pull request: https://github.com/idaholab/raven/pull/1784
The following are example modifications for framework as a package in the source code.
Relative (use . if in ravenframework/, .. if in ravenframework/someDir/, ... if in ravenframework/someDir/anotherDir/ and so forth.
Example for something that is in a directory inside of ravenframework:
Original:
import Files
New:
from .. import Files
Original:
from utils import mathUtils
New:
from ..utils import mathUtils
Original:
import utils.TreeStructure
New:
from ..utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ..utils import TreeStructure as TS
Ravenframework imports:
Original:
import Files
New:
from ravenframework import Files
Original:
from utils import mathUtils
New:
from ravenframework.utils import mathUtils
Original:
import utils.TreeStructure
New:
from ravenframework.utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ravenframework.utils import TreeStructure as TS
Importlib (Example from ravenframework/Models/Code.py )
Original:
importlib.import_module("CodeInterfaces")
New:
importlib.import_module("..CodeInterfaces", "ravenframework.Models")
(Note the second parameter package anchor for finding relative packages.)
Driver.py can no longer be used from the python executable.
Original:
python framework/Driver.py "${ARGS[@]}"
New:
python raven_framework.py "${ARGS[@]}"
or
raven_framework "${ARGS[@]}"
—
Reply to this email directly, view it on GitHub
https://github.com/idaholab/raven/pull/1784#issuecomment-1125284028, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APD4NWKD35KGR4VRUOXKZODVJVCNJANCNFSM5QEPTSVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHubhttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fidaholab%2Fraven%2Fpull%2F1784%23issuecomment-1125286090&data=05|01|congjian.wang%40inl.gov|3f73ffce0bdd4d77f19208da3442eb4e|4cf464b7869a42368da2a98566485554|0|0|637879759274720786|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=cXNZa3ix25uY2ZRsXo7rMXsh8ifKl9EmEA2U%2B3CRL1w%3D&reserved=0, or unsubscribehttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABX3L36O2ZTMRPYX637PXEDVJVCXHANCNFSM5QEPTSVQ&data=05|01|congjian.wang%40inl.gov|3f73ffce0bdd4d77f19208da3442eb4e|4cf464b7869a42368da2a98566485554|0|0|637879759274720786|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=KDKcPY0zKDXNADA78gJmRDZS%2BhIto836rT8wh2WgWlM%3D&reserved=0.
You are receiving this because you modified the open/close state.Message ID: @.***>

Hello Congjian,
I opened a PR #1826 called "Farm submodule update". Please have a check and
let me know if more changes are needed.
Thanks,
Haoyu
On Thu, May 12, 2022 at 1:39 PM Congjian Wang - INL <
@.***> wrote:

Wonderful! Thanks a lot.
Congjian

From: Haoyu Wang @.>
Sent: Thursday, May 12, 2022 12:12 PM
To: idaholab/raven @.>
Cc: Congjian Wang @.>; State change @.>
Subject: [EXTERNAL] Re: [idaholab/raven] Framework as package (PR #1784)
Hello Congjian,
Thank you for letting me know.
I can fix it. Paul gave me the instructions on how to update the submodule
versions a moment ago. I will get it done no later than next Monday.
Thanks,
Haoyu
On Thu, May 12, 2022 at 1:09 PM Congjian Wang - INL <
@.***> wrote:

Hi @wanghy-anl https://github.com/wanghy-anl, this PR causes the
failure of FARM on RAVEN regression test machines. Basically, we changed
the way to import raven modules. Do you have plan to update the module
import in FARM? The following is the suggestion how to change the import
from Josh:
Suggested email:
In order to make a raven pip package, RAVEN's code needs to be inside a
single package. This requires changing all the imports, since now they are
inside ravenframework, instead of just at the top level. In addition, the
directory framework has been renamed to ravenframework.
This will require changes in three things.
Any imports of things that used to be in framework, now need to have
ravenframework explicitly mentioned.
Direct use of Driver.py can no longer be done, since the imports will
not be setup correctly. Use raven_framework.py instead.
Pickle files have the package information embedded inside, so they will
need to be regenerated.
This is pull request: https://github.com/idaholab/raven/pull/1784
The following are example modifications for framework as a package in
the source code.
Relative (use . if in ravenframework/, .. if in ravenframework/someDir/,
... if in ravenframework/someDir/anotherDir/ and so forth.
Example for something that is in a directory inside of ravenframework:
Original:
import Files
New:
from .. import Files
Original:
from utils import mathUtils
New:
from ..utils import mathUtils
Original:
import utils.TreeStructure
New:
from ..utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ..utils import TreeStructure as TS
Ravenframework imports:
Original:
import Files
New:
from ravenframework import Files
Original:
from utils import mathUtils
New:
from ravenframework.utils import mathUtils
Original:
import utils.TreeStructure
New:
from ravenframework.utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ravenframework.utils import TreeStructure as TS
Importlib (Example from ravenframework/Models/Code.py )
Original:
importlib.import_module("CodeInterfaces")
New:
importlib.import_module("..CodeInterfaces", "ravenframework.Models")
(Note the second parameter package anchor for finding relative packages.)
Driver.py can no longer be used from the python executable.
Original:
python framework/Driver.py "${ARGS[@]}"
New:
python raven_framework.py "${ARGS[@]}"
or
raven_framework "${ARGS[@]}"
—
Reply to this email directly, view it on GitHub
https://github.com/idaholab/raven/pull/1784#issuecomment-1125284028,
or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/APD4NWKD35KGR4VRUOXKZODVJVCNJANCNFSM5QEPTSVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub<
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fidaholab%2Fraven%2Fpull%2F1784%23issuecomment-1125286090&data=05|01|congjian.wang%40inl.gov|3f73ffce0bdd4d77f19208da3442eb4e|4cf464b7869a42368da2a98566485554|0|0|637879759274720786|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=cXNZa3ix25uY2ZRsXo7rMXsh8ifKl9EmEA2U%2B3CRL1w%3D&reserved=0>,
or unsubscribe<
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABX3L36O2ZTMRPYX637PXEDVJVCXHANCNFSM5QEPTSVQ&data=05|01|congjian.wang%40inl.gov|3f73ffce0bdd4d77f19208da3442eb4e|4cf464b7869a42368da2a98566485554|0|0|637879759274720786|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=KDKcPY0zKDXNADA78gJmRDZS%2BhIto836rT8wh2WgWlM%3D&reserved=0

.
You are receiving this because you modified the open/close state.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/idaholab/raven/pull/1784#issuecomment-1125308328, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APD4NWKIONRKV6DQYC4LTELVJVF5LANCNFSM5QEPTSVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi Haoyu,
Thanks. Once FARM pass the regression tests, I will merge it.
Best,
Congjian

From: Haoyu Wang @.>
Sent: Thursday, May 12, 2022 9:28 PM
To: idaholab/raven @.>
Cc: Congjian Wang @.>; State change @.>
Subject: [EXTERNAL] Re: [idaholab/raven] Framework as package (PR #1784)
Hello Congjian,
I opened a PR #1826 called "Farm submodule update". Please have a check and
let me know if more changes are needed.
Thanks,
Haoyu
On Thu, May 12, 2022 at 1:39 PM Congjian Wang - INL <
@.***> wrote:

Wonderful! Thanks a lot.
Congjian

From: Haoyu Wang @.>
Sent: Thursday, May 12, 2022 12:12 PM
To: idaholab/raven @.>
Cc: Congjian Wang @.>; State change @.>
Subject: [EXTERNAL] Re: [idaholab/raven] Framework as package (PR #1784)
Hello Congjian,
Thank you for letting me know.
I can fix it. Paul gave me the instructions on how to update the submodule
versions a moment ago. I will get it done no later than next Monday.
Thanks,
Haoyu
On Thu, May 12, 2022 at 1:09 PM Congjian Wang - INL <
@.***> wrote:

Hi @wanghy-anl https://github.com/wanghy-anl, this PR causes the
failure of FARM on RAVEN regression test machines. Basically, we changed
the way to import raven modules. Do you have plan to update the module
import in FARM? The following is the suggestion how to change the import
from Josh:
Suggested email:
In order to make a raven pip package, RAVEN's code needs to be inside a
single package. This requires changing all the imports, since now they are
inside ravenframework, instead of just at the top level. In addition, the
directory framework has been renamed to ravenframework.
This will require changes in three things.
Any imports of things that used to be in framework, now need to have
ravenframework explicitly mentioned.
Direct use of Driver.py can no longer be done, since the imports will
not be setup correctly. Use raven_framework.py instead.
Pickle files have the package information embedded inside, so they will
need to be regenerated.
This is pull request: https://github.com/idaholab/raven/pull/1784
The following are example modifications for framework as a package in
the source code.
Relative (use . if in ravenframework/, .. if in ravenframework/someDir/,
... if in ravenframework/someDir/anotherDir/ and so forth.
Example for something that is in a directory inside of ravenframework:
Original:
import Files
New:
from .. import Files
Original:
from utils import mathUtils
New:
from ..utils import mathUtils
Original:
import utils.TreeStructure
New:
from ..utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ..utils import TreeStructure as TS
Ravenframework imports:
Original:
import Files
New:
from ravenframework import Files
Original:
from utils import mathUtils
New:
from ravenframework.utils import mathUtils
Original:
import utils.TreeStructure
New:
from ravenframework.utils import TreeStructure
(and modify all uses of utils.TreeStructure to TreeStructure)
Original:
import utils.TreeStructure as TS
New:
from ravenframework.utils import TreeStructure as TS
Importlib (Example from ravenframework/Models/Code.py )
Original:
importlib.import_module("CodeInterfaces")
New:
importlib.import_module("..CodeInterfaces", "ravenframework.Models")
(Note the second parameter package anchor for finding relative packages.)
Driver.py can no longer be used from the python executable.
Original:
python framework/Driver.py "${ARGS[@]}"
New:
python raven_framework.py "${ARGS[@]}"
or
raven_framework "${ARGS[@]}"
—
Reply to this email directly, view it on GitHub
https://github.com/idaholab/raven/pull/1784#issuecomment-1125284028,
or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/APD4NWKD35KGR4VRUOXKZODVJVCNJANCNFSM5QEPTSVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub<
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fidaholab%2Fraven%2Fpull%2F1784%23issuecomment-1125286090&data=05|01|congjian.wang%40inl.gov|3f73ffce0bdd4d77f19208da3442eb4e|4cf464b7869a42368da2a98566485554|0|0|637879759274720786|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=cXNZa3ix25uY2ZRsXo7rMXsh8ifKl9EmEA2U%2B3CRL1w%3D&reserved=0>,
or unsubscribe<
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABX3L36O2ZTMRPYX637PXEDVJVCXHANCNFSM5QEPTSVQ&data=05|01|congjian.wang%40inl.gov|3f73ffce0bdd4d77f19208da3442eb4e|4cf464b7869a42368da2a98566485554|0|0|637879759274720786|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=KDKcPY0zKDXNADA78gJmRDZS%2BhIto836rT8wh2WgWlM%3D&reserved=0

.
You are receiving this because you modified the open/close state.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/idaholab/raven/pull/1784#issuecomment-1125308328, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APD4NWKIONRKV6DQYC4LTELVJVF5LANCNFSM5QEPTSVQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHubhttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fidaholab%2Fraven%2Fpull%2F1784%23issuecomment-1125622084&data=05|01|congjian.wang%40inl.gov|5e75f7b522684ed05a6208da3490a6ff|4cf464b7869a42368da2a98566485554|0|0|637880093135584226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=PiUZ1F53hdvFBmEqNuC15b7cr2%2B7BNjrdeUrV0Gwk6A%3D&reserved=0, or unsubscribehttps://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABX3L3ZMGQ6FY3GFTJMKOTDVJXD55ANCNFSM5QEPTSVQ&data=05|01|congjian.wang%40inl.gov|5e75f7b522684ed05a6208da3490a6ff|4cf464b7869a42368da2a98566485554|0|0|637880093135584226|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=dbDs1Id3I8Xy0wrWuTRlKGJWmQ%2F22bEFnWJsrd2akEU%3D&reserved=0.
You are receiving this because you modified the open/close state.Message ID: @.***>


Update pony corral

Description of changes
updating pony-corral.
I've updated a dependency of ponyc because I took a look at the failure on darwin.
Basically the darwin failure (on x86_64) says that libtool is not found, but if you add it, it says that the -static is unrecognized flag. I didn't go further and thought that pony could still benefit from the update of one of it's dependency.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 233241 run on x86_64-linux 1

2 packages built:

pony-corral
ponyc

Typo in the commit message?


⚠ Bofrost.fr has degraded performance

In f46fe55, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1078 ms

Resolved: Bofrost.fr performance has improved in 446022f after 7 minutes.


Chromium 57: about:plugins page is being removed

sorry if misfortune ts a bad word :D
but google removed chrome:plugins (now you CANT disable/enable your plugins)
http://www.ghacks.net/2017/01/29/google-removes-plugin-controls-from-chrome/

In the future, please make your title as specific and as concise as possible.

Quoting Julian Pastarmov on this: "In a nutshell you can still control the state of the two plugins that are part of Chrome's bundle but do not represent essential Chrome components - PDF and Flash - both of those can be controlled through the content settings dialog that you can reach from the settings page."
See this page => https://groups.google.com/a/chromium.org/forum/#!topic/chromium-discuss/PmF9gGe9Auc for details.

I skimmed through the corresponding bug report and it seems they have grouped plugin controls with the JavaScript settings and made custom plugins loadable via the command-line. They're discouraging the use of plugins now (which makes sense considering the rapid expansion of web standards in an effort to make web applications nearly as flexible as desktop ones).
Closing now, since all of the desired functionality is available in alternate forms.


after upgrading to 2024.2.0 I spotted this in my ha log, deprecated supported features values which will be removed in HA Core 2025.1

After upgrading HA to 2024.2.0. I spotted this warning message in my home assistant log:
Logger: homeassistant.components.light
Source: components/light/init.py:1242
Integration: Licht (documentation, issues)
First occurred: 14:34:37 (1 occurrences)
Last logged: 14:34:37
Entity None (<class 'custom_components.cololight.light.coloLight'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <LightEntityFeature.EFFECT|17: 21> and color modes, please create a bug report at https://github.com/BazaJayGee66/homeassistant_cololight/issues and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation

Thanks for raising.
This has been resolved with v2.0.3


config(engine): engine use tls to connect meta MySQL

What problem does this PR solve?

Issue Number: close https://github.com/pingcap/tiflow/issues/6630
What is changed and how it works?
Check List
Tests

Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
 `None`.

/cc @gozssky

/run-engine-integration-test

/run-engine-integration-test

/run-engine-integration-test

/run-engine-integration-test

Codecov Report

Merging #7091 (8d5e7a2) into master (0e3ca7c) will decrease coverage by 0.0209%.
The diff coverage is 38.0000%.

Additional details and impacted files

Flag
Coverage Δ

cdc
67.1770% <ø> (+0.0259%)
:arrow_up:

dm
51.7725% <45.7831%> (-0.0547%)
:arrow_down:

engine
62.6430% <0.0000%> (-0.0041%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #7091        +/-   ##
================================================
- Coverage   59.8212%   59.8002%   -0.0210%
================================================
  Files           792        791         -1
  Lines         90727      90722         -5
================================================
- Hits          54274      54252        -22
- Misses        31693      31708        +15
- Partials       4760       4762         +2

/run-engine-integration-test

/merge

Please check integration test @lance6716
[2022/09/19 07:13:46.268 +00:00] [ERROR] [master.go:88] ["run dataflow server master with error"] [error="could not read ca certificate: open /ca.pem: no such file or directory"] [errorVerbose="open /ca.pem: no such file or directory
could not read ca certificate
github.com/pingcap/tidb/util.NewTLSConfig
        github.com/pingcap/tidb@v1.1.0-beta.0.20220915121459-b37a48df188f/util/security.go:249
github.com/pingcap/tiflow/engine/pkg/meta/internal/sqlkv.NewSQLDB
        github.com/pingcap/tiflow/engine/pkg/meta/internal/sqlkv/connection.go:91
github.com/pingcap/tiflow/engine/pkg/meta/internal/sqlkv.NewClientConnImpl
        github.com/pingcap/tiflow/engine/pkg/meta/internal/sqlkv/connection.go:39
github.com/pingcap/tiflow/engine/pkg/meta.NewClientConn
        github.com/pingcap/tiflow/engine/pkg/meta/connection.go:29
github.com/pingcap/tiflow/engine/servermaster.(*Server).registerMetaStore
        github.com/pingcap/tiflow/engine/servermaster/server.go:602
github.com/pingcap/tiflow/engine/servermaster.(*Server).Run
        github.com/pingcap/tiflow/engine/servermaster/server.go:543
github.com/pingcap/tiflow/engine/pkg/cmd/master.(*options).run
        github.com/pingcap/tiflow/engine/pkg/cmd/master/master.go:86
github.com/pingcap/tiflow/engine/pkg/cmd/master.NewCmdMaster.func1
        github.com/pingcap/tiflow/engine/pkg/cmd/master/master.go:154
github.com/spf13/cobra.(*Command).execute
        github.com/spf13/cobra@v1.5.0/command.go:872
github.com/spf13/cobra.(*Command).ExecuteC
        github.com/spf13/cobra@v1.5.0/command.go:990
github.com/spf13/cobra.(*Command).Execute
        github.com/spf13/cobra@v1.5.0/command.go:918
github.com/pingcap/tiflow/engine/pkg/cmd.Run
        github.com/pingcap/tiflow/engine/pkg/cmd/cmd.go:51
main.main
        ./main.go:21
runtime.main
        runtime/proc.go:250
runtime.goexit
        runtime/asm_amd64.s:1571"]

/run-engine-integration-test

/merge

/unhold
/merge

/merge

/run-engine-integration-test

/hold
after server-master restart, test script is not aware of some error
[2022/09/20 03:06:29.120 +00:00] [INFO] [version.go:47] ["Welcome to TiFlow Master"] [release-version=v6.3.0-alpha-176-g3b418244c] [git-hash=3b418244cf960f77fcb36ec230fcd57952cf140a] [git-branch=HEAD] [utc-build-time="2022-09-20 02:56:54"] [go-version="go version go1.18.6 linux/amd64"] [failpoint-build=false]
[2022/09/20 03:06:29.120 +00:00] [INFO] [server.go:165] ["creating server master"] [config="{\"log\":{\"level\":\"debug\",\"file\":\"/log/server-master-0.log\",\"max-size\":0,\"max-days\":0,\"max-backups\":0,\"error-output\":\"\"},\"name\":\"master-server-master-0:10240\",\"addr\":\"<IP_ADDRESS>:10240\",\"advertise-addr\":\"server-master-0:10240\",\"etcd-endpoints\":[\"etcd-standalone:2379\"],\"framework-meta\":{\"store-id\":\"_root\",\"store-type\":\"mysql\",\"endpoints\":[\"mysql-standalone:3306\"],\"user\":\"root\",\"password\":\"123456\",\"schema\":\"test_framework\",\"read-timeout\":\"3s\",\"write-timeout\":\"3s\",\"dial-timeout\":\"3s\",\"dbconfs\":{\"conn-max-idle-time\":60000000000,\"conn-max-life-time\":43200000000000,\"max-idle-conns\":3,\"max-open-conns\":7},\"security\":{\"ca-path\":\"/ca.pem\",\"cert-path\":\"\",\"key-path\":\"\",\"cert-allowed-cn\":null}},\"business-meta\":{\"store-id\":\"_default\",\"store-type\":\"mysql\",\"endpoints\":[\"mysql-standalone:3306\"],\"user\":\"root\",\"password\":\"123456\",\"schema\":\"test_business\",\"read-timeout\":\"3s\",\"write-timeout\":\"3s\",\"dial-timeout\":\"3s\",\"dbconfs\":{\"conn-max-idle-time\":60000000000,\"conn-max-life-time\":43200000000000,\"max-idle-conns\":3,\"max-open-conns\":7},\"security\":{\"ca-path\":\"/ca.pem\",\"cert-path\":\"\",\"key-path\":\"\",\"cert-allowed-cn\":null}},\"keepalive-ttl\":\"20s\",\"keepalive-interval\":\"500ms\",\"rpc-timeout\":\"3s\",\"security\":null,\"job-backoff\":{\"reset-interval\":2000000000,\"initial-interval\":1000000000,\"max-interval\":15000000000,\"multiplier\":2}}"]
[2022/09/20 03:06:32.123 +00:00] [ERROR] [server.go:595] ["create schema for framework metastore fail"] [schema=test_framework] [error="[DFLOW:ErrMetaOpFail]meta operation fail: context deadline exceeded"]
[2022/09/20 03:06:32.124 +00:00] [ERROR] [master.go:88] ["run dataflow server master with error"] [error="[DFLOW:ErrMetaOpFail]meta operation fail: context deadline exceeded"]

/unhold
/merge

/merge

/hold

/unhold
/merge

/run-engine-integration-test

/run-engine-integration-test

/run-engine-integration-test

/merge


HOFF 591 Added 401 error page for Unauthorised

What
HOFF-591- HTTP Error 401 (UnAuthorised) Error Page
Why
To display an Unauthorised error page to users, which follows the Government Design Standard (GDS)
How

Added html content in 401.html page to display 401 Unauthorised error message
Added 401 text in errors.json file.
Modify the previous status code assigned to 401 which was used for session timeout replaced with 408 status code

Testing

Wrote unit test to unsure error page pass.

YOUR MAIL HAS NOT BEEN DELIVERED
The email you have sent to @.*** is for a legacy domain which has been deleted.  Your mail has not been delivered.
Please update your address book and re-send your mail to the same address but having removed .gsi. from the domain part.
e.g. send to @homeoffice.gov.uk.


chore(test): validate remaining pytest tests

Include all current pytests in scripts/pytest-tests.sh.
Identify, and temporarily disable, those tests that
are currently failing and require additional work.

bors try

bors try

bors try

The following tests are excluded, as they are currently failing:

test_cli_controller (2nd test fails due to error during teardown)
test_rpc
test_multi_nexus
test_nexus
test_null_nexus

bors try

bors try

bors try

bors try

bors try

bors try

There seems to be an empty file? Also, is there a reason we reduce the number of nexus volumes from 100 to 3?

There were a couple of files that had changes to their permissions only (the test_*.py files should not be executable).
The nunber of GUIDs/volumes was actually 10 rather than 3. This was initially an oversight in that my development VM could not cope with 100. However, after adding extra memory/CPUs/hugepages, I still cannot get this test to run with the full 100.  It also appears to be failing for the same reason when run in the Jenkins pipeline. The main issue seems to be that pytest is capturing the log output in memory, and this test is generating a lot of messages. I am hoping that pytest can be coerced into writing the output generated directly to files rather than caching in memory, but I need to investigate this further.  Have disabled this test for now, and will raise a separate Jira/PR to address the resource issues.

bors try

The following tests are excluded, as they are currently failing:
* test_cli_controller

* test_rpc

* test_nexus_multipath

Ah, so I wasn't alone there after all. :) How come the CI is not failing? :thinking:

The following tests are excluded, as they are currently failing:
* test_cli_controller

* test_rpc

* test_nexus_multipath

Ah, so I wasn't alone there after all. :) How come the CI is not failing? 🤔

There are only two tests remaining that are failing. They are test_rpc and test_null_nexus. These and a number of other tests were not included in the "CI" script that invokes the tests as they were relying of an additional VM in which to connect to the published taqrgets and run fio.
The purpose of this particular PR is to remove that requirement and ensure that all existing tests will be included in the CI pipeline.
This is now the case with the exception of the two tests mentioned above.

There seems to be an empty file? Also, is there a reason we reduce the number of nexus volumes from 100 to 3?

The number of nexuses has now been set to 10 in order to ensure that the test passes while I am currently investigating why the test fails with much larger number of nexues.

bors try

bors try

bors try

bors try

bors try

bors try

bors merge

bors try


Skill map V2

Housekeeping issue for skill map V2
Markdown stuff

[x] Define completion/reward nodes (riknoll)
[x] Add properties for theming the page (background image, colors, info pane image, tags(?) ) (riknoll)
[x] Add property for migrating a user's projects from one pageSourceUrl to another (https://github.com/microsoft/pxt-arcade/issues/3149) (shakao)
[x] Sidebar image for map, images for completion nodes, description for completion node?

UI stuff

[x] Checkmark on completed items, change game icon to blocks (riknoll)
[x] Different icons/node shapes for completion nodes (riknoll)
[x] Auto-display completion modal, celebrations (shakao)
[x] Info panel pass (total activities for map view, reset progress button) (shakao)
[x] Share project button on info panel
[x] Update UI so the background image and graph scale together (riknoll)
[ ] Home button (to arcade.makecode.com) in header, activity title when in iframe (riknoll)
[x] Horizontal info panel for tablet view
[ ] New modal design for completion modal (full width of screen), additional celebration effects
[ ] Intelligent defaults for background and sidebar images (map-level, completion node-level)--not gray?

Graph stuff

[x] Blank node for graph control for Kiki (shakao)
[ ] Graph layout tests (shakao)

Flow stuff

[ ] Code carryover should pull from last edited/last completed project

Misc

[ ] Nicer URL, backend changes to allow subpaths deeplinked to specific skill maps
[ ] Instrumentation pass, double-check old ticks as well

Bugs

[ ] Fix github loading of path without github.com (#github:/shakao-test/skillmap-branch/test2 should work, I think)

i'm moving the next-release items (code carryover, the URL handling) into their own issues and closing this one


Cemu: crash with Vulkan

Describe the bug
When i start BotW with Vulkan graphic API, it crashes after loading screen.
Terminal output:
Aborted!
Error: signal 6:
cemu() [0x706581]
/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/libc.so.6(+0x3dbf0) [0x7f53e7e3dbf0]
/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/libc.so.6(+0x8abc7) [0x7f53e7e8abc7]
/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/libc.so.6(raise+0x16) [0x7f53e7e3db46]+0x16) [0x7f53e7e3db46]
/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/libc.so.6(abort+0xd7) [0x7f53e7e284b5]+0xd7) [0x7f53e7e284b5]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x325a1f) [0x7f5272925a1f]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x1741d98) [0x7f5273d41d98]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x1745672) [0x7f5273d45672]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x173fa67) [0x7f5273d3fa67]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x174a075) [0x7f5273d4a075]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x174cc27) [0x7f5273d4cc27]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x174f132) [0x7f5273d4f132]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x19ff54c) [0x7f5273fff54c]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x2cd4ba0) [0x7f52752d4ba0]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x253f35a) [0x7f5274b3f35a]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x2cd56f4) [0x7f52752d56f4]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so((anonymous namespace)::TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator, (anonymous namespace)::(anonymous namespace)::OpDecorations&, unsigned int, unsigned int, unsigned int, glslang::TBasicType, bool)+a61) [0x7f5272f83141]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so((anonymous namespace)::TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator, unsigned int, std::vector<unsigned int, std::allocator<unsigned int> >&, glslang::TBasicType)+d2d) [0x7f5272f8457d]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(RegisterWindow::RegisterWindow(DebuggerWindow2&, wxPoint const&, wxSize const&)+9d7) [0x7f5272de3f67]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(RegisterWindow::OnFPViewModePress(wxCommandEvent&)+94e) [0x7f5272de755e]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(SaveTransfer::OnTransfer(wxCommandEvent&)+e51) [0x7f5272ded681]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x46c9e3) [0x7f5272a6c9e3]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x3dfefa) [0x7f52729dfefa]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x42c6bc) [0x7f5272a2c6bc]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x42f668) [0x7f5272a2f668]
/nix/store/pnw5839aphgiqnlmv7lif5124hkhnqij-amdvlk-2022.Q3.5/lib/amdvlk64.so(+0x412c04) [0x7f5272a12c04]
cemu() [0x6f4b2a]
cemu() [0x6fcfdb]
cemu() [0x6ffc7c]
cemu() [0x8e05b2]
cemu() [0x6d11a8]
cemu() [0x59f32b]
/nix/store/6plx60y4x4q2lfp6n7190kaihyxr7m1w-gcc-11.3.0-lib/lib/libstdc++.so.6(+0xdf3d4) [0x7f53e82df3d4]
/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/libc.so.6(+0x88e86) [0x7f53e7e88e86]
/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/libc.so.6(+0x10fd70) [0x7f53e7f0fd70]
Aborted (core dumped)

Is that something we can fix or does upstream has to fix it?
Steps To Reproduce
Steps to reproduce the behavior:

Start game
See title screen
Crash

Expected behavior
working game
Additional context
It works with OpenGL, but performance is very bad (20fps at 720p).
Notify maintainers
@zhaofengli @baduhai
Metadata
cemu-2.0-13
Intel i9 CPU + AMD 6600 XT GPU

system: "x86_64-linux"
host os: Linux 6.2.10, NixOS, 22.11 (Raccoon), 22.11.4479.d4a9ff82fc1
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.11.1
channels(root): "home-manager-22.11.tar.gz, nixos-22.11, nixos-hardware, nixos-unstable"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Cannot reproduce. Vulkan works just fine for me on my RX 6700XT.

@baduhai do you use NixOS 23.05? maybe it's fixed there.

Considering 22.11 is now deprecated, it's what you should be using anyway. But I'm on unstable.

cemu-2.0-13

We'll be on cemu-45 soon enough. Is this still a nixpkg issue?

cemu-2.0-13

We'll be on cemu-45 soon enough. Is this still a nixpkg issue?

I don't know if this is a nixpkgs issue or not, but I haven't been able to reproduce it either on unstable or on 23.05. Closing since OP hasn't replied in a while.


React to ASP.NET 5 to ASP.NET Core name change

Two references will (temporarily) remain:

VS label for "ASP.NET 5 Preview Templates" awaits new tooling
Understanding ASP.NET 5 Web Apps awaits doc updates

Will patch those later.
... and only one commit this time. The :monkey: is improving! :banana: please?

Hi @GuardRex, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

:banana::banana::banana::banana::banana::banana::banana::banana::banana::banana::banana:
9d08734feafcfcc510116216a70f83a9467a5550


Double Jars CXF

Describe the bug
Version is incompatible
Expected behavior
Update to 3.4.7.

:tada: This issue has been resolved in version 2.17.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Refactoring Request]: Refactoring of the allowed_models in WhisperLargeModel

Affected Component
swarmauri/llms/whisperLargeModel
Motivation
To check for updates in the allowed_model list in WhisperLargeModel
This can be removing of depreciated models and adding new models
Potential Refactoring Approach
Check the documentation so you can see the depreciated models and newly added models.
Additional Context (optional)
No response
Affected Areas

[X] Swarmauri

Priority
Low

Hi @3rd-Son
Can you explain in detail about what exact changes are required?
From my understanding there are no required changes in the allowed_model list of WhisperLargeModel as the class is implemented only for openai/whisper-large-v3 and the huggingface inference endpoint used is also only for openai/whisper-large-v3 meaning that there is only one model supported which is openai/whisper-large-v3 and it is not deprecated.

Yea, you are correct @Lavesh-Akhadkar
If you notice, I created alot of tickets along side this one.
If you check the documentation and see that the allowed_models have not been changed (that is: no models have been depreciated or added), then it's fine
The tickets were created so we can have a quick check on all the models in the swarmuari/llms and update them.
I don't know if you understand this @Lavesh-Akhadkar

Ah got it @3rd-Son didn't notice the other similar tickets before this one. I guess this issue can be closed then as there are no changes in the allowed_models of WhisperLargeModel.

Yea bro.
I will close this one now.
you can go on and work on the other tickets, for each of them, use a different branch and then create a PR


Don't use datetime.utcnow().

Deprecated since Python 3.12.

NB it might be helpful to tell pytest to turn warnings into errors by default.

The changeset looks good, but I think it will have to wait some few years as datetime.UTC apparently does not exist in older python versions.

I think it will have to wait some few years as datetime.UTC apparently does not exist in older python versions.

You're right, it's only available since 3.11. But we can easily wrap it in an exception handler and use the old way if UTC doesn't exist.
However, the old code is completely wrong anyway. To demonstrate:
>>> import datetime as dt
>>> dt.datetime.utcnow().astimezone(dt.timezone.utc)
datetime.datetime(2024, 10, 11, 11, 36, 5, 797930, tzinfo=datetime.timezone.utc)
>>> dt.datetime.now(dt.timezone.utc)
datetime.datetime(2024, 10, 11, 13, 36, 18, 566646, tzinfo=datetime.timezone.utc)
>>> dt.datetime.now()
datetime.datetime(2024, 10, 11, 15, 36, 30, 34961)
>>>

The first result is bogus because right now it's 15:36 local time and I'm in timezone T+0200, thus UTC is 13:36.
I pushed a fix that replaces UTC with timezone.utc which should be stable enough.

Weird, the test for 3.7 and 3.9 passes now, but the test for 3.8 fails consistently (I tried rerunning it in case it was just some temporarily fluke).  I also reran the test for 3.12 just in case a new version of the icalendar library was released just while the tests were running.  I didn't look into why the test is breaking yet.


Tune PID.

Commits in this PR

Tune PID.
This is not perfect; see
https://drive.google.com/file/d/13QyvO1ptUYYUAs8qT0dCyW9f1XZ8w7iw, but
it works OK.
Fixes Issue #207.

Recreated from https://github.com/RespiraWorks/VentilatorSoftware/pull/219 due to git-pr-chain issues when reordering commits.  Going to force-merge this.


spring cloud zuul is very slow,200% performance cut down after using zuul

The faster is directly send request to the target service,the slower is request zuul gateway first ,then requst the target service, its really slow that zuul expend too many time to proxy the request,why?

BTW,I find zuul logged the org.apache.http.wire,i think zuul serialilize the json object and then deserialize ,its no use to do that

[网络]
Deserialize; d

BTW,I find zuul logged the org.apache.http.wire,i think zuul serialize the json object and then deserialize ,its no use to do that

It does it only if you set logging level to DEBUG which would be a bad idea for measuring performance.
Your comparison does not seem fair, have you tried to compare with another reverse proxy like nginx?

Please reopen if you find something else besides debug logging the apache http client.

i find a simple way,just change to okHttp3 and then the performance become normal,just  expend 5ms-6ms more ,the httpclient spend 20ms

I also encounter this problem when using the Finchley version.
The zuul performance is half of the nginx.

@zywj have you done any of the suggestions above?

@zywj 老哥，换成okhttp,httpclient太垃圾

@spencergibb i suggest spring cloud should never use httpclient as default ,change to okhttp3 instead, best if support netty.

@ExtremeYu 我zuul后面有web服务，然后web服务调用api服务的。如果是zuul的httpclient的性能问题，那么在web服务请求api服务时，也会存在性能问题。但是我直接访问web服务对应的地址，性能是跟nginx做代理一样的，所以我还是觉得是zuul的问题。

zuul 本身就有很大性能损耗，我这里测试，加入zuul后，接口响应时间从平均8ms 增加到12ms，还是可以接受的，你先把全部工程换成okhttp再试

Yes. Zuul is CPU-bound, after read the article Comparing API Gateway Performances: NGINX vs. ZUUL  and THE RIOT GAMES API: FULFILLING ZUUL'S DESTINY.
So. @ExtremeYu . You may be right. The httpclient may limits the Zuul performance.

吓得我也去换成okttp试试

@jieblog 如果ZUUL的CPU使用率没有到100%的话，ZUUL性能还是接近nginx的。

常年 100%状态

大家遇到过，压测时cpu使用率间歇性下降到个位数吗？然后服务就失去响应了（不是超时）。

Hi all..
I also experiencing this issue where zuul at some point giving me high latency above 1 second, while the downstream service in which zuul connected to only took arouns 6-10 ms
Try using okhttp still didn't help.. here is what I set in properties
zuul.ribbon.okhttp.enabled=true
ribbon.okhttp.enabled=true
Does my configuration already correct ?
I'm not using eureka for service discovery, I'm using static list of ip addresses
I am using
Spring Boot 1.5.9 release
Spring Cloud version Dalston Release
Thank you

Try using the latest edgware release, if you are still having issues please open a separate issue with a sample and a way to reproduce the problem.

So I am still looking for where in spring cloud netflix you see the problem

Hi @ryanjbaxter
Sorry for the long wait, I just figure out to obtain the error log. After observing all the traffic logs, I got following errors. Somehow I got UndeclaredThrowableException in which raised by SendResponseFilter.run on line 120
org.springframework.util.ReflectionUtils.rethrowRuntimeException [317]
org.springframework.cloud.netflix.zuul.filters.post.SendResponseFilter.run [120]
mine.proxy.filter.post.InputStreamClosingSendResponsePostFilter.run [50]
com.netflix.zuul.ZuulFilter.runFilter [112]
com.netflix.zuul.FilterProcessor.processZuulFilter [193]
com.netflix.zuul.FilterProcessor.runFilters [157]
com.netflix.zuul.FilterProcessor.postRoute [92]
com.netflix.zuul.ZuulRunner.postRoute [87]
com.netflix.zuul.http.ZuulServlet.postRoute [107]
com.netflix.zuul.http.ZuulServlet.service [88]
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal [157]
org.springframework.cloud.netflix.zuul.web.ZuulController.handleRequest [44]
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle [50]
org.springframework.web.servlet.DispatcherServlet.doDispatch [967]
org.springframework.web.servlet.DispatcherServlet.doService [901]
org.springframework.web.servlet.FrameworkServlet.processRequest [970]
org.springframework.web.servlet.FrameworkServlet.doPost [872]
javax.servlet.http.HttpServlet.service [707]
org.springframework.web.servlet.FrameworkServlet.service [846]
javax.servlet.http.HttpServlet.service [790]
io.undertow.servlet.handlers.ServletHandler.handleRequest [85]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [129]
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal [55]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal [110]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.web.filter.RequestContextFilter.doFilterInternal [99]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal [108]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal [81]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.cloud.sleuth.instrument.web.TraceFilter.doFilter [166]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal [197]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal [106]
org.springframework.web.filter.OncePerRequestFilter.doFilter [107]
io.undertow.servlet.core.ManagedFilter.doFilter [61]
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter [131]
io.undertow.servlet.handlers.FilterHandler.handleRequest [84]
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest [62]
io.undertow.servlet.handlers.ServletChain$1.handleRequest [64]
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest [36]
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest [131]
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest [57]
io.undertow.server.handlers.PredicateHandler.handleRequest [43]
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest [46]
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest [64]
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest [60]
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest [77]
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest [43]
io.undertow.server.handlers.PredicateHandler.handleRequest [43]
io.undertow.server.handlers.PredicateHandler.handleRequest [43]
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest [292]
io.undertow.servlet.handlers.ServletInitialHandler.access$100 [81]
io.undertow.servlet.handlers.ServletInitialHandler$2.call [138]
io.undertow.servlet.handlers.ServletInitialHandler$2.call [135]
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call [48]
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call [43]
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest [272]
io.undertow.servlet.handlers.ServletInitialHandler.access$000 [81]
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest [104]
io.undertow.server.Connectors.executeRootHandler [332]
io.undertow.server.HttpServerExchange$1.run [830]
java.util.concurrent.ThreadPoolExecutor.runWorker [1149]
java.util.concurrent.ThreadPoolExecutor$Worker.run [624]
java.lang.Thread.run [748]

In SendResponseFilter.run line 120, I'm calling super.run() in which invokes method SendResponseFilter.run() as in previous post
After I look the code in the SendResponseFilter line 120, leads me on following code in which the exception thrown either by addResponseHeaders or writeResponsemethod
@Override
public Object run() {
	try {
		addResponseHeaders();
		writeResponse();
	}
	catch (Exception ex) {
		ReflectionUtils.rethrowRuntimeException(ex);
	}
	return null;
}

Cannot figure out what really the cause
Kindly need your advice
Thanks in advance

Looks like part of the stacktrace is missing.
Is this your filter?
mine.proxy.filter.post.InputStreamClosingSendResponsePostFilter

Hi.. yes that is part of my filter that extend SendResponseFilter.
that is all the complete stacktrace from ex.getStackTrace method

I cant really be much assistance if the exception is originating from your own filter.
At this point it would be useful if you could put together a project that reproduces the issue along with instructions on how to reproduce the problem and open a separate issue with that information.  This does not seem related to the original issue.

Hi..
Thanks for the prompt response. Yes I agree, I guess it is separate issue. I found this when I observing the latency. Maybe I will disable my filter for time being..  and will let you know if I'm still encountering the same issue and open separate issue if any
Really appreciate for all your help and response

Just to update that I'm still encountering same error after removing my custom filter. In http response wise, it give me status code 500 with error message GENERAL
It occurs intermittenly.

i am using Edgware.SR4 and noticing similar behavior.  zuul proxy response time is 1sec.  direct api call is 10-20 ms.
Any help is appreciated

We can expect it to be slower going through the proxy, if you can identify a particular area of the code that is causing any kind of performance issue please open a separate issue with the details and how to reproduce it.

I am using Spring Cloud Gateway instead of Zuul to improve the (TPS)performance of the application but still we are getting less performance. I am sharing Gateway configuration below:
`spring:
application:
name: MyCloudGateway
jmx:
default-domain: MyCloudGateway
cloud:
gateway:
routes:
- id: SampleMicroService
uri: http://<IP_ADDRESS>:9086
predicates:
- Path=/client1/**
filters:
- name: RequestRateLimiter
args:
redis-rate-limiter.replenishRate: 20000
redis-rate-limiter.burstCapacity: 40000
key-resolver: "#{@remoteAddrKeyResolver}"
- StripPrefix=1
#- name: Hystrix
# args:
# name: SampleMicroService
#fallbackUri: forward:/fallback
httpclient:
pool:
acquire-timeout: 6000
max-connections: 10000
connect-timeout: 60000
redis:
host: <IP_ADDRESS>
port: 6379
server:
port: 9087
compression:
enabled: false
min-response-size: 1000
connection-timeout: 50s
max-http-header-size: 200000
#ribbon:
#okhttp:
#enabled: true
#http:
#client:
#enabled: true
#tomcat:
accesslog:
#  enabled: true
#max-threads: 1000
#min-spare-threads: 200

#tomcat.uri-encoding: UTF-8
#eureka:
#instance:
#prefer-ip-address: true
#instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
hystrix:
command:
SampleMicroService:
execution:
isolation:
thread:
timeoutInMilliseconds:  120000
circuitBreaker:
requestVolumeThreshold: 50000
sleepWindowInMilliseconds: 60000
errorThresholdPercentage: 100
management:
endpoints:
web:
exposure:
include: hystrix.stream,turbine.stream
`
Please suggest, where we are doing wrong.

@dwivedis what do you think is wrong?

@spencergibb, Is any changes to do in configuration file to achieve 500 tps for normal string?

@dwivedis on what hardware with what test driver? There's a lot of ifs?
I get over 3k requests per second on my laptop https://github.com/spencergibb/spring-cloud-gateway-bench


Suggestions on using rsa and elliptic-curve dependencies (failing on subtle)

When trying to include both rsa and elliptic-curve dependencies you get a version issues with caused by subtle being pinned to =2.1.1 caused by #71. What is the best path forward here to better for me to also fork and downgrade elliptic-curve or upgrade it for rsa?
error: failed to select a version for `subtle`.
    ... required by package `elliptic-curve v0.8.4`
    ... which is depended on by `ecdsa v0.10.2`
    ... which is depended on by `p256 v0.7.1`
...
versions that meet the requirements `=2.4.0` are: 2.4.0

all possible versions conflict with previously selected packages.

  previously selected package `subtle v2.1.1 (https://github.com/dalek-cryptography/subtle.git?tag=2.1.1#d12fc92b)`
    ... which is depended on by `rsa v0.3.0 (https://github.com/RustCrypto/RSA.git?branch=master#1d8ff05d)`
...

Opened #77 to try to address this

Opened #77 to try to address this

Looks like this was addressed in #74 and should no longer be a problem once there's another release including those changes.

Looks like this was addressed in #74 and should no longer be a problem once there's another release including those changes.

👍 thanks

👍 thanks


Does electron CGI support REST API  and MQTT?

HI,
I wonder if Electron CGI supports REST API request/response and MQTT subscription/publish.
If electron CGI supported the REST API, how should I specify the method type for REST API request (i.e., POST, GET, UPDATE, etc.)?
Also, there is a URL as a recipient  for REST API requests,  I attempted to replace the name of the executables of the server in Electron CGI but it did not work.. So how shall I set this up in electron CGI if it did support REST API?
Also, The same  set of questions go for the MQTT subscriptions and publication.
Please advise.

Hi @HailunTan
ElectronCGI handles communication between the two processes (.NET and Node.js) using the stdin and stdout streams. The communication protocol is very simple and is limited to sending a request with a type and getting a response. There's no notion of GET, POST, UPDATE, etc.
You could launch a server from the .NET side of things and use REST that way. If that's your goal I'd suggest looking at Electron.NET

Thanks. @ruidfigueiredo. I have a existing REST API server running. My manager required me to have a  electron-CGI-based library to communicate with that server. After viewing the codes in electron-CGI, I  thought it might  not  be feasible to do it but I am not 100% sure so I asked in this section. Thanks for your confirmation and i will have a look at Electron.NET.


Update step-26-mock-server-configuration-typescript-3e1c64f.md

The config method is a static method, which means it's a property of the class itself, not an instance of the class. We can access it using MockServer.config instead of mockServer.config.

Hi @serhatci, thanks for your contribution. We'll take a look and will get back to you.

Fixed with the next UI5 release.


Update detect-arch.cmake

Add Cortex plaform for ARM

This is useful for cross-compiling using the Yocto SDK, in my case the architecture is cortexa9t2hf-neon-xilinx but I extended it to all the cortex family.


Strings starting with E & containing numbers import as "0" numbers

@rafatower
S/B 6649574
A user is importing a dataset with a column containing long number sequences prepended with "E". It imports as number-type column instead of string. All of the "E...." values become 0.
Context
User is importing an .xls but it also happened in my test CSV. Is this related to "E" being used in (scientific notation?)[https://en.wikipedia.org/wiki/Scientific_notation#E_notation]
Process

Create a one-column CSV like this:
test_string
E00000012

Import with type guessing box checked

Expected result
test_string column will import as a string type.
Current result
test_string column imports as a number, and instead of "E00000012" the value is 0.

there's a workaround: do not use type guessing.

Actually that's incorrect notation. E0000012 is not a number in most languages. Usually the correct one is <number>[E|e]<number>. E.g: 1e12, 1E12.

OTOH a number like 1e-12 can be rounded up to 0.0 for representation, which doesn't mean it is actually 0.

Taking it to the letter, it can be considered a bug or not. Depending on the language E0000012 can be:

considered valid e-notation, with the mantissa equal to zero and therefore E0000012 = 0e12 = 0 which is correct
considered invalid and therefore not a number (defaulting to string).

It needs to be fixed in gdal, but I'm considering this low priority as there's a workaround and arguably this is a bug.
There are several workarounds:

do not use E as the prefix
quote the values and use quote_fields_guessing = false. See http://docs.cartodb.com/cartodb-platform/import-api/standard-tables/
do not use guessing at all.

Thanks @rafatower we told client about workaround so not high priority for them.


Navbar lack Functionality

Description
By clicking in CSEdge icon i navbar user is not redirecting to HomePage,
Moreover i want to add dark mode buttom also which will increase user experience
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSoC'24 contributor.
[X] I want to work on this issue.

Code of Conduct

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

@CSEdgeOfficial please assign it to me

Hey, allow me to work on this under GSSOC' 2024

@CSEdgeOff  please allow me to work on this issue.

@CSEdgeOff  Hi, please assign this task to me , I can work on this issue in an organised manner

Make PR ASAP to complete this issue

please assign this to me as i have find this,
i will do it ASAP
@CSEdgeOff

@CSEdgeOff please assign it to me


Allow to navigate in MRU without picker until keybinding is released

VSCode Version: 1.43 & 1.42
OS Version: Win10

The January 2020 changelog mentioned there's a new command to switch to previously used editor without a picker:

If you want to navigate the list without using a picker, there are new commands:

View: Open Previous Recently Used Editor (workbench.action.openPreviousRecentlyUsedEditor)
View: Open Next Recently Used Editor (workbench.action.openNextRecentlyUsedEditor)

However, after calling workbench.action.openPreviousRecentlyUsedEditor to switch to the previous editor, the previous editor doesn't become the 1st in the most recently used (MRU) list.
Example:
By default, suppose a scenario where I'm on Tab3. If I press ctrl-tab and get switched to Tab5, then it means if I do ctrl-tab again I'll get back to Tab3.
However, if I use workbench.action.openPreviousRecentlyUsedEditor, the sequence is different. I won't get back to Tab3 on the second time.
Steps to Reproduce:

Open several tabs, do ctrl-tab and let go, repeat ctrl-tab and let go. Repeat several times to observe the normal behavior (with a picker).
In keybinding.json, add in the bottom:

{
  "key": "ctrl+tab",
  "command": "workbench.action.openPreviousRecentlyUsedEditor"
},

Repeat steps in 1, see how the sequence is different. (For the desired behavior, try doing it in Sublime Text, that's the desired behavior of ctrl-tab without a picker. Also notice how they handle ctrl-tab-tab-tab, which behaves the same as the VSCode picker, which is also crucial when consider how to handle this bug. Basically in VSCode, both ctrl-tab, ctrl-tab, ctrl-tab and ctrl-tab-tab-tab should be consistent between "with a picker" and "without a picker").

Thanks!!

@ZYinMD I understand the desire but this is probably not easy for us to implement. To clarify: you want that - as long as the Ctrl+key is pressed and hold - pressing Tab cycles through all the recently opened editors. That means, if you reached the last recent editor and hit Tab it would go back to the first, is that true?
Or maybe I am misunderstanding and you ask for something else.
When invoking the commands to navigate without picker we essentially block any recording of MRU history. That is the same behaviour when using the "Go Back" and "Go Forward" commands. Otherwise you would end up navigating always between 2 editors.

Hi @bpasero , thanks for your reply! No that's not what I meant. Let me try to describe it again, reducing to the most simplified scenario:

Suppose I'm on editor#5 in a multi editor window.
In command palette, run View: Open Previous Recently Used Editor (workbench.action.openPreviousRecentlyUsedEditor)
Suppose I'm now on editor#3
Now If I repeat step 2 again, where should I expect to go to? In my opinion, I expect to go back to editor#5, but it's not the current behavior.

@ZYinMD I understand, but then this action would be limiting you to never go back more than 1 editor because the last one always becomes the active one? The idea of this command is to allow navigation in the entire stack, not just the last one.

Hm, maybe I understand your point: someone could not be understanding that this command works like a stack. So would you suggest that this command is always bringing you to the last editor that was used? I think we would need a different command for that purpose.

So a way how this could work: as long as the modifier key is pressed and hold (e.g. Ctrl), we would allow to navigate, but then when you release it, that editor becomes the active one.
As I said, this is technically hard for us to implement because we do not really have knowledge when all the keys have been released. Someone could have configured a keybinding that does not use modifiers at all.

So a way how this could work: as long as the modifier key is pressed and hold (e.g. Ctrl), we would allow to navigate, but then when you release it, that editor becomes the active one.

Yes, this was what I was hoping for. From a user's standpoint, I simply hope to use ctrl-tab without a picker - quick preview file content instead of looking at the picker. The reasoning is I'm looking for an editor that matches my visual memory, instead of a filename-match in the picker. What I described is the default behavior of Sublime Text.
I was hoping to achieve this by using the new workbench.action.openPreviousRecentlyUsedEditor, but if it's technically hard, then there are different approaches - if there's an option to enable "quick preview file content on ctrl-tab`, then problem solved.

So we do have https://github.com/microsoft/vscode/issues/8939 logged to support the preview thing.
I am fine leaving this open but would put it to backlog candidates and start that process.

I've been in search of this forever. This is how Sublime Text and Firefox handle tab switching and the important thing it allows it switching back and forth between two files extremely simply: just hit "ctrl+tab" and "ctrl+tab" again. In the current implementation, this is never possible.
Hopefully this video conveys the implementation (this is from Firefox):

In words it's this:

Key
MRU Stack after key

n/a
1,2,3

ctrl+tab
2,1,3

ctrl+tab
1,2,3

ctrl(hold)+tab+tab
3,1,2

ctrl+tab
1,3,2

@bwhitty to clarify, this kind of navigation is possible in VSCode and Ctrl+Tab is even assigned as default keybinding. What is not working is using this without a picker UI.

@bpasero it is? I swear I’ve searched and searched for this and never was able to achieve it. You say it’s possible, but should I reset my keybindings to default in order to achieve this? Or are you alluding to some other custom setup?

Yes please do.

Well, you've made my week. I had it overridden with "openPreviousEditor". Thank you for the extra effort and the random support here @bpasero.


Remove Microsoft Classoom link. Microsoft Classroom does not exist anymore.

Under "Get Minecraft: Education Edition" and then "Prerequisites" you refer to Microsoft Classroom. Please remove it.
This issue is transferred from https://github.com/MicrosoftDocs/feedback/issues/30

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8fe9707f-b9ca-382f-3183-307cc95fef55
Version Independent ID: 87247748-3614-d257-5d20-32439db6df96
Content: Get Minecraft Education Edition
Content Source: education/windows/get-minecraft-for-education.md
Service: unspecified
Product: w10
GitHub Login: @TrudyHa
Microsoft Alias: trudyha

@officedocsbot assign @mypil

@Powerhelmsman thank you for reaching out and helping improve MS docs.  I'll investigate and have it fixed soonest.

@Powerhelmsman - Thank you for submitting this feedback.
From our understanding, the issue has been resolved. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


Codecgen: regenerate sources for etcd/client

Major updates to ugorji/go changed the signature of some
methods, resulting in the build failing for etcd/client.
We regenerate the sources using codecgen to reflect on the
new changes.
Fixes #8573
Signed-off-by: Alexandre Beslic<EMAIL_ADDRESS>

@abronan Could you format your git commit title to client: regenerate ...? Thanks!

@gyuho Sure thing.
Also, any idea on why the build fails with semaphore? Not really familiar to it. Thanks!

lgtm. Defer to @heyitsanthony
Thanks!


Razor intellisense not finding types in referenced project that consumes a source generator

I have a model project which contains generated code, produced by a source-generator in a nuget package. I also have a blazor application which references this model project and uses its types. When using Visual Studio 17.7, that works fine in .cs files, but in .razor files there is no code completion for generated types and Go To Definition doesn't work. The project builds, but it's difficult to work on it productively.
https://github.com/gulbanana-bugs/repro-razor-intellisense is a repository demonstrating the issue. Steps to reproduce:

Open broken.sln and working.sln in Visual Studio.
Build the solutions; both should compile successfully.
Observe that in broken.sln, WebApp1/Pages/Index.razor doesn't know about the type IFoo. Pressing ctrl-. after typing "foo." does nothing, and go to definition on foo.Bar() doesn't work either.
These functions work in WebApp1/Pages/Index.razor.cs, as well as in working.sln's WebApp2/Pages/Index.razor and WebApp2/Pages/Index.razor.cs. The difference is that working.sln uses a <Reference> instead of a <ProjectReference> to ClassLib.

Broken .razor intellisense:

Working .cs intellisense:

@jasonmalinowski heads up, I haven't investigated this yet, but I suspect it will be coming your way as I cannot fathom how this could possibly be a Razor tooling issue 😁

Well this is interesting. If I type a . I can repro no completion with the supplied project. If I press Ctrl+J to invoke completion, after the . is already in the document, I get only IntelliCode completions. I find this very surprising, but adds weight to this being a Roslyn issue, surely.


Added lucas.json file

Added lucas.json file for name "Lucas" for #234

Tag me here when it's done and I'll merge this for you.


Enable autovectorization with SVML library

This patch fixes and extends SVML support in LLVM which enables autovectorization of transcendental math functions.
The patch is taken from https://reviews.llvm.org/D47188 almost as is without back-porting since it applies fine. Originally, it appeared in llvmlite repository here: https://github.com/numba/llvmlite/pull/326
Fixes https://github.com/conda-forge/llvmdev-feedstock/issues/36

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Can you bump build number?

Rebuilding llvmlite with PR ( https://github.com/conda-forge/llvmlite-feedstock/pull/7 ).


Start working on making type: "ladder" levels work in classroom

This is so we can add Ace of Coders to CS6, and eventually refactor the type: "course-ladder" arenas to use the new structure.
Currently it doesn't work, because if you play Ace of Coders from the classroom as a student, you arrive on:
/play/level/ace-of-coders?course=5817d673e85d1220db624ca4&course-instance=5afb10979bb5895ee2557c90
So the "Back to ladder" link in the top left is formatted like this:
/play/ladder/ace-of-coders/course/5afb10979bb5895ee2557c90
But then after playing again, you go to:
/play/level/ace-of-coders?team=humans&league=5afb10979bb5895ee2557c90
And then the "Back to ladder" link becomes:
/play/ladder/ace-of-coders/clan/5afb10979bb5895ee2557c90
–which is a 404, because it's trying to load a clan instead of a course instance.
Maybe we should be making most of these fixes on /play/ladder/:handle instead of /play/level/:handle?

actually this bug has a long time for course-ladder. when players play wakka-maul , go into play blue, go back, go into play blue, go back. they would go into a strange version of wakka-maul too. sometimes even global ladder :joy:
solved at the same time. good news


Add denseDataExtreme to divided tiles

Description

What was changed in this pull request?

Adds denseDataExtrema to divided tiles so that they don't blow up.

Why is it necessary?

Fixes #___
Checklist

[x] Set proper GitHub labels (e.g. v1.6+, ignore if you don't know)
[x] Unit tests added or updated
[o] Documentation added or updated
[o] Example(s) added or updated
[o] Update schema.json if there are changes to the viewconf JSON structure format
[o] Screenshot for visual changes (e.g. new tracks or UI changes)
[x] Updated CHANGELOG.md

Ah... I probably should have caught that earlier. Too bad the test didn't actually do anything and therefore did not complain.

Yeah, that's my fault for having a crappy test. But at least it was there and easy to update 🤷♂


Mikagami Sumika no Seifuku Katsudou [PCSG01193]

App summary

App name: 見鏡澄香の制服活動
App serial: PCSG01193
App version: 1.00

Vita3K summary

Version: v0.1.8
Build number: 3243
Commit hash: https://github.com/vita3k/vita3k/commit/9c6e9409
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary
Tested by: space1
OS: Windows 11
CPU: AMD Ryzen 5 3600
GPU: Nvidia 3070
RAM: 32 GB
Issues
Crash at intro.
Screenshots

Log
PCSG01193 - [見鏡澄香の制服活動].log
Recommended labels
Bootable

the recommended label is not bootable, just intro


Spawn rate not equal for soul vials

Creating soul vials is much less efficient than the spawning mode. Intended?

you can increase the spawning rate by adding either a Double-Layered or Octadic capacitor if you still think it's still too low you can change the spawning rate in the config
yeah i believe it's intended mainly so you can automate the production of Ender Crystals

I know I can, but from reading the code (and from experience) it will still be slower than using the powered spawner in "Spawn" mode.

Yes it's intended to be more expensive.


Scratchpad should be different on different connections

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
now(v0.7.14 version) diffenrent connections use one scratchpad.
usually i want to note diffenent sql and commands in diffenrent connections.
Describe alternatives you've considered
Additional context

You're not the first person to ask for a tool to save database-specific queries or commands, and I've been thinking about a solution for a while.
I think the best thing to do is to improve the scratchpad by adding a global tab (which would work as it does now) and a "per connection" tab where notes related to a connection are present, with also a dropdown to navigate between connections.
In addition to this I was thinking of a system that allows you to create different notes with labels such as queries, notes, todo, and more so that you can easily filter them.


Add rule and action to trigger tests which rely upon activation records

In order to support the removal of activation records for any trigger fires not attached to a rule, the tests which rely upon the presence of trigger activation records have been updated to create a simple hello action and a rule

@jasonpet will you give this a look?

@csantanapr fyi

@jasonpet could you review and let me know

LGTM

What's the intended change in behavior here? Side-effects of hello.js are not observable so tests till evaluate activation list, no?


DeepWritable

I'm not personally a fan of non immutable objects (asside from builders), however I have people whinging at me for enforcing it (which I will probably have to undo) but seems like it would be a good idea to be able to mass undo readonly.

Hey @xenoterracide!
It's already there – https://github.com/ts-essentials/ts-essentials/blob/master/lib/types.ts#L186-L204
Was done here – https://github.com/ts-essentials/ts-essentials/issues/13
It's mentioned in README – https://github.com/ts-essentials/ts-essentials#writable
Example in Playground – https://tsplay.dev/Nr46VW

Sorry, don't know how I missed this
On Tue, Aug 16, 2022, 8:27 AM Alexey Berezin @.***>
wrote:

Hey @xenoterracide https://github.com/xenoterracide!
It's already there –
https://github.com/ts-essentials/ts-essentials/blob/master/lib/types.ts#L186-L204
Was done here – #13
https://github.com/ts-essentials/ts-essentials/issues/13
It's mentioned in README –
https://github.com/ts-essentials/ts-essentials#writable
Example in Playground – https://tsplay.dev/Nr46VW
—
Reply to this email directly, view it on GitHub
https://github.com/ts-essentials/ts-essentials/issues/328#issuecomment-1216567630,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABLDN6SMC2EOY2YMDRECTVZOCJTANCNFSM56S3ZMFA
.
You are receiving this because you were mentioned.Message ID:
@.***>


export createState and getReducer

Why there are many changes for the trailing commas? I did not see the eslint config change in this PR. Didn't we have any rule to enforce everyone to be consistent?

This is cause by prettier version upgrade. We were using prettier's default config and prettier version 2 changed its default config

Why there are many changes for the trailing commas? I did not see the eslint config change in this PR. Didn't we have any rule to enforce everyone to be consistent?

This is cause by prettier version upgrade. We were using prettier's default config and prettier version 2 changed its default config

What is the motivation to upgrade prettier? Will that make us painful when we eventually fork the oss version and internal version and have some work on both sides?


Release v0.4.1 (Patch)

The following 1 GitHub releases will be created once this pull request got merged.
Release v0.4.1 with changes since v0.4.0

Release v0.4.1 (Patch) 4b0e973
Fix time graph filtering and collapsing 911d55b
Bump http-proxy-middleware from 2.0.6 to 2.0.7 61780be
Update README.md for publish latest / release 6c77683


Edits text to make directed changes for v10. Fixes #39.

See highlighted parts of https://docs.google.com/document/d/1LR2bdCJ-UtyBObomBUODFxBAasoajC4R3gJ7pXmlr2M/edit?usp=sharing.

These notes are awesome! Thanks for finding these.


Error:  Password required for user

Hi, there. We ran into an issue configuring two servers with replication. Our cluster is:

1 Shard
2 Replicas

Replication works from node 1 to node 2. However, it does not work from node 2 to node 1.  Our configuration is identical on both nodes with users, permissions, config, etc.
Here is the stack trace:
2017.03.20 17:28:09.615767 [ 3 ]  campaign_events.Distributed.DirectoryMonitor: Code: 194, e.displayText() = DB::Exception: Received from <IP_ADDRESS>:9000. DB::Exception: Password required for user user1. Stack trace:
0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x12bed96]
1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x107267f]
2. clickhouse-server(DB::Users::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>
, std::allocator<char> > const&, Poco::Net::IPAddress const&) const::{lambda()#1}::operator()() const+0x5d) [0x12917cd]
3. clickhouse-server(DB::Users::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>
, std::allocator<char> > const&, Poco::Net::IPAddress const&) const+0x2ac) [0x129496c]
4. clickhouse-server(DB::Context::setUser(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits
<char>, std::allocator<char> > const&, Poco::Net::SocketAddress const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x6c) [0x1286ccc]
5. clickhouse-server(DB::TCPHandler::receiveHello()+0x80e) [0x108428e]
6. clickhouse-server(DB::TCPHandler::runImpl()+0x1cc) [0x10872bc]
7. clickhouse-server(DB::TCPHandler::run()+0x2b) [0x1088d7b]
8. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x325573f]
9. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x13b) [0x325bb7b]
10. clickhouse-server(Poco::PooledThread::run()+0xb7) [0x34c7807]
11. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0xa5) [0x3493845]
12. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7facc0fd06ba]
13. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7facc05f182d]

The user has the same password configured on both servers the same way.
Any help is much appreciated!

Hi.
This is possible, if some data was inserted to Distributed table before password was specified in cluster configuration. The data inserted to Distributed tabl is written asynchronously - first it is written to filesystem on local server (look at data directory for table /path_to_clickhouse/data/db/table/), and then sent to remote server. Full address of remote server along with user name and password are encoded in directory name.
So, if you have written some data to Distributed table, when password was incorrect in cluster configuration, that incorrect password will be saved and used in subsequent tries to send the data.
Solution: manually rename directory inside /path_to_clickhouse/data/db/table/.

@alexey-milovidov  we have solved this a month ago by reinstalling everything, but still nice to know - thanks

Sorry for the delay.

@alexey-milovidov no need to be sorry, this is not a paid service :)

@ipolevoy, how to solve it? I met the same error.

This worked like a charm. I will also add that clickhouse-server needs to be restarted after manually renaming directories to include the password; otherwise, you'll see something like: Distributed.DirectoryMonitor: Poco::Exception. Code: 1000 File not found in the logs.


Adjust referral rewards based on formula

Current system
Referral rewards calculated based on current SEEDS price on seeds.exchange contract.
New system
Use the formula proposed on the attached spreadsheet to calculate rewards based on the current number of residents and citizens.

AmbassadorRewards.xlsx

I am trying to create these constants that Mark proposed on seeds.seettings , however the settings have to be integers, right? Should I multiply them by, say 10000, too on the settings and divide on the code?
Currently I was envisioning adding the following settings to make the formula compatible to what Mark proposed:
confwithdesc(name("refrwd1.degr"), 550 , "Referrer reward degradation constant for residents", high_impact); // was 0.055
confwithdesc(name("refrwd2.degr"), 850 , "Referrer reward degradation constant for citizens", high_impact); // was 0.085
confwithdesc(name("refrwd1.min"), 20, "Minimum referrer reward for residents", high_impact);
confwithdesc(name("refrwd2.min"), 30, "Minimum referrer reward for citizens", high_impact);
confwithdesc(name("refrwd1.tot"), 2000000, "Total residents rewarded", high_impact);
confwithdesc(name("refrwd2.tot"), 1000000, "Total citizens rewarded", high_impact);

Also if I am using solely the spreadsheet provided by Mark, I am not sure how this should affects Organization rewards. Also the current code affects all rewards equally, based on price, so having different curves for different types of reward will make the code more complex.
A simplification that would still meets Mark's goals, IMHO, would be to just add a single degradation constant (say 0.055) that degrades all rewards exponentially with that formula, having a general purpose minimum (say 10 SEEDS), and having a general total rewarded users (that takes the current user count, no matter if they are citizens or residents.
What do you think of this simplification, is it doable? @n13

NOTE: I adjusted the constants in my spreadsheet a little to make the refer.seeds pool last a little longer.  See new spreadsheet attached below if you want to look at the details.
For implementation, and ease of describing (in a chart) to the community, I believe we should use 3 constants for each of the two types of rewards.  These would be:
InitialReward:  (750 for Resident, and 1250 for Citizen)
MinimumReward: (20 for Resident, and 30 for Citizen)
DecayDenominator: (110,000 for Resident, and 75,000 for Citizen)
The reward is computed as follows (CurrentCounter is either current #Resident or current #Citizen):
Reward = MinimumReward + (InitialReward - MinimumReward) * exp( -CurrentCounter / DecayDenominator )
For Organization Rewards, I suggest the following.  Compute the reward per above, then give 80% of that number of Seeds to the Organization that sent the Invite, and 20% to the Ambassador that created the Organization.
AmbassadorRewards_v2.xlsx

AmbassadorRewards_v3.xlsx

Love it... @markflowfarm is the 80/20 split for ambassadors and orgs the same as before? I think that ratio needs to stay the same.

It was 80/20 split of the rewards to the Org and the Ambassador in the previous (when looking combined at Resident + Citizen reward), but strangely the breakdown was a little inconsistent between the Resident and the Citizen.

NOTE:  Remember, the CurrentCounter for #Resident needs to be the total number of all "makeresident" events since inception (some of whom have further evolved to Citizen).  Is this counter being maintained in accts.seeds?

Hey there, @markflowfarm, yes that info is securely stored in the histry.seeds contract, inside the citizen and resident tables.

I don't know what is stored in these two tables.  For instance, there are only 69 Citizens listed and 134 Residents.  So, this isn't right.  And.., I am in both tables, while Rieki is only in the Citizen table (not the Resident).  What am I not understanding?

I don't know what is stored in these two tables. For instance, there are only 69 Citizens listed and 134 Residents. So, this isn't right. And.., I am in both tables, while Rieki is only in the Citizen table (not the Resident). What am I not understanding?

If I recall correctly, some genesis users are converted directly to citizens without ever being residents (maybe Rieki fits in this case?) @n13 can you help with this?


There is something wrong with the checkpoint downloading page.

Excuse me, the checkpoint cannot be downloaded because of the webpage error. Please check it out if possible. Thank you!

I'll check this. I'm trying to generate a permanent link but it may go wrong.

https://1drv.ms/u/s!AtYZWFVkmRdwnEDF5XGtfLVzgLsH?e=44fqcD
You can use this link at the moment. But it is for temporary use.

https://1drv.ms/u/s!AtYZWFVkmRdwnEDF5XGtfLVzgLsH?e=44fqcD You can use this link at the moment. But it is for temporary use.

Thank you so much~

I have updated a google drive link. I think it should be permanent.


formParams and fileUploads doesn't have any effect

I have the following definition:
@OpenApi(
            path = "/api/v1.0/sendImage",
            methods = HttpMethod.POST,
            summary = "Sends an image to MQTT",
            security = @OpenApiSecurity(name = "basicAuth"),
            formParams = {
                    @OpenApiFormParam(name = "topic", required = true),
            },
            fileUploads = {
                    @OpenApiFileUpload(name = "image")
            }
    )
    public void sendImageToMyTopic(@NotNull Context ctx) throws Exception {
      ...
    }

but openApi JSON doesn't include any fields and I can't invoke my endpoint via swagger UI.
This is the JSON I get for this endpoint:
...
  "/api/v1.0/sendImage": {
    "post": {
      "tags": [],
      "summary": "Sends an image to MQTT",
      "parameters": [],
      "responses": {},
      "deprecated": false,
      "security": [
        {
          "basicAuth": []
        }
      ]
    }
}

I'll try to take a look on that tomorrow :)

Sorry, I was on vacation and totally I've totally forgot about this. Looks like I didn't implement those properties in generator at all!

Oops looks like I've implemented it for OpenApi 2.0, not 3.0.

Regardless OpenApi 3.0 specification, upload files are a part of requestBody now and there are some variants to configure them:

https://swagger.io/docs/specification/describing-request-body/file-upload

Because of that I decided to make some breaking changes and move its declaration to requestBody as well. Here's the example from JavalinTest class:
requestBody = @OpenApiRequestBody(
        content = {
                @OpenApiContent(from = String.class), // simple type
                @OpenApiContent(from = EntityDto[].class), // array
                @OpenApiContent(from = LombokEntity.class), // lombok
                @OpenApiContent(mimeType = "image/png", type = "string", format = "base64"), // single file upload,
                @OpenApiContent(mimeType = "multipart/form-data", properties = {
                        @OpenApiContentProperty(name = "form-element", type = "integer"), // random element in form-data
                        @OpenApiContentProperty(name = "file-name", isArray = true, type = "string", format = "base64") // multi-file upload
                })
        }
),

results in:
"requestBody" : {
  "content" : {
    "text/plain" : {
      "schema" : {
        "type" : "string"
      }
    },
    "application/json" : {
      "schema" : {
        "$ref" : "#/components/schemas/LombokEntity"
      }
    },
    "image/png" : {
      "schema" : {
        "type" : "string",
        "format" : "base64"
      }
    },
    "multipart/form-data" : {
      "schema" : {
        "type" : "object",
        "properties" : {
          "form-element" : {
            "type" : "integer"
          },
          "file-name" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "base64"
            }
          }
        }
      }
    }
  },
  "required" : false
},

As always, snapshot version with those changes is already in repo :)


Added external link functionality in bootstrap/tabs

Usecase is if content should not be loaded inline by Ajax because of:

content is on different route
content cannot (correctly) be loaded by inline ajax

Would be great to get additional unit tests for this case.

of course. I'll add them.

Any idea when this'll make it into a release?

it is tagged for release 2.0.4

Yeah, I saw that :) … I guess I phrased my question poorly, sorry about that. I was looking for this I suppose, i.e. an estimate when it'll be released.

yeah right, 2.0.4 will be on May 3, 2015

@dynasource, can you please resubmit this PR up to yii2-bootstrap repo?

https://github.com/yiisoft/yii2-bootstrap/commit/554c3ccf04ee0c5ae699615d2866d8a6826d1ffb
Thanks!

Is it intended that the newly added url parameter is only available for top level items and not in dropdown items?

it could be added to tabs also but this has to be implemented differently then. Can you please open a separate issue?


Design to replace vertical tabs on widgets page

We are going to have a couple of new examples in the widgets gallery soon

the matplotlib widget (jupyter-matplolib)
nglview
probably the molecular design toolkit.

The current vertical tabs are not great from the user experience's perspective.
Besides, for the widgets to benefit from the resize events, we should probably use a phosphor panel instead of pure css layout.
cc @jasongrout

@ellisonbg @cameronoelsen
Since it will become a requirement for us to start using a phosphor widget in place of the current tabs for the widgets gallery, it could be really interesting work on design ideas for such a gallery.
Besides bqplot, pythreejs, ipyleaflet, we will also probably have items with nglview and the autodesk molecular design toolkit, and then ipympl when matplotlib 2.0 is released. I was thinking of a form of carousel with a small image for each library and then a classical document layout for each widget.

@SylvainCorlay Where do we stand with this? I can help out on this page if we wanted to start iterating!

Since this ticket has been inactive for four years, I'm going to close as stale. If you'd like to continue the discussion, feel free to chime in.


Creation of Windows installers needs a nsis version (makensis) that supports Unicode, and the current version in Ubuntu Trusty doesn't.

As a result, windows installers cannot be created.
So either we remove unicode characters from the Windows version names etc, or we use a nsis version that supports unicode.

@cevap: see here: http://nsis.sourceforge.net/Docs/Chapter1.html#intro-unicode

nsis 3.01 can be compiled on all platforms as follows:
wget https://sourceforge.net/projects/nsis/files/NSIS%203/3.01/nsis-3.01.zip
wget https://sourceforge.net/projects/nsis/files/NSIS%203/3.01/nsis-3.01-src.tar.bz2
unzip nsis-3.01.zip
tar xf nsis-3.01-src.tar.bz2
cd nsis-3.01-src
scons UNICODE=yes SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no PREFIX=../nsis-3.0.1/Bin install-compiler

Note that a normal compile requires zlib dlls and other exotic elements.
For more info on these build commands, see the (nsis installation manual)[https://sourceforge.net/p/nsis/code/HEAD/tree/NSIS/trunk/INSTALL]

Note that nsis 3.01 can handle unicode, while 2.xx versions cannot handle unicode.

nsis needs windows 32 bit dev deps. Until we replace nsis with something better, the following packages are
needed to compile the windows installer:
g++-mingw-w64-i686
mingw-w64-i686-dev

We will replace it.
More professional solution would be with wix tools, as then we could build MSI builds.
I would preffer on other side to use 7zip.
You can create installers with 7zip and config file. Some of its advantages:

It iis very ease and we have everything required.
It works in all WinOS's
It does not produce junk files for windows (like msi and other installers)
Can be signed too as well as silently installed.
We can add simple batch scripts as well as wget
In worst case, user can be asked in a batch if he wants do download bootstrap.dat
Best commpression possible
🐼 Supports Unicode 🐼
Here is one example:

If we have MSI, we can silently install/pack with bootstrap.dat:
;!@Install@!UTF-8!
Title="Installation of 🗺Ion Core 👛 <IP_ADDRESS> CE © - 👒 master 👒"
SetEnvironment="strInstall=hidcon:ioncore-v<IP_ADDRESS>.msi /qn"
RunProgram="%strInstall%"
;!@InstallEnd@!

This would be preferable method by me, with/withot GUI:
;!@Install@!UTF-8!
BeginPrompt="This will install the 🗺Ion Core 👛 <IP_ADDRESS> CE © - 👒 master 👒 with the bootstrap.dat file as welll as a Control Panel applet. Existing wallet.dat/chain will be backed up. Do you want to Continue?"
ExtractTitle="🗺Ion Core 👛 <IP_ADDRESS> CE © - 👒 master 👒"
RunProgram="install.cmd"
AutoInstall="install.cmd"
GUIMode="0"
;!@InstallEnd@!

Just nit picking a small comment, I don't think we should be packaging bootstrap.dat with an install


Volume control missing

The volume of alarms is always 100%. Any change will not be saved.
I tried adding a .reg in \LowRegistry\Audio\ for AlphaPlayer.exe. But that did not solve the problem.
System info.:
OS: Windows 10 Pro (x64 bit)
Version: 1903
Build: 18362.388

I can see
"Volume = 1.0f"
in lines 17 & 32 in
"Automatic-School-Bell/AudioPlayer/MainWindow.xaml.cs"
Does removing this line solve the problem?

Hi, may you please update the app and fix this issue? I am helping my school upgrade the bell system. Thanks!