Unexpected behaviour of reactive.calc

Hello,
I would like to report something that generated unexpected behaviour within a reactive.calc. I have condensed my original problem to a reprex, so some of it might seem a little convoluted but it reproduces the issue
from shiny import reactive
from shiny.express import input, render, ui, session
import random

@reactive.effect
@reactive.event(input.modal)
def _():
    m = ui.modal(
        ui.input_text("new", "New"),
        ui.input_action_button("add", "Add"),
        easy_close=True,
        footer=None,
    )
    ui.modal_show(m)

@reactive.calc
@reactive.event(input.add)
def processNew():
    #Do something ...
    ui.modal_remove()
    return

@reactive.calc
@reactive.event(input.btn, processNew)
def textOut():
    return "Your random number is: " + str(random.random())

ui.input_action_button("btn", "Generate")
ui.input_action_button("modal", "Input")

@render.text
def _():
    return textOut()

When you execute this code, nothing happens if you click the "generate" button. However, as soon as you have used the "Add" button once, it starts working. This most likely is because of the modal window not being there at the start, but this should not prevent the textOut() function from running when input.btn is clicked before the modal is shown for the first time.
Thanks for looking into this

What you're seeing is actually the expected behavior. The same thing can be demonstrated without a modal.
Here is a slightly modified version:
Live app
from shiny import reactive
from shiny.express import input, render, ui, session
import random

ui.input_text("new", "New"),
ui.input_action_button("add", "Add"),

ui.br()
ui.br()

ui.input_action_button("btn", "Generate")
ui.input_action_button("modal", "Input")

@reactive.calc
@reactive.event(input.add)
def processNew():
    return

@reactive.calc
@reactive.event(input.btn, processNew)
def textOut():
    return "Your random number is: " + str(random.random())

@render.text
def txt():
    return textOut()

The issue is that processNew has @reactive.event(input.add). That means that until the Add button is clicked, processNew() will throw a Shiny SilentException (like req(False)), which propagates to textOut(), and to txt().
Looking over the documentation for reactive.event, it appears that we need to document and explain this silent exception behavior.

Hello,
Thanks for that explanation. But how would you then suggest this could be prevented? Doesn't it make sense that anything in a reactive.event() would trigger it, regardless of one of them not being initialised?

Hm, that is interesting. Here's an even more stripped down version that demonstrates the issue. Live app
from shiny import reactive, req
from shiny.express import input, render, ui
import random

ui.input_action_button("btn1", "Button 1")
ui.input_action_button("btn2", "Button 2")

ui.p("Text below will display after EITHER button 1 or 2 is pressed once:")

@render.code
@reactive.event(input.btn1, input.btn2)
def txt1():
    return "Random number: " + str(random.random())

@reactive.calc
def req_btn2():
    req(input.btn2())
    return

ui.p("Text below will display after BOTH button 1 and 2 are pressed once:")

@render.code
@reactive.event(input.btn1, req_btn2)
def txt2():
    return "Random number: " + str(random.random())

This does make me wonder if it makes sense to handle the req(False) silent exceptions this way in reactive.event(). I agree that if we think of reactive.event taking multiple items, each as possible event triggers, then a silent exception in one shouldn't block another one from triggering it.
One other odd thing about the example above is that, for the second output, if you click Button 2, it doesn't show the text; you still need to click Button 1, even though that button doesn't do anything with silent exceptions.

What I'm about to say is tangential to the issue you're reporting and I know this example is probably not an accurate reflection of what you're doing in your app, but I feel the need to point this out anyway:
@reactive.calc
@reactive.event(input.add)
def processNew():
    #Do something ...
    ui.modal_remove()
    return

The fact that this is named "processNew", and the comment says "Do something", and there's a ui.modal_remove() call, and the function not returning a value... all four of those to me are clues that you should be using @reactive.effect instead of @reactive.calc. Because the latter is lazy, it should only ever be used for returning values and not for side effects.

Back to the topic at hand... the same problem exists even without reactive calcs, if you use an input id that doesn't exist:
from shiny import reactive
from shiny.express import input, render, ui

ui.input_action_button("foo", "Foo")
# ui.input_action_button("bar", "Bar")

@render.express
@reactive.event(input.foo, input.bar)
def txt():
    "Got here"

Because input.bar() silent errors, clicking Foo doesn't do anything.

Hi again,
Just to follow up, I started this issue because I'm a long time R Shiny user and there this behaviour is different and more what I'm expecting to happen. Here is an R Shiny reprex to demonstrate
library(shiny)

ui <- fluidPage(
  actionButton("foo", "Foo"),
  #actionButton("bar", "Bar")
)

server <- function(input, output, session) {
  observeEvent(c(input$foo, input$bar), {
    print("Clicked something!")
  }, ignoreInit = T)
}

shinyApp(ui, server)

You will see here that the example provided by @jcheng5 above does trigger the observeEvent (as it should in my opinion)


multiclass svm (one against all)

The examples for running it are to be merged into qiskit-acqua-tutorial (in a separate PR).

@woodsp-ibm
I have fixed 1,2, and 4.  I will add Iris_visualization.py in future when I have some notebooks.
For 3,
OneAgainstRest and QuantumSVM_OneAgainstRest are not in the subclassing relations.
I guess we cannot convert OneAgainstRest as the abstract class.

For 3 I was referring to 'Estimator' class which is in Estimator.py. And I now notice the module (file) names are mixed camel case - can you please also change these (the names of the files) to the standard of all lower case using underscores if needed.

@woodsp-ibm
i fixed (1) the abc, (2) camel case, (3) timeout=60 is too short, please have a look. thanks

@woodsp-ibm also note that there is an accompanying PR in qiskit-acqua-tutorial.

We are following PEP8 style guidelines
https://www.python.org/dev/peps/pep-0008/#package-and-module-names
Modules should have short, all-lowercase names
So not quite there yet:
Estimator.py filename case should be estimator.py
quantumSVM_one_against_rest.py could be quantum_svm_one_against_rest.py
etc for the others with capitals in them still
Also for the abstract class
class Estimator:
to
class Estimator(ABC):

@woodsp-ibm ok, I will do it when I can find time. Feel free to make changes too.

@woodsp-ibm just fixed the style, can you check it again? thanks,


output of inference.py seems to have high sample rate

Hi
i tested all models with inference.py with all of them i got very similar output (having high sample) is there any thing wrong i am doing
python inference.py --input_wavs_dir <wav_audio_path>--output_dir ./output/ --checkpoint_file pretrained/pretrained/VCTK_V2/generator_v2
sample output generated : https://drive.google.com/file/d/19xXGF_u0EBtaiFDlg5CkAiEi8Xzc_dd3/view?usp=share_link

I got a normal output, would you mind to share one of your input wav and the content in the directory of the model file?


Convert to Kustomize

Use the Kustomize convention in our repos

Switched repo to Kustomize. Added an auto deployment script.


Fail to launch chromium, is there a troubleshooting for Red Hat Enterprise Linux Server

Steps to reproduce
Tell us about your environment:

Puppeteer version: 0.12.0
Platform / OS version:
Red Hat Enterprise Linux Server release 6.10 (Santiago)
URLs (if applicable):
Node.js version: v8.14.0

What steps will reproduce the problem?

install puppeteer
run example, get error
(node:15335) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
./node_modules/puppeteer/.local-chromium/linux-508693/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

Please include code that reproduces the issue.

npm install puppeteer
node example
(example.js -
const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});
await browser.close();
})();
)

ldd ./node_modules/puppeteer/.local-chromium/linux-508693/chrome-linux/chrome | grep not

./node_modules/puppeteer/.local-chromium/linux-508693/chrome-linux/chrome: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./node_modules/puppeteer/.local-chromium/linux-508693/chrome-linux/chrome)
00:07:28   	libXss.so.1 => not found
00:07:28   	libgtk-3.so.0 => not found
00:07:28   	libgdk-3.so.0 => not found
What is the expected result?
What are the dependency package to install the missing share files for Redhat linux
What happens instead?
Can't launch chromium

Try installing Google Chrome first - this should install the required dependencies. I found some instructions here https://www.tecmint.com/install-google-chrome-on-redhat-centos-fedora-linux/

@matthaywardwebdesign - Thanks.  The link above mention that Google Chrome browser doesn't support Rhel 6.   I have Red Hat Enterprise Linux Server release 6.10  and it doesn't work for me.
Is there any work around for rhel6?


Find a better test for a running ssh-agent in tutorial/vagrant-setup

Contrary to what the tutorial says, when agent is running you're quite likely to get a prompt for your private key password.
$ ssh-add
Enter passphrase for /home/richard/.ssh/id_rsa:

ssh-add -l might be a better test.

We are moving our development planning to JIRA. This issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-414. You are welcome to file additional issues in GitHub if that's easier for you.


Hello, I use it too much and would like to add other features

Description of the new feature / enhancement
It seems like you only support Windows for the borderless mouse setup, but I would like to see Android support as well.
Scenario when this would be used?
I want to expand and link my laptop with my smartphone or tablet
Supporting information
No response

/dup https://github.com/microsoft/PowerToys/issues/26296


npm install with optional node-gyp rebuild

I am writing a module which has a native binding which is built by default but not required.
I would like npm install to work even if the native binding cannot be compiled because the node-gyp rebuild step fails. This might be because the user is installing the module on a platform which only has node and npm installed and no support for building native addons.
What would be the best way of allowing the user to run npm install, building the native binding if possible, but not failing if that is not possible?

Add a "install": "node install.js" rule to your package.json and invoke node-gyp from the script if you need fancy, or "install": "node-gyp rebuild || exit 0" if you don't.  The latter still prints the build error, which may confuse your users.

Thanks.


Assign Task is not idempotent

Task only can create a new assignment, but if that assignment already exists, the Assign Task will fail. Need to check for the existence of the assignment, and if it exists use Set-AzBlueprintAssignment
Current error:
An assignment with name 'pla-foundation-with-pci' in subscription '/subscriptions/e93d3ee6-fac1-412f-92d6-bfb379e81af2' already exists. Please use Set-AzBlueprintAssignment to update an existing assignment.

Thanks, Alex, makes sense. I will look into this.

@alex-frankel this has been fixed, version was moved to 1.4.2 and published to the marketplace.
Thanks for submitting the issue.

Re-opening, this may still be an issue.

@alex-frankel I was able to reproduce the issue with the updated code, however, found the issue intermittent and was not able to sniff out root cause.
That said, I have made some updates to the logic, and can no longer reproduce.
I think it's good to go, but if you run into it again, please let me know.
The updated version is 1.5.1.

Able to reproduce using 1.5.1
2019-10-16T10:28:29.3658720Z ##[section]Starting: Assign Azure Blueprint
2019-10-16T10:28:29.4049384Z ==============================================================================
2019-10-16T10:28:29.4049589Z Task         : Assign Azure Blueprint
2019-10-16T10:28:29.4049657Z Description  : Assigns an Azure Blueprint
2019-10-16T10:28:29.4049738Z Version      : 1.5.1
2019-10-16T10:28:29.4049793Z Author       : Neil Peterson
2019-10-16T10:28:29.4049867Z Help         :
2019-10-16T10:28:29.4049932Z ==============================================================================
2019-10-16T10:29:03.2919164Z WARNING: Both Az and AzureRM modules were detected on this machine. Az and AzureRM modules cannot be imported in the
2019-10-16T10:29:03.2919855Z same session or used in the same script or runbook. If you are running PowerShell in an environment you control you can
2019-10-16T10:29:03.2920319Z  use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. If you are running in Azure
2019-10-16T10:29:03.2920585Z Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found
2019-10-16T10:29:03.2921051Z here: https://aka.ms/azps-migration-guide
2019-10-16T10:29:05.2379403Z
2019-10-16T10:29:10.1426204Z ##[error]An assignment with name 'Astromech_Assignment' in subscription '/subscriptions/abcf8e1a-0d09-42db-8f31-2cb53d8f6f6f' already exists. Please use Set-AzBlueprintAssignment to update an existing assignment.
2019-10-16T10:29:10.1999741Z ##[section]Finishing: Assign Azure Blueprint

@whaakman thanks for this. I am on vacation, returning mid-next week. I will take a look at that time.
In the interim, I will open this issue back up.

@whaakman I am not able to reproduce but have added some crude logging to the assignment that might help us understand what is going on.
The new version is 1.5.3. Can you please re-run and share the logging here?
Thanks

I just tested it again and switched my BPs from subscription scope to a management group scope, I kid you not; it's working now and I did exactly the same as I did last week. Appreciate the extra logging tho. Running a few more tests and building some demo's. If I run into this again (or something else) I will let you know :)

Yep, no worries. This one has been pretty weird, I've seen intermittent issues but have not been able to repro since a non-related refactor.
I'll go ahead and close the issue. We can open back up if it creeps back in.


Add SnapChat social media platform

See github issue: https://github.com/WhichBrowser/Parser-PHP/issues/505
Link: https://www.snapchat.com/

Coverage increased (+0.02%) to 99.97% when pulling 060211f0861719e6c85583fa7edb323bf5d0e10e on ayumi-cloud:snapchat into 880b9fa797401d14b28956442944c3daa70240ff on WhichBrowser:master.

@NielsLeenheer Please can you merge this pr.

Add SnapChat into the Google file.


Runtime error using TSVGIconImage control in a 64-bit test project

I am using Windows 11 with Delphi 11.3 Alexandria Community Edition. I would like to use the TSVGIconImage control in a 64-bit Windows app by live binding the TSVGIconImage control to a TMemo (which will contain the SVG XML text). I am testing this idea with a simple project that contains a TSVGIconImage control, a TMemo, and a TButton.
The app runs as expected a 32-bit Windows application, as follows: (1) Run the app; (2) copy and paste the example chessboard_SVG,txt into the Memo (in the final app the text will be generated from a python script to the TMemo using the python-chess library so I don't want to load the text from a file), and (3) Press the Button (which doesn't contain any code, it just shifts the focus from the Memo). The chessboard appears in the SVGIconImage control.
When I try to run the app as a 64-bit Windows application, it compiles, but there is an immediate runtime Access violation and, obviously, the form does not appear.
I am thinking that the problem may be that the default Factory is not compatible with a 64-bit application,. It doesn't matter to me what factory I use. I also don't know which one to choose. I tried using "SetGlobalSVGFactory(GetSkiaSVGFactory);" in an initialize section within the .pas file and that didn't compile (both SetGlobalSVGFactory and GetSkiaSVGFactory were reported as being undefined). Perhaps I am missing something in the uses section to do it that way. Although I am a relatively experienced Delphi programmer, I have never used Conditional Defines in my applications and I don't understand how to try that approach.
Please tell me how to get this simple application running as a 64-bit Windows application.
I have attached my sample SVG text and what I hope are sufficient project files.
chessboard_SVG.txt
Test_SVG_Chessboard.zip
Thank you.

I've tested the demo also with 64bit platforms and works fine for me, without AV.
Please check you have the latest patch for Delphi 11.3, and the lastest version of this Projects.
The native Factory Image32 is fully 32 and 64 bit compliant, and is the best factory you can use (see the SvgViewer.exe demo as explained into wiki section).
I've also removed Vcl.Skia and System.Skia from your project, because skia is not necessary.

In the title of the form you can see "64 bit" because I've added to your test:
procedure TForm1.FormCreate(Sender: TObject);
begin
  {$IFDEF win64}
  Caption := '64 bit';
  {$ELSE}
  Caption := '32 bit';
  {$ENDIF}
end;


[BACKLOG-35304] - Support for Kerberos in MongoDB Connection String

:white_check_mark: Build finished in 1m 53s
Build command:
mvn clean verify -B -e -Daudit -amd -pl pentaho-mongodb-plugin

:ok_hand: All tests passed!
Tests run: 108, Failures: 0, Skipped: 0    Test Results

:information_source:  This is an automatic message


Not working with Home Assistant 2023.6.1

After updating home assistant the integration was not working anymore. When searching in the logs i found this:
2023-06-10 21:56:47.287 ERROR (SyncWorker_4) [homeassistant.loader] The custom integration 'lg_hombot' does not have a version key in the manifest file and was blocked from loading. See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details

Still the same situation.
HACS disables this integration due to lack of version.


[FR] Customize the default text "Add to plugin xx..."

Hey! Good to see the updates, and I've tried the new Function to auto hide the "Add.." text.
However, this will cause the plugin flash when my mouse move over.
I'm wondering could you consider adding the customization for default "Add..." text, just like the labe?

So that I can set the default text shorter, meanwhile showing 'em to edit  : )

Thanks for the feedback!
By flashing, you mean that suddenly the annotation field appears? This
was the intended behavior. However, I can see that it can be annoying to
some.
I added the feature because I wanted to have an interface that is not
cluttered. Your suggestion of adding buttons is doable and quite
straightforward to implement. However, I am afraid this would make the
whole interface more cluttered than just showing the placeholders where
to add the annotation.
I am thinking of another toggle that makes the field in "Community
plugins" not editable and hide those empty. Once you finished editing
your plugins, you can turn the toggle on, which basically protects the
annotations from being erroneously changed.
A bit more demanding, but also doable is to offer a second way to enter
the annotations from the setting pane for each installed plugin. Then
one does not need to edit in the community plugins pane.
Let me know what you think.
Best

Hey! Good to see the updates, and I've tried the new Function to auto
hide the "Add.." text.
However, this will cause the plugin flash when my mouse move over.
I'm wondering could you consider adding the customization for default
"Add..." text, just like the labe?

So that I can set the default text shorter, meanwhile showing 'em to
edit  : )
--
Reply to this email directly or view it on GitHub:
https://github.com/alberti42/obsidian-plugins-annotations/issues/4
You are receiving this because you are subscribed to this thread.
Message ID:
@.***>

Thanks for the feedback! By flashing, you mean that suddenly the annotation field appears? This was the intended behavior. However, I can see that it can be annoying to some. I added the feature because I wanted to have an interface that is not cluttered. Your suggestion of adding buttons is doable and quite straightforward to implement. However, I am afraid this would make the whole interface more cluttered than just showing the placeholders where to add the annotation. I am thinking of another toggle that makes the field in "Community plugins" not editable and hide those empty. Once you finished editing your plugins, you can turn the toggle on, which basically protects the annotations from being erroneously changed. A bit more demanding, but also doable is to offer a second way to enter the annotations from the setting pane for each installed plugin. Then one does not need to edit in the community plugins pane. Let me know what you think. Best
…
Hey! Good to see the updates, and I've tried the new Function to auto hide the "Add.." text. However, this will cause the plugin flash when my mouse move over. I'm wondering could you consider adding the customization for default "Add..." text, just like the labe?  So that I can set the default text shorter, meanwhile showing 'em to edit : ) -- Reply to this email directly or view it on GitHub: #4 You are receiving this because you are subscribed to this thread. Message ID: @.***>

I can live with some short default text like just Edit LOL
Though, I agree that adding button would make the UI more cluttered.  In comparison, a right click context menu might be less cluttered? You only click in the plugin to show the "Add annotation" menu,  and otherwise, you wouldn't see any placeholder thing.
But I'm not sure if it would be hard to integrate it
The idea of a Edit Mode switch sounds reasonable. I can imagine how it works like.. click a button to start editing, and click it again to lock all the annotations and hide the empty placeholder.

This approach would also work for me!
Oh and I have to say this plugin is really creative and useful, LOVE IT. Thanks for your development! <3

Off-topic, I personally want to recommend another plugin for managing plugins - because I am currently using them together.
This plugin is called Settings Management, which allows you to change the display style of plugins (card layout), show only enabled or disabled plugins, and save the enabled plugin configuration for easy switching. If you are interested, I recommend you give it a try too!  ; )

Thanks for pointing out the other plugin. It seems interesting, though, I was not sure how to use it.
I was indeed planning to have a new simple plugin allowing one to switch between two configurations for the enabled plugins, one called "Tests" and the other "Production". We often test many plugins for fun, but when we have to work, we like to focus on what it works. Moreover, sometimes there are bugs in some plugin and one has to find it out by exclusion. It is nice if one can store the configuration of the installed plugins and restore it at the right time.
Do you think the plugin "Settings Management" can do this?

PS: I released a new version of my plugin with a lock button. It should be easy to locate. You can lock the annotations and avoid the "flashing" you mentioned.

And you can customize the default text with any HTML you want, or simple text. Go in the preference pane of my plugin.

Thanks for pointing out the other plugin. It seems interesting, though, I was not sure how to use it.
I was indeed planning to have a new simple plugin allowing one to switch between two configurations for the enabled plugins, one called "Tests" and the other "Production". We often test many plugins for fun, but when we have to work, we like to focus on what it works. Moreover, sometimes there are bugs in some plugin and one has to find it out by exclusion. It is nice if one can store the configuration of the installed plugins and restore it at the right time.
Do you think the plugin "Settings Management" can do this?

Yeah, I think it could do this!
After installing this plugin, it would show a toolbar in your Community Plugins  pages:

Use the third button to store a preset of Plugins you enabled, and after that , use the forth button to restore into a preset.
(the 1st and 2nd buttons are for the view, 1st could switch between "Show all plugins / Show only enbled plugins / Show only disabled plugins", 2nd button can use grid view for plugins

PS: I released a new version of my plugin with a lock button. It should be easy to locate. You can lock the annotations and avoid the "flashing" you mentioned.

Just updated and tested it, works great! Thanks!

But sometimes there are 2 lock buttons 🤔

Ok. I thought I solved the problem of the two locks. If you see how to
reproduce it, it would be nice if you can describe it.
Basically, if you trigger a second time the pane, and the plugin
believes it is the first time showing it, it draws this again.
But I don't see this problem on my devices anymore.

PS: I released a new version of my plugin with a lock button. It
should be easy to locate. You can lock the annotations and avoid the
"flashing" you mentioned.

Just updated and tested it, works great! Thanks!

But sometimes there are 2 lock buttons 🤔
--
Reply to this email directly or view it on GitHub:
https://github.com/alberti42/obsidian-plugins-annotations/issues/4#issuecomment-2208416526
You are receiving this because you commented.
Message ID:
@.***>

Ok. I thought I solved the problem of the two locks. If you see how to reproduce it, it would be nice if you can describe it. Basically, if you trigger a second time the pane, and the plugin believes it is the first time showing it, it draws this again. But I don't see this problem on my devices anymore.
…

PS: I released a new version of my plugin with a lock button. It > should be easy to locate. You can lock the annotations and avoid the > "flashing" you mentioned. Just updated and tested it, works great! Thanks!  But sometimes there are 2 lock buttons 🤔 -- Reply to this email directly or view it on GitHub: #4 (comment) You are receiving this because you commented. Message ID: @.***>

Tried to re-produce the issue.
For me, just switch to another tab and switch back to Community Plugins tab, the lock icon would be doubled:

And I found another problem that if I search the Plugin, the annotation placeholder would be lost.

Thanks for replying. Are you running the latest version or perhaps some
old version you installed from GitHub?
I will test the plugin on more devices. But perhaps it is the
interaction with some other plugin?
The basic point is that the plugin is informed when the community
plugins pane is opened. Then it checks whether this was already opened
before. If not it draws the lock. Apparently it does not detect
correctly that the pane was opened before.
If the problem persists I will try a different approach.

Ok. I thought I solved the problem of the two locks. If you see how
to reproduce it, it would be nice if you can describe it. Basically,
if you trigger a second time the pane, and the plugin believes it is
the first time showing it, it draws this again. But I don't see this
problem on my devices anymore.
…

PS: I released a new version of my plugin with a lock button. It >
should be easy to locate. You can lock the annotations and avoid the

"flashing" you mentioned. Just updated and tested it, works great!
Thanks!

But sometimes there are 2 lock buttons 🤔 -- Reply to this email
directly or view it on GitHub: #4
(comment)
You are receiving this because you commented. Message ID:
@.***>

Tried to re-produce the issue.
For me, just switch to another tab and switch back to Community
Plugins tab, the lock icon would be doubled:

And I found another problem that if I search the Plugin, the
annotation placeholder would be lost.

--
Reply to this email directly or view it on GitHub:
https://github.com/alberti42/obsidian-plugins-annotations/issues/4#issuecomment-2216114738
You are receiving this because you commented.
Message ID:
@.***>


RotateObject - Troubleshooting rotation with receptacles and their contained objects

(MCS-88)
Trying to rotate bowl with an apple in it (try 90 or 180 degrees) results in apple flying upwards.

Currently debugging in Unity: added playroom-mcs-88 scene file for this, which has receptacles containing objects (mainly using bowl_a/apple_a). Use ‘H’ to RotateObject, and fill out how many degrees/along which axis using the rotate object direction vector in Debug Discrete Agent Controller.
** Am now wondering if we even want to rotate receptacles with items in them, considering we want to expand what a receptacle means (for instance, I was initially thinking of rotating receptacles along the lines of bowls/boxes, but do we really want to rotate a block with something on top of it? I would think that was more of an obstruction).
Things tried (+ various combinations of what’s indicated below):

Move apple slightly above receptacle, doesn’t fly away (forces/torque likely a factor).

Deactivating object colliders (probably should've realized this would result in things falling through the floor).

Revisited AddRelativeTorque
My understanding was this wouldn’t be what we wanted because it wouldn’t rotate something x degrees but tries to rotate something in a direction, and how much it rotates is affected by rigidbody attributes.

Messing with various rigidbody attributes
o	Mass/drag – decreases distance at which apple flies away from bowl, but I don't think I could find the correct settings to apply to every situation.
o	Changing collision detection settings
o	Making objects kinematic – results in either the same behavior or items stuck in floor (see screenshot below).

o	Using position constraints -- fixes the apple in the same spot and just rotates the bowl, which gets mixed results depending on how far you plan on rotating things (works for extreme cases, but a smaller rotation results in the apple seeming like it fell through the bottom of the bowl since it is fixed).

FixedJoint – This seems like it changed the physics of all objects together, so that both the bowl and apple fly away and land in some corner of the room, instead of just the apple.

Deactivating object inside receptacle – stopped going down this path because I realized it creates the same issue as the one we’re trying to resolve here, since the object would then be invisible (like with held objects).

Additionally, rotating boxes with things in them seems to result in the box rotating and the object inside of it not moving, similar to position constraints (see below screenshot)

Hey @rartiss55
This is a great writeup.  Thanks for being so thorough.
The issue with the boxes may have to do with the fact that the position in the Transform on the mesh child component inside each box is non-zero (offset).  However, fixing that won't help to solve the overall problem.
I'm now thinking that the best answer here may not actually be instantaneously changing the object's hard-coded rotation itself (since the sudden clipping is what's causing the objects to collide and fly around in an unrealistic manner once the physics simulation is unpaused).  Instead, maybe we should have RotateObject behave like PushObject/PullObject, where we apply a force that rotates the object as part of the physics simulation.  In this case, we'd use ApplyTorque, and we'd need to play with the numbers to determine what a realistic amount of torque would be (remember that it's proportional to the mass of the object).  This way, if you flip over the bowl, it happens as part of the physics simulation (over the course of multiple frames), and the apple should move appropriately as part of the physics simulation as well.  This should also prevent objects from clipping into the floor or walls.
This method should also work with the block stacking example.  I think it's OK to rotate a block at the bottom of a stack, as long as the blocks stacked above it topple over in a realistic way.
What do you think?

Thanks @ThomasSchellenbergNextCentury! That makes sense, and yes that would address some of the other concerns with adjacent objects and what would realistically happen if things were to suddenly rotate. I had trouble moving things with ApplyTorque previously, but its probably like you said, finding the appropriate/realistic inputs proportional to the mass.

And although there's a path forward, I'll keep this draft open just in case there's any more troubleshooting needed.

Will likely do RotateInHand instead for eval 3 -- closing.


Add support for x'HEX' and X'HEX' Numeric Constants in SQLite

Currently, only x'HEX' numeric constants are supported. SQLite supports X'HEX' as well, as "string literals containing hexadecimal data"

Coverage remained the same at 87.046% when pulling ccccedff04b5b12115acacc47e7f362f0d3ee505 on bitsensor:master into d5ec2fe18e8f63b0cf2cba14e7421b1a53393624 on JSQLParser:master.

Coverage remained the same at 87.046% when pulling ccccedff04b5b12115acacc47e7f362f0d3ee505 on bitsensor:master into d5ec2fe18e8f63b0cf2cba14e7421b1a53393624 on JSQLParser:master.

Sorry for the inconvenience, this is indeed the case. I must have been running an older version of JSqlParser.

No problem. Thx for using JSqlParser.
Cheers Tobias


Hello-World example fails: boost not found

Hello, I am following the instructions provided to build hello-world. I was able to configure the environment and boot Romulus via Qemu, but encountered an error when building phosphor-state-manager.
The problem:
phosphor-state-manager doesn't build due to cereal build issue (see attached log). Seems boost can't be found via BoostConfig.cmake?
I looked in the sdk-workspace, it appears boost 1.79.0 and associated .hpp/.c
cp files are present and I have the sdk for Romulus in my path, so I'm not sure where to look next.
Relevant Info
Operating system: Ubuntu 20.04.4 LTS (Focal)
Chipset: Intel i7-9700T
Branch/Commit: phosphor-state-manager/main ("master") 128ea8e3f1c56af1f7aa615a6f3b94088c9ba978
Meson Log:
meson-log.txt
Thanks for taking a look, hope I haven't missed one of the setup steps in the docs :)

Hey Erich!
Thank you for pointing this out. The good news is that I was able to recreate this issue. Bad news is I haven't been able to figure it out yet :p. Hopefully I'll be able to come up with a fix before the weekend as this is something that needs to be addressed.
P.S: I know you were following the steps to build the project through the SDK, but in general in order to use ninja to build with certain repos within Openbmc it is necessary to use gcc-11. I noticed you were using 9.4.0. That isn't causing this issue, but thought I'd give you the heads up.
Cheers!

Hi NodeMan97,
Thanks for taking a look, let me know if I can help to triage the issue on my end.
In the meantime I will try using GCC11 and report back. Probably won't get to test until tomorrow or this weekend.
:)

Hello,
Following these steps should get the sdk hello world example up and running.
https://github.com/NodeMan97/build-for-phosphor-state-manager-sdk/blob/master/SDK-FIX.md

Hello,
I followed the steps from the github repository mentioned above but it seems like it needs an updated version of boost_serialization? (1.79.0 vs 1.80.0)
| Could not find a configuration file for package "boost_serialization" that
| exactly matches requested version "1.80.0".

| The following configuration files were considered but not accepted:

| /root/sdk/romulus-2022-09-21/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/lib/cmake/boost_serialization-1.79.0/boost_serialization-config.cmake, version: 1.79.0

| Call Stack (most recent call first):
| /root/sdk/romulus-2022-09-21/sysroots/arm1176jzs-openbmc-linux-gnueabi/usr/lib/cmake/Boost-1.80.0/BoostConfig.cmake:262 (boost_find_component)
| /root/sdk/romulus-2022-09-21/sysroots/x86_64-oesdk-linux/usr/share/cmake-3.24/Modules/FindBoost.cmake:594 (find_package)
| CMakeLists.txt:111 (find_package)

| -- Configuring incomplete, errors occurred!
| See also "/home/phosphor-state-manager/build/subprojects/cereal/__CMake_build/CMakeFiles/CMakeOutput.log".

cereal| CMake configuration: FAILED

cereal| Exception: Failed to configure the CMake subproject

Subproject subprojects/cereal is buildable: NO (disabling)

meson.build:132:4: ERROR: Assert failed: cereal is required

You should only need boost for the cereal test programs. Can you instead try to delete subprojects/cereal.wrap, run meson wrap install cereal, and update meson.build to declare it as a required dependency?

Documentation has been updated to not use SDK.


Expand tests for trainer

TODO

[ ] more checks for loading a trainer from checkpoint
[ ] add test for spoco trainer, including loading from checkpoint
[ ] (probably) update spoco trainer to be compatible with refactor in #51

This is outdated.


help

ok so the taskbarx config window started moving and i just closed it and deleted every single file and now my pc is slow help wtf
and how do i uncenter my taskbar now

Go to
https://github.com/ChrisAnd1998/TaskbarX/
And follow the instructions on how to uninstall.


WIP: Create moveit_grasps tutorial

Here is a draft for the moveit_grasps tutorial.
At the current state this is basically the README converted to RST format.

@davetcoleman, @mlautman I created this PR here so that we can complete/review this before targeting ros-planning/moveit_tutorials. Thought it would make sense this way before the release.


Add Cirrus FreeBSD testing

This PR adds Cirrus FreeBSD testing
Also see PR #84. The 84 PR was accidentally closed.

Also see PR #84. The 84 PR was accidentally closed.

@noloader, I've incorporated the suggestions in PR #89. Thanks!


Unable to list created indices

This bug is similar to #1884.
When I try and list the indices in my database, I get an empty list when I expect to see the index I have just added.
@Test
public void shouldBeAbleToListIndices() {
    final OrientGraphFactory orientGraphFactory = new OrientGraphFactory("remote:localhost/database", "admin", "admin").setupPool(1, 10);

    final OrientGraphNoTx orientGraph = orientGraphFactory.getNoTx();

    final OrientVertexType fooBar = orientGraph.createVertexType("FooBar");

    fooBar.createProperty("originatingId", OType.INTEGER);

    orientGraph.createKeyIndex(
            "originatingId",
            Vertex.class,
            new Parameter<String, String>("type", "UNIQUE"),
            new Parameter<String, String>("class", "FooBar"));

    final Iterable<Index<? extends Element>> indices = orientGraph.getIndices();

    boolean foundIndex = false;
    for (Index<? extends Element> index : indices) {
        System.out.println(index.getIndexName());
        foundIndex = foundIndex || index.getIndexName().equalsIgnoreCase("FooBar.originatingId");
    }

    assertTrue("Should have found the index", foundIndex);
}

The decision to omit the index that is located is made in the following lines in OrientBaseGraph:
private boolean hasIndexClass(OIndex<?> idx) {
    final ODocument metadata = idx.getMetadata();

    return (metadata != null && metadata.field(OrientIndex.CONFIG_CLASSNAME) != null)
    // compatibility with versions earlier 1.6.3
    || idx.getConfiguration().field(OrientIndex.CONFIG_CLASSNAME) != null;
}

The getMetaData() method returns null for the index. Indeed this also breaks when you try to get the index explicitly by name:
final Index<Vertex> directIndex = orientGraph.getIndex("FooBar.originatingId", Vertex.class);

assertNotNull("Should have found the index directly", directIndex);

I am using 1.7-rc2 with Blueprints 2.4.0.

Well it is strange but #getInideces() returns  only manual indexes, assigned to @tglman to provide proper design.

hi @SteveNewson,
Yes as @laa  mentioned today OrientGraph.getIndeces() return only the index defined manually and not associated to a property, due to the fact that this would be a public api change it should be done in the next version 3.0
for now you can work around using:
 g.getRawGraph().getMetadata().getIndexManager().getIndexes()
bye


Labels that auto-update their text based on the output of a command

A nice addition would be to have labels that rather than have a fixed text, use the output of a specified command as their displayed text.
This would allow for displaying for example the nowplaying track underneath media control buttons.
Attached diff has some proof of concept that would update the header widget whenever a button is clicked, with the output of a command specified in Config.header_cmd.
update_header_on_click.diff.txt

See also https://github.com/FiXato/tui_launcher/tree/feature-widget-command-labels

For current song display just a simple loop that executes a command at a specified interval might work better?

For current song display just a simple loop that executes a command at a specified interval might work better?

but I don't really know how to supply a running urwid session with external input. :)
And urwid itself seems to have its own main loop I'd need to hook into.

Preliminary support added in 1ee28e91eab3e6eba430d26a8844c04d6e0d324f


Add GitHub Issue Forms and PR template

Title
GitHub has recently rolled out a public beta for their issue forms feature. This would allow you to create interactive issue templates and validate them 🤯.
Description
As we can see this repository currently uses neither issue template nor any PR template. Your task is to create GitHub issue forms and PR template for this repository. We can use standard templates form appwrite/appwrite as a reference for this PR.

@eldadfux If you find this valuable, Could you please assign me this issue?


Custom Deprovisioning Trigger Mechanism

Description
Allow users to trigger node Drift
What problem are you trying to solve?
In Karpenter pre-v0.28, I had started using the karpenter drift annotation karpenter.sh/voluntary-disruption=drifted as a way to force nodes to get replaced in an orderly fashion when I changed configuration that was not supported by Karpenters Drift detection.
In v0.28 this was removed and now the annotation is simply removed by Karpenter.
I found the ability to trigger drift useful in testing and in filling in the gaps in Drift support. I'd also assume long term, there may be corner cases users would want to trigger replacement on that drift cannot detect or detect easily.
Perhaps just another annotation indicating user requested drift so that Karpenter can replace nodes in an orderly manner and while respecting deprovisioning controls.
How important is this feature to you?

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

/assign

Posting thoughts here for you on how to approach this:
Design

How should we allow users to signal a node being terminated?

Should we use an annotation or a status condition? We mark nodeClaims with status conditions to indicate when they're expired/drifted. Maybe we could do the same? But that's tougher to do from a user's perspective. In my eyes, annotation on the node/NodeClaim may be the easiest and make the most sense.

Should this have any special disruption behavior from what's listed here in the docs?

Implementation
Currently, we iterate through the disruption, one method at a time.
There's a Method interface() that consists of

ShouldDisrupt(): a func used to filter if a node should be disrupted
ComputeCommand(): returns a Command, consisting of a list of commands, and a list of replacements. this should consist of a scheduling simulation that determines if we need to spin up a replacement.
Type(): just a string representation for metrics/logs
ConsolidationType(): used for Consolidations, can just ignore.

@tasdikrahman Any update on this? We are looking for a similar feature to bulk recycle nodes on-demand. Thanks!

Sorry @njtran I was out of town for a bit. Let me check with my team to see if I can spend some time around this

@tasdikrahman Feel free to reach out if you need any assistance here. I know that @njtran is on PTO for a bit so he may be slower to respond.

@njtran With forceful expiration coming back. Do you think we can simply mark nodes as "expired" for this scenario?

With forceful expiration coming back. Do you think we can simply mark nodes as "expired" for this scenario

Seems like this would basically have the same effect as just doing a kubectl delete at this point. The other thing is that I imagine that this request to disrupt is for a subset of nodes owned by a NodePool, not for the whole thing.
I'm not sure that there's a good workaround for this problem right now other than doing something hacky like messing with Karpenter's drift annotation to make it different than the one that is attached to the NodePool or NodeClass. Still seems reasonable to me to support something like an annotation on the NodeClaim/Node that would trigger a status condition and the disruption controller to mark the node as eligible for removal.


Fix UID from docker + more cache + optimizations

Partially merged — https://github.com/develar/onshape-desktop-shell/commit/c214a55eb050b0e8da863ee1b571795f602549e8 Thanks.


Fix drag multiple elements bug

This PR should fix the bug reported on issue #1898

Some issues:

[ ] clicking on an unselected element that's within a common bounding box of different elements currently adds it the selection. It should instead select it exclusively (deselect prev selection):

[ ] clicking (no dragging) within the bounding box (empty space) should deselect:

[ ] the above behavior should actually apply even to single-element bounding box:
(clicking in that place I have cursor in should select the red rectangle)

Got it! I'll work on fixing those issues. :)

Actually this is gonna be a bigger problem.
Since we switch selection on pointerdown, we can't determine whether we want to drag or deselect/switch.
Way Figma et al. does it is this:

If you have an element selected and you click outside its bounding box, deselect/switch on pointerdown
If you have an element selected and you click outside the element, but within its bounding box, deselect/switch on pointerup (keep on drag)
If you have an element selected and you click inside the element but over a higher z-index element covering it, again switch on pointerup (keep on drag)
Same logic applies when you have multiple elements selected.

@dwelle I checked on Figma to see how it works, and I think I understood what you're saying. I'll take those requirements into account as well.

@dwelle, the last commit should have fixed the use-cases for a single element selected.
I haven't yet finished fixing the use-cases for multiple selected elements. But I think it would be good if you could look at the solution as-is before I go on to solve the rest of the issues. Since you're a lot more familiar with the code-base and what the app should do than I am, you may notice things that I'm not aware of :)

This last commit should have fixed the use cases for multiple elements as well.
Please let me know if anything else is needed.

@dwelle This last PR should fix the issues of the previous one. I had to write a bit more code than I was expecting due to use-cases related to selecting/deselecting groups of elements.
Let me know what else is needed :)

From quick testing everything works superb! ❤ I'll review the code tomorrow.

@dwelle that's awesome to read 😁
The code will need some refactoring. I was focused on adding more regression tests and make the selection work. So let me know your opinion and I'll refactor from there 🙂

I pushed some refactor & one fix. Some conditions seemed unnecessary (no tests broke) + it precluded this case:

create 2 rectangles on top of each other
select a 3rd element (e.g. ellipse) elsewhere
drag the top rectangle

Added a test for it.
Haven't finished the review yet :upside_down_face:

Btw, try to keep short variable names. isHittingIntersectionBetweenSelectedElementAndOtherElements is a bit much. The variable name doesn't need to be a grammatically correct sentence :smile: (isASelectedElement() → isSelectedElement(), or better yet isSelected() because it's clear that it tests element from the parameter).

I pushed some refactor & one fix. Some conditions seemed unnecessary (no tests broke) + it precluded this case:

create 2 rectangles on top of each other
select a 3rd element (e.g. ellipse) elsewhere
drag the top rectangle

Added a test for it.
Haven't finished the review yet 🙃

I took a look at it. It's much cleaner :) Thank you for that!

Btw, try to keep short variable names. isHittingIntersectionBetweenSelectedElementAndOtherElements is a bit much. The variable name doesn't need to be a grammatically correct sentence 😄 (isASelectedElement() → isSelectedElement(), or better yet isSelected() because it's clear from the parameter that it tests an element).

Looking in hindsight, I went a bit overboard xD I guess I was trying to figure out in my head what I was doing. I'll have more attention in the future. Thank you for the feedback!

Ok, I think we can finally merge this. I pushed just a tiny refactor, but we'll probably want to do some tweaks in future PRs:

Improve naming.
Improve conditionals --- it feels that in many places the conditional expressions depend too much on previous state so we end up with conditions that seemingly don't make sense when read in isolation. Either way, the branching is getting very hard to read and debug.
I think that getElementAtPosition() should disregard bounding box and check only whether clicking inside an element, strictly. The bounding box logic should be factored out into separate helper(s).

Merging. Thanks @Jnforja for pushing this through! I'll make the announcement.

I'm glad we got this working! Thank you for your help ❤


options.globals get overridden inside gulp-jshint

Looks like bug #21 is back after rcloader has been upgraded from 0.1.2 to 0.1.4.
I can confirm that v1.9.1 of gulp-jshint works fine with rcloader v0.1.2.
It looks like the cloning of the configuration that fixed bug #21 has been removed in a subsequent commit - could this be returned?

+1 to this problem

+1

:+1:  same problem here.
This line is the culprit https://github.com/spenceralger/gulp-jshint/blob/master/src/lint.js#L41

All my build broke too, I am going to go back to 1.9.0 for the time being, it seems as if it does not recognize my global suppression config anymore

moving back to 1.9.0 did not work for either.

Yipe you are right moving back to 1.9.0 did not work for me, it has something perhaps to do with the upgrade of rcloader, my build was working with 0.1.2 . gulp-jshint has a dependecy on lodash, minimatch, and some others.. but right now perhaps it is rcloader 0.1.4

Working on it, fix inbound

Thanks for working on it, disregard my email I sent you please..

Well, not sure exactly what happened but I have published 1.9.2 locked to rcloader 0.1.2. rcloader 0.1.4 seems to mutate the config somehow but I don't have the bandwidth to track down the issue right now. Can someone confirm this fixes the issue for now?
Tests are passing and more need to be written to prevent this issue from coming back down the road. Can someone submit code that fails in 1.9.1 but passes in 1.9.2?
Thanks for your patience :smiley:

Thanks for doing that so quick. That fixed my issue

1.9.2 fixed my issues.
The following example failed in 1.9.1 and works again in 1.9.2.:
/*jshint node:true*/
console.log(_.isObject({}));

{
	"globals": {
		"_": false
	}
}


LocalBounds are calculated through getBounds if worldTransform is easy

We don't have to ruin transforms if they are not rotated to calculate local bounds.
Tests cover all of getLocalBounds() possible usage.
This may break if cacheAsBitmap , because it uses getLocalBounds() to actually change world transforms. CacheAsBitmap is not covered by tests, lets check it on examples.

Confirmed: cacheAsBitmap is broken with it. Just run cacheAsBitmap example with rotation=0
@GoodBoyDigital can we please not to rely on side-effects of getLocalBounds() ?

Yeah there are some bugs already existing with cacheAsBitmap, I'll look at adding tests for those soon.

@ivanpopelyshev can we close this? Have we moved on?

I can re-open it later.


add

please merge the code of intersection of two arrays under hacktober label asap.

@all-contributors please add @ankur249 for his code


Java indexer: emit 'tvar nodes, 'defines' anchors, and 'bounded/upper' edges for type parameters [phab:D73]

Created by schroederc at 2015-02-19 22:08:41:
This is an alternative to #267

schroederc abandoned revision at 2015-02-19 22:39:34


Comment on GitHub PR when PR's builds are available for testing

Done as part of https://github.com/orgs/appifyhub/projects/1.


Do not reuse NexusIncomingService for CreateOrUpdate request

What changed?
In description.
Also added a note about character restriction in service names ([a-zA-Z_][a-zA-Z0-9_]*).
The restriction was added because we want to use the service names in metric labels and this what Prometheus supports.
Why?
Will allow us to add more fields in the response that are server set and should not be accepted in create or update requests.
Breaking changes
It's breaking but was never used.

Not the biggest fan of making incompatible changes to API even if unused. Ideally this would be in some kind of feature branch while you work out the final form, but I understand if that's difficult.

Agree. I made this change based on your comment on another document for the outgoing service registry. I figured we'd apply it to incoming too while it's still possible.


fix(s3): increase maxRetries and decrease connectTimeout

fix(s3): increase maxRetries and decrease connectTimeout
Checklist

[X] :wave: I have run the unit tests, and all unit tests have passed.
[ ] :warning: This pull request might incur a breaking change.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

As we can see on these screenshots we are doing 2 retries in some regions. Yesterday I got the first alarm of a 500 error after 2 retries failed :scream:
There are huge differences between regions, some have more network issues than others.. So I'm proposing to decrease the connection timeout to 1sec (what I think is still high for just establishing the connection, maybe we could decrease it to 500ms :thinking: ) and increase the retry?


Death / Quitting music if you fail too many times

Assuming we ever have a life count, we'll have this here just as an easter egg to be played when the player thinks they have completed all the levels when they have not. Use either or, let's have some variety in there.
Using previously made music for this game. Originally created by me, all rights reserved.

So this music could be used for either getting too many deaths and/or the easter egg


Support for NVIDIA Video Loader (nvvl)

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.10
Python version: 2.7
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: 9.0
GPU model and memory: GTX 980M 4G
Exact command to reproduce: N/A

Could you add the support for NVIDIA Video Loader?

@fengyang0317 keep an eye on DALI, https://github.com/NVIDIA/DALI

@fengyang0317 Why you are forwarding over DALI? Is DALI support video readers like NVVL? I don't think that features overlaps between the two projects or tha DALI supersedes NVVL.

@samikama Why you are forwarding over DALI? Is DALI support video readers like NVVL? I don't think that features overlaps between the two projects or tha DALI supersedes NVVL.

@samikama Why you are forwarding over DALI? Is DALI support video readers like NVVL? I don't think that features overlaps between the two projects or tha DALI supersedes NVVL.

Something is moving in https://github.com/NVIDIA/DALI/pull/240


Fix jest-native peer dependency on react-native and migrate @testing-library/react-native support to v7+

v7+ migration guide: https://callstack.github.io/react-native-testing-library/docs/migration-v7/
Notable changes:

@testing-library/react-native now uses React Native's Jest preset instead of providing its own preset on top of React Native's.
It is no longer necessary to add @testing-library/react-native/cleanup-after-each to Jest's environment setup hook. The behavior is now consistent with React Testing Library (RTL).

Fixes #29
Resolves #30

Looks good, you can merge


Read the docs does not show full table of contents of left bar + font improvement

Hello, I have a minor suggestion that I think will be very helpful for people to navigate and read the documentation.
Right now Read the Docs does not display the full table of contents on the left (i.e. one link for every page).
For example, to go to the page on scanpy.api.pp.calculate_qc_metrics (which is https://scanpy.readthedocs.io/en/latest/api/scanpy.api.pp.calculate_qc_metrics.html) I have two options:
First, I could go to the API page under prepocessing (https://scanpy.readthedocs.io/en/latest/api/index.html#preprocessing-pp) , and click the link to pp.calculate_qc_metrics link highlighted in the picture. However, it's not clear from the font used that it's clickable, because it looks like just markdown. I'd suggest making links blue, or underlined, or both, because that's what will convey that they are clickable

Second, at the bottom of the page I could click next, which will take me to the next page. This only allows me to navigate the pages sequentially, and is not very practical because I don't know what comes next.
It would be extremely helpful for people navigating the doc if the table of contents unfurled into links for the individual pages contained in the section they are at. I made an example below of what I think this could look like, in it each page under Preprocessing: PP gets it's own link in the sidebar.

Thanks
Eduardo

Thank you for your suggestions! I'm very happy to improve things. We're just right now working on improvements on another branch (beyondapi). I'll get back to this thread in a couple days with the results...

This should be fixed via: https://github.com/theislab/scanpy/issues/407
We're super happy if you check out the new: https://scanpy.readthedocs.io/en/latest/api/ and give us your feedback! We know that we still have an issue with the return sections, which was introduced in the past couple of months as we changed the docs generator. We're working on that.

The new documentation index looks great! It's exactly what I was thinking about! Thanks so much for being so responsive!

Great that you like it! :smile: I'm closing this.


Badge count should reflect number of unread messages

Instead of the badge count showing the number of chats/rooms where you have unread messages, it shoul show the number of unread messages.

Related web issue: https://github.com/vector-im/riot-web/issues/12208


solved using double linked list

Have you read the Contributing Guidelines on Pull Requests?
Yes, I have a smart look  over the guidelines
Checklist

[yes ] I've read the contribution guidelines.
[ yes] I've checked the issue list before deciding what to submit.
[yes ] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#3343
(Write your answer here.)

Sir , Changes are done according to your suggestion. plzz have a look once..


Added Sequential Gauss-Newton optimizer

In order to perform sequential batch least square estimaion, it could be interesting to implement a sequential Gauss Newton optimizer.

Hi Bayardj,
Thanks for the contribution. I've also seen this called Bayesian least squares as it incorporates an a priori estimate and covariance into the least squares solution.
It would be nice to include in the javadoc how a user with a state estimate and a state covariance matrix would pass those to your class. That would clarify that it solves that problem as well. It would be good to include this in this PR.
It does make me wish the interface for LSP allowed accumulating the normal equations a measurement at a time as a memory optimization since you always form the normal matrix in this algorithm.
You could also provide an option for not forming the normal equations by appending the Jacobians and residuals into a larger matrix. That could let the user make the trade off on speed vs numerical stability and perhaps help with some of the failures you're seeing in the test cases.
Regards,
Evan

Hi Evan and Luc,
For information Julie is my intern. The motivation of this PR is to have a sequential least-squares optimizer in order to perform orbit determination using a "sequential" batch least squares algorithme (See; Chapter 10.5 of Fundamentals of Astrodynamics).

It would be nice to include in the javadoc how a user with a state estimate and a state covariance matrix would pass those to your class. That would clarify that it solves that problem as well. It would be good to include this in this PR

+1 for adding this information in the Javadoc. It could be very useful for users.

You could also provide an option for not forming the normal equations by appending the Jacobians and residuals into a larger matrix. That could let the user make the trade off on speed vs numerical stability and perhaps help with some of the failures you're seeing in the test cases.

That is a very interesting aspect that we would like to add later. Indeed, the second main task of Julie's internship is the implementation of an Extended Semi-analytical Kalman Filter in Orekit. We have an important time constraint on this second point. Indeed, we submited an abstract for the next Astrodynamics Specialist Conference and we will need results before the end of July for the paper submission (we keep our fingers crossed that the abstract will be accepted :smile:).
Therefore, we planed to implement the option about normal equations just after the conference.
Is it ok for you or do you think we have to add the option before merging the branch into master?
Best regards,
Bryan

Hi Bryan, Julie,
Welcome Julie!
I think it is ready to merge once the javadoc is updated so that users will understand the nice capability that has been implemented here. I'm looking at Section 4.4.2 of Tabley, Schutz, and Born's Statistical Orbit Determination and Julie has created a straight forward implementation of it.
Those bigger comments were me thinking about nice features to have in the future, not things we need to implement now. I should have been more clear.
I would be interested in reading your paper when you're ready to share it. It is a shame that the conference is virtual this year, but it does make travel arrangements easier. :)
Regards,
Evan

It would be nice to include in the javadoc how a user with a state estimate and a state covariance matrix would pass those to your class. That would clarify that it solves that problem as well. It would be good to include this in this PR

+1 for adding this information in the Javadoc. It could be very useful for users.

I just realized something. With the current implementation of the SequentialGaussNewtonOptimizer class, it will not be possible for a user to use the class without specifying the previous residual vector and the previous Jacobian matrix.
Adding the ability to perform sequentiel batch least squares from the previous estimated state and the corresponding previous covariance matrix  only state is also something we would like to implement in the future. This is very useful in the case of satellite operations.  However, as I mentioned before, we have not implemented this yet due to our time constraints for the Astrodynamics Specialist Conference...
I will suggest to Julie to add in the Javadoc how to use the SequentialGaussNewtonOptimizer class with the previous estimated state, the Jacobian matrix and the measurement residuals. This is a first interesting help in the Javadoc.
What do you think about it?
Best regards,
Bryan

I have reviewed more thoroughly the PR and made some changes in a new branch bayardj-sequential-gauss-newton
in the official repository.
The main change was to allow using a null previous evaluation. This seemed useful to me when starting the process from scratch.
I have also added a test that really exercises sequential feature as the existing tests in fact started with a dummy CheckerEvaluation filled with zeroes and performed only one call with all measurements provided at once. This in fact ended up with an optimum that considered having twice the number of measurements (the dummy ones at zero followed by the real ones.
One test Hahn1 which throwed an exception before my changes now completes but the results are very bad. I think however this test is a difficult one, it is seen as singular with other optimizers.
Could you review these changes and tell me if you agree with them?

I found the reason why SequentialGaussNewtonOptimizerWithSVDTest.testHahn1 failed with an exception previously but not anymore.
The test in the PR was wrong. It used @Test(expected=MathIllegalStateException.class) which only checks
the type of the exception, but in fact the setup in super.testHahn1() used the wrong dimensions for the problem when setting up the initial CheckEvaluation instance (it used 1 instead of 7). So the test failed earlier than expected due to a LocalizedCoreFormats.DIMENSIONS_MISMATCH exception. In Hipparchus tests, it is better to not use  @Test(expected=SomeException.class), but rather to catch the exception in the test and to compare e.getSpecifier(),
and sometimes even e.getParts() against an expected reference.
When using the correct dimension in the setting, the same behaviour occurs in the PR and in my changed branch: optimization completes and results are numerically very far for expected results.

I have added a few more changes and merged the PR.
The changes are:

allow user to build or not the normal equations
allow user to start with only a priori state and covariance (thanks to Evan for the hint!)


CI: List contents of bin/ after build

This can be used to compare impacts on the generated files
and especially their size in PRs.

Would it be useful to run Bloaty on at least one of the binaries in the CI step?

On top of that, would it be useful to run Bloaty on at least one of the binaries in the CI step?

Yeah, but we need to figure out what bloaty options make the most sense for us to actually interpret the data.
Might actually be worth making a dedicated GH action that would add this data to a website visualization so we can compare metrics for all builds.

on at least one of the binaries in the CI step?

Not very useful for release builds, but it would be nice to have for Linux and macOS debug builds.

I would not really bother with bloaty, we can debug builds after we see a size change.


expression with grouping gives an implementation is missing

Test in PlannerSpec:
select case when pop > 1000 then city else lower(city) end, count(*) from zips group by city fails with: an implementation is missing (ReifyIdentities.scala:358)

This is likely due to #3114 which is needed to finish up the last case in ReifyIdentities.

It is most definitely #3114.  I'm going to close this one out as a duplicate.


Django 2.1 Support for Widget.render() methods without the renderer a…

…rgument is removed.

Pull this!!!!!!

Yup. This PR fixed my issue.

I like this to be available python package release. When this will be merge?


tests/test_rot is missing

test_rot should be imported by 1.py, but it is not included in the repository.

test_rot is a temp file created for testing patches rotation feature, the full path in beamline package is beamline.element.MagBlock.rot, so if really needed, the following two lines could be put into the file 1.py:
from beamline.element import MagBlock
rot = MagBlock.rot

Then 1.py should be able to run.


Allow ":" in calculate command

Only / is allowed when dividing. This is confusing many people.
Affected is Minecraft command !calc

I’ll also make x and alias of * for multiplication


Aug. 2017 Submissions

https://github.com/ehennenfent/binja_dynamics
Adds a PyQt5 frontend to Binjatron, including a register viewer, traceback viewer, and live memory viewer with stack frame highlighting.
https://github.com/ehennenfent/binja_arch_ref
Adds a simple cheat sheet report to Binja based on the information available in the architecture object.
https://github.com/ehennenfent/binja_sensei
Uses the RepositoryManager API to automatically install the plugins listed above, along with binja_explain_instruction, Syscaller, and Annotator.

One other issue: binja_explain_instruction is linked as a submodule to this repo, but is not included in plugins.json (or README.md). This means that the Repository Manager does not provide a means to install it.

I'll add myself in here!
Here is a disassembler / lifter for the Pasticciotto architecture I made. :D
The plugin repo is here.

All these are added.

Looks like pasticciotto has been submodule'd, but hasn't been added to plugins.json yet


Multiple variable declarations in single statement produces malformed lua

let a = 1, b = 2, c = 3;

=>
local a = 1local b = 2local c = 3;

I think putting a semicolon ';' at thend of variable assignments would fix this without complications.

Nevermind. I tried putting semicolons in, but it produces a double semicolon ';;' at the end of the line which is explicitly illegal in lua.
Seems like adding whitespace is the only simple option.

Adding a newline after each assignment is probably the nicest solution here.

Realized the place I was trying to put the semi-colon was bad. The PR has a 'proper' fix that puts each declaration on its own line with a semi-colon.


cherry pick log improvements

…952)

Why are these changes needed?

Related issue number

Checks

[ ] I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
[ ] I've run scripts/format.sh to lint the changes in this PR.
[ ] I've included any doc changes needed for https://docs.ray.io/en/master/.

[ ] I've added any new APIs to the API Reference. For example, if I added a
method in Tune, I've added it in doc/source/tune/api/ under the
corresponding .rst file.

[ ] I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
Testing Strategy

[ ] Unit tests
[ ] Release tests
[ ] This PR is not tested :(

Please make the titled a bit more clear on the ray version we are cherry-picking Thanks!


Fix incorrect instant transitions between environments

This should fix #199.
The issue seems to be that the environment instantly transitions (when it shouldn't) from OVERWORLD to WILDERNESS_LOW when loading under certain conditions, then a single frame is rendered before the environment again transitions instantly back to OVERWORLD. The issue with these instant transitions is that the ambient color (among other things) changes completely to the new environment only for that single frame.
The intent seems to have been to only cause new environments to apply instantly whenever the player is teleported to a new area, not when simply walking into a loading line. Because camTarget is stored in local scene coordinates, the coordinates are shifted by 40 tiles when the origin is reset for the newly loaded scene, thus incorrectly triggering an instant change as if the player was just teleported. If the player is running through the loading line from an odd numbered tile, the new camTarget can also be 41 tiles away from the previous, hence the change to 41 instead of 40.

Can confirm, this does look like it fixes #199. Great job!

Nice find Hooder. I think it's interesting to note that there was multiple bugs causing #199. Originally the flickering was mostly artifacting in the loading process. With that fixed this scene transition bug became more obvious.


feature/scaling

add scaling of braille dots and letter in practice depending on min screen width

Well done!


Area crop image

Can I set a smaller square area to crop the image?

Yes. You can set do it by setting config.presetFixedRatioType to . alwaysUsingOnePresetFixedRatio
var config = Mantis.Config()
config.presetFixedRatioType = .alwaysUsingOnePresetFixedRatio(ratio: 1.0)

Then pass this config to Mantis.cropViewController

Yes, however I'd like a square with smaller sides. For instance, a square with 20% the width of the image

Hello,
I set config.presetFixedRatioType = .alwaysUsingOnePresetFixedRatio(ratio: 1.0)
So the area to crop has this size below

And I'd like set this crop area to [300,300] like this one:

Thank you

Do you mean you want to keep the size of crop area all the time? Also, do you want to move this crop area to get different cropped image?

Yes. Yes

It is pretty different with the current way how Mantis crop view works. I may not have enough time to add this feature. Maybe you can create a new project for it.

I see. Thank you for the response.


Fingerbot Plus

Just bought a fingerbot plus (zigbee) from Temu and added your driver.
And it works! Thanks for this driver!!!!
Just a few issues I've noticed:

It comes up as "Fingerboot Plus" (typo I'm guessing)
It's UI (presentation) has an off/on switch. A momentary switch for this device would work much better.

"It comes up as "Fingerboot Plus" (typo I'm guessing)"
Fixed
"It's UI (presentation) has an off/on switch. A momentary switch for this device would work much better."
When it works as a momentary push button, the state returned by the device is once On and once Off and this could not be done with a momentary switch feature.


Update the README with example usage instructions

Please update your README with some basic example how to install and use some example. As it stands now, it's totally incomprehensible for an outsider of the project to know how to use this. :cry:
Please provide instructions (for dummies) for a working example. Maybe an example of something like:

Using MatLab, Octave, R or Python to get candle (OHLCV) data for the last 1000 1H candles of EURUSD on MT4

ok, I added some python and we substantially updated the README, so I think we close this now.


no results when collection name has spaces

if you query a collection while the collection name has spaces like 'A Spacy Name', the query always delivers 0 results.

Thanks a lot @coorangar for raising this bug. I fixed it now, should be available on next release.


Refactor english community section

Check Italian section and refactor community section for EN adding link list in the same way

closed with #9


Missing Havok source './_havok/engine.js'

Hi @lo-th ! Thank you for your awesome repo. I'm exploring it and was wondering where the Havok source is?
Inside src/Havok.js, there's:
export { engine } from './_havok/engine.js';

But './_havok/engine.js' doesn't exist, so I'm confused how Havok is an available option according to the Docs

Did you ever figure this out? I also just ran across this.


Feature/dj/addfunds

This PR does the following:

Now see a confirmation page after successfully completing a transaction
Can view and add money to balance

The numbers still don't persist user data, but the user may carry out a transaction or two now

This looks good, We still have to implement the up and down arrows on the add funds page.


Update specs2-core, specs2-scalacheck to 4.12.11

Updates

org.specs2:specs2-core
org.specs2:specs2-scalacheck

from 4.12.10 to 4.12.11.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.specs2" } ]

labels: test-library-update, semver-patch

Superseded by #95.


FIX: Normalization workflow API - provide bare template names

A recent change is provoking this error. This PR fixes the problem.

Still not working :(. I'll let you know when I figure this one out.

Seems to work locally. Will merge when tests pass.


create cue notes suggested changes

On the cue notes create script, include the option to omit chord symbols.  Most of the time I only want the notes especially on a drum staff.
Also, for cues on a drum staff, make the notes single pitch and show the notes and rests on the first space above the top line on the staff.  This will save the steps for single pitch and move rests.
Thanks for listening!

This is my script so I should comment. Thanks for the note about chord symbols - I'll add those to the "optional copy" items. (Never use them myself so forgot about them!) Also ... I have a new amendment now awaiting packaging called "Cue Notes Overlay" designed for cues to sit above existing (played) music - which never copies chord symbols.
The percussion staff issue is highly personalised, and making the assumption that everybody would want all of their drum notes reduced to single pitch is a really big leap. Unless I can envisage a more universal solution it will remain something you have to do manually. Maybe create a new script that automates that percussion reduction BEFORE it becomes a cue?

Is this issue resolved? If it was resolved by one of the PRs I just merged, the best way to be sure it gets closed is to reference by number (e.g. #620) it in the description of the PR.

Yes - sorry. #622 addressed several other matters and I forgot that it was sparked here. @gtmalone didn't have any other comments so that should resolve the issue.


Cryptic error on build when source handler fails

Issue workflow progress

Progress of the issue based on the Contributor Workflow

[ ] 1. The issue provides a reproduction available on Github, Stackblitz or CodeSandbox

Make sure to fork this template and run yarn generate in the terminal.
Please make sure Mesh package versions under package.json matches yours.

[ ] 2. A failing test has been provided
[ ] 3. A local solution has been provided
[ ] 4. A pull request is pending review

Describe the bug
Our build broke recently and it was throwing a very confusing error. luckily we were able to find the issue and fix it. One of our data sources is Contentful and we were pointing our build to a contentful environment that no longer existed. The error gave no indication that an issue was happening with that data source.
To Reproduce
Steps to reproduce the behavior:
To reproduce, configure at least 2 data sources. One that is fine, and another that doesn't exist. There should be in error that doesn't fully describe the situation.
Expected behavior
Mesh should indicate which data source handler failed.
Environment:

OS: macOS
@graphql-mesh/...:
NodeJS: v16.14.2

So if one of the sources fails, it fails with a long stack trace without giving a clue. Did I understand correctly?


[Feature] Add LSGAN architecture

Codecov Report

Merging #12 (46fa897) into master (c3ad17b) will increase coverage by 0.07%.
The diff coverage is 80.72%.

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
+ Coverage   77.41%   77.49%   +0.07%
==========================================
  Files         101      103       +2
  Lines        5987     6070      +83
  Branches     1031     1044      +13
==========================================
+ Hits         4635     4704      +69
- Misses       1070     1079       +9
- Partials      282      287       +5

Flag
Coverage Δ

unittests
77.49% <80.72%> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...els/architectures/lsgan/generator_discriminator.py
80.00% <80.00%> (ø)

mmgen/models/architectures/__init__.py
100.00% <100.00%> (ø)

mmgen/models/architectures/lsgan/__init__.py
100.00% <100.00%> (ø)

mmgen/models/architectures/stylegan/mspie.py
91.58% <0.00%> (+0.99%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c3ad17b...46fa897. Read the comment docs.


[FrontEnd] Implement Information Pages Post-Login

As a user
I Want to see information on how the app works and how I can increase my points and status.
So That I can better understand the app and improve my heatmap.

#42


Update geary to 0.12.2 from master branch

Motivation for this change
Geary 0.12.2 fixes an annoying bug.
I've just copied the file from master branch.
I didn't test it because i do not know how.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Sorry, i meant to make a pull request to release-18.03.


Method not found: uint Godot.InputEventKey.get_Scancode()

Godot version: 3.1.1 Mono version
OS/device including version: Windows 10 x64
Issue description: Method not found: uint Godot.InputEventKey.get_Scancode()
Steps to reproduce:

Trying to get an scancode of IputEvent in mono version throws next error Unhandled Exception:
System.MissingMethodException: Method not found: uint Godot.InputEventKey.get_Scancode()

Minimal reproduction project:

I think you should be able to use InputEventKey.Scancode on its own as it's a variable.
Here's a snippet from the "source code":
/// <summary>
/// <para>Key scancode, one of the <see cref="T:Godot.KeyList" /> constants.</para>
/// </summary>
public uint Scancode {
	get;
	set;
}

It might be useful to add the C# equivalents in the documentation as currently only the GDScript properties/functions are visible

Is this resolved or what?


Unicode support or provide option to define charset (encoding)

Please provide option to define character set (encoding). Right now files with unicode but non ASCII ain't supported.
Example JSON file attached
data-20160919T0700.zip
Command line python -m mistql.cli "@" --file data-20160919T0700.json
Error message
_Traceback (most recent call last):
File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Program Files\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Program Files\Python310\lib\site-packages\mistql\cli.py", line 64, in
raw_data = f.read()
File "C:\Program Files\Python310\lib\encodings\cp1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 767: character maps to

Looks like there's a fair number of issues with unicode handling in windows using the python CLI. Basic utf-16 support was addressed in #123, more windows issues are repro'd in https://github.com/evinism/mistql/pull/124

If the windows tests are to be believed, this should be fixed on main. Will be pushed in the next release (0.4.8), likely to be pushed within the coming week.
Related PRs: #123, #124, #125, #126

Released in 0.4.8