streaming-api-client incompatible with python 3.8

Using this documentation, I attempted to get a test aruba web-socket listener up and running.  After cloning, I installed the requirements with
pip install -r requirements.txt

I set up the key, and then attempted a run:
$ python simple_app.py
Traceback (most recent call last):
  File "simple_app.py", line 67, in <module>
    websocket.enableTrace(True)
AttributeError: module 'websocket' has no attribute 'enableTrace'

It appears the code no longer works in python 3.8.
Versions:
$ python --version
Python 3.8.10
$ pip list | grep websocket
websocket          0.2.1
websocket-client   1.2.1

I tried installing the PPA for python 3.6, and it still will not run.
Tried with versions:
$ python --version
Python 3.6.15
$ pip list | grep webso
websocket          0.2.1
websocket-client   1.2.1

Hi @ddombrowsky, I tried to reproduce your issue. I noticed something strange with pip installation of packages.
Initial working state where the script worked without AttributeError: module 'websocket' has no attribute 'enableTrace'
streaming-api-client $ python3 --version
Python 3.9.5
streaming-api-client $ pip3 list | grep webso
websocket                     0.2.1
websocket-client              1.2.1

Next, I uninstalled the 'websocket' package:
Found existing installation: websocket 0.2.1
Uninstalling websocket-0.2.1:
  Would remove:
    /usr/local/lib/python3.9/site-packages/websocket-0.2.1.dist-info/*
    /usr/local/lib/python3.9/site-packages/websocket/*
  Would not remove (might be manually added):
    /usr/local/lib/python3.9/site-packages/websocket/_abnf.py
    /usr/local/lib/python3.9/site-packages/websocket/_app.py
    /usr/local/lib/python3.9/site-packages/websocket/_cookiejar.py
    /usr/local/lib/python3.9/site-packages/websocket/_core.py
    /usr/local/lib/python3.9/site-packages/websocket/_exceptions.py
    /usr/local/lib/python3.9/site-packages/websocket/_handshake.py
    /usr/local/lib/python3.9/site-packages/websocket/_http.py
    /usr/local/lib/python3.9/site-packages/websocket/_logging.py
    /usr/local/lib/python3.9/site-packages/websocket/_socket.py
    /usr/local/lib/python3.9/site-packages/websocket/_ssl_compat.py
    /usr/local/lib/python3.9/site-packages/websocket/_url.py
    /usr/local/lib/python3.9/site-packages/websocket/_utils.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/__init__.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/data/header01.txt
    /usr/local/lib/python3.9/site-packages/websocket/tests/data/header02.txt
    /usr/local/lib/python3.9/site-packages/websocket/tests/data/header03.txt
    /usr/local/lib/python3.9/site-packages/websocket/tests/echo-server.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/test_abnf.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/test_app.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/test_cookiejar.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/test_http.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/test_url.py
    /usr/local/lib/python3.9/site-packages/websocket/tests/test_websocket.py
Proceed (Y/n)? y
  Successfully uninstalled websocket-0.2.1

Then I got the error you mentioned:
streaming-api-client $ python3 simple_app.py
Traceback (most recent call last):
  File "/Users/karthikeyandhandapani/Downloads/streaming-api-client/simple_app.py", line 67, in <module>
    websocket.enableTrace(True)
AttributeError: module 'websocket' has no attribute 'enableTrace'

To fix this, I reinstalled 'websocket', it still had the error. I then uninstalled 'websocket-client' package and reinstalled 'websocket-client' package. Then, the script started working. Could you try the same?
streaming-api-client $ python3 simple_app.py
--- request header ---
GET /streaming/api HTTP/1.1
Upgrade: websocket
Host: internal-ui.central.arubanetworks.com
Origin: http://internal-ui.central.arubanetworks.com
Sec-WebSocket-Key: xxxxxxxx==
Sec-WebSocket-Version: 13
Connection: Upgrade
UserName<EMAIL_ADDRESS>Authorization: xxxxxxxxxxx
Topic: monitoring
...
...

@karthikeyan-dhandapani inspired by your suggestion, I tried this:

Remove everything with pip remove -r requirements.txt (or just start from fresh virtualenv)
Remove websocket from the requirements.
Install as normal with pip install -r requirements.txt

Then things seemed to work.
$ python simple_app.py
--- request header ---
GET /streaming/api HTTP/1.1
Upgrade: websocket
Host: app-uswest4.central.arubanetworks.com
Origin: http://app-uswest4.central.arubanetworks.com
Sec-WebSocket-Key: ...
Sec-WebSocket-Version: 13
Connection: Upgrade
UserName: ...
Authorization: ...
Topic: monitoring

-----------------------
--- response header ---
HTTP/1.1 101 Switching Protocols
Date: Fri, 17 Sep 2021 00:30:31 GMT
Connection: upgrade
Upgrade: websocket
Sec-WebSocket-Accept:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Request-Start: t=1631838631.320
X-XSS-Protection: 1; mode=block
-----------------------
Start Streaming Data!

It appears that websocket and websocket-client are incompatible.  It seems to depend on which one was installed last as to who wins (or loses) the race.
Patch is:
diff --git a/streaming-api-client/requirements.txt b/streaming-api-client/requirements.txt
index c5e80ce..367a7f3 100644
--- a/streaming-api-client/requirements.txt
+++ b/streaming-api-client/requirements.txt
@@ -3,5 +3,4 @@ greenlet
 protobuf
 six
 requests
-websocket
 websocket-client

Note: I did get another error about on_close not taking the right number of arguments.  I worked around it by adding some dummy variables:
diff --git a/streaming-api-client/simple_app.py b/streaming-api-client/simple_app.py
index b72359f..134f4db 100644
--- a/streaming-api-client/simple_app.py
+++ b/streaming-api-client/simple_app.py
@@ -41,7 +41,7 @@ def on_message(ws, message):
 def on_error(ws, error):
     print(error)

-def on_close(ws):
+def on_close(ws,a,b):
     print("### closed ###")

 def on_open(ws):

btw versions for the working version are python 3.8.10 and websocket-client 1.2.1.

Thanks for the diff. Also try out advanced version of streaming client if required. I am closing this issue now, will fix this shortly along with upcoming changes for next version of Aruba central.


Future of Komponent

I would like to gather feedback, to figure out what the future of Komponent should look like.
We created Komponent in 2018 when there was no convincing solution to organize our front-end code into components. Now in 2021 I feel like ViewComponent is the new standard for this. It is popular, very fast, well maintained and follows Rails conventions more closely than Komponent.
As you know, it's quite some work to maintain and evolve an open source project, and we haven't been up to the task in 2020. So we considering deprecating Komponent, but we'd like to provide a path forward.
I currently work on a dozen projects heavily using Komponent (most of them still Rails 5.2), and some of them are migrating (or considering migrating) to ViewComponent.
If you are using Komponent, can you please tell us:

if it still makes sens to start a new project with Komponent in 2021?
if you're considering migrating to ViewComponent (or if you've already started)
if you want to stay on Komponent because some features are missing in ViewComponent
if you're interested in working on tools to ease the transition

Thanks in advance!

cc @andrzejsliwa @olimart @gkemmey @MittchoBaroco @stevschmid and other contributors, I would be happy to read your opinion on this!

cc @andrzejsliwa @olimart @gkemmey @MittchoBaroco @stevschmid and other contributors, I would be happy to read your opinion on this!

Hello here,
Seems a long time I don't have contribute to Komponent, mainly because I don't use it.
As you mentioned, it's difficult to maintain open source project, and even more when we don't actively use the projet in production. @Spone, and some others folks contributes to the projet, and it's nice to see people involved into it.
Rails introduced ViewComponent, and seems to be the standard, I don't use it either. Some projects in Ouvrages use Komponent, and should use it in future too, or not, depending or what ViewComponent has to offer. Komponent was born because there had no alternatives to components-view system in Rails ecosystem. Now with ViewComponent a Rails Way is rising.
Today, I make front-end only with javascript tools like React, and use Rails only for back-end. But Hotwire is a Rails Way solution to compete with javascript frameworks. Maybe tomorrow, we will some projects with Hotwire, and ViewComponent.
So, for me, working on tools to ease the migration seems a good solution for people which want to use the Rails View without losing time and money.

Hello here,
Seems a long time I don't have contribute to Komponent, mainly because I don't use it.
As you mentioned, it's difficult to maintain open source project, and even more when we don't actively use the projet in production. @Spone, and some others folks contributes to the projet, and it's nice to see people involved into it.
Rails introduced ViewComponent, and seems to be the standard, I don't use it either. Some projects in Ouvrages use Komponent, and should use it in future too, or not, depending or what ViewComponent has to offer. Komponent was born because there had no alternatives to components-view system in Rails ecosystem. Now with ViewComponent a Rails Way is rising.
Today, I make front-end only with javascript tools like React, and use Rails only for back-end. But Hotwire is a Rails Way solution to compete with javascript frameworks. Maybe tomorrow, we will some projects with Hotwire, and ViewComponent.
So, for me, working on tools to ease the migration seems a good solution for people which want to use the Rails View without losing time and money.


Terminal Velocity / terminal-recall

Project Link
https://github.com/jtrfp/terminal-recall
Project License
Apache 2.0
Steam App Ids

https://steamdb.info/app/358370/

Additional Context
Also supports Fury3 which is not available on Steam. I don't own Terminal Velocity myself yet, I'll get it on the next sale and test it out if needed. Nightly builds: https://sourceforge.net/projects/terminal-recall/files/

Thanks for the request, currently don't own the game, so would need that to proceed.

Can I send you a key?

I think I need the numbers after, you can add me at: Jpx#0937

@ToughGuyKunio Thanks for the game. I've added this in https://github.com/luxtorpeda-dev/packages/pull/504
If you use the luxtorpeda (runtime) version and launch the game, it'll download openjdk and this engine and then run the game. You'll need to pick where the game asset files in the configuration menu, as I didn't see a way to give that information in the command line. But it seems to work pretty well.

Works great, thank you!


Feature request: gds-summarise, like gds-usage but prints out a summary instead.

Some details would be:

Number of files in directory
Number of folders in directory
Size of directory
Optional data-graph to show number of files produced over time in folder

@ohofmann also looking for some suggestions here

I think this would be terrific already. My normal usage pattern on the command line also frequently includes limiting to certain filetypes (by suffix) - basically what's the size of the BAMs in a folder vs everything else - but that's something we can already get out of file listings, I think...


Outdated package references in README

I believe that a part of the README is outdated referencing an old module name scpdt
https://github.com/scipy/scipy_doctest/blob/58ff06a837b7bff1dbac6560013fc6fd07952ae2/README.md?plain=1#L83-L86
To run I called the following:
pytest --pyargs scipy_doctest

I can review these commands and create a PR to update it

Please do!


[Bug]: Layout routes on same directory level causes build failure

Which Remix packages are impacted?

[X] remix (Remix core)
[ ] create-remix
[ ] @remix-run/architect
[ ] @remix-run/cloudflare-workers
[ ] @remix-run/dev
[ ] @remix-run/express
[ ] @remix-run/netlify
[ ] @remix-run/node
[ ] @remix-run/react
[ ] @remix-run/serve
[ ] @remix-run/server-runtime
[ ] @remix-run/vercel

What version of Remix are you using?
1.0.6
Steps to Reproduce
See repro case here: https://github.com/sjones6/duplicate_template_route_repro
After running npm i, try npm run dev and you should get a build error:
npm run dev

> remix-app-template@ dev /Users/spencer/Code/template_repro
> remix dev

Path undefined defined by route "routes/__foo" conflicts with route "routes/__bar"
npm ERR! code ELIFECYCLE
npm ERR! errno 1

Expected Behavior
Application builds, and routes in nested template directories are registered.
Actual Behavior
Build step errors and fails.

Can confirm!

fixed on #1347

Closing, as this has been fixed referencing a duplicate issue.


Replace deprecated JsonSerializer with JsonInclude

What's happening with this pull request? Are you going to combine it with other ones?


Markdown grammar/highlighting doesn't understand mixing bold and italics

Left (markdown file) is wrong, right (markdown preview) is correct

Maybe connected to #69

Duplicate of #69


Image pan and zoom while allowing page to scroll

I was getting annoyed when scrolling down would result in an image getting zoomed in. Also, sometimes, when I would scroll up, the image would zoom out to size zero and the only way to reset was to reload the page. Additionally, there was no way to pan the image after a zoom.
So I did the following:

Shift + scroll = pan (shift + two finger move on trackpad)
Ctrl + scroll = zoom (ctrl + two finger move OR pinch zoom on trackpad)
Allow pan & zoom when on the Pane, not just on the image
Double click on pane (not just image) to reset image
Reset button in pane bar to reset image

Sorry, I don't know why so many commits showed up here. It's actually just the last few. The other commits were from my previous pull request and me trying to merge my repo with the official repo (upstream)

Alright I've gotten a chance to try this out and its awesome. Only thing, can we swap ctrl and shift and check for the pan event before the zoom event? Shift scroll is already overloaded on many browsers as horizontal scroll, so you'll only be able to scroll left and right if using a mouse wheel under the current setting. The ordering is important as well, as shift control scroll should pan left/right rather than zoom


4.3.x-GazzTest

:id: Reference related issue.
:pencil2: A description of the changes proposed in the pull request
:memo: Test scenarios
:computer: Add screenshots for UI
:books: Any other comments that will help with documentation
:man: :woman:@mentions of the person or team responsible for reviewing proposed changes
This is a nice example: https://github.com/gravitee-io/gravitee-access-management/pull/1822

This is a test


Newer SVG options are not exposed; such as blacker

Newer MathJax SVG options are not exposed.
Especially the SVG option blacker, would be very useful to have in tex2svg.

I saw that mathjax-node-cli uses mathjax-node-sre under the bonnet.
The good news is that mathjax-node-sre already supports these newer SVG options; such as the blacker option.

I saw that mathjax-node-cli uses mathjax-node-sre under the bonnet.
The good news is that mathjax-node-sre already supports these newer SVG options; such as the blacker option.

As with mathjax-node-sre, these options are available through the MathJax section of the configuration object that you can pass to mathjax-node.  They are not available directly on the command line, but can be set in the configuration.  The cli commands are meant as examples to be modified as needed for your specific situation, so you can change
https://github.com/mathjax/mathjax-node-cli/blob/412daef35f26a963e178e25bc8d87a2ba3985aae/bin/tex2svg#L65
to be
mjAPI.config({
  MathJax: {
    SVG: {
      font: argv.font,
      blacker: 0
    }
  },
  extensions: argv.extensions
});

to include blacker, or you could add your own command-line arguments to be able to pass the value into it, like the font value currently is.  Just to be clear, that is how mathjax-node-sre "supports" it as well.

As with mathjax-node-sre, these options are available through the MathJax section of the configuration object that you can pass to mathjax-node.  They are not available directly on the command line, but can be set in the configuration.  The cli commands are meant as examples to be modified as needed for your specific situation, so you can change
https://github.com/mathjax/mathjax-node-cli/blob/412daef35f26a963e178e25bc8d87a2ba3985aae/bin/tex2svg#L65
to be
mjAPI.config({
  MathJax: {
    SVG: {
      font: argv.font,
      blacker: 0
    }
  },
  extensions: argv.extensions
});

to include blacker, or you could add your own command-line arguments to be able to pass the value into it, like the font value currently is.  Just to be clear, that is how mathjax-node-sre "supports" it as well.


tracks error

hii i was using plotsr tool for plotting syri result
if i plot without tracks file it is plotting when tracks file with gff file along it gives error
/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py:259: UserWarning: The label 'child1' of <matplotlib.collections.LineCollection object at 0x7f6f8c73b550> starts with ''. It is thus excluded from the legend.
l1 = plt.legend(handles=chrlabels, loc='lower left', bbox_to_anchor=bbox_to_anchor, ncol=ncol, mode=None, borderaxespad=0., frameon=False, title='Genomes')
/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py:259: UserWarning: The label 'child3' of <matplotlib.collections.LineCollection object at 0x7f6f8c738130> starts with ''. It is thus excluded from the legend.
l1 = plt.legend(handles=chrlabels, loc='lower left', bbox_to_anchor=bbox_to_anchor, ncol=ncol, mode=None, borderaxespad=0., frameon=False, title='Genomes')
/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py:259: UserWarning: The label 'child4' of <matplotlib.collections.LineCollection object at 0x7f6f8cf9b9d0> starts with ''. It is thus excluded from the legend.
l1 = plt.legend(handles=chrlabels, loc='lower left', bbox_to_anchor=bbox_to_anchor, ncol=ncol, mode=None, borderaxespad=0., frameon=False, title='Genomes')
/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py:259: UserWarning: The label 'child5' of <matplotlib.collections.LineCollection object at 0x7f6f8c73baf0> starts with ''. It is thus excluded from the legend.
l1 = plt.legend(handles=chrlabels, loc='lower left', bbox_to_anchor=bbox_to_anchor, ncol=ncol, mode=None, borderaxespad=0., frameon=False, title='Genomes')
/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py:259: UserWarning: The label 'child11' of <matplotlib.collections.LineCollection object at 0x7f6f8c755f70> starts with ''. It is thus excluded from the legend.
l1 = plt.legend(handles=chrlabels, loc='lower left', bbox_to_anchor=bbox_to_anchor, ncol=ncol, mode=None, borderaxespad=0., frameon=False, title='Genomes')
/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py:259: UserWarning: The label 'child17' of <matplotlib.collections.LineCollection object at 0x7f6f8c774430> starts with ''. It is thus excluded from the legend.
l1 = plt.legend(handles=chrlabels, loc='lower left', bbox_to_anchor=bbox_to_anchor, ncol=ncol, mode=None, borderaxespad=0., frameon=False, title='Genomes')
track - WARNING - Reading GFF file radioduransPROKKA_07052023.gff. Overlapping transcripts would be plotted as such without any filtering.
Traceback (most recent call last):
File "/home/hemaprasanth/anaconda/envs/py3.8/bin/plotsr", line 6, in
main(sys.argv[1:])
File "/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py", line 334, in main
plotsr(args)
File "/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/plotsr.py", line 276, in plotsr
tracks = readtrack(TRACKS, chrlengths)
File "/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/func.py", line 857, in readtrack
t.readdata(chrlengths)
File "/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/func.py", line 827, in readdata
self._readgff(chrlengths)
File "/home/hemaprasanth/anaconda/envs/py3.8/lib/python3.8/site-packages/plotsr/scripts/func.py", line 816, in _readgff
k = list(model.keys())[0]
AttributeError: 'NoneType' object has no attribute 'keys'

Hi @Hemaprasanth24 . Could you please share the gff file?

ok thank you for your reply i have another question about clearing the
warnings on legend
On Mon, 14 Aug, 2023, 14:04 Manish Goel, @.***> wrote:

Hi @Hemaprasanth24 https://github.com/Hemaprasanth24 . Could you please
share the gff file?
—
Reply to this email directly, view it on GitHub
https://github.com/schneebergerlab/plotsr/issues/62#issuecomment-1676913231,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A73BTRQZI7VAQEFUMDUS6RLXVHPK7ANCNFSM6AAAAAA3PKZJDM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Page scrolled up after opening modal

Issue description

components: Modal
reactstrap version #8.9.0
react version #17.0.1
bootstrap version #4.6.0

What is happening?
After opening modal, page is being scrolled to the top.
Code
f.e. most basic example from the official docs.
https://reactstrap.github.io/components/modals/
Just in case if is somebody wondering, event.preventDefault() is not a problem in my case, also I tried add overflow: hidden to html tag.

What was the solution?


Changed "Mycoflora" to "FunDiS" throughout.  All tests still pass.

Coverage remained the same at 92.132% when pulling 9fa669f5c2ddcb763c2866c4ffec5ed176d132fc on fundis into 8a4ac72cc3961aa3729c14946a3f64d5b5c7f3be on master.

Looks good.
Probably best to get this merged before merging PR #629.
I don't think there are conflicts. But if there are any,

I have no idea where that number comes from (well, it's pi, but that's not
what we mean!).  The choice to use it here would seem to have no bearing on
the change of Mycoflora to FunDiS, so I vote we pass the buck to our future
selves. :)
On Wed, Aug 12, 2020 at 2:34 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

@JoeCohen commented on this pull request.
In test/controllers/observer_controller_test.rb
https://github.com/MushroomObserver/mushroom-observer/pull/633#discussion_r469461107
:

@@ -3774,7 +3774,7 @@ def test_print_labels
assert_operator(query.num_results, :>=, 4)
get(:print_labels, params: { q: query.id.alphabetize })
assert_select("div#labels td", query.num_results)

assert_match(/314159/, @response.body) # make sure mycoflora id in there!

assert_match(/314159/, @response.body) # make sure fundis id in there!

Not a blocker, but can some operation be substituted for the magic number
"314159"?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/633#pullrequestreview-466173008,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNJI36CN2U4NTJCOUVDSALOD3ANCNFSM4P5AOANQ
.

Thanks. i’ll get back to you later.  having. issues with my laptop
On Wed, Aug 12, 2020 at 11:50 Jason Hollinger<EMAIL_ADDRESS>wrote:

I have no idea where that number comes from (well, it's pi, but that's not
what we mean!). The choice to use it here would seem to have no bearing on
the change of Mycoflora to FunDiS, so I vote we pass the buck to our future
selves. :)
On Wed, Aug 12, 2020 at 2:34 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

@JoeCohen commented on this pull request.
In test/controllers/observer_controller_test.rb
<
https://github.com/MushroomObserver/mushroom-observer/pull/633#discussion_r469461107
:

@@ -3774,7 +3774,7 @@ def test_print_labels
assert_operator(query.num_results, :>=, 4)
get(:print_labels, params: { q: query.id.alphabetize })
assert_select("div#labels td", query.num_results)

assert_match(/314159/, @response.body) # make sure mycoflora id in
there!

assert_match(/314159/, @response.body) # make sure fundis id in there!

Not a blocker, but can some operation be substituted for the magic number
"314159"?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/633#pullrequestreview-466173008
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAYTNNJI36CN2U4NTJCOUVDSALOD3ANCNFSM4P5AOANQ
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/633#issuecomment-673048384,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFEC6FCTKYBOMXCW64DSALQBFANCNFSM4P5AOANQ
.

--
Sent from Gmail Mobile

I have no idea where that number comes from (well, it's pi, but that's not what we mean!). The choice to use it here would seem to have no bearing on the change of Mycoflora to FunDiS, so I vote we pass the buck to our future selves. :)
…
On Wed, Aug 12, 2020 at 2:34 PM Joseph D. Cohen @.***> wrote: @JoeCohen commented on this pull request. ------------------------------ In test/controllers/observer_controller_test.rb <#633 (comment)> : > @@ -3774,7 +3774,7 @@ def test_print_labels assert_operator(query.num_results, :>=, 4) get(:print_labels, params: { q: query.id.alphabetize }) assert_select("div#labels td", query.num_results) - assert_match(/314159/, @response.body) # make sure mycoflora id in there! + assert_match(/314159/, @response.body) # make sure fundis id in there! Not a blocker, but can some operation be substituted for the magic number "314159"? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#633 (review)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYTNNJI36CN2U4NTJCOUVDSALOD3ANCNFSM4P5AOANQ .

Agree that this should not be dealt with in this PR.
(And given our age difference, it's likely that you'll be one repaying the technical debt. 😁  )
Actually, as soon as I get my VM working again, I'll confirm the following, and add story to fix this (here and in other places in the code).
    assert_match(
      /#{fungarium_records(:fundis_record).accession_number}/,
      @response.body
    ) # make sure fundis id in there!

One more (in addition to above):
script/mushroom_mapper.rb, line 11:

#  Creates JSON data file for Narth American Mycoflora Project's Fungal Diversity Survey's


How about making the documentation useful?

I'm looking for the afterAction event, how to reach internal objects (in Owl 1 this was "$owlItems"), and how to do a bunch of other things, but the documentation doesn't talk about any of them. It's actually including ellipses (...) instead of the useful parts in the code examples...
If I make a callback function, what do I write to add a class to the items, and how do I reach the item at position x? In Owl 1 this was "this .$owlItems .addClass('whatever')". In Owl 2 it seems impossible to do much of anything.

Hi,
Owl 2 slider is FREE program and in BETA ... So please, how about having less "attitude" ? ;)

I wish there was a "like" button for your answer @Anydog ;) LOL

A friend of mine once posted this:

Asking for help online?

Be courteous
Ask. Don't demand.
Refrain from using profanity
Remember this is your problem. Not mine.

You are more than welcome to submit a pull request updating documentation to your standards. For personal support requests, which this is, I'd suggest Stack Overflow.


Implement networks

This PR cleans up a bit and implements networks.

Rename the group_by aesthetic to group
Remove id aesthetics in favour of group
Document valid aesthetics
Delete dangling d3po.html file
Add resize method to htmlwidgets object.
Remove unnecessary setTimeout to draw  chart
Implement d3po.igraph method

po_nodes
po_edges
po_layout

One can now work with networks, either from an igraph object or data frame of edges and optionally nodes.
tr <- igraph::make_tree(40, children = 3, mode = "undirected")

From an igraph object is as simple as.
d3po(tr)

Can also use layout
d3po(tr) %>%
  po_layout()

Or with data.frames
edges <- igraph::as_data_frame(tr, "edges")

d3po() %>%
  po_edges(data = edges)

THIS IS FREAKING AWESOME !!!


Suggestion: Mention Unity/Unity's fork of Mono

While not general-purpose, Unity is extremely important in certain spaces (not just gaming) and can frequently be super-confusing to reason about w.r.t. to .NET/Core/Mono (have it's own fork with very specific capabilities + partially it's own runtime (IL2cpp), ...).
To be perfectly honest, I don't know what's the story regarding Unity going forward with .NET 5 so can't contribute much... other than this request that I'd like to know :).

Relevant: https://forum.unity.com/threads/net-5-support.839890/

Relevant: https://forum.unity.com/threads/net-5-support.839890/

I like this -- I'm less familiar with unity myself so it will be an opportunity to look into that and see if I can get the story right.
Thanks for the suggestion!

I like this -- I'm less familiar with unity myself so it will be an opportunity to look into that and see if I can get the story right.
Thanks for the suggestion!


Dilemma - client registration and management

Client Registration and Management
Consider this authorization server as only API Server for OAuth2 authorization and OpenID Connect authentication, who should return only response containing data or static pages ( Authentication page, Authorization page, Error Explaining pages etc.).
In matter of managing client information and registration, there's 2 approaches we need to consider when implementing client information & registration protocol:
Approach 1 - Self Issued Access Token / JWT

This approach depends on the client / developer team.
The client / developer team, should issue access token or JWT containing information about the client.
Then the client / developer team should request client registration via a '/register' endpoint and get response from authorization server containing all the client information.
Therefore, they can use the RESTful API providev by the authorization server for read/update client information or even delete the client from the authorization server relay parties.

PROS:

Can be done via automation scripts and create and manage client very easily.
Open-to-everyone method for adding clients to the authorization server.

CONS:

Open-to-everyone method, should be restricted for only real clients.

Approach 2 - Client for Client Information  and Registration Management

This approach depends on us, creating client who should authenticate using Client Credentials grant type and have special scope defined for managing client information and registration (This scope only valid with this specific client).
Each developer team should have an accout (or create one) for managing their client application information and creating such as those.
All the client registration requests, read/update requests and even delete requests will be requested through the client manager application (with an access token or JWT created associated with the developer team).

PROS:

Decouples client management and registration from authorization server, into specific client for making client registration and management more simple and easy.
This approach kind of used by Google APIS (we create client through Google API client application, not their authorization server directly)
Even can be automated if this application will publish API for team authentication and client management via raw HTTPS requests.

CONS:

Making this client application contains authorization for all other client application can be very dangerous in security-wise terms (An attacker who get access for the client can controll all other application authorization permissions and even steal applications secrets).
Kind of out of standards specs defined in OAuth2 RFC's ( OAuth 2.0 Dynamic Registration RFC, OAuth 2.0 Dynamic Registration Management RFC )

We need to decide which approach we will use.

We decided to follow Approach 2, for restricting the client registration and management only by teams. Issue closed.


win: return IOCP HANDLE in uv_backend_fd

This is a back-port of commit daf8a45d4 from the master branch that
changes the return type of uv_backend_fd() from int to uv_os_fd_t.
It's a non-functional change on Unices because uv_os_fd_t is an int.
It should be safe in the API/ABI compatibility sense on Windows because
uv_backend_fd() on that platform was previously unusable and therefore
not expected to be in use.
Original commit log follows:
Change the return type from int to uv_os_fd_t so we can return an int on
Unix and a HANDLE on Windows.
Applications can use this to poll the libuv event loop from another
thread as is now possible on Unix.
The test implementation is based on what Electron does:
~~https://github.com/electron/electron/blob/master/atom/common/node_bindings_win.cc~~
UPDATED: https://github.com/electron/electron/blob/c119b1ebef0afe3b8dbedc4f869a1c67684d6009/shell/common/node_bindings_win.cc#L39-L43
Refs: https://github.com/libuv/libuv/issues/965
PR-URL: https://github.com/libuv/libuv/pull/1007
Reviewed-By: Colin Ihrig<EMAIL_ADDRESS>Reviewed-By: Imran Iqbal<EMAIL_ADDRESS>
Note: this should go into 1.45.0, not 1.44.2.

Any chance this will get merged soon?

uv_os_fd_t is a typedef for int on Unices. I'm confident it's neither an API or ABI change.
uv_backend_fd() never worked on Windows so IMO there's a compelling argument to be made it's semver-minor (new API) rather than semver-major (backwards incompatible change.)

it should emulate it

What do the two its refer to here?

Applications can use this to poll the libuv event loop from another
thread as is now possible on Unix.

FWIW, this is still false (and dangerously so), since, as currently initialized, the IOCP will deadlock your application if you try to use this handle from another thread. Electron has a hack which widens this to support use on exactly 2 threads: https://github.com/electron/electron/blob/c119b1ebef0afe3b8dbedc4f869a1c67684d6009/shell/common/node_bindings_win.cc#L26

it should emulate it

What do the two its refer to here?

[users of this API to watch for events] should emulate [this API by watching for events in a different way]

I'm not very invested in this PR. If you don't think it's a good idea, I'll close it.

As you perhaps know, I am only invested in v2 myself

I'm not very invested in this PR. If you don't think it's a good idea, I'll close it.

I am quite interested in this PR, and would appreciate if it could make its way in.
@vtjnash What are your concerns precisely? If you require further proof or validation that the ABI stays identical I could look into it. As for the API, I agree with @bnoordhuis view that this is not semver major.

The existing API states that this value is -1 (e.g. an int or fd), while this changes the type of that result to a HANDLE, which would mean existing clients that try to assign the value (even in dead code) to an int will now contain an implicit pointer-to-int cast, which the C standard generally states is not legal and potentially breaking compilation (see notes on https://en.cppreference.com/w/c/language/conversion)
int fd = uv_backend_fd(loop)

becomes:
int fd = (void*) loop->iocp;


chore: updated walletconnect deps

Summary
Updated @walletconnect/react-native-compat & @walletconnect/universal-provider to 2.7.6

Hey @ignaciosantise !
Here is my test feedback (tested on iOS 16.3.1):

The app initiates a connection request, redirects to Wallet and I can accept the connection. When I am redirected to the app after the login the app crashes.

I have the impression that with the update of the dependencies, the problem of signatures on TrustWallet in "personal_sign" (Failed to decrypt) is solved! 🎉


Create Posts “rangisgottalent2022”

Automatically generated by Netlify CMS

👷 Deploy Preview for rangitoto-reporter processing.

Name
Link

🔨 Latest commit
9c66c106f6d168bb0cc60cfbb7604f0e1e94cbf2

🔍 Latest deploy log
https://app.netlify.com/sites/rangitoto-reporter/deploys/630ec0f3c596580009fe70c7


Direct object reference

https://github.com/excid3/beginnerbounties.com/blob/main/app/controllers/users/bounties_controller.rb#L56
I can create a bounty in someone else's account by setting the user_id to theirs. user_id should be removed from the permitted params.

We could handle this in Rails. The scaffold generator should leave out any belongs_to attribute from the permit list.
I might look into that when I have some time.

It might be tricky because a model could belongs_to multiple models and I'm not sure how you'd know unless there was a flag.
I've definitely wanted a scoped scaffold generator like --scoped current_user which would remove the user_id and also scope the index and set_resource methods.

When you call the generator like this:
rails g scaffold bounty belongs_to:user ....

It is pushed into the attribute_names here: https://github.com/rails/rails/blob/98b2e8a4968827beb6460174c3caf13a33487921/railties/lib/rails/generators/named_base.rb#L188
and it is possible to check there is the attribute is a belongs_to.
So instead of relying on the attribute_names generated here, the scaffold_controller generator could just loop over the objects and skip the belongs_to ones.

And as for it can belong_to multiple models, I think here we should approach a whitelist rather than blacklist approach and just discard all belongs_to associations, because those are likely to lead to security issues.


Update mappings to replace the Vim* actions with corresponding keys

Hi! Since 0.54 version of IdeaVim all the Vim* actions don't work (see https://youtrack.jetbrains.com/issue/VIM-1871#focus=streamItem-27-3864326.0-0).
Here is an updated version of your config.

Unfortunately, :action CommentByLineComment<CR><Esc> doesn't work as expected. This is definitely a bug.
I don't fully understand what do you mean about <C-S-6> mappings, but you should map your keys to <C-S-6> (and not to VimFilePrevious).

Thank you for contributing to intelli-space, your pull request has been merged :)


Bug Report: Downscroll not working.

In the game, sometimes it completely stops reading my inputs when on downscroll.

What doesn't work, the hit detection or the buttons themselves? Can you send a video of it?

The hit detection
On Sat, Mar 27, 2021, 1:37 PM Detoria @.***> wrote:

What doesn't work, the hit detection or the buttons themselves? Can you
send a video of it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/KadeDev/Kade-Engine/issues/68#issuecomment-808767277,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGGWEQHDR4AKYWQNIRJVETDTFYJVLANCNFSM4Z4NRX3A
.

uhh, thats weird. It works fine for everyone else, I've never seen this. Can you record a video?

weird, it detects my notes now

So, when I open the phase/song the misses counter and all things are there but when it's the opponent's round it just turns off like I turned accuracy mode off but I didn't
Pictures : (when a note from the opponent didn't appear https://user-images.githubusercontent.com/68428075/120905226-741b1480-c605-11eb-9f46-046325f1f7a3.png)
(When a note appeared : https://user-images.githubusercontent.com/68428075/120905248-a88ed080-c605-11eb-8c70-2f08d94b979a.png)


New figure 1 function

This is a small PR which modifies the figure 1 generation to meet discussion points in #370 (and elsewhere). The new generation script generates a figure for each latent model choice (one to be used in main ms and others for SI).
Close #374

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

Project coverage is 93.09%. Comparing base (717f586) to head (d314b71).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #375   +/-   ##
=======================================
  Coverage   93.09%   93.09%
=======================================
  Files          50       50
  Lines         521      521
=======================================
  Hits          485      485
  Misses         36       36

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

Nice looks good. I am a bit surprised you've needed to make subplots and compose vs using AlgebraofGraphics facet mechanics (which is what I would do if making this in ggplot2 for example.

My problem here was that I/search engines couldn't work out how to vary the ylims figure by figure... I'm being a bit basic here I think. I agree because unlike the first pass fig 1 now the subplots are slightly different sized.

I forgot the reference date indication (mentioned by @seabbs f2f)! Added now.
This now closes #377

Can you do it by specifying it as a variable in the data? I think that would be the ggplot2 solution?


Improve CHIP_EVENT_ID_FOUND in EventIterator

This makes me wonder why we return something that is not 'CHIP_ERROR_' prefixed as a CHIP_ERROR.
it looks like we are trying to have two return values: real error and some status of found or not. This seems slightly counter-intuitive and maybe we could design our API differently.
Saying "Error of event id was found" sounds wrong, so it is not a CHIP_ERROR.
Originally posted by @andy31415 in https://github.com/project-chip/connectedhomeip/pull/7110#discussion_r640033187

There are several others like this. At least: CHIP_END_OF_TLV, CHIP_EVENT_ID_FOUND, CHIP_END_OF_INPUT, and CHIP_ERROR_SENTINEL (formerly code used CHIP_ERROR_MAX). Maybe we should just rename CHIP_ERROR to CHIP_STATUS?

Agree, CHIP_STATUS looks good, @kpschoedel are you updating those? maybe assign this to you for overall update? thanks


[Docs]: Error - This value does not evaluate to type: base64 encoded image | data uri | image url

Is there an existing issue for this?

[X] I have searched the existing issues

Release Number or Date
na
Documentation Link
No response
Discord/slack/intercom Link
No response
Describe the problem and improvement.

@riteshkew - Could you please help us document this error?


No Method to Document Selected Test Techniques

In the Software module test planning tables, there is no way to indicate which test technique(s) were selected for the module/unit.  Another field needs to be added to the Software test planning tables to allow the user to document which test technique(s) were selected.
This will be easiest to implement by adding a checkbox at the end of each row.  It will also require a new field in the RTK Program database table.

This is associated with the software module.  The software module will not be included in RAMSTK.


ModuleNotFoundError: No module named 'pycrfsuite._pycrfsuite'

when i am trying to use usaddress 0.5.10 +Flask+ zappa
deploy to AWS I get below modulenot found error, This is working fine in local.
import usaddress
File "/var/task/usaddress/init.py", line 16, in
import pycrfsuite
File "/var/task/pycrfsuite/init.py", line 2, in
from ._pycrfsuite import *
ModuleNotFoundError: No module named 'pycrfsuite._pycrfsuite'

I get the same issue. Any traction?

Faced with the same problem using the library on AWS Glue job. Here is the AWS support answer:

Thanks for your patience! I have received an update from the service team and they mentioned that currently, We do not support C libs in Glue 1.0. https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-libraries.html-   C libraries such as pandas are not supported at the present time, nor are extensions written in other languages.
I tried the same thing with Glue 2.0 but was not successful. However when I tried to use python_crfsuite-0.9.6-cp27-cp27mu-manylinux1_x86_64.whl with python2 python shell job I was able to successfully import the library.
You can try to use the same  python_crfsuite-0.9.6-cp27-cp27mu-manylinux1_x86_64.whl in python2 python shell but will not be able to use with the pyspark shell.

Haven't tried the python2 option as our app certified only for python3. In our case, the only option is to get rid of the usadress library.

This post is pretty old, yet still open so FWIW - ran into this issue today developing a lambda using usaddress via SAM local. Turns out I was sending OSX binaries to my docker container which threw the same error:
ModuleNotFoundError: No module named 'pycrfsuite._pycrfsuite'
Found this link and was able to spin up an amazon linux docker instance to pull the binaries: https://aws.amazon.com/premiumsupport/knowledge-center/lambda-python-package-compatible/
...and am now able to develop locally.

I got the same error today when I uploaded my _pycrfsuite file from MacOS to AWS lambda which is in Linux. It was like _pycrfsuite.cpython-38-darwin.so.
After checking AWS Developer Forum, https://forums.aws.amazon.com/message.jspa?messageID=902242
I know I have to switch to Linux and be aware of the python version.
By running pip install, now the file look like _pycrfsuite.cpython-36m-x86_64-linux-gnu.so
Then, I uploaded all the files under pycrfsuite to AWS lambda as a layer, and it works.
Hope this helps.


#8630: support uint8 data type

Ticket

https://github.com/tenstorrent/tt-metal/issues/8630

Problem description

tt_eager library does not support the UINT8 data type
Implementing the GenerateRandomBitMask operation requires using a bitmask tensor with the UINT8 data type.
Currently, the tt_eager library does not support the UINT8 data type, making it impossible to create tensors of this type. The code snippet below illustrates this limitation.

// tt_eager/tensor/types.hpp
enum class DataType {
    BFLOAT16 = 0,
    FLOAT32 = 1,
    UINT32 = 2,
    BFLOAT8_B = 3,
    BFLOAT4_B = 4,
    UINT16 = 6,
    INT32 = 7,
    INVALID = 8,
};

# example to create UINT8 tt tensor
def test_uint8_tensor(device):
    npu_dtype = ttl.tensor.DataType.UINT8
    cpu_dtype = torch.uint8
    npu_layout = ttl.tensor.Layout.TILE
    input = torch.randint(0, 128, (32, 32), dtype=cpu_dtype)
    tt_input = ttl.tensor.Tensor(input, npu_dtype).to(npu_layout).to(device)
# E       AttributeError: type object 'tt_lib.tensor.DataType' has no attribute 'UINT8'

What's changed

support uint8 data type

Checklist

[x] Post commit CI passes (maybe?)
[x] Model regression CI testing passes (if applicable)
[x] New/Existing tests provide coverage for changes

@eyonland @arakhmati @adifrancescoTT Would you please review this PR?

please going forward give a bit more context like why this is important. reviews not only help to make sure that code quality is good but also help to share knowledge. thank you!

please going forward give a bit more context like why this is important. reviews not only help to make sure that code quality is good but also help to share knowledge. thank you!

I have updated the problem description.

@TT-BrianLiu @kmabeeTT @mywoodstock @tarafdarTT @tt-aho Please review this PR.

@eyonland Would you please check this PR? Code owner review required. Thanks.

@tarafdarTT @kmabeeTT please take a look


Dispatch redux action before Switch's selector picks a scene?

Version
Tell us which versions you are using (react native 0.26 is required for v3):

react-native-router-flux v3.26.5
react-native v0.26.0

I know that this isn't SO, but I figure this is the best place to ask how to do this.
I need to dispatch an action which triggers a Facebook sign in before deciding which scene to pick by reading the part of the redux state which was modified by that action.
Is this something which is possible using Switch? If so, could you give a short example?

@boulajp Did you find your answer? I know this is old, but wanted to give 2 cents here...
I also want to achieve this. I haven't finished implementing it but my approach will probably be:

Make the redux Provider be a parent to the  component
Make a redux action like "CHANGE_FACEBOOK_LOGGEDIN_STATUS" that holds the current state after an request to Facebook.
Make a redux action like "CHANGE_LOADING_STATUS" so you know when the ajax request comes back. (Might not be necessary)
Only render the Router component if some redux store variable is true:

if isFinishedLoading && isLoggedInFacebook, return (<Router/>...
I found an example of this integrated into a redux-storage project. I believe there might be some parts you can reuse to integrate if you haven't already.
Check this thread for example
import createEngine from 'redux-storage-engine-sessionstorage';
import immutablejs from 'redux-storage-decorator-immutablejs';
import merger from 'redux-storage-merger-immutablejs';

let engine = createEngine('enjoymint');
engine = immutablejs(engine, [
  ['UserRed'],
  ['routing'],
  ['ErrorsRed'],
  ['MenuRed'],
  ['ModalsRed'],
  ['OrdersRed'],
  ['ProfileRed'],
  ['VendorRed']
]);

const finalReducers = storage.reducer(combineReducers(Object.assign({}, reducers, {
  routing: immutableRoutingReducer
})), merger);

const engineMiddleware = storage.createMiddleware(engine, [
  Constants.modals.OPEN_LOGIN_MODAL,
  Constants.modals.TOGGLE_ACCOUNT_DETAILS_MODAL,
  Constants.modals.TOGGLE_CC_MODAL,
  Constants.modals.TOGGLE_BILLING_MODAL,
]);

const routingMiddleware = routerMiddleware(createHistory);

const finalCreateStore = compose(
  applyMiddleware(thunk /*,logger*/, engineMiddleware, routingMiddleware),
  window.devToolsExtension ? window.devToolsExtension() : f => f
)(createStore);

const store = finalCreateStore(finalReducers);

const load = storage.createLoader(engine);
const createSelectLocationState = () => {
  let prevRoutingState, prevRoutingStateJS;
  return (state) => {
    const routingState = state.routing; // or state.routing
    if (typeof prevRoutingState === 'undefined' || prevRoutingState !== routingState) {
      prevRoutingState = routingState;
      prevRoutingStateJS = routingState.toJS();
    }
    return prevRoutingStateJS;
  };
};
load(store)
  .then(() => {
    /* I put the syncHistoryWithStore() call inside the load resolve promise.
This way the store is loaded from storage FIRST, before the redux action of LOCATION_CHANGE happens. */
    const history = syncHistoryWithStore(createHistory, store, {
      selectLocationState: createSelectLocationState()
    });
    render(
        <Provider store={store}>
        <Router history={history} render={applyRouterMiddleware(useScroll())}>
        ......
    )
  })
  .catch(() => console.log('Failed to load previous state'));


Enabling a plugin before vernemq starts is impossible

Instructions in https://vernemq.com/docs/configuration/plugins.html are pretty clear about enabling plugins, but are missing a very concrete use case: having the plugins being enabled before Verne starts.
This is especially an issue in dockerized environments, where the status must be described and reproduced before the container starts. RabbitMQ allows(-ish) this by issuing

rabbitmq-plugins enable --offline rabbitmq_management

Which allows building a docker image out of the original one with the desired plugins enabled. vmq-admin, instead, requires the node/cluster to be up before acting on plugins.
Maybe thinking about something like Rabbit's --offline could be a solution?

hi @drf
you're right this isn't very much streamlined so far and we're hoping to come up with a better solution soon. For the moment you could backup the file /usr/lib/vernemq/lib/vmq_plugin.conf which gets updated every time you enable/disable a plugin. If you restart the broker the plugin framework reads this file and sets everything up. In the docker context you could may want to setup a volume pointing to /var/lib/vernemq folder, additionally you could maintain the vmq_plugin.conf file in this volume and symlink it to /usr/lib/vernemq/lib, no?

Hi @dergraf
I think that the solution you proposed is the perfect one, and needs to be documented. Consider the use case: in docker, we already provide configuration through a docker volume mount (or a kubernetes config map, for example) of vernemq.conf, given we need more verbosity and control than simple environment variables.
In a typical docker scenario, you rarely (maybe never) use vmq-admin, as you expect all of your nodes to come up already provisioned and ready. So mounting vmq_plugin.conf makes complete sense - and if you want, we could maybe add to the docker image a VERNEMQ_ENABLED_PLUGINS env variable so that vmq_plugin.conf gets updated when the docker container starts (not really in favor of that, but might work for many)
tl;dr: Using that file is a great solution, it should be documented. Leaving the issue open just for that.

Agree with @drf , i know this behavior is by design but having the offline parameter that can generate this file without connecting to the server or enabling the plugin itself will be a great improvement, specially working inside containers.

One problem with the plugins config being in a directory with all the other libs is it makes it tricky to modify it via a docker volume. Correct me if I'm wrong, but I don't think you can mount just a single file as a "volume" can you? So then you end up mounting the whole lib directory and having to manage copies of the rest of the files and dirs in there.
Why can't the plugin config go in the main vernemq.conf file with everything else?

Hi @kellycampbell. Good questions! Here are, from the top of my head, some of the reasons why the plugin config isn't part of the vernemq.conf:

the plugin config is updated by VerneMQ on the fly when enabling or disabling plugins using the CLI tool vmq-admin which we currently can't do with the vernemq.conf file
it wasn't originally meant for manual manipulation - which is also the reason why it's hidden away in the lib folder like it is, maybe that was a bad decision, but back when that decision was made we didn't think about docker ;)
we consider the format of the file to be internal, not something we want to expose in the config file

So,  either we could move the file somewhere else which might make be an easy fix, but it's unclear, at least to me, where to. The etc folder might be an option, but I'm not sure. The other approach would be to incorporate it into the main config file, vernemq.conf, but that would mean we'd have to settle on a stable configuration format and figure out how to make the vernemq.conf updateable on the fly (and preserve manual changes). It's unclear how much effort we'd have to put into a change like that, so as long as there's a reasonable alternative we'd rather avoid this.
I don't know if you can mount a single file as a volume (I know little about docker), but wouldn't the symlink trick mentioned above work for you?

@larshesel i guess RabbitMQ updates the conf file on /etc/rabbitmq/rabbitmq.conf, when one enables a new plugin.

From my research, I couldn't find a clear way to do symlinks in docker. Maybe I'm just missing something. I'm using Kubernetes, and I worked around this and the env var with dots problem with a ConfigMap and some extra bits in the start script. https://github.com/kellycampbell/docker-vernemq/tree/k8s-fixes
I didn't want to put the whole vernemq.conf file in the config map. I just wanted to have the overrides, so that's why the extra mount point /etc/vernemq-cfg. This seems to work pretty well, and limits the special cases for my setup to just the start script, so the docker image is still usable outside of k8s.
I'm basically trying to do almost the exact same thing as https://github.com/erlio/vernemq/issues/262

Looks like I was thinking too much on the docker symlinks thing. You can just do
RUN ln -s ...
In addition to VerneMQ native plugins, we'd probably also want to be able to configure lua script and webhook plugins via a config file before startup.
At the bottom or the Warning on https://vernemq.com/docs/administration/ it even says this:

vmq-admin gives you the flexibility to test stuff and react live, but please persistent any static configuration you need in the vernemq.conf file.

We're a bit inconsistent in regard to that warning as some things do get persisted. We've started some work to clean this up for plugins (so you can enable them directly in the vernemq.conf file) making them consistent with this warning, see #265. It's a work in progress, of course.
Currently the vmq_diversity (lua) and vmq_webhooks persist their data into the priv folder of the plugin. For vmq_webhooks the file is called vmq_webhooks.conf and for vmq_diversity the lua scripts can be dumped into the scripts folder and they'll be loaded when the plugin starts.
We might, hovewer, make all this configurable from the vernemq.conf file too.

I think just having those extra files documented and being able to override their location from the vernemq.conf file is probably easier and sufficient.

fixed in #265


[FEATURE] Support symlink on default config path

Description of the requested feature
I put a symlink at ~/.config/eww pointing to a subdirectory of my leftwm theme at ~/.config/leftwm/themes/current/eww.
Basically eww is running fine but in the logs it complains about:
2021-08-20T15:50:08.305Z ERROR eww::error_handling_ctx > Failed to initialize eww paths

Caused by:
    Configuration directory /home/vuimuich/.config/eww does not exist

I didn't want to lable this a bug, as eww seems not broken in any way.
Proposed configuration syntax
Tbh I have not looked it up in the source, how eww is checking for the config folder, but maybe adding a std::fs::symlink_metadata.file_type().is_symlink() check along a fs::read_link() might help here?

It works for me:
$ ls -l eww
lrwxrwxrwx 1 nix users 4 Aug 30 10:39 eww -> eww2

and:
cargo r -- daemon
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/eww daemon`
 2021-08-30T16:44:53.192Z INFO  eww > Initializing Eww server. (/run/user/1000/eww-server_L2hvbWUvbml4Ly5jb25maWcvZXd3Mg==)
Run `target/debug/eww logs` to see any errors while editing your configuration.
 2021-08-30T16:44:53.192Z INFO  eww::server > Loading paths: config-dir: /home/nix/.config/eww2, ipc-socket: /run/user/1000/eww-server_L2hvbWUvbml4Ly5jb25maWcvZXd3Mg==, log-file: /home/nix/.cache/eww_L2hvbWUvbml4Ly5jb25maWcvZXd3Mg==.log

When I open a window, it works. And there are no errors in the log

Can confirm it works for me now as well.
Maybe it was something fixed in an dependency meanwhile.
Anyhow, sorry for forgetting this was still open.


Tests won't run on node v0.12.0

I can't get the tests to work on NodeJS version 0.12.0 on Windows.
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.6.0 < 0.12.0"} (current: {"node":"0.12.0","npm":"2.5.1"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.10.x"} (current: {"node":"0.12.0","npm":"2.5.1"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.10.x"} (current: {"node":"0.12.0","npm":"2.5.1"})

This is because node-qunit requires node v >0.12 Sticking with 0.10 until that becomes compatible.

I thought the v0.12 branch from Node.js is the stable release of the v0.11 beta branch. Which is supported and tested on Travis.
Couldn't find a related issue, maybe make it known to the authors of node-qunit.

I guess it depends if their dependencies work on the latest stable. Feel free to file an issue on their repo. :)


Update to 1.13

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Program received signal SIGSEGV, Segmentation fault.
0x00007fb5145965ef in dl_main () from /lib64/ld-linux-x86-64.so.2
#0  0x00007fb5145965ef in dl_main () from /lib64/ld-linux-x86-64.so.2
#1  0x00007fb5145ab00e in _dl_sysdep_start () from /lib64/ld-linux-x86-64.so.2
#2  0x00007fb514594bd1 in _dl_start () from /lib64/ld-linux-x86-64.so.2
#3  0x00007fb514594148 in _start () from /lib64/ld-linux-x86-64.so.2
#4  0x0000000000000002 in ?? ()
#5  0x00007ffc621f38a7 in ?? ()
#6  0x00007ffc621f39b0 in ?? ()
#7  0x0000000000000000 in ?? ()

@conda-forge-admin, please restart ci

@0xbe7a the segfault is reproducible with 1.13 and 1.14. Maybe something wrong with glibc version?

@conda-forge-admin, please rerender

@jonashaag All 🍏 here.

Thank you!


Retrieve just the gap filled reactions

After gap filling, just want the reactions, not a whole new model.

My first step was to use the KBase tool as is and see what my options are.
Here is how I set up the app:

And here are the results I got:


[Feature] Responsive Boby and footer

**Must Need Feature **
Making this site responsive for all the screen size and  making it more accessible for users.
Solution
I want to make this site responsive using CSS so that it will looks great for all the screen
Screenshort

Additional context
I want to work on this issue.
Can u assign me under gssoc-ext and hacktoberfest lable.
Checklist
I have checked the existing issues
I have read the Contributing Guidelines
I'm a GSSoC'24-Extd contributor
I'm a Hacktoberfest'24 contributor
I am willing to work on this issue (optional)

Please assign it to me under gssoc-extn. and Hacktoberfesst


Complete crud working todo

Hello @abdo, here is the react-tutorial project. Kindly give your review on points I could improve on. Thanks.

Hello @hassanShakur
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights

No linter error :heavy_check_mark:
You implemented all requirements :heavy_check_mark:

Status: APPROVED :fire:  :fire:
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.


Not Working on Windows 10

Extension Name: debug-auto-launch
Extension Version: 1.0.0
OS Version: Windows_NT x64 10.0.17134
VSCode version: 1.28.0

We have written the needed data into your clipboard. Please paste:
{
	"activationTimes": {
		"startup": true,
		"codeLoadingTime": 10,
		"activateCallTime": 6,
		"activateResolvedTime": 0,
		"activationEvent": "*"
	}
}

Fixed in latest, we no longer show this notification


Support storing parameterized method snapshots in one file

Is the feature request related to a problem
Parameterized test methods with thousands of TestCases are unacceptably slow. In my case, I have a parameterized test method with 3600 cases. Total runtime without calling .Verify() is ~200ms. With Verify it is ~56s+.
This is (as far as I can tell) due to the IO cost of reading/writing thousands of files, because each TestCase has its own file.
Describe the solution
Support storing all snapshots for a parameterized test method in one file.
(This would be similar in concept to Snapper's [StoreSnapshotsPerClass], but the primary feature here would be to store snapshots per test method. Edit: actually, Snapper supports this case with their concept of "Child Snapshots" and .ShouldMatchChildSnapshot(...))
Describe alternatives considered
I tried just combining all the TestCases into one result object before calling .Verify(allCaseResults). This works to reduce total runtime, but it sacrifices all the benefits of having individual Test Cases, and makes determining which case caused a failure very time-consuming.
Additional context
I created a discussion item but I realized afterward that those don't seem to gather any attention.

it is an interesting idea. but would this actually result in a performance improvement? wouldn't the same amount of IO still need to happen, but they just happen a single file instead of multiple files?

have a parameterized test method with 3600 cases. Total runtime without calling .Verify() is ~200ms. With Verify it is ~56s+.

can you run a profiler and see what the proportional break down of time is?

are you using xunit?

Well, the idea is that there would only be the overhead of opening, reading (and writing) 1 file once, instead of 3600 files once.
I'm having difficulty separating out the noise in the profiling results.
But here's a pared down NUnit test method as an example:
private static IEnumerable<int> testCases = Enumerable.Range(0, 3600);

[TestCaseSource(nameof(testCases))]
public Task Test(int testCase)
{
	var result = testCase * 2;
	return Verifier.Verify(result)
	             .UseParameters(testCase)
	             .UseDirectory("snaps")
	             .AutoVerify()
	             .DisableDiff();
}

The total runtime here is ~90s, even on subsequent runs when AutoVerify() is removed.
However, removing the call to Verifier.Verify(dateString) drops the total runtime to ~350ms.
(Obviously we would expect some Verifier to add some extra weight, but this is quite a lot.)
Combining the test case results before calling Verify cuts the time down to ~800ms.
[Test]
public Task Test()
{
	var result = Enumerable.Range(0, 3600).Select(i => i * 2);
	return Verifier.Verify(result)
	             .UseParameters(1)
	             .UseDirectory("snaps")
	             .AutoVerify()
	             .DisableDiff();
}

There is clearly something very inefficient in running large quantities of Tests that call Verify.
So while I can't yet be 100% sure that the File IO is the culprit, it does seem the most likely candidate.

(The 3600 cases is just what I had for the actual tests I was running. For testing/profiling it might be better to use 1000 or something, which still shows the problem, but won't waste as much of your time)

does nunint run each test case sequentially? or are they all run in parallel?

the idea is that there would only be the overhead of opening, reading (and writing) 1 file once, instead of 3600 files once.

but how do you achieve that? nunit runs tests cases in isolation. there is no shared context.
even assuming verify can track the start of the first test case, how would i know that the last test cas has run and the file should be flushed?
you can even run one test case and not the others, so in that case how would  Verify know that this is a single test run and not "user has reduced the number of scenarios

I believe they are run asynchronously, but only in parallel if specifically requested. I don't think it'd be an issue either way, see below.

but how do you achieve that? nunit runs tests cases in isolation. there is no shared context.

I did it manually by defining a [OneTimeSetUp] method that loads a file, deserializes it, and stores it in a static Dictionary field. The tests then use that dictionary to look up the expected result for each test case. I didn't handle updating the snapshot, though that could presumably be done via a separate "received" Dictionary and [OneTimeTearDown].
This works fine with NUnit, even when running just one case.

even assuming verify can track the start of the first test case, how would i know that the last test cas has run and the file should be flushed?

[OneTimeTearDown]. Most test frameworks have similar functionality.

you can even run one test case and not the others, so in that case how would Verify know that this is a single test run and not "user has reduced the number of scenarios

Verify wouldn't need to know, per se. By loading the combined snapshot once before any test run, Verify would always have the full results loaded, and it would know which case/s were modified because of .UseParameters(...).

ok. i am happy to consider a PR that implements this feature

how you going with that PR?

what is your hardware? on my machine your scenario (below) runs in 1-7 seconds
private static IEnumerable<int> testCases = Enumerable.Range(0, 3600);

[TestCaseSource(nameof(testCases))]
public Task Test(int testCase)
{
	var result = testCase * 2;
	return Verifier.Verify(result)
	             .UseParameters(testCase)
	             .UseDirectory("snaps")
	             .AutoVerify()
	             .DisableDiff();
}

I honestly haven't had time to work on PR. I'm also not sure my solution is the most ideal. It occurred to me that maybe letting the user provide their own read/write persistence would be a more robust/generalizable improvement.

Huh.
My hardware really shouldn't be the issue, but maybe my environment is?
I'm using Rider, but I'll try VS and console runner tomorrow and see if that makes a difference.

Tried VS2019, VS2022, Rider, and running dotnet test and vstest.console.exe in the command line.
Tried targeting both netcoreapp3.1 and net6.0.
Hardware:
CPU: Core i7-6700 (@ 3.40GHz)
RAM: 64GB (@ 2133MHz)
SSD: Samsung 860 EVO

i think a better approach for something like this is
  record TestResult(int input, int result);
    [Test]
    public Task Test()
    {
        var list = new List<TestResult>();
        foreach (var input in Enumerable.Range(0, 1000))
        {
            var result = input * 2;
            list.Add(new (input, result));
        }

        return Verify(list).UseDirectory("snaps");
    }

the above takes me (on current machine) from 12sec to 350ms

@AvremelM doe the above work for you? or are you work on a PR to add your single file approach?

I mentioned that approach above.

Describe alternatives considered
I tried just combining all the TestCases into one result object before calling .Verify(allCaseResults). This works to reduce total runtime, but it sacrifices all the benefits of having individual Test Cases, and makes determining which case caused a failure very time-consuming.

Re PR, it looks like the changes required would be quite extensive, and I unfortunately don't have the time (not even sure I have the skill).
For now, I've stopped using Verify for these tests. (And this feature request can be closed, as far as I'm concerned).
In any case, I wonder if the more generic approach of allowing custom persistence (i.e., exposing and abstracting IoHelpers to allow overriding) could be simpler and allow for more broad extensibility.
Do you have any thoughts on that?

i dont know how an abstraction over IoHelpers  would help. most of that file is about abstracting over the fact that some APIs dont exists in older TFMs and to have common encoding. i dont see how having an abstraction over that api would help you

it is interesting in theory. but IMO i dont think there is the ROI there to justify it. will close this for now. thanks for all the input


LCP on user interaction?

Why is LCP reported on user interaction?
I can load my page and sit on it for minutes before clicking, then LCP is reported for those minutes instead of when the actual content is shown.

It's a bit unclear which question you're asking:

Why does this library wait until user interaction to report the value?
Why does LCP (the metric itself) not consider images loaded after user interaction?

For the latter question, see this paragraph from the LCP docs:

The browser will stop reporting new entries as soon as the user interacts with the page (via a tap, scroll, or keypress), as user interaction often changes what's visible to the user (which is especially true with scrolling).

For the former, the lib can't report the value until it knows no further LCP candidates might be loaded, so that's why it has to wait.

I'm using the implementation as shown in the readme getLCP(console.log) and this is what I see on my page. The first screenshot is me waiting ~2 seconds clicking, the second is waiting around ~10 seconds. getLCP returns the delta for the last entry which is my interaction. The chrome extension tool shows the same.

From your screenshot it looks like there's an additional entry in the entries array in the second example (6 vs 5), with a timestamp of 10207.58 ms. That makes me think your page is loading a new image at around 10 seconds into the page load.
Can you take a look at what element is referenced in that entry?

Yes it looks like it's my 'hero' image, I think I found the issue, thank you! It appears to be related to a tabbed/scrolling hero image that is replaced with a new one after 10 seconds.

@philipwalton Follow up question, since 'carousel' type header content is more or less common, is the solution to use a manual implementation of PerformanceObserver and splice out unwanted/needed entries from the carousel/auto-changing/scrolling behavior of the 'hero' image?


Don't show application window on startup

In its current state, Hidden Bar does not start when logging in (therefore icons show up in menu bar until I start Hidden Bar). There's an option called "Start Hidden bar when I log in" which auto-starts the app. It hides the icons in the menu bar, which is what I want, but it also shows the application window.
Is there any way to auto-start Hidden Bar without the application window being show?
Thanks

Sorry, I missed the second option somehow.


Is there a way to update SocketClientConfig options?

Hello,
It's possible to send token to the server passing it through initPayload, but.. how to update it, when token is expired and I want to update it?
Maybe possible initPayload to be a function? Something like this:
SocketClientConfig(
    ...
    initPayload: () async => ... get token here
)

So I can just manually reconnect to refresh it.

init payload has since become a FutureOr Function() – I think there are other issues around that address  error handling and refresh but comment if there's still an issue/questions (or come by the discord linked in the readme)

any way to have a StreamController like we have in getToken for AuthLink ?

@diegoveloper I don't know what you mean, but there is a onConnectOrReconnect option for the SocketClientConfig that allows one to do arbitrary things with the websocket after connections are established


Reusing schemas with different/changed options

@danielstarck I think this should resolve the issues that were highlighted by #608.

Also found an optimization around populating base URIs:
before:

after:

There may still be some optimizations available, but this fixes a bug, so I'm going to push it.


v0.6.6 and UI v0.2.3.: No markets or pairs to select in GUI importer

I'm submitting a ...
[x] bug report
[ ] question about the decisions made in the repository
Action taken (what you did)
Tried to import more recent data
Expected result (what you hoped would happen)
Being able to select exchange and trading pair.
Actual result (unexpected outcome)
No drop-down boxes for exchanges and currencies visible in GUI.
Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)
Windows 10, Chrome 68.0.3440.106 64-bit.

I had the same problem. It's because of missing dependencies in the <your-gekko-location>/exchange - folder.
Just browse to this folder and run npm install . from a console-window. After that restart gekko.

yep! You can find this in the installation documentation: https://gekko.wizb.it/docs/installation/installing_gekko.html


use shared midi-types and midi-convert

It took me a bit to get back to it but here is a PR that simply replaces the usbd-midi bespoke midi types with the types and conversion functions from the shared midi-types and midi-convert crates. This allows users to share data directly between usbd-midi and embedded_midi or any other crate that might use those same shared types.
The only minor cleanup I did was to remove the unused types and expand CodeIndexNumber
The test data changed a little bit because midi-types uses the more common -2..8 octave range for 12-tone english note names where usbd-midi was using the yamaha convention.

But as far as I can tell, the Yamaha convention is Middle C = C3 (ie. C3 is note 60), which is what midi-types does, not usbd-midi. Not sure if this is just a small oversight, but this PR just sent me down the MIDI Middle C rabbithole and I don't know what to believe anymore.

My understanding is that the Yamaha convention is Middle C (note 60) = C4.
This is by no means an official document but reflects that: https://computermusicresource.com/midikeys.html
BTW, their chart misidentifies the first octave as -1 along with the 2nd as -1
I haven't found any authoritative source for this info though

I think it might be worth highlighting the octave change though, since this is arguably a breaking change for applications which already use usbd-midi.

yeah.. the whole PR would be a breaking change but I think you're right that it should get highlighted somehow, any ideas how to do that?

yeah.. the whole PR would be a breaking change

fair enough lol

any ideas how to do that?

I'm not entirely sure since there's no GitHub releases or any other real place for a changelog in this repo. I think I would be pretty confused if I upgraded this crate and every note was an octave higher, even if it's a major version increment. maybe a note in the README?

I'm happy with this. Though the breaking change is just the bit to communicate.
Could you had a https://keepachangelog.com/en/1.0.0/ with the 'unreleased bit' filled out. That should be good enough to communicate the breaking change part.
For the original types, I just ended up picking one of two. In hindsight, it probably makes sense to have two types on the convention, with a trait of 'into u8' so that users can pick which makes sense, but I'd consider that an improvement in the upstream crate (to support both) so that won't stop this one.

@btrepp good idea on the changelog, I just pushed something, how does that look?

Mostly looks good, only other general thought is that the crate could use a cargo fmt, there's some inconsistency between the code style of this crate and the PR

I've intentionally disabled cargo fmt for now because running it on the code base before this PR created a ton of changes so I thought I'd follow up with that.

Hi Guys,
I am interested in using this library in my next project, but wanted to check the status of merging this PR.  I am exploring creating libraries that make use common representation of notes, so having a standard language for usbd-midi would be very useful!

Hi Guys,
I am interested in using this library in my next project, but wanted to check the status of merging this PR. I am exploring creating libraries that make use common representation of notes, so having a standard language for usbd-midi would be very useful!

I forked over to https://github.com/rust-midi/usbd-midi but I need to do a little bit of debugging

Hi
I am interested in this PR. Is there anything that needs to be done or I could help? For example do some testing?

I see a lot of value in having shared types that we can use within an embedded rust ecosystem. It feels to me like that value outweighs some speculative idea of the midi_types authors (I am included in there) not doing a good job with versioning but maybe I'm confusing what you're saying. If you are talking about removing even more of the bespoke types, simply providing bytes in and out, maybe that is fine but IIRC a USB midi packet does need to do some parsing of the data.

I think we need to find a nice way to connect this crate with midi-types without having it included as dependency. Disregarding SysEx, the last 3 bytes of a packet always contain the MIDI message itself so that interchanging it with another crate is easy. So the additional parsing required is mainly for SysEx. And there's also the cable number, which (if used at all) is something that makes most sense for routing messages inside the application.
So the main challenge is probably to find a good solution for dealing with SysEx data, or do you see some other aspects that require internal parsing?

You do have to generate what this library calls the CodeIndexNumber if you're generating MIDI output but, that is pretty simple and maybe not important enough to require an additional dependency.
I can totally see ripping out all of the MIDI specific stuff from this library and simply provide a raw u8 slice/array interface that lets users manage the encode/decoding to/from some other representation (like midi-types) themselves and then we could simply provide an example of how to use that with midi-types, I'm happy to help with that.
with that and Sysex in mind, on the input, I could see an iterator that provides something like:
pub enum Packet<'a> {
  Midi(&'a [u8]),
  SysexStart(&'a [u8]),
  SysexContinue(&'a [u8]),
  SysexEnd(&'a [u8])
}

on the output, maybe just a method that takes a slice and generates the needed packets.. like write_sysex(&mut self, data: &[u8]) I suspect this would need to return something about where in the slice it had to give up so that you can call a write_sysex_continue(&mut self, data &[u8]) where your data is offset by whatever wouldn't fit in the previous USB packet?

So for my 2c. I did spent a bit of effort in the design of types here to follow Domain Driven Design, to make it so the functions are expecting valid data. A MidiNote doesn't have the same overlapping domain as a u8, so if the user sends you invalid data, how do we then handle it in the crate?. Clamp it?, Mask it?, either way is unexpected, so the idea is if you are parsing from a u8, you need to define what happens in your library if it's not a valid midi note.
I personally try to use domain bounded types, especially in embedded contexts, as invalid data = does not compile, and tracing type overflow bugs on a embedded device is nightmarish :).
You can even see MidiNote is fairly easy to go into u8s and u7s, I think the time the TryFrom trait wasn't stable, I believe a TryFrom trait and impl could help without changing the types too much. I suspect you wouldn't even need TryFrom from u7 just From (it probably just wasn't implemented yet), as iirc a midi notes space is similar to a u7
That being said, a core, complete definition of a midi note in a nostd crate is probably better to use. It didn't exist at the time so I created a minimal one, however if the definition in another crate is just the data types, and doesn't bring in std-reps which would make the crate less portable, I see no reason to not share + use other dependencies.
On the Yamaha vs Common one. It probably makes sense for midi-types to have both definitions, with the From conversions to change between them, and maybe some Into's that.
Oh and one whether bits are used or not in practice, the aim of this implementation was to be truthful to the usb-midi specification. lots of annoying time was spent to make sure the domains were covered, to make it useful in contexts I didn't predict, so at the moment we are decently true to the spec (I believe) even with its annoying inconsistencies!. Granted there might be gaps, but the library tries to be truthful to the spec, so that if a consumer needs the cable number it is faithfully there. even if a heap of other software ignores it

@btrepp I can see your points and they are all valid. The dependency issue is a real problem though, it doesn't strike the crate maintainer but the end user when there are conflicting versions in the whole dependency tree.
We can, of course, leave all the checks in that you've implemented, so the user can't just send garbage data. But ideally, when using midi-types on the application level, errors should already be thrown there when constructing the data. It would just lead to double-check everything, some people may claim some performance impact, but that should not really be an issue.

Btw. if you really want to have midi-types in here, then my suggestion is: rebase this PR so it merges. But in that case I would really like having @x37v actively here as maintainer to react to any new release of midi-types rapidly, doing fixes and publishing new releases.

Btw. if you really want to have midi-types in here, then my suggestion is: rebase this PR so it merges. But in that case I would really like having @x37v actively here as maintainer to react to any new release of midi-types rapidly, doing fixes and publishing new releases.

I think the idea of removing all the types and focusing on the transport, providing a simple way of getting data in and out and letting the user decide what they use to encode/decode (if they want that at all), makes a lot of sense. I'll close this issue. @btrepp's notes make sense but that could really apply to midi-types or some other encoding/decoding/representation library.


Show different labels for ParaTime snapshot charts

Based on Don's feedback we want to keep current charts behaviour, but we need to show different label for ALL_TIME filter.

So, as far as I can tell, two things happened here together:

There was a small refactoring, changing where the chart duration labels are calculated
There was (probably) some change in the calculation

But since the two changes are conflated in one commit, it's hard for me to figure out what was the actual behavior change....


Go to homepage button in editor

Home as in go from editor to main page where you can open projects etc.? Because thats already there

uhhhh yeah, I guess. No idea what I was thinking with this issue lol. Then it's done


Menu System

User should have a way to navigate different badge features.
Menu items may include:

BASIC
Music program (if separate from basic)
Play Tetris
Play Zork
User Program (if added)
What else?

Menu system has been implemented.


Finding the right libcuda.so in the LD_LIBRARY_PATH when running Tensorflow with CUDA in Docker

The tensorflowWithCuda derivation appears to bundle the /nix/store/*-nvidia-x11-390.25-4.14.32 artifact along with it. This seems to work when working inside a NixOS machine due to the $LD_LIBRARY_PATH being set to /run/opengl-drivers/lib. To test this, I ran LD_LIBRARY_PATH='' ./result/bin/app, and this resulted in an error about the the kernel and cuda driver version:
2018-08-29 17:22:10.992066: E tensorflow/stream_executor/cuda/cuda_diagnostics.cc:303] kernel version 390.67.0 does not match DSO version 390.25.0 -- cannot find working devices in this configuration

I then used the docker.buildImage function to turn this into a docker image. Everything works normally except this driver mismatch.
My initial solution was to use these 2 docker run options:.
--env LD_LIBRARY_PATH='/lib'
--volume='/nix/store/gc779g2i2046prsxby8k1v92b0nfs2ix-nvidia-x11-390.67-4.17.6/lib/libcuda.so.390.67:/lib/libcuda.so.1:ro'

However, it still fails because this time it wants to get the libnvidia-fatbinaryloader.so.
Now I imagined in this case it makes sense to try to bind mount the entire /run/opengl-driver/lib, however this doesn't work because all the shared objects there are symlinks, and symlinks inside bind mounts don't work inside Docker.
Is there a solution to this using docker.buildImage or is there something else that can be done?

The CUDA library version must always match that of the kernel module, I don't think that there is a way around that. In particular Docker is of no help because it does not virtualize the kernel. You need to install a compatible kernel module in the host OS.

Ok I found that you need to bind mount: /nix/store/gc779g2i2046prsxby8k1v92b0nfs2ix-nvidia-x11-390.67-4.17.6/lib and you need to get /dev/nvidia0, /dev/nvidiactl and /dev/nvidia-uvm, and then everything works.

@jyp According to https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#versioning-and-compatibility the CUDA drivers are backwards compatible, so although my code was bundled with 390.25, it should work with >390.25.

This backward compatibility has never worked for me.


React Native 0.63.3 is extremely slow

My updated App is very slow . It was working smooth in 0.59.9 but now it's performance is getting worse .
I am trying to downgrade it but getting lots of issues . What to do now? Is React Native Team working on that issue because lots of people are already facing that and there is no proper solution available here.

OS: macOS Mojave 10.14.6
CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
Memory: 321.04 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 14.4.0 - /usr/local/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.4 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.8.4 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
API Levels: 23, 24, 25, 26, 27, 28, 29
Build Tools: 26.0.3, 28.0.3, 29.0.0, 29.0.2
Android NDK: Not Found
IDEs:
Android Studio: 3.5 AI-191.8<IP_ADDRESS>10548
Xcode: 11.3/11C29 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_231 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.3 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

What type of information you want ? I can share performance monitoring video of my app with comparison of 0.63.3 to 0.59.9

What type of information you want ? I can share performance monitoring video of my app with comparison of 0.63.3 to 0.59.9

More details would definitely help. As is this issue isn't particularly actionable. A repro, data, or references.
Also FYI the issue title says 0.60 instead of 0.63, but based on your following information I assume we're talking about 0.63 (aka latest).

Is React Native Team working on that issue because lots of people are already facing that and there is no proper solution available here.

Can you provide references to the other discussions/issues people are hitting?

Seconded. This is a huge issue.

Hermes Engine did work for me :)
Now app performance is better .
Still solution required from dev side .

@Anujmoglix — My understanding is that Hermes decreases bundle size, startup time and memory— but I'm not sure that has any impact on general app sluggishness when loaded up RE: redux usage, JS queries etc. Something changed under the hood likely related to redux binding to components. It's my best guess so far.

I am just tracking it and slow frame rate count has been decreased . I will surely update after some more days analysis of app.

I have the same issue, when update to RN063.3, mi app is too slow to start on android.

https://github.com/facebook/react-native/issues/26870
I believe this is also related to the issue for additional context for people coming into this thread.

right now it is a very huge issue we had upgraded our app from 0.59.6 to 0.63.3 and now our Android app is very very very slow! we have made lot of changes recent in our code base interesting thing we had found in emulator app is running very fast but when we generate its apk app is very slow so seems like it is issue with production release

Using Hermes app performance is better but it is not same as old RN version. @smali-kazmi  Try Hermes engine and check once.

right now it is a very huge issue we had upgraded our app from 0.59.6 to 0.63.3 and now our Android app is very very very slow! we have made lot of changes recent in our code base interesting thing we had found in emulator app is running very fast but when we generate its apk app is very slow so seems like it is issue with production release

I made this comment because in the start I was thinking it was due to react natives latest version so debug why the app was very slow I had enabled Show Pref Monitor and check why are my fps against each action; my app's fps down to -2.0 after sometimes during that drop for 2-3 seconds app was totally unresponsive
I had made the following changes in the app and I was so amused both Android + iOS apps are running on 60fps

avoid unnecessary redux store writes
avoid using Immutable.asMutable while updating data in store reducers
remove Immutable.asMutable from my selectors to avoid renders
decrease setInternal time and managing it efficient ways

After Using Hermes, app performance is better but it is not same as old RN version. @smali-kazmi Try Hermes engine and check once.

we can enable it
btw I had fixed my app issues by making the above changes in my code

For me Hermes didn't help.
App is much slower using 0.63.3 than 0.59.9.

For me Hermes didn't help.
App is much slower using 0.63.3 than 0.59.9.

Has anybody found a solution to this problem?

@rahamin1 check my following comment in this thread that might help you!

right now it is a very huge issue we had upgraded our app from 0.59.6 to 0.63.3 and now our Android app is very very very slow! we have made lot of changes recent in our code base interesting thing we had found in emulator app is running very fast but when we generate its apk app is very slow so seems like it is issue with production release

I made this comment because in the start I was thinking it was due to react natives latest version so debug why the app was very slow I had enabled Show Pref Monitor and check why are my fps against each action; my app's fps down to -2.0 after sometimes during that drop for 2-3 seconds app was totally unresponsive
I had made the following changes in the app and I was so amused both Android + iOS apps are running on 60fps

avoid unnecessary redux store writes
avoid using Immutable.asMutable while updating data in store reducers
remove Immutable.asMutable from my selectors to avoid renders
decrease setInternal time and managing it efficient ways

Thanks a lot, @smali-kazmi!

The app I am working on is using the immutable-js package, but I don't see any reference to Immutable.asMutable in the code.
I do have two places in the code where I use setInterval (you have written setInternal  but I assume that this is what you mean), but I don't see why they should cause any issue, and the app is slow when both are disabled.

Regarding the cause of the problem: if 0.59x is fast with the same code, and 0.63x is slow, it makes sense that it is because of changes in the react-native version, isn't it?

We migrated the app from 0.61 to 0.63.
We discovered a performance issue with FlatList on iOS.
Previously, we used FlatList's windowSize less than the default (24). maybe 10
So I returned this value to default.
Just use more memory!
Good bye!
https://reactnative.dev/docs/optimizing-flatlist-configuration#windowsize

@rahamin1 its true 0.63x is slow as compare to 0.59x but changes i here; help me to make app useable;
in our code Immutable.asMutable was the main reason causing lot of re-render; and setTimeout cause to halt app sometimes;

Well, not relevant for my app. Still hoping to get a solution soon, looking forward to other people's ideas.

Hey @Orange9000 did you find the reason for this issue? Facing the same issue, but building the release as you suggested has not solved the issue for me

we also have same issue for android 0.67.4 react native. Any other possible solution for it. Tried above ones already

Found out what was causing the slow down of entire app's UI in my case. It as the adjustsFontSizeToFit prop I used on a certain screen. It's a known bug which was fixed in a latest version, see https://github.com/facebook/react-native/pull/33135

Stop unsubscribe
William Pope Jr
On Sat, Sep 16, 2023, 1:33 AM github-actions[bot] @.***>
wrote:

This issue is stale because it has been open 180 days with no activity.
Remove stale label or comment or this will be closed in 7 days.
—
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/30403#issuecomment-1722141827,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALNSC3CJAWCNN27WGKWKQITX2U22RANCNFSM4TXTBEWQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


StyleError when module has @def attribute

Versions

Elixir: use elixir --version

Erlang/OTP 26 [erts-14.0.2] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]

Elixir 1.15.5 (compiled with Erlang/OTP 26)

Styler: use mix deps | grep locked | grep styler

  locked at 0.9.1 (styler) 28e3bb66

Example Input
https://github.com/randycoulman/mix_test_interactive/blob/v1.2.2/test/mix_test_interactive/pattern_filter_test.exs
I confirmed that the @def attribute in that file is the problem by renaming it to something else. When I did that, the problem went away.
Stacktrace / Current Behaviour
** (Styler.StyleError) Error running style Defs on test/mix_test_interactive/pattern_filter_test.exs
   Please consider opening an issue at: https://github.com/adobe/elixir-styler/issues/new
** (ArgumentError) ranges (first..last) expect both sides to be integers, got: 8..nil

    (elixir 1.15.5) lib/range.ex:193: Range.new/2
    (styler 0.9.1) lib/style/defs.ex:54: Styler.Style.Defs.run/2
    (styler 0.9.1) lib/zipper.ex:345: Styler.Zipper.do_traverse_while/3
    (styler 0.9.1) lib/styler.ex:36: anonymous fn/4 in Styler.style/3
    (elixir 1.15.5) lib/enum.ex:2510: Enum."-reduce/3-lists^foldl/2-0-"/3
    (styler 0.9.1) lib/styler.ex:34: Styler.style/3
    (styler 0.9.1) lib/styler.ex:64: Styler.format/3
    (elixir 1.15.5) lib/enum.ex:2510: Enum."-reduce/3-lists^foldl/2-0-"/3

Skipping style and continuing on

Thanks for the issue! v0.9.2 released with the fix =)


[FEATURE REQUEST] Add the ability to change the icon color

Feature Request
Describe the solution / feature you'd like
Let's say we have an icon with some image, but we need to display it in different colors (green, yellow, red) depending on the value.
We call the service icon_set_color(icon_name, r ,g ,b) which changes all significant points of the icon to the specified color. Those. instead of three (or more) icons, we only need one, and we can display it in different colors.

Hi, why not use the small bitmap command? I don't see the use case. Can you explain i little bit more or give a sample

A bitmap is a way out, I agree, but only for static icons, and if we have an animated icon, for example lameid: 14429, then we won’t be able to use a bitmap.

ok so you like to manipulate a dual color gif eg. black and red like in 14429 and you will change every red pixel to the specified color?

Yes, but not everyone is red, and everyone is not black, i.e. If the color is displayed, change it to the one that is specified.
And so on every call to this service.


Alert send to Zulip

Describe the feature request
Receive notifications and if possible a status picture
Why do you personally want this feature to be implemented?
We use the internal messenger zulip and it would be handy to get notifications into it
How long have you been using this project?
I'm just getting acquainted so I can put it into practice
Additional information
docs https://zulip.com/api/incoming-webhooks-overview

Hello
@TwiN in the linked URL Zulip has "Slack-compatible incoming webhook"
Isn't that enough as Gatus already supports Slack?
Or should it also be implemented separately?

I don't think there's anything wrong with implementing both. After all, there may be people that use both Slack and Zulip, in which case supporting both would be a bonus.