Is there any way to set homepage outside of package.json?

I'm not familiar enough with npm or any part of the build to be certain that there isn't a way to already, but I can't find documentation for it if it is possible.
Basically, I want to be able to configure homepage in a file not under source control (or passed as a cli argument or environment variable or what have you) so that if somebody forks the project they aren't needing to use my homepage and aren't getting conflicts if they're keeping up with active development.
Thanks!

This is not currently supported. Why would they get conflicts though? If it’s a single line change they should be able to merge any other changes without conflicts (unless you will change your URL again).

I guess I mean if they intend to merge updates back into my repo then they have to revert their homepage change, get it merged into mine, then change their homepage back.  If all changes are from me to them then yeah there's no issue but if they're proposing changes in my direction hopefully you see where I'm coming from.

Why do you need to change the homepage for development? I think homepage is for production build. Don't see why it should / would be changed with every developer who collaborating because we serve the development build on localhost:3000 or anything based on your current HOST and PORT env variable

In our case we are deploying to github pages outside of an organization, so it doesn't make sense for my bud's repo to deploy to my pages.  I understand that it obviously fits in an organization type setup where there's a clear, single homepage for the project, but that's just not how we were planning to use it at the moment.
I understand if you don't see my use case as worth supporting, or if you want to say we should have a more typical workflow.  There are certainly workarounds to it as well, we can always just swap the homepage back on branches that are agreed to be merged.  I just thought there's probably a way to do it that's less hacky (or doesn't require ejecting) but clearly you can just propose that create-react-app isn't meant to be super flexible, it's meant to have sensible defaults.

I'm looking for a similar capability for a different use case: in our "versioned" production environment, the homepage value requires a version number appended to the end of it. E.g.: "/extensions/myapp-1.2.3" for a React app named "myapp".  I would like a method to set this value either from a file (like .env) or from an environment variable.
[Additional details: my React apps are essentially controlled "plug-ins" that are loaded via a dynamically generated  in the main app.  We are currently doing this "the hard way" - loading babel.js, react.js, etc. and transpiling in the browser, which has many performance and functionality limitations such as difficulty using any 3rd-party react/js libraries.  I would like to switch to CRA-based development, but I'm having issues merging this into our build and deployment processes.
I am also looking for the same capability for the package.json "version" variable, but that may be a topic for a different discussion...]

I think #937 might solve this.

Hi there! react-scripts v0.9.0 was just released which adds support for specifying a url. You may read how to configure it here.
Please test it and don't hesitate to reach out if this doesn't solve your specific use case!


Optional typing in GDScript: Allow return "void" from void functions

Godot version:
Godot 3.1.alpha
Issue description:
Suggestion: It would be nice to be able to return void functions from gdscript like in C
func set_state(state) -> void:
    state = new_state

func state_walk() -> void:
    if input_running:
        return set_state(PlayerState.run)

func state_run() -> void:
    if not input_running:
        return set_state(PlayerState.walk)

instead of
func set_state(state) -> void:
    state = new_state

func state_walk() -> void:
    if input_running:
        set_state(PlayerState.run)
        return

func state_run() -> void:
    if not input_running:
        set_state(PlayerState.walk)
        return

Optional typing: https://github.com/godotengine/godot/issues/10630

Could also be an explicit way to request TCO

Tail-call optimization

I mean for the case where you want TCO when the function you are calling doesn't return anything.

For implicit TCO if it's in tail call position regardless then it wouldn't matter anyway.  If you want explicit TCO then you'd have a new keyword in any case.

I think that they're trying to to avoid an extra line.

One reason you might need it is if you are calling a function that you don't know in advance, like if it is passed into the function.

I find this confusing. What's the point of return something if you aren't returning anything? If I see such statement I assume it's a programmer's mistake who forgot the function was declared void.

return can be used to bounce execution out of a scope early to.. for example guard an invariant, even if the function is intended to return no value
    if health < thing:
        return
    do_thing()

@ShawnMcCool return without an argument should already work in functions with a void return type. What won't work is return with an argument (even null).

@ShawnMcCool return without an argument should already work in functions with a void return type. What won't work is return with an argument (even null).

Right. I must have made a mistake before searching out this thread. Thanks.

One reason you might need it is if you are calling a function that you don't know in advance, like if it is passed into the function.

I still don't get it. 1) How you don't know the function you're calling? (even if passed as an argument, you should have an idea). 2) If you may return something, then don't declare your function as void.
For me the only purpose for this is saving one line, which I find pointless. Especially since it might cover up a legitimate mistake from the programmer.
We also have to consider that if you do something like the following:
func return_something():
    return 1

func void_func() -> void:
    return return_something()

The compiler would have to add an extra check to see if the function being called return something or not, so to not allow you to actually return a value from a void function.

I was thinking of something like:
func print_and_call_with_42(f):
  print("Blah")
  return f.call_func(42)

func do_a_thing(n) -> void:
  print(n + 5)

# Usage
print_and_call_with_42(funcref(self, "do_a_thing"))

Don't know if this kind of thing is already possible. Would be even more useful to be able to store the result like
func call_timed(f):
  time = ... # Get the current time
  result = f.call_func(r)
  elapsed = ... # Get the time elapsed
  print("Time elapsed:", elapsed)
  return result

func do_a_thing(n) -> void:
  for i in range(1000000):
    pass # Something very expensive

# Usage
call_timed(funcref(self, "do_a_thing"))

Could use it for other things too, like temporarily changing some global state while a function is called.

@raymoo this is already possible and valid. The problem would be if you had declared call_timed() to be void, because inside of it you call return result, which wouldn't make sense in a void function.

To clarify, this is not an issue to me:
func void_func() -> void:
    return

func return_void_func():
    return void_func()

Even if void_func() returns nothing, it's still okay to use the result (which is always null). Though it could trigger a warning.
What I don't understand is this:
func void_func_a() -> void:
    return

func void_func_b() -> void:
    return void_func_a()

Because in this case if void_func_a() is changed to return something, then void_func_b() will also be returning something, even though it was declared as void. I would consider it a bug, that's why I don't want to allow it.

Because in this case if void_func_a() is changed to return something, then void_func_b() will also be returning something, even though it was declared as void. I would consider it a bug, that's why I don't want to allow it.

If void_func_a was changed to return non-void, then should void_func_b trying to return void fail the type check on the return void_func_a() line?

If void_func_a was changed to return non-void, then should void_func_b trying to return void fail the type check on the return void_func_a() line?

Yes, but note that such check does not exist yet, currently it simply doesn't allow anything after return if the current function is declared as void. I don't really feel the need to add this check just for saving one line break in the code.

In the future it might be useful if we wanted a feature that would allow the return type of call_timed to match the return type of the input function.

In the future it might be useful if we wanted a feature that would allow the return type of call_timed to match the return type of the input function.

I don't see how this is related to the original request.

It's not, sorry. My original confusion has already been cleared up.

This feature request doesn't make any sense to me. Why would you want to pass anything into a return in a void function, and why would you want to use a void function as a value?

Implemented by https://github.com/godotengine/godot/pull/72206, removing "archived".


Cannot load base onnx model in ArmNN for Linux in C++

I am trying to create a C++ standalone app based on ArmNN that operates on ONNX models. To start with I have downloaded a few standard models for testing, and while trying to load the model I see a crash saying "Tensor numDimensions must be greater than 0".
The strange thing is, the function that I am invoking to load the model takes just one parameter which is the model name. There is no place for me to specify the dimensions and whatnot. Probably I am doing something wrong here? Or this is not the way to load the model?
I have compiled armnn with support for ONNX as detailed down here. The build and include folders have been copied to a ARM linux machine where I am trying to run the code. I am using a Makefile to compile and run it.
The model I am currently using is download from here.
Initially I was on ArmNN master branch, and while searching for this error message I came across the ArmNN release notes where it was mentioned that the very same error has been fixed in release 19.05. So I switched to tag v19.05 and rebuild everything from scratch and tried to run the application again, but the same error kept popping up.
Here is the C++ code -
#include "armnn/ArmNN.hpp"
#include "armnn/Exceptions.hpp"
#include "armnn/Tensor.hpp"
#include "armnn/INetwork.hpp"
#include "armnnOnnxParser/IOnnxParser.hpp"

int main(int argc, char** argv)
{
    armnnOnnxParser::IOnnxParserPtr parser = armnnOnnxParser::IOnnxParser::Create();
    std::cout << "\nmodel load start";
    armnn::INetworkPtr network = parser->CreateNetworkFromBinaryFile("model.onnx");
    std::cout << "\nmodel load end";

    std::cout << "\nmain end";
    return 0;
}

The Makefile looks like this -
ARMNN_LIB = /home/root/Rahul/armnn_onnx/build
ARMNN_INC = /home/root/Rahul/armnn_onnx/include

all: onnx_test

onnx_test: onnx_test.cpp
        g++ -O3 -std=c++14 -I$(ARMNN_INC) onnx_test.cpp -I.-I/usr/include -L/usr/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui  -o onnx_test -L$(ARMNN_LIB) -larmnn -lpthread -larmnnOnnxParser

clean:
        -rm -f onnx_test

test: onnx_test
        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(ARMNN_LIB) ./onnx_test

Expected output - The code should load the model as expected and do a clean exit.
Actual error message -
terminate called after throwing an instance of 'armnn::InvalidArgumentException'
  what():  Tensor numDimensions must be greater than 0
model load startAborted (core dumped)

A gdb backtrace is provided below -
(gdb) r
Starting program: /home/root/Rahul/sample_onnx/onnx_test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

terminate called after throwing an instance of 'armnn::InvalidArgumentException'
  what():  Tensor numDimensions must be greater than 0
model load start
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/raise.c:51
51	}
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/raise.c:51
#1  0x0000ffffbe97ff00 in __GI_abort () at /usr/src/debug/glibc/2.26-r0/git/stdlib/abort.c:90
#2  0x0000ffffbec0c0f8 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3  0x0000ffffbec09afc in ?? () from /usr/lib/libstdc++.so.6
#4  0x0000ffffbec09b50 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x0000ffffbec09e20 in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x0000ffffbefdad84 in armnn::TensorShape::TensorShape(unsigned int, unsigned int const*) () from /home/root/Rahul/armnn_onnx/build/libarmnn.so
#7  0x0000ffffbed454d8 in armnnOnnxParser::(anonymous namespace)::ToTensorInfo(onnx::ValueInfoProto const&) [clone .constprop.493] () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#8  0x0000ffffbed46080 in armnnOnnxParser::OnnxParser::SetupInfo(google::protobuf::RepeatedPtrField<onnx::ValueInfoProto> const*) () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#9  0x0000ffffbed461ac in armnnOnnxParser::OnnxParser::LoadGraph() () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#10 0x0000ffffbed46760 in armnnOnnxParser::OnnxParser::CreateNetworkFromModel(onnx::ModelProto&) () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#11 0x0000ffffbed469b0 in armnnOnnxParser::OnnxParser::CreateNetworkFromBinaryFile(char const*) () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#12 0x0000000000400a48 in main ()

Hi,
I managed to get past the tensor with 0 dimensions, but now parsing fails due to encountering an unsupported data type in a Constant tensor:
terminate called after throwing an instance of 'armnn::ParseException'
  what():  Datatype INT64 is not valid for tensor '' of node 'Constant_339', not in {onnx::TensorProto::FLOAT}.  at function ParseConstant

It seems that this model contains features that are not supported by our OnnxParser -- or even Arm NN. INT64 tensors are not supported at all in Arm NN and the OnnxParser is able to parse only the layers listed in armnnOnnxParser/OnnxSupport.md. At a quick glance I can see at least a few layers in the model that the OnnxParser will not be able to parse.

Hi,
I managed to get past the tensor with 0 dimensions, but now parsing fails due to encountering an unsupported data type in a Constant tensor:
terminate called after throwing an instance of 'armnn::ParseException'
  what():  Datatype INT64 is not valid for tensor '' of node 'Constant_339', not in {onnx::TensorProto::FLOAT}.  at function ParseConstant

It seems that this model contains features that are not supported by our ONNX parser -- or even Arm NN. INT64 tensors are not supported at all in Arm NN and the ONNX parser is able to parse only the layers listed in armnnOnnxParser/OnnxSupport.md. At a quick glance, I can see at least a few layers in the model that the OnnxParser will not be able to parse.

Hey @arovir01
Can you tell me how you got past the 0 dimensions issue? My actual usecase depends on a different onnx model, not necessarily the one I have shared here. I might give it a quick try and see if the inference runs through without crashing.

I caught the exception in OnnxParser::SetupInfo() and simply ignored that specific tensor. All this does, however, is prevent the parser from crashing, you will not end up with a functional Arm NN network.

So, is this an issue with the model? Or is there some bug in the onnxparser itself?
Just to be sure, are you able to load any other onnx model with the above code snippet?

There is surely an issue with the model -- it contains unsupported layers and features.
There might be a bug in the ONNX parser as well, but it will need some investigation to figure out whether this is the case.
The code snippet looks fine, but I actually tried running your network through the ArmnnConverter tool -- which does the same parsing as your code.

I have put a try-catch block around the logic inside OnnxParser::SetupInfo, which looks something like this -
643 void OnnxParser::SetupInfo(const google::protobuf::RepeatedPtrField<onnx::ValueInfoProto >* list)
 644 {
 645     for (auto tensor : *list)
 646     {
 647         try {
 648             m_TensorsInfo[tensor.name()] = OnnxTensor();
 649             m_TensorsInfo[tensor.name()].m_info = std::make_unique<TensorInfo>(ToTensorInfo(tensor));
 650             m_TensorsInfo[tensor.name()].m_dtype =
 651                 static_cast<onnx::TensorProto::DataType>(tensor.type().tensor_type().elem_type());
 652         } catch (std::exception ex) {
 653             std::cout << ex.what();
 654         }
 655     }
 656 }

With this I am getting a similar INT64 error -
terminate called after throwing an instance of 'armnn::ParseException'
  what():  Datatype INT64 is not valid for tensor '' of node 'Constant_339', not in {onnx::TensorProto::FLOAT}.  at function ParseConstant [/home/rahul.c/armnn-devenv/armnn/src/armnnOnnxParser/OnnxParser.cpp:871]
model load startstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionmake: *** [Makefile:13: test] Aborted (core dumped)

with the following gdb trace -
(gdb) r
Starting program: /home/root/Rahul/sample_onnx/onnx_test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

terminate called after throwing an instance of 'armnn::ParseException'
  what():  Datatype INT64 is not valid for tensor '' of node 'Constant_339', not in {onnx::TensorProto::FLOAT}.  at function ParseConstant [/home/rahul.c/armnn-devenv/armnn/src/armnnOnnxParser/OnnxParser.cpp:871]
model load startstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exceptionstd::exception
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/raise.c:51
51	}
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/raise.c:51
#1  0x0000ffffbe97ff00 in __GI_abort () at /usr/src/debug/glibc/2.26-r0/git/stdlib/abort.c:90
#2  0x0000ffffbec0c0f8 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3  0x0000ffffbec09afc in ?? () from /usr/lib/libstdc++.so.6
#4  0x0000ffffbec09b50 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x0000ffffbec09e20 in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x0000ffffbed46a0c in armnnOnnxParser::OnnxParser::CreateNetworkFromModel(onnx::ModelProto&) () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#7  0x0000ffffbed46b50 in armnnOnnxParser::OnnxParser::CreateNetworkFromBinaryFile(char const*) () from /home/root/Rahul/armnn_onnx/build/libarmnnOnnxParser.so
#8  0x0000000000400a48 in main ()
(gdb)

Based on your previous comments I am assuming that my model has INT64 tensors that are currently unsupported by ArmNN ? If that is the case, do we have any workaround whatsoever, other than maybe using a different model?
Also, is there a possibility of enabling support for INT64 anytime down the line?

Hi @rahulc93,
We still don't have support for INT64. Avoiding that operator would require some model specific optimization. I'm afraid you're on your own with that.
Colm.


Update style.js

build project support windows

Description

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Enhancement (changes that improvement of current feature or performance)
[ ] Refactoring (changes that neither fixes a bug nor adds a feature)
[ ] Test Case (changes that add missing tests or correct existing tests)
[ ] Code style optimization (changes that do not affect the meaning of the code)
[ ] Docs (changes that only update documentation)
[ ] Chore (changes that don't modify src or test files)

Self Check before Merge

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

Pull Request Test Coverage Report for Build 160084102

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.323%

Totals

Change from base Build 150970256:
0.0%

Covered Lines:
2337

Relevant Lines:
5105

💛  - Coveralls


Graph Padding is not working when we enable showLabel

Describe the bug
Graph padding has been fixed in https://github.com/cerner/carbon-graphs/issues/207. But it is not working as expected when we enable showLabel. The canvas will have additional padding even though there is no x-axis label present.
Link to CodeSandbox
Use this template to reproduce the behaviour.
**Expected behaviour **
The graph should have padding as specified in the issue: https://github.com/cerner/carbon-graphs/issues/207.
Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]

Additional context
In carbon-graphs, there is a condition of checking showLabel and x-axis, before deciding on the height of canvas. I think we should also consider if we have the label for x-axis as well.

@JananiGunasekaran  Can you take a look at this?

@Veera81 Yes i will look into this.

@mraplumb, @ryanthemanuel, @Veera81 I have raised PR for this issue : https://github.com/cerner/carbon-graphs/pull/280. Please review.

:tada: This issue has been resolved in version 2.11.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: fmt

Issue being fixed or feature implemented
Seems like we had merged without a fmt, this should fix things.
What was done?

How Has This Been Tested?

Breaking Changes

Checklist:

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
[ ] I have made corresponding changes to the documentation if needed

For repository code-owners and collaborators only

[ ] I have assigned this pull request to a milestone

Will merge this one in without other developers' review, as it is just autogenerated.


Revert "Revert "Revert "Search suffix tree implementation"""

Reverts Expensify/App#51332
$ https://github.com/Expensify/App/issues/51584

Confirmed here that the revert should fix the linked deploy blocker

Straight revert

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@jasperhuangg when testing the adhoc build i can still reproduce the issue (video is a bit long but you can see that i actually test the build from this PR and can reproduce the crash):
https://github.com/user-attachments/assets/daf06634-dadb-4e04-9fb6-2cf0914464d2
The code of the search PR is never invoked in this testing flow so its not related.


Space and project create commands should generate names if none was provided

Currently the name argument is required for both ockam space create and ockam project create. This should be changed to be optional and generate a random UUID name if none was provided.

Hi @spacekookie , can you reproduce ockam space create scenario ?
I try to  test ockam space create but the error occurs No such node available.  Run 'ockam node list' to list available nodes.


Typo in Data Analysis - Medical Data Visualizer

Describe your problem and how to reproduce it:
In the below comment, 'cholestorol' should be spelt 'cholesterol'
Normalize data by making 0 always good and 1 always bad. If the value of 'cholestorol' or 'gluc' is 1, make the value 0. If the value is more than 1, make the value 1.
Add a Link to the page with the problem:
https://github.com/freeCodeCamp/boilerplate-medical-data-visualizer/blob/master/medical_data_visualizer.py

Hey @SparksCode,
Thank you for making an issue on this. This should be pretty easy to fix so I am adding the first timers only label.

Can I take this up @Sembauke

Can I take this up @Sembauke

Happy to see you want to contribute to the repository. But this issue is only available for people that haven't contributed before (because it has the first timers only label). You can contribute to any issue with the "help wanted" label.

Ohh. Thank you. I didn't know "first timers only" really meant that literally

Hey @SparksCode,
Thank you for making an issue on this. This should be pretty easy to fix so I am adding the first timers only label.

I would like to contribute can you guide me

I would like to contribute can you guide me

Hey, @Hypermona we have a pretty good documentation that can guide you through this.
If you need any additional help. Let me know.

I would like to contribute can you guide me

Hey, @Hypermona we have a pretty good documentation that can guide you through this.
If you need any additional help. Let me know.

I have committed the 2 changes

I have committed the 2 changes

Great now you can open a pull request so we can review your contribution.

I have committed the 2 changes

Great now you can open a pull request so we can review your contribution.

https://github.com/freeCodeCamp/boilerplate-medical-data-visualizer/pull/10#issue-617098650


DDT-17-unofficial-APIs

Relates to DDT-17-unofficial-APIs in OVS

The CarrierRepo is moved to Event-Core to allow for use in VesselServiceImp
Carrier attribute is populated

Apart from my comment above this LGTM


How does the user close the popup on a marker?

There is on "X" on the marker popup.  When the user clicks on a marker, the popup displays the data I want, but since there are many markers in the vicinity, the popup does not allow the user to click on the other markers and there is no way to close the popup.
Without popup:

With popup, I can't click on the marker behind the popup:

which browser / os is this on ? which version of the worldmap node ? there should be a close button...

Hi,
Chrome:

Worldmap:

Also, the popup is a custom one I passed in using the "popup" tag:

Sorry, forgot to ask... is there a way to control the size of the icon used in the marker?

separate question - but yes if you use the fa-icons on their own - you can specify the icon like
"fa-bug fa-2x fa-rotate-90"
for example to set the size and rotation

fix pushed as version 1.5.24


feat(pinned-works): pin api

add  togglePinWork resolver
add pinnedWorks resolver
some refactors

https://github.com/thematters/matters-server/pull/3448   replacement PR


feat: locate ui5 controls via id regex

this PR adds the possibility to locate controls via a regular expression in the "id" selector
minor:

test restructurings
kick in prettier on save

Hi @vobu did sone fixes, please check them and if you agree you can merge ;)


updated to support PHP 7.1

Hi emanualet,
This Ansible module supports ubuntu-16.04: xenial. See: https://galaxy.ansible.com/TvL2386/php7-newrelic/
Please correct me if I'm wrong, but I think your change breaks support for ubuntu-16.04. There is no /etc/php7.1 directory nor is there a php7.1 version in the default repositories.
Could you please tell my why merging your PR would be a good idea?
Kind regards,
TvL2386


Breadcrumbs not rendering in Blazor .NET 8

Followed the instructions in the README as usual. But in the new Blazor web apps in .NET 8 the breadcrumbs dont render.

When using a new Blazor web apps template in .NET 8 it just doesnt render.

In a different project Im currently working on (also in Blazor .NET 8) the IBreadcrumbService is null when calling in OnAfterRender().

I have not tested this with the new .NET 8, so I can't give you a solution right now.
I need to look into that myself. Sadly, I don't have a lot of time right now. With all the changes in .NET 8, especially with SSR, I can imagine that some stuff will break.
I hope I get some hours this weekend, but I can't promise anything.

No problem at all and even expected. Blazor .NET 8 is really new.
This issue is just to put attention to it, and keep all related issues contained.


Build issues

I think all the code is in place and well, and I'm ready for a new release, but good ol' gradle doesn't like this idea much.
Look's like it's counting in AE2s dependencies or something.
FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Could not resolve api:rf:2.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/api/rf/2/rf-2.pom'. Received status code 403 from server: Forbidden
> Could not resolve appeng:RotaryCraft:V5c.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/appeng/RotaryCraft/V5c/RotaryCraft-V5c.pom'. Received status code 403 from server: Forbidden
> Could not resolve api:mfr:1.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/api/mfr/1/mfr-1.pom'. Received status code 403 from server: Forbidden
> Could not resolve api:railcraft:1.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/api/railcraft/1/railcraft-1.pom'. Received status code 403 from server: Forbidden
> Could not resolve appeng:mekanism:1.7.10-<IP_ADDRESS>.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/appeng/mekanism/1.7.10-<IP_ADDRESS>/mekanism-1.7.10-<IP_ADDRESS>.pom'. Received status code 403 from server: Forbidden
> Could not resolve api:immibis:1.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/api/immibis/1/immibis-1.pom'. Received status code 403 from server: Forbidden
> Could not resolve api:coloredlightscore:1.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not GET 'https://libraries.minecraft.net/api/coloredlightscore/1/coloredlightscore-1.pom'. Received status code 403 from server: Forbidden
> Could not resolve net.mcft.copy.betterstorage:BetterStorage:1.7.10-<IP_ADDRESS>.20.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not GET 'https://libraries.minecraft.net/net/mcft/copy/betterstorage/BetterStorage/1.7.10-<IP_ADDRESS>.20/BetterStorage-1.7.10-<IP_ADDRESS>.20.pom'. Received status code 403 from server: Forbidden
> Could not resolve api:craftguide:1.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/api/craftguide/1/craftguide-1.pom'. Received status code 403 from server: Forbidden
> Could not resolve api:rblocks:1.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/api/rblocks/1/rblocks-1.pom'. Received status code 403 from server: Forbidden
> Could not resolve inventorytweaks:InventoryTweaks:1.59-dev-3.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not GET 'https://libraries.minecraft.net/inventorytweaks/InventoryTweaks/1.59-dev-3/InventoryTweaks-1.59-dev-3.pom'. Received status code 403 from server: Forbidden
> Could not resolve appeng:Waila:1.5.10_1.7.10.
  Required by:
      com.shedar.IC2NuclearControl:forge-1:2.2.5a-GoingForTheKill > appeng:appliedenergistics2:rv2-beta-33
   > Could not HEAD 'https://libraries.minecraft.net/appeng/Waila/1.5.10_1.7.10/Waila-1.5.10_1.7.10.pom'. Received status code 403 from server: Forbidden

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

I think I made a mistake trying to compile against the dev build. Try using the release one.

Fixed by putting the file into the lib folder. This seems to be an error on AE's side, as it has been reported by them before. Once fixed, please remove the file and switch to all gradle


[Feature] Ability to make the entire Note the answer

First off all, incredible plugin so far!
My personal system is to take atomic notes, as such I'm requesting a way of setting the file name as the "Question" and have the rest of the notes as the "Answer"
The current system requires me to restructure notes to make the First Heading into a question but this can be difficult depending on the structure of the notes.
Thanks!

There is another option to consider the first heading as a topic that needs to be explained. Then the headline does not need to be turned into a question.

@asukhodko sorry maybe I'm misunderstanding something, isn't what you are describing the current behavior? It uses the first heading as a question?

I don't seem to have fully understood your message. "Recall" uses the first title as a question, and the entire note as an answer.

@asukhodko  Yeah I'm not doing a good job of explaining the situation. I'll try again.
My notes are structured (as example)
File: Newton's Second Law.md
$$F = m \cdot a$$
Applications to F = ma
details
Hamiltonian expression for F = ma
details
Most of the time, I really just want to be either look up the first few lines (definition of New ton's second law) or I want to be tested on the whole thing.
I'd like the option to be shown the whole thing as the answer.
Does the above explanation help?

It looks strange, or I still don't understand your situation. When I click "Show Answer", the system displays the entire card. Isn't it happening with you?

It doesn't show the entire file as the answer for me if there is a heading.
For example:
Recall Have Heading.md looks like this

Question:

Answer

The initial text is never shown. In addition the First Heading isn't really an appropriate question in this case.  I really want the flexibility as the only thing that is shown. Does that explain my issue ?
For me Recall's big advantage is how it's nicely abstracted away the spaced repetition functionality into external (to my notes) .json files. It would be great if I didn't have to restructure my notes just to be compatible with Recall.

Now I understand. The text before the first heading is not shown in either the answer or the question.

Yes exactly, but this only happens when a heading is present.
I would like there to be more settings  on questions and answer in general.
Appreciate your patience

Same issue for me,
would be great If issue was fixed by changing default rendering or at least allow to change settings for rendering

I apologize my delayed response, I have been busy with other undertakings. I'm currently working on a way to more flexibly choose which parts of a note is the question and this will definitely be possible.

Thank you!

Maybe this will help:
I am writing the answer here. So it's possible to have several questions and answers:
questions 1
answer 1
## question 2
answer 2
in combination with espanso I don't have to write often  and have several questions on one sheet with this great plugin :) Great thanks @martin-jw for this fantastic work :)

I would just love a way to use the file name as the question and the entire note contents as the answer. This would be just perfect!


Improve ParamTests by using jdi-dark Service Object's methods.

Create methods in JettyService to be used in ParamTests.
User HeadersTests and CookiesTests as an example.

Demo has been done.


documentation of parameters only lists dimensions, but lacks description

https://github.com/iiasa/message_ix/blob/71e52bd1b3635243adbca4a4b5ceddbc487807a8/message_ix/model/MESSAGE/parameter_def.gms#L18
With exception of very few 'general' parameters, a simple of description of parameters is not included in the MESSAGEix documentation and would be very helpful and straight forward to add as this information is included in the parameter definitions in the GAMS code.

PR #275 addresses this issue.


[Update] Profile collection lish_auth_method field

When third party authentication is enabled, you cannot use password_keys as your lish_auth_method.

@bbiggerr Please review :)


Remove version: ChilliBits.Spice version 0.17.9

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/spicelang/spice/releases/download/0.17.9/spice_x64_setup.msi
Status Code: 200
(Automated message - build 857)


CPU and GPU

I feel that the code is executed on GPU. Could you tell me how the project use and balance the compute capabilities of multiple GPUs and CPUs?

Like you said, Radeon Rays only executes ray tracing code on GPU.  It's not intended for using CPU,
However you could imagine doing your ray tracing on GPU while you do something else on CPU, but that is not in scope of this project.


[Feature]: create CRUD pages and caring about field relationships to other tables

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
I know it from other CRUD builders (like PHP MySQL Generator from SQLMaestro for example), that they care about relationships to other tables.
It would be nice, if also relationships from a table would be created in the CRUD form / page.
Why should this be worked on?
please see my video https://youtu.be/ZWPmIRqpXkk

Thanks for the request and the detailed video. This sounds like a good idea for the CRUD page generator.
We plan to enhance the existing feature in a few months and we'll keep this request in mind. Could you keep the video alive so that we can refer to it in the future?

Sure no problem. I will keep the video online.

Stats

Stat
Values

Reach
600

Effort (months)
1


Zabbix web monitoring framework

The framework is finished and needs review and comments.
future TODO:

upgrade zabbixapi to the latest version
hbase web page intermittently not accessible (http://<IP_ADDRESS>:16010/master-status)
hbase web page trigger is firing spuriously (trigger is always on)
{web_monitoring:web.test.fail[hbase_web_ui_issue].min(10m)=0}

The PR updates zabbixapi to 2.4.9 and yet there is a TODO note in PR description saying upgrade to latest version. If 2.4.9 isn't the latest, why isn't this PR getting the latest?

@kiiranh
sorry for not being very accurate in the TODOs
What I meant was to let zabbixapi always update to the latest version available, like the upgrade action is supposed to do. Action upgrade is not working properly from my previous tests.

@kiiranh - The upgrade action is just a wrapper for install:
        def upgrade_package(name, version)
          install_package(name, version)
        end

So the version will need to be explicit for now and will probably need to be some custom Mixlib::ShellOut thing for that TODO :(


fix(storage): updated way how to create storage

Looks like documented way how to create storage is not up to date. I got:

The PR fixes warnings.
PS. Formatting of MD file is made by VSCode plugin.

this has been fixed in master


refactor(Data/Finsupp): Make Finsupp.filter computable

This doesn't have any significant downstream fallout, and removes some subsingleton elimination from one or two proofs.
This enables some trivial computations on factorizations, eg finding the odd prime factors:
/-- info: fun₀ | 3 => 2 | 5 => 1 -/
#guard_msgs in
#eval (Nat.factorization 720).filter Odd

AFAIR, many definitions about Finsupp used to be computable, then we made them noncomputable. I think that making random subset of them computable again is a bad design choice: we should either decide that we make as many as possible computable, or leave all of them noncomputable and add a meta program that, e.g., lifts Finsupp operations to the corresponding computable DFinsupp operations.
Note: I'm definitely not an expert in computability; I think that it's better to discuss this on Zulip.

bors merge


deprecated kubectl run command flag replicas for zh

kubectl run  become create pod ，so upgrade document of Chinese
Fix Issue：https://github.com/kubernetes/kubernetes/issues/91064

Is this for 1.18 or 1.19?

Is this for 1.18 or 1.19?

kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"2cc6e0a70a", GitTreeState:"clean", BuildDate:"2020-03-26T06:42:04Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"2cc6e0a70a", GitTreeState:"clean", BuildDate:"2020-04-13T02:28:27Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

kubectl run nginx --image nginx --replicas 2
Flag --replicas has been deprecated, has no effect and will be removed in the future.
pod/nginx created

/hold
This should wait on PR #21536 landing, then localize those changes

/hold cancel

Thanks for the fix.
/lgtm
/approve


Use balena bootloader

Add a second stage boot from U-boot into the balena bootloader. This allows to have a common place to implement a/b rollback and bootloader configuration, and is a requirement for secure boot as it needs to decrypt the root partitions before launching the final kernel.
Depends-on: https://github.com/balena-os/meta-balena/pull/3539
After (rebase over): https://github.com/balena-os/balena-iot-gate-imx8/pull/575

looks good to me, I suspect rollback tests in the autokit may fail because the board uses the new u-boot already and older images don't ship dtbs nor the balena bootloader in the boot partition. For new DTs based on the iot-gate-imx8 we will probably need to increase the boot partition, just in case the compressed bootloader gets past 20MB at some point.

looks good to me, I suspect rollback tests in the autokit may fail because the board uses the new u-boot already and older images don't ship dtbs nor the balena bootloader in the boot partition.

The only rollback that doesn't work is altboot, and that is because when kexec does the partition switch the old kernel does not have the ocotp patch to allow it to boot from kexec.
For healthcheck, the rollback hooks re-program the old U-boot which bypasses the balena bootloader.
Possible solutions include:

Have abroot detect it is switching to a non-balena bootloader partition and reprogram the old U-boot that will look for the right kernel in the rootfs
Make an initial release that patches the kernel with the ocotp patch, and then only allow HUPs from that release to a balena bootloader enabled one.

For new DTs based on the iot-gate-imx8 we will probably need to increase the boot partition, just in case the compressed bootloader gets larger with BSP updates

Yes, we probably should. I hope we can also use the takeover tool for the iot-gate-imx8 if the needs arises.

lgtm


Reformulate import instructions in documentation

Description
Documentation says that to import a parser, you need to use:
from moonstone.parsers import YourFavoriteParser
When you actually need to import SunbeamKraken2Parser with:
from moonstone.parsers.counts.taxonomy import SunbeamKraken2Parser
Related links
https://moonstone.readthedocs.io/en/latest/user_guide/getting_started_with_moonstone.html

Actually I will just add them to the init_.py so that then can be imported as written in current documentation

Resolved with #103


Filter by slug with different lang active

Hi,
use case is 2 or more languages. Default is fr.
When query posts using lang EN, everything is ok, posts coming from api are using English translation if set, of default one.
Then, the logical is to set a href to each post using (in my case) the title_slug set in collection.
Next query will be to query post by slug.

if a use filter[title_slug], it's ok in default lang (fr) but not for others as title_slug seems to be always set to default.
so I use filter[title_$LANGUAGE_VAR_slug], and then it's ok, il can get eg. the english version
Problem with this is that if english version is not set, default one is not recover.

I surely can query by _id or check first if requested language is set and then, if not, request for the default language, but i don't want :-) (in fact that's what i do now)
So my question is, as it seems to be a good practice to keep a unique slug for a same item, even when having multilingual, what do you think about having an option like "multilingual_unique_slug=true" and set all languages slug to default one.
Thanks

Unique slugs were discussed a few times before and the core only provides _id as unique identifier.
Do you use the inbuilt slug function {"slug": true}, which is not unique or do you use UniqueSlugs addon (or something similar)?
The language filter replaces all values with the translations after it found something. So you can't query against {"lang":"en","filter":{"title":"Hello"}} or {"lang":"en","filter":{"title_slug":"hello"}}.
{"lang":"en","filter":{"title":"Bonjour"}} works and you get your expected output:
"entries": [
        {
            "title": "Hello",
            "title_slug": "hello",
            "...": "..."
        }
    ],

Example with {"slug": true} and UniqueSlugs:
Query: {"lang":"en","filter":{"slug":"bonjour"}}
Output:
"entries": [
        {
            "title": "Welcome",
            "slug": "bonjour",
            "title_slug": "welcome",
            "...": "..."
        }
    ],

@raffaelj
Yes, using your UniqSlugs module.
But i still used "slug": true in the title field of my collection, and then i also used title_slug as parameter in UniqSlugs.slug_name config.
That was the mistake, as with this configuration i did not have "slug" field in the entries records but only title_slug, title_fr_slug and so on. (Perhaps add this in the doc 😃 even if now it seems logical for me)

Do not use "slug": true in the collection field AND Do not use a field name as UniqSlugs.slug_name

Now I let UniqSlugs.slug_name as "slug" in the config and remove "slug": true in my field collection, seems to be ok.
the entries is as you said for a single query on slug
"entries": [         {             "title": "Welcome",             "slug": "bonjour",             "title_slug": "welcome",             "...": "..."         }     ],
And when I request the entire collection, the new field "slug" is here, so i will use it to link my single entry
Thanks a lot @raffaelj , I really ❤ Cockpit

Thanks for your mail. I am out of the office and offline all day Tuesday 30 October 2018. For any urgent matters please do not hesitate to contact the office, otherwise I will respond to your mail on Wednesday.

Ah, OK - I understand. So setting title_slug with "slug":true works, but if the unique slug == title_slug, the language filter replaces it with the auto-generated translation of the non-unique slug in your request.

Do not use "slug": true in the collection field

No problem per se, but may be useless...
Could be useful if you generate the unique slug on first creation and never change it to keep links consistent. The auto-generated and changing slug could be used e. g. for SEO urls like example.com/unique_identifier/unrecognized-title-slug-just-for-seo

AND Do not use a field name as UniqSlugs.slug_name

No problem at all, but don't use the same name as an auto-generated AND multilingual slug field.
I'll add it to the docs.


android.view.WindowManager$BadTokenException: Permission denied for this window type

I'm using a 0.1.2-SNAPSHOT version of library and my app crashes at startup. Can't use 0.1.1 because of bug with WebViews.
I do have a permission android.permission.SYSTEM_ALERT_WINDOW in my AndroidManifest.xml
 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.armaxis.mobile/com.armaxis.mobile.StartupActivity}: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3fb6060 -- permission denied for this window type
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
     at android.app.ActivityThread.-wrap11(ActivityThread.java)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:148)
     at android.app.ActivityThread.main(ActivityThread.java:5417)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@3fb6060 -- permission denied for this window type
     at android.view.ViewRootImpl.setView(ViewRootImpl.java:591)
     at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
     at view_inspector.weaving.ViewInspectorAspect.injectViewInspector(ViewInspectorAspect.java:82)
     at com.armaxis.mobile.StartupActivity.onCreate(StartupActivity.java:36)
     at android.app.Activity.performCreate(Activity.java:6237)
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
     at android.app.ActivityThread.-wrap11(ActivityThread.java)
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:148)
     at android.app.ActivityThread.main(ActivityThread.java:5417)
     at java.lang.reflect.Method.invoke(Native Method)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

@Armaxis What API level are you on?

Api 23

Had the same crash. It is because of new permission system in Android 6.0.

Duplicate of #10

@vkotovv having same trouble is there any way to get rid of this crash?

@khuranakaran This should be fixed already. Are you using the latest version?

I am using the latest version...what else should i do??

have you set compileSdkVersion & targetSdkVerion to 23 ?

It's funny that you can set compileSdkVerion < 23 and targetSdkVerion = 23 which will reproduce this issue. Clearly a bug of android gradle plugin to me.

@xfumihiro yes both compileSdkVersion & targetSdkVerion are set to 23.

can you check the output of ./gradlew clean assembleDebug and see if prepareComGithubXfumihiroViewInspectorViewInspectorAspectV23021SNAPSHOTLibrary
is shown instead of prepareComGithubXfumihiroViewInspectorViewInspectorAspect021SNAPSHOTLibrary

the V23 aspect module should be used if you set compileSdkVersion to 23

try set the sample app's compileSdkVersion & targetSdkVersion to 23.
It should work.

@xfumihiro yes i have been using V23 aspect module and versions are set to 23, and still same error...

It's a NPE, not the same issue.

but when i run on a device with Lollipop it run fine, whereas when run on device with Marshmallow i get this error.

did it works without applying ViewInspector plugin ?

yes without applying ViewInspector it runs perfect on Lollipop device

I mean on Marshmallow

nope it didn't work with and without ViewInspector on Marshmallow.

so it's not the bug of this plugin

yes.

Happy debugging' :coffee:

can you suggesrt any possible solution to this problem.


Help me

Hello, i'm trying new version and nothing happens when i type /txt add

Please tell me more about the situation (what did you do, content of ft.json, etc.)

Sorry, it's my fault.

That's good


Remove loop parameter

asyncio loop parameter has been deprecated since 3.8 and is now deleted in 3.10. Default behavior in previous version should work as expected, if I understand it correctly

Hey @jonatanolofsson,
Thanks so much for taking care of that! Could you run black on the files which failed the pipeline?
Apart from that, looks good to me ❤

Thank you @jonatanolofsson !
I finished what you started over at #85 - closing this here.

Awesome! Thanks and Happy New Year!


Fix typos

SessionText_FPPFinal_23-976fps_DefaultExportOptions_PT2020.3.txt is a raw data file for unit testing and should not be modified.

SessionText_FPPFinal_23-976fps_DefaultExportOptions_PT2020.3.txt is a raw data file for unit testing and should not be modified.

Reverted


flask process block twisted

flask01.py
@app.route('/')
def hello_world1():
client = papirpcclient01.RPCMSG()
data = {'jsonrpc': '2.0', 'method': 'get_bdevs', 'id': 1}
time.sleep(15)
recvdata = json.dumps(client.receivemsg())
print("route1:", recvdata)
return Response(recvdata,  mimetype='application/json')
@app.route('/1')
def papihello():
print("/route1")
papirpcclient01.reactor.run()
#papirpcclient01.reactor.run(installSignalHandlers=0)
return "reactor.run"+'\n'
papirpcclient01.py
class RPCClient(protocol.Protocol):
def connectionMade(self):
print("connectionMade:")

def dataReceived(self, data):
    "As soon as any data is received, write it back."
    #print("Server said:", data)
    log.msg("dataReceived=:"+data)
response = json.loads(data)
#recvmsg.append(response)
    reactor.callInThread(sendtoqueue,response)

def connectionLost(self, reason):
    print("connection lost")

class RPCClientFactory(protocol.ClientFactory):
def __init__(self):
	self.deferred=defer.Deferred()
    	self.protocol = None

def startedConnecting(self, connector):
	print('Started to connect.')

def buildProtocol(self, addr):
    	print('Connected.')
    	self.protocol = RPCClient()
    	return self.protocol
def clientConnectionFailed(self, connector, reason):
    	print("Connection failed - goodbye!")
	self.deferred.errback(reason)
    #reactor.stop()
	def clientConnectionLost(self, connector, reason):
    	print("Connection lost - goodbye!")
	self.deferred.errback(reason)
    #reactor.stop()

def Send(sendmsg):
#reactor.connectTCP(host,port,factory)
#pmasterconnet=factory.deferred
#pmasterconnet.addCallback(connectSuccess,port)
#pmasterconnet.addErrback(connectFailure,port)
#reactor.run()
if factory.protocol and factory.protocol.connected:
print("send said:", sendmsg)
if (len(recvmsg)> 0):
recvmsg.pop()
factory.protocol.transport.write(sendmsg)
factory= RPCClientFactory ()
reactor.connectTCP(host,port,factory)
pmasterconnet=factory.deferred
pmasterconnet.addCallback(connectSuccess,port)
pmasterconnet.addErrback(connectFailure,port)
Expected Behavior
Tell us what should happen.

block the flask  process,but  run "curl http://<IP_ADDRESS>:5000" still work

pls  tell how to resoule it , thank you
Paste a minimal example that causes the problem.

Actual Behavior
Tell us what happens instead.
Paste the full traceback if there was an exception.

Environment

Python version:2.7.5
Flask version:1.0.2
Twisted version:18.9.0
Werkzeug version:

Please use Stack Overflow for questions about your own code. This tracker is for issues related to the project itself. Be sure to include a minimal, complete, and verifiable example.


Removed re-declared constant

SyntaxError: Identifier 'data' has already been declared. has been resolved.

@ftechiesnitin thanks for your contribution!
Following your commits I see there commits from closed PRs as well as your new change.
Could you please update your PR to contain only the latest commit?


Any demo for grasping ?

Is there any detailed demo or example code for grasping operation, since it is really a basic problem for robotics. which is useful for us to reprogram on it.
Thanks.

We are currently working on a grasping demo as one of our major project. Grasping itself is simple but the related motion planning problems are quite non-trivial (especially on the engineering side). It is definitely something we want to complete and release soon.


Add dev, CI, release mode functionality to the plugin

This adds a concept of modes and some default option sets to the plugin.
DevMode - this mode uses ScalacOptions.default, an always-on set of options
CiMode - this mode uses the dev mode options plus ScalacOption.fatalWarningOptions
ReleaseMode - this mode uses the CI mode options plus -opt:l:method method-local optimisation by default
Inlining can be enabled by using ScalacOptions.optimizerOptions with the packages to inline from e.g. ScalacOptions.optimizerOptions("scala.**") to inline from scala packages or ScalacOptions.optimizerOptions("**") to inline from everywhere.
It adds command aliases to enable each mode
tpolecatDevMode - sets the mode to DevMode
tpolecatCiMode - sets the mode to CiMode
tpolecatReleaseMode - sets the mode to ReleaseMode
These modes can be enabled by default by using environment variables.
The environment variable to use for each mode can be configured using the keys tpolecatDevModeEnvVar, tpolecatCiModeEnvVar, tpolecatReleaseModeEnvVar.
The default environment variables to use for this are SBT_TPOLECAT_DEV, SBT_TPOLECAT_CI, SBT_TPOLECAT_RELEASE. The most elevated mode "wins" when multiple variables are set, i.e. if both CI and release variables are set, release mode is used.

Thanks for taking a look @BalmungSan - I've since added documentation to the README and some Scaladoc for the options, lemme know what you think!

@DavidGregory084 Man thanks a lot for all the hard work, I think everything looks great but being fair I skimmed through much of the code. But, I am calm knowing that the default behavior will be the same as before.


Station alert levels

About the PR
Adds alert levels to stations. Alert levels are definable via a prototype, alertLevels, which has a dictionary of alert level IDs to alert level definitions. Currently, stations can only have one alert level set due to how StationSystem works, but otherwise, alerts can be added or removed without having to delve into C#.
:cl:

add: NanoTrasen has installed a new alert readiness system into its stations! Use these to indicate to your fellow crewmembers when the station is going OK, or is in a flurry of viral infections, hostile activity, and imminent destruction!

Sweet! Noticed the visualiser is on the fire alarm though? Is the alert status screen for someone else to add or is this intended?

addressed reviews

Sweet! Noticed the visualiser is on the fire alarm though? Is the alert status screen for someone else to add or is this intended?

iirc the status screen had more than just alerts, right? in any case, i was able to make it so that AlertLevelDisplay now can just be added to any entity without any issue (as long as the layers look nice on the entity, at least)

I made some comments in dms in case a maintainer was gonna merge:

Blue is too dark
You can re-select the same alert level
Alert level should have some kinda description rather than colour (e.g. "Yellow (atmospheric threat)")

that should be everything i want to do / all reviews addressed sans the alert description, should be good to merge


Feature/minor UI updates

Updating UI look some to add app bar and make it consistent between pages, also fixes bottom bar not displaying on all pages.
Adds in some hook for STT and TTS.

On line 386 of main_menu.dart I am seeing the error "The argument type 'DateTime' can't be assigned to the parameter type 'String'"

On line 386 of main_menu.dart I am seeing the error "The argument type 'DateTime' can't be assigned to the parameter type 'String'"

Rats, seeing on my end as well. I will investigate.

@ccolbert15 This branch should be good now. Once we get this merged in to developer then we can get your branch up to date with developer.


Sponsorship API

User Story
As a website developer, I wish to be able to store the content related to sponsors in the database so that I can avoid modifying the frontend code when I need to update the content of the website.
Acceptance Criteria
The Sponsorship APIs should contain the following endpoints:

CREATE sponsor
GET sponsor by name
GET all sponsors
GET sponsors by sponsor class (silver, gold, platinum)
UPDATE sponsor with the given name
DELETE sponsor by name

Priority
High
Story Points
8

Implemented.
Unit tests & Integration tests left.

Waiting for PR


Error: An error occurred while trying to read the map file at quill.snow.css.map

`
import ReactQuill from 'react-quill-new';
import 'react-quill-new/dist/quill.snow.css';
const modules = {
toolbar: [
{ header: [false, '1', '2', '3', '4', '5', '6'] },
{ font: [] },
{ color: [] },
{ background: [] },
{ list: 'ordered' },
{ list: 'bullet' },
{ align: [] },
'bold',
'italic',
'underline',
'strike',
'link',
'image',
'video',
'blockquote',
{ script: 'sub' },
{ script: 'super' }
]
};
<ReactQuill
ref={quillRef}
modules={modules}
value={product?.description || ''}
onChange={handleRichTextDescription}
id="description"
theme="snow"
/>
`

Error:
9:25:36 AM [vite] vite.config.ts changed, restarting server...
9:25:36 AM [vite] server restarted.
9:25:42 AM [vite] Failed to load source map for /home/i.bezanovic/Desktop/green-world/node_modules/react-quill-new/dist/quill.snow.css.
Error: An error occurred while trying to read the map file at quill.snow.css.map
Error: ENOENT: no such file or directory, open '/home/i.bezanovic/Desktop/green-world/node_modules/react-quill-new/dist/quill.snow.css.map'
ReactQuill version
"react-quill-new": "^3.3.3",
In node_modules there is no such file:

Getting the same issue in browser console.

I added @import 'react-quill-new/dist/quill.snow.css'; into my custom css files and deleted the import 'react-quill-new/dist/quill.snow.css' line from my js/ts files and supress the warning for me
js/ts
import React from 'react'
import ReactQuill from 'react-quill-new'
import './textViewer.css'
interface RichTextViewerProps {
  content: string
  lineLimit?: number
}

const RichTextViewer: React.FC<RichTextViewerProps> = ({
  content,
  lineLimit,
}) => {
  return (
    ...the rest
  )
}

textViewer.css
@import 'react-quill-new/dist/quill.snow.css';

...the rest of styles

I was thinking of taking that file from react-quil, pasting it into my project, and importing it as is. However, that requires tracking changes so that nothing gets outdated.


Instancing using instanced vertex attributes

Summary
I want to implement a non-breaking method for instanced draw calls without the size limit of uniform arrays. For this, I'd like to use instanced arrays as vertex attributes.
The proposed API would look as follows:
let shader = Shader::from_vertex_file(ctx, "path/to/vertex_file")?;
shader.set_instanced_array(ctx, "a_offsets", offsets.as_slice()); // Offsets could be a Vec of any OpenGL attribute type
graphics::set_shader(ctx, &shader);
...
mesh.draw_instanced(ctx, 10_000, Vec2::new(16.0, 16.0));

It is very similar to the current uniform approach. Therefore offsets in this concrete example requires at least 10000 entries.
I am opening an issue for this, as I'd like to inform you about my intentions beforehand and because you may have some feedback or concerns regarding the API design or even overall idea.
Sidenote: As I am very new to OpenGL and barely having much freetime due to school, side job and my diploma thesis, this contribution may well take some time till it is complete.
Motivation/Examples
I'd need this change for a game prototype I am writing. I need to draw the same object 100s of 1000s of times. This leaves quite a performance impact. Instancing would be the ideal solution, but tetra currently only supports instancing using uniform arrays, which have quite a significant size limitation, only allowing some 1000s instances. Using instanced arrays, this limit can practically be (almost) completely removed, allowing even more performance gain due to even less draw calls.
One concrete use case would be very heavy particle effects, where half a million equal particles need to be drawn at the same time. Or for really suffisticated cellular automata simulations, where cellular states are better not to be stored as color in a texture but a more complex object.
Alternatives Considered
Two alternative API designs I've considered are the following:
let shader = Shader::from_vertex_file(ctx, "path/to/vertex_file")?;
graphics::set_shader(ctx, &shader);
...
let mut offset_attribute = Vec::new();
for i in 0..10_000 {
    offset_attribute.push(some_offset); // Push offsets to attribute
}
let mut attributes = Vec::new();
attributes.push((3, offset_attribut)); // Push attribute location and per instance values

graphics::set_instances(ctx, 10_000, attributes); // All draw calls inside will be instanced 10_000 times using the given attributes
mesh.draw(ctx, Vec2::new(16.0, 16.0)); // Will be drawn 10000 times
graphics::reset_instances(ctx); // All subsequent draw calls will be handled normally

But I think this is too long and stateful.
let shader = Shader::from_vertex_file(ctx, "path/to/vertex_file")?;
graphics::set_shader(ctx, &shader);
...
let mut offset_attribute = Vec::new();
for i in 0..10_000 {
    offset_attribute.push(some_offset); // Push offsets to attribute
}
let mut attributes = Vec::new();
attributes.push((3, offset_attribut)); // Push attribute location and per instance values

mesh.draw_instanced_array(ctx, 10_000, Vec2::new(16.0, 16.0), attributes); // Draws the mesh 10000 times using the given attributes

This is concise and effective, but in my humble opinion the originally proposed design better integrates into the current "workflow" for instancing.

I'm definitely on board with the idea of adding something like this, as Tetra's instancing support is fairly limited at the moment.
I'm not sure if Shader is the right place for it, though - adding instanced vertex data (as I understand it) involves binding another vertex buffer, which feels like more like something the Mesh API would handle to me? This is how it works in Love2D, which is what I based a lot of Tetra's API on:
https://love2d.org/wiki/love.graphics.drawInstanced#Examples
Looking at that, I think there's two missing pieces here:

There's no way to create vertex buffers with non-Vertex data.
There's no way to bind a buffer containing per-instance data to a Mesh.

So that might be the best way to break the problem down.
This does seem like it has potential to be a large change, so I should warn in advance that I don't know if I'll have the time/energy to review it for a while, but feel free to give it a go if you'd still find it interesting!

I have already conceptualized another API  proposal. It addresses some of the problems you mentioned. I will go into further detail further down below.
I'd argue that Shader is the right place for it (at the very least with the new API proposal). Mainly because of three points:

The shader code actually accesses and defines the used attributes (same as with uniforms, even though it is handled differently under the hood).
Binding the buffer to the shader instead of the mesh allows more intuitive usage of the same shader program, which handles the instancing logic, while used with different meshes.
Binding the buffer to the shader allows to easily set the same buffer and therefore data for different shader programs with eventually different attribute names.

One downside is the inconvenience arising for the user, who then has to manually switch data for the buffers (or the buffers themselves) when he wants to draw multiple instanced meshes with the same shader.
The new API would look as follows:
fn new(ctx: &mut Context) -> tetra::Result<GameState> {
  // Create the buffer with an initial capacity of 10,000 Vec2 and optimization for streamed drawing
  let offset_buffer: AttributeBuffer<Vec2<f32>> =
    AttributeBuffer::new(ctx, Vec::<Vec2<f32>>::with_capacity(10_000), BufferUsage::Stream);
  // Load the shader program
  let shader = Shader::from_vertex_file(ctx, "path/to/vertex/shader.vert")?;
  // Bind the buffer to an attribute defined in the shader program
  shader.set_vertex_attribute(ctx, "a_offsets", offset_buffer, Divisor::Instance(1));
  graphics::set_shader(ctx, &shader);

  // Optionally, the offset_buffer can be stored in the state for later modification during the game loop
  // This would not be necessary if we created a static buffer which is only bound during initialization
  Ok(GameState{
    offset_buffer
  }
}
// ...
fn draw(&mut self, ctx: &mut Context) -> tetra::Result {
  let mut offsets = Vec::new();
  // Push offsets here

  // Set data of offset_buffer
  self.offset_buffer.set_data(ctx, offsets);
  // Draw an instanced mesh, which is being processed by the currently active shader
  some_mesh.draw_instanced(ctx, offsets.len(), DrawParams::default());
}

The buffer creation:
let offset_buffer: AttributeBuffer<Vec2<f32>> =
    AttributeBuffer::new(ctx, Vec::<Vec2<f32>>::with_capacity(10_000), BufferUsage::Stream);

can be done using the three types of usage: Stream, Dynamic and Static. It can also be done with initial data by invoking the method with a Vec<Vec2<f32>> which actually contains values.
The Divisor part in this line:
shader.set_vertex_attribute(ctx, "a_offsets", offset_buffer, Divisor::Instance(1));

could be replaced with Divisor::Vertex, when the attribute should advance along the buffer once per vertex. Divisor::Instance(x) advances the attribute once every x instances.
Lastly setting the data in this line:
self.offset_buffer.set_data(ctx, offsets);

would automatically grow the buffer size if the Vec::len() of the given data exceeds the current buffer capacity. The new buffer capacity would be set to Vec::capacity() of that given data. However, that is just an implementation detail which could easily be changed.

As I just got assigned a new project in school while barely having much free time at all I don't expect to be capable of working on this in the next upcoming semester :(


memory leak with RetroAchievement

from sofmarch on forum (https://playnite.link/forum/thread-275-post-2947.html#pid2947)
Having a bizarre issue that I narrowed down to this plugin. With this plugin running whenever I select a PSP game the amount of memory being used by Playnite skyrockets exponentially.
Before Selecting Playnite is 171.6 MB

After Selecting Playnite is at 1435 MB

Here's the playnite log
19-12 17:40:53.532|INFO|PlayniteApplication:Application started from 'C:\Users\Tedd\AppData\Local\Playnite'
19-12 17:40:53.792|INFO|ExtensionFactory:Loaded plugin: Simple Game Import, version 1.0
19-12 17:40:54.002|INFO|CheckVersion:PluginCommon - DescriptionEditor - Find v1.3.1 - Actual v1.3.1
19-12 17:40:54.002|INFO|ExtensionFactory:Loaded plugin: DescriptionEditor, version 1.3.1
19-12 17:40:54.178|INFO|CheckVersion:PluginCommon - GameActivity - Find v1.2.1 - Actual v1.2.1
19-12 17:40:54.178|INFO|ExtensionFactory:Loaded plugin: GameActivity, version 1.2.1
19-12 17:40:54.354|INFO|CheckVersion:PluginCommon - HowLongToBeat - Find v1.2.1 - Actual v1.2.1
19-12 17:40:54.365|INFO|ExtensionFactory:Loaded plugin: HowLongToBeat, version 1.2.1
19-12 17:40:54.505|INFO|CheckVersion:PluginCommon - IsThereAnyDeal - Find v1.2.1 - Actual v1.2.1
19-12 17:40:54.505|INFO|ExtensionFactory:Loaded plugin: IsThereAnyDeal, version 1.2.1
19-12 17:40:54.645|INFO|CheckVersion:PluginCommon - MetadataLocal - Find v1.2.1 - Actual v1.2.1
19-12 17:40:54.645|INFO|ExtensionFactory:Loaded plugin: Metadata Local, version 1.2.1
19-12 17:40:54.855|INFO|CheckVersion:PluginCommon - SuccessStory - Find v1.2.1 - Actual v1.2.1
19-12 17:40:54.855|INFO|ExtensionFactory:Loaded plugin: SuccessStory, version 1.2.1
19-12 17:40:54.995|INFO|CheckVersion:PluginCommon - ThemeModifier - Find v1.2.1 - Actual v1.2.1
19-12 17:40:55.104|INFO|ExtensionFactory:Loaded plugin: ThemeModifier, version 1.2.1
19-12 17:40:55.663|INFO|ExtensionFactory:Loaded plugin: LBGDB metadata provider, version 2.0.0
19-12 17:40:55.663|INFO|ExtensionFactory:Loaded plugin: RAWG metadata provider, version 2.0.0
19-12 17:40:55.663|INFO|SGDBMetadataSettings:saved settings
19-12 17:40:55.674|INFO|SGDBMetadataSettings:a8989aebe28f0012573963ea66e7bc09
19-12 17:40:55.674|INFO|SGDBMetadataSettings:
19-12 17:40:55.674|INFO|SGDBMetadataSettings:
19-12 17:40:55.674|INFO|ExtensionFactory:Loaded plugin: SteamGridDB Metadata Provider, version 0.5.6
19-12 17:40:55.674|INFO|ExtensionFactory:Loaded plugin: Universal Steam Metadata, version 1.4
19-12 17:40:55.725|INFO|ExtensionFactory:Loaded plugin: Epic Store Library Importer, version 1.0
19-12 17:40:55.725|INFO|ExtensionFactory:Loaded plugin: GOG Library Importer, version 1.0
19-12 17:40:55.725|INFO|ExtensionFactory:Loaded plugin: IGDB metadata provider, version 1.0
19-12 17:40:55.779|INFO|ExtensionFactory:Loaded plugin: itch.io Library Importer, version 1.0
19-12 17:40:55.785|INFO|ExtensionFactory:Loaded plugin: Origin Library Importer, version 1.0
19-12 17:40:55.785|INFO|ExtensionFactory:Loaded plugin: PlayStation Library Importer, version 1.0
19-12 17:40:55.802|INFO|ExtensionFactory:Loaded plugin: Steam Library Importer, version 1.0
19-12 17:40:55.843|INFO|ExtensionFactory:Loaded plugin: Uplay Library Importer, version 1.0
19-12 17:40:55.848|INFO|ExtensionFactory:Loaded plugin: Xbox Library Importer, version 1.0
19-12 17:40:56.020|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\Game_Media_Tools\GameMediaTools.ps1, version 1.3
19-12 17:40:56.091|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\Links_Sorter\LinksSorter.ps1, version 1.0.1
19-12 17:40:56.131|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\Steam_DB_Rating\SteamDbRating.ps1, version 1.0.1
19-12 17:40:56.192|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Local\Playnite\Extensions\LibraryExporter\LibraryExporter.ps1, version 1.0
19-12 17:40:56.287|DEBUG|WindowFactory:Show window Playnite.DesktopApp.Windows.MainWindowFactory
19-12 17:40:56.287|DEBUG|WindowFactory:Opening window that was closed previously Playnite.DesktopApp.Windows.MainWindowFactory
19-12 17:40:56.486|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ProgressWindowFactory
19-12 17:40:56.694|INFO|GameDatabase:Opening db C:\Users\Tedd\AppData\Roaming\Playnite\library
19-12 17:40:56.862|DEBUG|ExecutionTimer:--- Timer 'DatabaseLoadCollections', 166 ms to complete.
19-12 17:40:56.879|INFO|DatabaseStats:Completely recalculating database statistics...
19-12 17:40:56.904|DEBUG|WindowFactory:Closing window Playnite.Windows.ProgressWindowFactory, True.
19-12 17:40:57.586|INFO|PlayniteUiHelper:GameActivity - Add Header button
19-12 17:40:57.596|INFO|PlayniteUiHelper:SuccessStory - Add Header button
19-12 17:40:57.596|INFO|GenericWishlist:IsThereAnyDeal - Load from local for Steam
19-12 17:40:57.624|INFO|GenericWishlist:IsThereAnyDeal - Load from local for Gog
19-12 17:40:57.627|INFO|GenericWishlist:IsThereAnyDeal - Load from local for Origin
19-12 17:40:57.627|INFO|PlayniteApplication:Application <IP_ADDRESS>47 started
19-12 17:40:57.891|WARN|PlayniteUiHelper:HowLongToBeat - No data for 1942
19-12 17:41:02.628|DEBUG|Downloader:Downloading string content from http://www.playnite.link/update/stable/info.json using System.Text.UTF8Encoding encoding.
19-12 17:42:38.453|DEBUG|WindowFactory:Show dialog window Playnite.DesktopApp.Windows.SettingsWindowFactory
19-12 17:42:51.565|DEBUG|WindowFactory:Closing window Playnite.DesktopApp.Windows.SettingsWindowFactory, False.
19-12 17:43:14.976|DEBUG|BaseCollectionView:Refreshing collection view filter.
19-12 17:43:15.566|DEBUG|BaseCollectionView:Refreshing collection view filter.
19-12 17:43:50.313|WARN|PlayniteUiHelper:GameActivity - No data for Shin Megami Tensei: Persona 3 Portable
19-12 17:43:53.005|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.All
19-12 17:43:53.861|ERROR|Common:SuccessStory [H:\GitHub\Lacro59\playnite-successstory-plugin\Services\SuccessStoryUI.cs 211] - Error on TaskRefreshBtActionBar()
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at SuccessStory.Clients.RetroAchievements.GetHash(String FilePath, PlatformType platformType) in H:\GitHub\Lacro59\playnite-successstory-plugin\Clients\RetroAchievements.cs:line 417
   at SuccessStory.Clients.RetroAchievements.GetGameIdByHash(Game game, List`1 rA_MD5Lists) in H:\GitHub\Lacro59\playnite-successstory-plugin\Clients\RetroAchievements.cs:line 337
   at SuccessStory.Clients.RetroAchievements.GetAchievements(Game game) in H:\GitHub\Lacro59\playnite-successstory-plugin\Clients\RetroAchievements.cs:line 73
   at SuccessStory.Services.SuccessStoryDatabase.GetFromWeb(Game game) in H:\GitHub\Lacro59\playnite-successstory-plugin\Services\SuccessStoryDatabase.cs:line 158
   at SuccessStory.Services.SuccessStoryDatabase.Get(Guid Id, Boolean OnlyCache) in H:\GitHub\Lacro59\playnite-successstory-plugin\Services\SuccessStoryDatabase.cs:line 73
   at PluginCommon.Collections.PluginDatabaseObject`3.Get(Game game, Boolean OnlyCache) in H:\GitHub\Lacro59\playnite-descriptioneditor-plugin\playnite-plugincommon\Collections\PluginDatabaseObject.cs:line 343
   at SuccessStory.Services.SuccessStoryUI.<>c__DisplayClass51_0.<RefreshElements>b__0() in H:\GitHub\Lacro59\playnite-successstory-plugin\Services\SuccessStoryUI.cs:line 211
19-12 17:44:10.742|INFO|PlayniteApplication:Shutting down Playnite
19-12 17:44:10.742|DEBUG|PlayniteApplication:Releasing Playnite resources...
19-12 17:44:10.742|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ProgressWindowFactory
19-12 17:44:10.809|DEBUG|WindowFactory:Closing window Playnite.Windows.ProgressWindowFactory, True.```

from sofmarch on forum (https://playnite.link/forum/thread-275-post-3015.html#pid3015)
The good news is that after refreshing the RetroAchievements database in Settings the memory issue doesn't happen upon selecting the game anymore, the bad news is that the memory surge still happens when closing out of the game and returning to playnite,  but only for a few seconds (around 20-30 maybe?) later it subsides and goes back to roughly normal memory usage, so it might be good enough for now.
I've turned Custom Integration back on, but before I did that I noticed that the Icon button still kept disappearing like I posted earlier.
22-12 18:54:02.296|INFO|ExtensionFactory:Loaded plugin: IsThereAnyDeal, version 1.2.1
22-12 18:54:03.826|INFO|CheckVersion:PluginCommon - MetadataLocal - Find v1.2.1 - Actual v1.2.1
22-12 18:54:03.826|INFO|ExtensionFactory:Loaded plugin: Metadata Local, version 1.2.1
22-12 18:54:04.799|WARN|PluginLocalization:PluginCommon - File C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\playnite-screenshotsvisualizer-plugin\localization\en_US.xaml not found.
22-12 18:54:04.967|INFO|CheckVersion:PluginCommon - ScreenshotsVisualizer - Find v1.2 - Actual v1.2
22-12 18:54:04.967|INFO|ExtensionFactory:Loaded plugin: ScreenshotsVisualizer, version 1.2
22-12 18:54:14.900|INFO|CheckVersion:PluginCommon - SuccessStory - Find v1.3 - Actual v1.3
22-12 18:54:14.900|INFO|ExtensionFactory:Loaded plugin: SuccessStory, version 1.3
22-12 18:54:15.306|INFO|CheckVersion:PluginCommon - ThemeModifier - Find v1.2.1 - Actual v1.2.1
22-12 18:54:15.728|INFO|ExtensionFactory:Loaded plugin: ThemeModifier, version 1.2.1
22-12 18:54:20.196|INFO|ExtensionFactory:Loaded plugin: LBGDB metadata provider, version 2.0.0
22-12 18:54:20.330|INFO|ExtensionFactory:Loaded plugin: RAWG metadata provider, version 2.0.0
22-12 18:54:20.408|INFO|SGDBMetadataSettings:saved settings
22-12 18:54:20.408|INFO|SGDBMetadataSettings:a8989aebe28f0012573963ea66e7bc09
22-12 18:54:20.408|INFO|SGDBMetadataSettings:
22-12 18:54:20.408|INFO|SGDBMetadataSettings:
22-12 18:54:20.408|INFO|ExtensionFactory:Loaded plugin: SteamGridDB Metadata Provider, version 0.5.6
22-12 18:54:20.748|INFO|ExtensionFactory:Loaded plugin: Universal Steam Metadata, version 1.4
22-12 18:54:20.929|INFO|ExtensionFactory:Loaded plugin: Epic Store Library Importer, version 1.0
22-12 18:54:20.977|INFO|ExtensionFactory:Loaded plugin: GOG Library Importer, version 1.0
22-12 18:54:21.000|INFO|ExtensionFactory:Loaded plugin: IGDB metadata provider, version 1.0
22-12 18:54:21.061|INFO|ExtensionFactory:Loaded plugin: itch.io Library Importer, version 1.0
22-12 18:54:21.061|INFO|ExtensionFactory:Loaded plugin: Origin Library Importer, version 1.0
22-12 18:54:21.144|INFO|ExtensionFactory:Loaded plugin: PlayStation Library Importer, version 1.0
22-12 18:54:21.239|INFO|ExtensionFactory:Loaded plugin: Steam Library Importer, version 1.0
22-12 18:54:21.287|INFO|ExtensionFactory:Loaded plugin: Uplay Library Importer, version 1.0
22-12 18:54:21.334|INFO|ExtensionFactory:Loaded plugin: Xbox Library Importer, version 1.0
22-12 18:54:26.642|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\Game_Media_Tools\GameMediaTools.ps1, version 1.3
22-12 18:54:26.741|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\Links_Sorter\LinksSorter.ps1, version 1.0.1
22-12 18:54:26.843|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Roaming\Playnite\Extensions\Steam_DB_Rating\SteamDbRating.ps1, version 1.0.1
22-12 18:54:26.928|INFO|ExtensionFactory:Loaded script extension: C:\Users\Tedd\AppData\Local\Playnite\Extensions\LibraryExporter\LibraryExporter.ps1, version 1.0
22-12 18:54:27.303|DEBUG|WindowFactory:Show window Playnite.DesktopApp.Windows.MainWindowFactory
22-12 18:54:27.303|DEBUG|WindowFactory:Opening window that was closed previously Playnite.DesktopApp.Windows.MainWindowFactory
22-12 18:54:27.895|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ProgressWindowFactory
22-12 18:54:29.093|INFO|GameDatabase:Opening db C:\Users\Tedd\AppData\Roaming\Playnite\library
22-12 18:54:50.095|DEBUG|ExecutionTimer:--- Timer 'DatabaseLoadCollections', 21000 ms to complete.
22-12 18:54:50.134|INFO|DatabaseStats:Completely recalculating database statistics...
22-12 18:54:50.402|DEBUG|WindowFactory:Closing window Playnite.Windows.ProgressWindowFactory, True.
22-12 18:54:50.646|ERROR|Common:ScreenshotsVisualizer [H:\GitHub\Lacro59\playnite-screenshotsvisualizer-plugin\Services\ScreenshotsVisualizerDatabase.cs 134] - Error on File load for Black Mesa on C:\Program Files (x86)\Steam\steamapps\common\Black Mesa\bms\screenshots
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ScreenshotsVisualizer.Services.ScreenshotsVisualizerDatabase.SetDataFromSettings(GameSettings item) in H:\GitHub\Lacro59\playnite-screenshotsvisualizer-plugin\Services\ScreenshotsVisualizerDatabase.cs:line 134
22-12 18:54:54.371|INFO|PlayniteUiHelper:GameActivity - Add Header button
22-12 18:54:54.483|INFO|PlayniteUiHelper:SuccessStory - Add Header button
22-12 18:54:54.483|INFO|GenericWishlist:IsThereAnyDeal - Load from local for Steam
22-12 18:54:54.640|INFO|GenericWishlist:IsThereAnyDeal - Load from local for Gog
22-12 18:54:54.676|INFO|GenericWishlist:IsThereAnyDeal - Load from local for Origin
22-12 18:54:54.715|INFO|PlayniteApplication:Application <IP_ADDRESS>47 started
22-12 18:54:55.124|WARN|PlayniteUiHelper:HowLongToBeat - No data for 1942
22-12 18:54:59.751|DEBUG|Downloader:Downloading string content from http://www.playnite.link/update/stable/info.json using System.Text.UTF8Encoding encoding.
22-12 18:55:30.458|DEBUG|BaseCollectionView:Refreshing collection view filter.
22-12 18:55:39.213|INFO|GamesEditor:Starting Shin Megami Tensei: Persona 3 Portable, 05002a1a-8687-40c2-976b-acd723c5998a, c93bb187-2571-495f-8784-4e18b25ae604, 00000000-0000-0000-0000-000000000000
22-12 18:55:39.213|INFO|GamesEditor:Using generic controller start the game.
22-12 18:55:39.243|INFO|GameActionActivator:Activating game task Emulator: a892720c-5563-47c3-9632-49d707c693e5, 6262578e-81c1-4aed-ab4d-89c08529870d, False,
22-12 18:55:39.243|DEBUG|ProcessStarter:Starting process: C:\Users\Tedd\Documents\Emulators\ppsspp_win\PPSSPPWindows64.exe, "C:\Users\Tedd\Documents\Emulator Games\PSP\Shin Megami Tensei - Persona 3 Portable.iso" , C:\Users\Tedd\Documents\Emulators\ppsspp_win, False
22-12 18:55:39.374|INFO|GameActivity:GameActivity - dataLogging_start
22-12 18:55:39.375|INFO|GamesEditor:Started Shin Megami Tensei: Persona 3 Portable game.
22-12 18:55:53.251|INFO|GameActivity:GameActivity - dataLogging_stop
22-12 18:55:53.251|INFO|GamesEditor:Game Shin Megami Tensei: Persona 3 Portable stopped after 14 seconds.
22-12 18:55:53.359|WARN|PlayniteUiHelper:ScreenshotsVisualizer - No data for Shin Megami Tensei: Persona 3 Portable
22-12 18:55:56.162|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.All
22-12 18:55:59.013|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.SNES
22-12 18:56:01.703|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.SNES
22-12 18:56:02.490|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with 73d1940ed8d0d2e7de6078e03272b62b in PlatformType.Sega_CD_Saturn
22-12 18:56:05.182|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.SNES
22-12 18:56:05.957|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with bf619eac0cdf3f68d496ea9344137e8b in PlatformType.Sega_CD_Saturn
22-12 18:56:05.957|WARN|GenericAchievements:SuccessStory - No console find for Shin Megami Tensei: Persona 3 Portable with Sony PSP
22-12 18:56:05.957|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with Sony PSP in 0
22-12 18:56:44.385|INFO|GamesEditor:Starting Shin Megami Tensei: Persona 3 Portable, 05002a1a-8687-40c2-976b-acd723c5998a, c93bb187-2571-495f-8784-4e18b25ae604, 00000000-0000-0000-0000-000000000000
22-12 18:56:44.385|INFO|GamesEditor:Using generic controller start the game.
22-12 18:56:44.394|INFO|GameActionActivator:Activating game task Emulator: a892720c-5563-47c3-9632-49d707c693e5, 6262578e-81c1-4aed-ab4d-89c08529870d, False,
22-12 18:56:44.394|DEBUG|ProcessStarter:Starting process: C:\Users\Tedd\Documents\Emulators\ppsspp_win\PPSSPPWindows64.exe, "C:\Users\Tedd\Documents\Emulator Games\PSP\Shin Megami Tensei - Persona 3 Portable.iso" , C:\Users\Tedd\Documents\Emulators\ppsspp_win, False
22-12 18:56:44.419|INFO|GameActivity:GameActivity - dataLogging_start
22-12 18:56:44.419|INFO|GamesEditor:Started Shin Megami Tensei: Persona 3 Portable game.
22-12 18:56:59.836|INFO|GameActivity:GameActivity - dataLogging_stop
22-12 18:56:59.836|INFO|GamesEditor:Game Shin Megami Tensei: Persona 3 Portable stopped after 15 seconds.
22-12 18:56:59.972|WARN|PlayniteUiHelper:ScreenshotsVisualizer - No data for Shin Megami Tensei: Persona 3 Portable
22-12 18:57:02.581|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.All
22-12 18:57:05.339|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.SNES
22-12 18:57:08.001|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.SNES
22-12 18:57:08.777|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with 73d1940ed8d0d2e7de6078e03272b62b in PlatformType.Sega_CD_Saturn
22-12 18:57:11.479|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with d134f8fe9dbdc22143e59e9fab5805aa in PlatformType.SNES
22-12 18:57:12.196|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with bf619eac0cdf3f68d496ea9344137e8b in PlatformType.Sega_CD_Saturn
22-12 18:57:12.196|WARN|GenericAchievements:SuccessStory - No console find for Shin Megami Tensei: Persona 3 Portable with Sony PSP
22-12 18:57:12.196|WARN|GenericAchievements:SuccessStory - No game find for Shin Megami Tensei: Persona 3 Portable with Sony PSP in 0```


Environment Room Transitions

We should be able to move from room to room by instantiating and destroying environment prefabs with the EnvironmentBuilder.

Implemented in #198


emacs: fix doc-view-mode; add support for acl, gpm and aspell (flyspell-mode)

To make doc-view-mode work, emacs needs ghostscript on its path. Since it is already a runtime dependency (at least when built with x support), I updated site-lisp to adjust exec-path.
acl and gpm support were added, disabled by default, ready to be enabled by a package override.
cc @chaoflow @lovek323 @the-kenny

This looks great, and would help solve similar issue where flyspell-mode (which is either built in or installed by default) needs to find aspell.

optionally added aspell for flyspell-mode
a thing that would go well with those changes would be to separate out things that only need to update site-lisp, such that various overrides would result in minimal recompilation

a thing that would go well with those changes would be to separate out things that only need to update site-lisp, such that various overrides would result in minimal recompilation

All these things can go in emacsWithPackages instead. That expression merely wraps the already-compiled emacs. emacsWithPackages still picks up packages from profiles, so emacsWithPackages [] == emacs.

Should I still bother with emacsPackages or with emacsPackagesNg?
I guess I'll wait with that, untill your work on melpa has landed. Emacs isn't a heavy-weight rebuild and has few referrers, so the impact of an .override should be managable anyways.

@bendlas I'm not sure what you mean about emacsPackages and emacsPackagesNg. This seems orthogonal to my MELPA work and that won't make it into the next release anyway, so this PR should go in one way or another. You were talking about separating out site-lisp.el, so I just wanted to let you know that we already have emacsWithPackages which does that.

Generate site-start.el substituteAll as per request from @the-kenny

Working on this. Will merge today.

After checking some more, I think we can drop everything except a621a5f5298ecc62b8ffaa25952e3279f2a943fc here. alsa & ghostscript can be made available by emacsWithPackages [ alsa ghostscript ].

I pushed a621a5f5298ecc62b8ffaa25952e3279f2a943fc for now.

Oh, emacsWithPackages can already set exec-path. Got confused by emacsPackages and emacsPackagesNg`, when @ttuegel mentioned it.
That's pretty cool, but it needs to be more accessible. Especially for packages that support built-in stuff like aspell -> flyspell and ghostscript -> doc-view.

Changes Unknown when pulling a236091f7fee0df9621b3a5fb42a2e3847dc95df on bendlas:fix-emacs into ** on NixOS:master**.


Allow scoped default File Encoding

This pull request allows custom configuration for file encoding based on scope descriptors.
For example (my original issue), setting powershell files to UTF16-BE:
".powershell":
  core:
    fileEncoding: "utf16be"

I have created a package to do this (https://atom.io/packages/default-encoding) which works, however I added this pull request if you guys think it will be useful.
Note this is not in lieu of auto detection, just another way to customise atom.
Thanks

Yeah, this sounds good to me, would you mind adding a spec for this new behavior?

Ok thanks, yep I'll move it to the constructor of text editor and add a spec.

I have added a spec and changed the config get/set to use options (to remove deprecated message).

thanks @kevinsawicki I have removed the braces.

Thanks for adding this.

No worries, glad to help :)


Use ExecutionAndTraceService from onf-core-model-ap

ExecutionAndTraceService has been moved from package onf-core-model-ap-bs to onf-core-model-ap in PR https://github.com/openBackhaul/ApplicationPattern/pull/141
Please, change code to use ExecutionAndTraceService from  onf-core-model-ap.

Issue fixed in the Pull Request https://github.com/openBackhaul/RegistryOffice/pull/95


Security vulnerability with setting G_APP_IMAGES via URL

When app runs, this is launched: https://localhost:3000/apexdev/f?p=1507:1:::::G_APP_IMAGES:localhost~3000
A malicious user could then use this knowledge to use a root image folder of their choice for G_APP_IMAGES.
Need to re-think about how to set/do this.

Would this be considered a problem in a development environment too?
Tat way we could turn off the application item using a build option, which would secure the prod environment.

In the development environment not so much.
Yes we could do a BO to get around this but may need to think about it a bit. For example we shouldn't do a BO on G_APP_IMAGES as this is the one that the entire application will reference. Perhaps create a temp application with the build option, then modify the application process to set G_APP_IMAGES = G_TEMP_APP_IMAGES and this application process also includes a BO.
Overall this process may make things more difficult. A few ideas that come to mind:

Just use APP_IMAGES

On page errors, it wouldn't be set
Lose the ability to isolate for multiple devices

Create a plugin to manage G_APP_IMAGES

Not sure how this would look but may be able to code our way around a developer having to create a temp page item and BO.
Devs would only need to install the plugin and then create G_APP_IMAGES (again not sure how we'd do this)

This is a very good point. I'm glad you caught it before we release 2.0.
My thoughts:

About simply using APP_IMAGES

The ability to use multiple devices is a priority to me on this project. It is the final wow factor for demo purposes and I think it's important we keep it (as an option, not default).
Not being set on error pages could discourage a developer from using

About creating a plugin to manage G_APP_IMAGES

I don't see how we can get around the BO concern. We need this to be available in dev only. From an APEX development perspective, it's the only way to distinguish environment. Or is it?

Creating a 2nd application item and BO does require more setup, but it feels like the most robust solution to me right now. I'll try it out and see.

@martindsouza, upon preliminary testing it seems that an excluded build option has no effect on an application item...
Will test some more but we may need to think of an alternative.

This commit https://github.com/OraOpenSource/apex-frontend-boost/commit/ce3b23d641bcf211b442fc78b41bc857ae712511 is an attempt to fix the vulnerability issue while keeping all the project's features.
The project's objects dependencies are now:

1 build option
2 application items
2 application processes

They're all very simple, but it's still a lot of objects to create. I'm open to simplification ideas.


Generate simpler code

What
My attempt at making the generated rust code shorter and more readable.
Because I couldn't sleep.
Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

@rerun-bot full-check

@rerun-bot full-check

Full main build is 🔴 because main is 🔴

@rerun-bot full-check


Create update-submodules gha

A github action that bumps typechain and/or @typechain/ethers-v5 submodule version, when it gets a new release

Closes: https://github.com/dethcrypto/eth-sdk/issues/74

Nitpick: Could we rename to update-dependencies.yml? "Submodule" in a GitHub repo strongly suggests a git submodule to me.


Update Summary for the Training Data

We will re-relase the training data with new modified approaches as discussed in the issues.
This includes:

[x] bleu score computation
[ ] fuzzy evaluation (based on average of multiple forms)
[ ] offer metadata information (or information how metadata can be inquired), like Glottocodes or features in CLTS

There's the question how feasible it is to have all of this done in this week. As a result, we may have to admit that it is not feasible by now for certain points (feature vectors for sounds, for example), so I hope that all participants in this shared task will forgive us.
What I would like to point out (and I will announce this by writing an updated email to everybody tomorrow morning) is that if we don't manage to offer the metadata, I would kindly ask authors NOT to use the parts by hacking the original data themselves. As we have worked hard to have a very replicable workflow for data creation, it is essential that things like enriching the data by adding glottocodes are done through our frameworks and not by users employing their own hacks.

As discussed in an email, we drop the two remaining points, and leave them for future improvements.


DEAP Runner

This PR enables users to run a model with DEAP rather than Pymoo. It also adds some logging capabilities and local file saving.

@LukeSeifert I think I have addressed your questions! Thanks for the review.

@LukeSeifert you can merge when ready