Results data table

This PR has a couple of issues that require input and/or assistance. It's supposed to fix #188, updating the Results table on the Search page. It also updates the Saved Results and Saved Searches tables, even though no one knows what the second one is for and it will probably be dropped from MVP. All the tables have been using react-table, but with fake data written in, so there was no way to use API data. With this PR, the tables now... continue to use fake data, but it might be easier to change now?
The main thing I haven't figured out is the table header.  I made tooltips for the columns with extra info, but I can't figure out the transparency - you can see the map right through them. Also, there's problems with column width, especially if you sort the columns - the sort arrows make the width jump around madly.
But now you can deploy it and see my mock data! (It's generated fake incident data, merged with a dataset of the 2019 Grammy winners, because random fake data gets boring quickly.)
(Also, I should really put the mock data wherever mocks are supposed to go, so they don't clutter the build.)

The snapshots appear to be failing because of the generated id attribute of a FontAwesome icon, which is brand new every time it renders. So I can run update-snapshots, and then run test immediately after, and it still fails. Does anyone have thoughts on this?

Hey @acharliekelly where can I view your changes in the firebase preview? Or do I need to use storybook?


Ensure that CONNECT grants are applied to all databases

@cjestel noticed that when multiple roles (users) have access to the same database, the CONNECT grants are only applied to the first database that is created.  That's because we don't specify the database and username on CONNECT grants. This should fix that problem.

Tested and everything looks good.  Merging.


Better dispplay of results about (female) hormones ?

An attention point raised by one of our doctors, maybe for a next round of improvements: Could/will the display of results about (female) hormones be improved with the FHIR format ?
For example (result received in "Healthone" format)

@bdc-ehealth any news/reaction on this ?


Use smallvec for avoid allocations in the trampoline

We, in paritytech, had to momentarily fork wasmtime due to lack of support of sharing Modules between threads. Now, with the recent changes landed it is possible for us to return to the upstream!
One of the changes we had in our fork is similar to the presented here. Namely, we noticed a performance increase for our workloads if we avoid allocations for a common case if the number of arguments doesn't exceed some threshold.
In our fork it wasn't using smallvec, but I don't think it's worth the hassle avoiding it since smallvec is already used by cranelift.

Thanks for this! I'm curious, though, would y'all be able to switch to using the get* family of functions? Not a whole lot of effort has gone into making Func::call (or Func::new) all that fast since it's imagined that most speed-critical usage would use Func::wrap and Func::get*.

That's what we aim for! As a stop gap, however, we are stuck with Func::new since right now the signatures of the all host functions published are not known statically.

Ok, sounds like a reasonable stopgap in the meantime then


Using splitter_port != 1 with picamera.PiCameraCircularIO not working?

I'm having a play with multiple feeds out of the pi camera using splitter_port, and I'm having a problem when I use splitter_port with circular IO
With splitter_port unused or splitter_port = 1 all is well
But with splitter_port = 0, 2 or 3 before.h264 is always 0 bytes.
seems slightly bizarre, or am I missing something?
Here is a tweaked version of the code from the docs here:
`
import io
import random
import picamera
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
stream = picamera.PiCameraCircularIO(camera, seconds=10)
skwarg={}
skwarg={'splitter_port':1}
camera.start_recording(stream, format='h264', **skwarg)
try:
if True:
camera.wait_recording(12, **skwarg)
if True:
print('Motion detected!')
# As soon as we detect motion, split the recording to
# record the frames "after" motion
camera.split_recording('after.h264', **skwarg)
# Write the 10 seconds "before" motion to disk as well
stream.copy_to('before.h264')
stream.clear()
# Wait until motion is no longer detected, then split
# recording back to the in-memory circular buffer
camera.wait_recording(8, **skwarg)
print('Motion stopped!')
camera.split_recording(stream, **skwarg)
camera.wait_recording(5, **skwarg)
finally:
camera.stop_recording(**skwarg)
`

You need to tell the circular buffer the splitter port too, e.g.:
stream = picamera.PiCameraCircularIO(camera, seconds=10, splitter_port=2)

This is a big hacky, but necessary as the circular buffer needs to query the encoder to find out when each frame completes; it can only find the encoder if it knows which splitter port it's on. See docs for PiCameraCircularIO for more info.


Implement AWS ECR as a pull-through cache

Description/Context

We are hitting Docker Hub rate limits on pulling images to our EC2 environment. This causes instances to get stuck in a launch/fail loop that further exacerbates the rate limit errors. We need to implement ECR as a pull-through image cache that we then rely on for all of our image pulls in our AWS environments.
Plan/Design

[ ] Create an ECR repository
[ ] Configure docker hub pull-through policy for ECR
[ ] Migrate docker-compose instances to pull from ECR
[ ] Migrate EKS to pull from ECR

Notes
This blog post may be helpful in determining how to implement the appropriate configuration https://marcincuber.medium.com/implementing-aws-ecr-pull-through-cache-for-eks-cluster-most-in-depth-implementation-details-e51395568034

@blarghmatey already did this. Closing.


Baptiste’s Primary Fire does more than OW1

Created by: DpsDoomMain
Baptiste’s Primary fire used to do 24 damage in overwatch 1 now it does 25 so this should be simple

moved from ow1_emulator_backup#659

Created by: MaxwellJung
Thanks for looking up the numbers!


service/header: exchangeProtocolID should include network name from params

Currently, we have a static protocol ID for the HeaderEx protocol, meaning that peers from different networks(devnet, testnet, mainnet) can speak to each other and exchange invalid headers by the same heights. Instead, the protocol ID of HeaderEx(service/header/p2p_exchange.go:19) should contain the network the node is on(we do not allow a node to be on multiple networks at the same time).

Hi @Wondertan, I would like to work on this. Could you assign this to me?


Adds ._nth

Also, when using _.compose, I found the need to have a function to perform array[index].

Nice one, thanks!


Extension 'ms-dotnettools.csharp cannot use PROPOSED API

Issue Type: Bug
After installing the C# plugin in vscode-insiders, the console will throw the following error every time I start it.  @JoeRobich mentioned seeing this as well


Configuration metadata

It would be awesome if jasypt-spring-boot supported configuration metadata http://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html so documentation and IDE assistance are available for the various properties (jasypt.encryptor.password, jasypt.encryptor.algorithm, etc) which this project supports.
I can imagine this improvement being implemented in 1 of 2 ways:

Change to use @ConfigurationProperties which, combined with spring-boot-configuration-processor, will generate META-INF/spring-configuration-metadata.json
Add a manually written META-INF/spring-configuration-metadata.json

Alright man, I'll take a look. Also, contributions more than welcome :)

I've added the configuration properties metadata "Automanually". the processor dashes property names with camel  case so I had to edit after generation. Not sure how the IDE will pick up the Javadoc. I haven't release this so if you can checkout the code, build a SNAPSHOT and test that'd be great.


There's a lot of unused space to the right of the terminal

Column sizing must be off

It's still not fixed in 1.17.0-insider (f7962f0682a76516df51de4856f8ccc5d8ad578a, 2017-09-20T05:24:33.599Z).
I'm on Windows 10, 100% DPI, had reverted all settings and disabled all extensions.

I think this is mostly fixed, but it's still not fitting ideal. @yume-chan a screenshot like above using selection would be good showing your case.

I'm building Code from source, so I should have the latest fixes, but there is still lots of space on the right side.

I can verify it's now fixed.


Multiple receivers

Hi,
I don't know if that is a bug, but I noticed that the UI is only displaying the last email address when the email has multiple receivers on field 'to'.
Also, congrats for the great job on MailHog!
Thanks!

Thanks @raphaelfsousa
It was partly by design, and partly forgotten - for me, the majority of e-mails would have only one destination address, but I did mean to try and support multiple To addresses.
I'll have a look when I get a chance, or PR's are welcome!


Mapdust failes to load when using Android 9

Android 9 disables cleartext communication by default Link
Obviously the correct way is to use https, but using https is not possible at the moment as the Mapdust/Skobbler Certificate just expired on June 25...
So i currently allow cleartext communication and will swap to https communication when a new Certificate is available.

Temprorarily Fixed

Seems that skobbler removed the HTTPS support completely... So we have to use planitext even in the future.


JS Files contain improper characters

After cloning the repo, I was attempting to minify/combine files, but I was met with failure due to a few invalid characters.
These are found throughout the JS files in the repo.
Example:
foundation.core.js Line 56
if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid);

Effectively, single quotes appear to be inconsistently replaced with backticks.
For instance, the next line (Line 57) uses single quotes as expected:
if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }

Backtics are JavaScript template literals. They are valid ES6 syntax.

Ok. That explains my issue. Thanks!
On Wed, Oct 5, 2016 at 11:53 AM Patryk Zawadzki<EMAIL_ADDRESS>wrote:

Backtics are JavaScript template literals
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals.
They are valid ES6 syntax.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zurb/foundation-sites/issues/9231#issuecomment-251716106,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKgcxKuTLQbRtOQteM3xIE7XgEhPc3n4ks5qw8flgaJpZM4KO3OD
.


Added try/except for retrieving library version

In some weird environments, param's way of retrieving version information has many bugs (since it opens a subprocess to call git, for instance, which gives problems when Python processes are created with systems such as Supervisor or Gunicorn). This commit adds the option for the library to keep on going, even if the version cannot be correctly retreived.
This is just the way it is also done in https://github.com/holoviz/param/blob/7d2d2a848dc79d9741709702f8b47f87497701b0/param/init.py#L46

Should we not just be providing a version (no pun intended) of param.version.Version that already swallows such exceptions and returns the indicated version number?  It doesn't seem like something that has to propagate to every project individually.
That said, I'd be interested to find out the cases under which it currently fails. At the least we ought to be protecting the call to git better.

I believe that the version checking in param was just inherited from another project. But sure, let me come up with a minimal example with the error

It wasn't inherited; it started in Param and then graduated to https://github.com/pyviz-dev/autover so that it would be available even to projects that don't use Param. So any change that's made to Param's Version should also be made to https://github.com/pyviz-dev/autover . But either way, the code was meant to be robust against failure to launch git, and clearly it isn't yet, which we should fix rather than work around...

Here are my steps to reproduce the failure: I was basically trying to use panel with the Bokeh Server, but having the Server embedded in a ASGI app (with Starlette, but that's irrelevant here), managed by Gunicorn with Uvicorn workers.
In a nutshell, imagine I create a file called server.py with the following code:
import panel as pn

And now, I want to run my "server application" with Gunicorn + Uvicorn workers (I have tried a couple of recent versions of both, so you can just conda install gunicorn uvicorn):
gunicorn -k uvicorn.workers.UvicornWorker server

The traceback for the error is:
[2020-03-05 21:47:43 +0100] [3156] [INFO] Starting gunicorn 20.0.4
[2020-03-05 21:47:43 +0100] [3156] [INFO] Listening at: http://<IP_ADDRESS>:8000 (3156)
[2020-03-05 21:47:43 +0100] [3156] [INFO] Using worker: uvicorn.workers.UvicornWorker
[2020-03-05 21:47:43 +0100] [3159] [INFO] Booting worker with pid: 3159

[2020-03-05 21:47:45 +0100] [3159] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/uvicorn/workers.py", line 57, in init_process
    super(UvicornWorker, self).init_process()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
    self.load_wsgi()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
    return self.load_wsgiapp()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
    mod = importlib.import_module(module)
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/julio/Documentos/Curso Visualización Bokeh y Plotly/Ejemplos/tornado_dashboard/server.py", line 1, in <module>
    import panel as pn
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/panel/__init__.py", line 22, in <module>
    fpath=__file__, archive_commit="$Format:%h$", reponame="panel"))
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 280, in __str__
    known_stale = self._known_stale()
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 223, in _known_stale
    commit = self.commit
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 133, in commit
    return self.fetch()._commit
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 162, in fetch
    self.git_fetch(cmd)
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 212, in git_fetch
    self._update_from_vcs(output)
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 260, in _update_from_vcs
    self._release = tuple(int(el) for el in dot_split)
  File "/home/julio/anaconda3/envs/bokeh_starlette_server/lib/python3.7/site-packages/param/version.py", line 260, in <genexpr>
    self._release = tuple(int(el) for el in dot_split)
ValueError: invalid literal for int() with base 10: ''
[2020-03-05 21:47:45 +0100] [3159] [INFO] Worker exiting (pid: 3159)
[2020-03-05 21:47:45 +0100] [3156] [INFO] Shutting down: Master
[2020-03-05 21:47:45 +0100] [3156] [INFO] Reason: Worker failed to boot.

The error happens in https://github.com/holoviz/param/blob/7d2d2a848dc79d9741709702f8b47f87497701b0/param/version.py#L247. It turns out that because of the way either Gunicorn or Uvicorn creates new python processes, for some reason the output argument in that method is an empty string '', which makes the function fail. I believe this happens since the function git_fetch in https://github.com/holoviz/param/blob/7d2d2a848dc79d9741709702f8b47f87497701b0/param/version.py#L169 has a value of its internal output variable of '', as the result of the run_cmd function (which uses subprocess.Popen()).
Indeed, I believe it would be a better idea to fix it at the module level.

I am doing some experiments, and it looks like the problem has to do with Gunicorn/Uvicorn returning zero for a subprocess.Popen() call that should return nonzero exit code in https://github.com/holoviz/param/blob/master/param/version.py#L23, so chances are that param.version is not technicallly wrong...
I will try to update this issue as soon as I can.

But either way, the code was meant to be robust against failure to launch git, and clearly it isn't yet, which we should fix rather than work around...

I think packages* should not even be trying to launch git when imported. If I install a python package (e.g. via conda or pip) and I import it, and as a side effect, "git" is run...that's very surprising to me.
Not only is that surprising, it can cause various "fatal" problems (e.g. as reported in this issue, or variants of https://github.com/pyviz-dev/autover/issues/58 like security prompts or virus checker complaints, etc etc) or various "confusing" problems (e.g. incorrect version info being reported; https://github.com/pyviz-dev/autover/issues/54).
(* edit: "package" is an overloaded term - I mean things installed by conda, pip, etc. I'm not concerned that git is run when I have a git checkout of param and import that.)
The team has had some internal "fundamental disagreements" about autover over the years :) However, it is really great in allowing up-to-date version info to appear all over the place automatically, and enables the wonderful ability to git tag and have packages magically appear. I hugely miss all that when working outside of the holoviz ecosystem in many places/ecosystems that don't have that kind of thing. So, if we could figure out how to fix this issue for packages, it would be really great.

I think packages* should not even be trying to launch git when imported. If I install a python package (e.g. via conda or pip) and I import it, and as a side effect, "git" is run...that's very surprising to me.

That's a good point; why is it even trying to run git at all? Shouldn't there be a .version file that is found, short-circuiting all the version-calculation machinery entirely?  Something seems broken, unless the OP is testing something built directly from git and not via a package.

Honestly, I have no idea what is the purpose of param.version...

However, it is really great in allowing up-to-date version info to appear all over the place automatically

As an aside, if someone were going to consider working on autover, I suppose it might also be worth considering whether we (holoviz) also need to address versioning beyond just python, or can happily ignore it/leave it as it is.
E.g. this repo (pyviz_comms) has a package.json with a version in it, for jupyterlab_pyviz. The versions of pyviz_comms and jupyterlab_pyviz are not the same (they don't need to be, and in general are unlikely to be the same), but there's some link between the versions (a range of one for the other). jupyterlab_pyviz is part of a different ecosystem (different tools, requires building, etc), so it's not clear that autover would ever have anything to do with it. But I thought it might be worth mentioning this topic since I have seen various problems from missing/wrongly reported/mismatched versions of the two sides (and the same for various similar packages - it's a general problem).
Similarly, pyctdev (for example) has never tried to help out with non-python stuff, but it could. If there were a Makefile for this project, it seems likely it would have targets for building the ts, uploading to npm, etc etc. Other projects presumably have these same problems, so it might be worth looking around to see what the landscape is like now in terms of tools available.

(Sorry for diverting the original issue. I should probably move to discourse. Maybe there should even be a pyviz-dev section, to help avoid cluttering/distracting all the holoviz projects with various "developer" issues common to all/many of the projects.)

I'm going to wade into controversial territory once again. There has been at least one other very annoying bug in autover/param.Version since it's inception. The promises of autover are great and a cleaner implementation than the alternatives is nice but if crucial things don't end up getting fixed then I'd honestly rather switch to a solution which is used by other packages with millions of users which doesn't add maintenance burden on us...

Ok, so back to the original issue/PR I created in this thread. I have been investigating the error during the weekend and the gist of it is basically:
It turns out that param.version is running (or at least trying to run) some git commands in order to retrieve the version. The way the git commands are launched is through subprocess.Popen() as you can see here: https://github.com/holoviz/param/blob/7d2d2a848dc79d9741709702f8b47f87497701b0/param/version.py#L23
And well, it turns out that subprocess.Popen() is nor particularly async-friendly when spawned from an os fork instruction (just like Gunicorn does). Apparently, one of the problems is that it misreports the return code for the launched command.
The only solution I can think of would be to slightly modify the run_cmd function, to make it read the return code as either 0 if everything runs correctly; or nonzero if either the actual returncode read by subprocess.Popen() is nonzero or if the stderr is something other than an empty byte array.
I can create a PR in param/autover to test this. It would solve my error, but I am unsure if it is a desirable solution at all for the rest of the world... Perhaps we can see if it Travis likes it?

Yes let's close this PR. I will open one at param, with a possible fix for the cmd issue.


When a second text frame is pushed before the first one is sent to the TTS, the speech gets mixed up

After the recent update (0.0.44), I've noticed that speech get's mixed up (like two audio clips playing on top of each other) if two TextFrame are sent in quick succession. I've tested with Cartesia STT. Is anyone else facing the same issue?

jup

We've noticed this, and based on the OP I tried 0.0.43 and still saw the same behavior, fwiw.

can anyone confirm this is still an issue as of 0.0.47 ?

Yes is is still an issue.

Does anyone know of a stopgap fix?

Not a stop gap, but I have a draft PR that should fix this https://github.com/pipecat-ai/pipecat/pull/642. I hope to finish it this week and release a new Pipecat version with it.

Closing. This should now be fixed in 0.0.48. Please, feel free to reopen or create a new issue if it doesn't work. 🙏


[CLI]: wandb login and/or wandb init are broken

Describe the bug
wandb login --relogin  # insert api key
wandb init

Let's setup this directory for W&B!
wandb: W&B API key is configured. Use `wandb login --relogin` to force relogin
Your login information seems to be invalid: can you log in again please?
We're sorry, there was a problem logging you in. Please send us a note at<EMAIL_ADDRESS>and tell us how this happened.

Additional Files
No response
Environment
WandB version: wandb==0.16.0
OS: MacOS 14.1.1
Python version: 3.10.11
Additional Context
I suspect that wandb login does actually do anything, since wandb.init(...) is also broken in python.

hey @dominiquegarmier - few questions & troubleshooting suggestions:

what entity are you using to log in? are you doing this via a personal account or a service account?
what happens when you try to log in in a fresh environment?
could you try running rm ~/.netrc in your CLI & then running wandb login --relogin ?

thank you!

hey @dominiquegarmier - few more troubleshooting suggestions/questions:

export WANDB_BASE_URL=https://api.wandb.ai before relogging in
calling wandb login --relogin --host=https://api.wandb.ai
are you running this behind any sort of proxy? any details about your networking setup would be super helpful here

apologies again for the inconvenience!

doing step (2) worked, thanks for the help.


Aggregate cluster edit and view roles for Traceflow CRDs

Aggregate the Traceflow CRUD permissions to "admin" and "edit" ClusterRoles so that any user granted these roles may have edit permissions. In addition to this, aggregate the READ-ONLY permissions to "view" ClusterRole, so that any user granted this role may be able to view the Traceflow resources.

Codecov Report

Merging #1231 into master will decrease coverage by 9.71%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1231      +/-   ##
==========================================
- Coverage   56.06%   46.35%   -9.72%
==========================================
  Files         108       72      -36
  Lines       11887     6288    -5599
==========================================
- Hits         6665     2915    -3750
+ Misses       4634     3098    -1536
+ Partials      588      275     -313

Flag
Coverage Δ

#integration-tests
46.35% <ø> (+0.03%)
:arrow_up:

#unit-tests
?

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


Improve multi-create workflow for almost pure and binary relationships

This issue focuses on association tables that are almost pure and binary. These association tables have 2 foreign keys and some static columns. A good example of this is the Protocol_Author table in atlas-d2k. We want to be able to create rows using the modal interface but also need a way to allow for setting values for these associated rows after selections have been made in the modal.
To improve this workflow, we are considering changing what the Add records button does on record page for inbound foreign keys when certain criteria are met. If the association table has 5 or less static columns (non foreign key), we will trigger the following alternate workflow. Currently for adding protocol author associations, add records opens recordedit app with only 1 row and the "author" value is empty.
Workflow change:
We discussed changing the workflow to the following for adding rows to an association table when the pair of foreign keys are a unique relation (1 association table entry for X main entity and Y leaf entity pair) and non-unique (N association table entries for X main entity and Y leaf entity pair):

Start on record app like above and click "Add Records"

Recordedit is opened in a new tab with an association picker modal shown on top of the recordedit inputs on page load

After selections are made, click "Continue" to use those selections to fill in recordedit forms

More forms can be added using "Add more" which will show the association picker again
a. in the case that the pair of foreign keys are a part of a unique key, this modal will show selected rows from step 2 as "greyed" out since they can't be chosen again

Click "Save" to add the new selections to the form

Finish filling in the forms and click submit. When closing the recordedit tab that is showing the resultset view, the record app will refresh to show the added rows

Notes:

This feature will automatically trigger when the table is an association table (only 2 foreign keys, both outbound)
the modal picker for associating rows will grey out previous entries if both the main table and leaf table foreign keys are used in a unique key
the save button in the modal changed to "continue"
"Add more" will add more rows and not allow "changing" existing rows regardless of uniqueness

By default, add more will use default initial values
add property to annotation to allow for cloning values instead of using defaults initial values

separate issue to allow clone from any form

Association modal on load, add more modal, and individual foreign key inputs will disable rows that are already associated with the main record or are used in the current recordedit form
For non-unique case, How do we add multiple rows at once for 1 value?

with these changes, we can add 1 more row, then use clone feature to create X more with that same value

clone will be updated to not clone the foreign key field that is part of a unique key
If the user wants to add more after submitting the recordedit forms, they can start from record page and the same process above is used
Editing the data for the association table

Starting from record page, using bulk edit will show the bulk edit recordedit view with no changes since we can't "add new forms" in edit mode of recordedit app

Proposed Annotation changes:
Property and sub-properties to add to annotations (table-display and table-config). For both table-display and table-config annotations, this would be defined on the association table (the table we are adding records to when recordedit app is opened).
"tag:isrd.isi.edu,2016:table-display": {
  "entry/create": {
    "association_picker": {
      "foreign_key_pair": [ 'main_constraint_name', 'leaf_constraint_name'],
      "is_unique": true | false,
      "add_more_clone": true | false
    },
  }
},
"tag:isrd.isi.edu,2021:table-config": {
  "association_picker": {
    "foreign_key_pair": [ 'main_constraint_name', 'leaf_constraint_name'],
    "is_unique": true | false,
    "add_more_clone": true | false
  },
}

Notes:

table-display and table-config would both allow for the annotation to be bidirectional

difference between the 2 is that table-config is not contextualized
multiple other properties in table-display only work in 1 context (collapse_toc_panel, hide_column_header, and selector_ux_mode)
table display seems more appropriate since this is affecting how content is presented to the user

seems we intended table config to be about how the table behaves in ermrestJS APIs and not necessarily for display
user_favorites in table-config is about how they are stored in the model (although the property being present is how we decide whether to show the favorites)

Do we want to be able to configure the heuristics used that show the modal when adding records from "add records" on record app? Probably NOT

only add_more_clone would be configured

tag:isrd.isi.edu,2016:foreign-key annotation

attach to leaf relation on association table
would be unidirectionaldisplay: {
  'entry/create': {
    association_picker: { ... },
  }
}

visible-columns (and visible-foreign-keys)

like foreign key above, this would be defined on one foreign key of the relationship and be unidirectional
could be defined on the relationship in record app but would then require passing all that info to recordedit through prefill cookie
record app has visible-(columns/foreign-keys) defined, this would be attached to the column-directive

We discussed changing the above workflow to the following for adding rows to an association table when the pair of foreign keys are a unique relation (1 association table entry for X main entity and Y leaf entity pair) and non-unique (N association table entries for X main entity and Y leaf entity pair):

Start on record app like above and click "Add Records"

Recordedit is opened in a new tab with an association picker view before seeing the recordedit form inputs

After selections are made, click "Continue" to use those selections to fill in recordedit forms

More forms can be added using "Add more" which will show the association picker again
a. in the case that the pair of foreign keys are a "unique" relation, this modal will show selected rows from step 2 as "greyed" out since they can't be chosen again
b. this will not show rows that are already added that are seen in the image for step 1. This validation is done when the recordedit form is submitted

Click "Save" to add the new selections to the form

Finish filling in the forms and click submit. When closing the recordedit tab that should be showing the resultset view, the record app will refresh to show the added rows

This feature changes the recordedit app workflow only in the entry/create context, so where we add this configuration in the annotations doesn't need to be contextualized. This configuration should communicate when this feature should be turned, which foreign keys are affected by it, and other configurable details (like using initial values or cloned values when clicking "add more").
Proposed annotation changes:

table-config annotation

top level property name?

association_picker
should name include recordedit or entry in some way?

only applied to recordedit app but we might want to have this the same name across annotations

keys for configuring how this association picker behaves

foreign_key_pair - the pair of foreignkey relationships that are used for prefill and loading the picker

array with each constraint name?

['fk_from_protocolauthor_to_person', 'fk_from_protocolauthor_to_protocol']
Note: not the actual names constraint names in the model

Can this have 2 pairs of keys? would we ever want to show 2 pickers?

is_unique - might not be necessary since our code can determine this
add_more_clone - whether add more will clone from an existing form or use the initial values

undefined, null, or false will use initial values

num_columns - when we should trigger this picker

probably not needed since defining the annotation means we want to use association picker for adding rows to this table

Do we want to be able to configure the heuristics used that show the modal when adding records from "add records" on record app?

add_more_clone and num_columns could be general configuration properties for modifying the heuristics
display annotation

add a property to this annotation to allow configuring the heuristics used to show this if no other annotation is defined

association_picker_recordedit

defined on catalog, schema, or table to configure the used heuristics

Should we allow user to select the same option in the modal popup or foreign key dropdown?

foreign key dropdown has a ✔  next to it so I don't think any changes are needed
modal:

Change the selected circle to a check with tooltip

tooltip on checkmark - "This row is the current selection"

Show the selection as a subtitle with selected row's rowname

highlight the already selected row

already using a dark yellow for highlight on hover
blue would clash too much with table header

We decided to improve the foreign key popup to behave the following way:

The selected row will show as a blue circle with a check in it
Rows selected in other inputs or other already created records are shown as a grey circle

hovering over those grey circles will show a tooltip explaining why it's disabled

Names for property:

multi_value_foreign_key_constraint_name
outbound_multi_picker
bulk_create_foreign_key <--

Annotations to add to:
"visible-columns" | "visible-foreign-keys": {
  "detailed": [{
    "source" : <source path>,
    "entity": <true or false>,
    "bulk_create_foreign_key": ["schema_name", "fk_name"], // false means turn off the default heuristics
    "display": {
       "markdown_pattern": <pattern>,
       "template_engine": <handlebars or mustache>,
       "wait_for": <wait_for list>,
       "show_foreign_key_link": <boolean>,
       "show_key_link": <boolean>,
       "array_ux_mode": <csv|ulist|olist|raw>,
       "selector_ux_mode": <facet-search-popup|simple-search-dropdown>
     },
  }]
}

"foreign-key": {
    "bulk_create_foreign_key": ["schema_name", "fk_name"], // false means turn off the default heuristics
    "display:" { ... }
}

"table-display": {

}

true | null usage in configuration
NOTE: true doesn't mean anything different from null in the context of this annotation. true is a way to use the "default heuristics" for this feature. This also happens to be the "default" as well
annotations

display annotation:

"An explicit setting of null will turn off inheritance and restore default behavior for that model element and any of its nested elements."

immutable, generated, non-deletable, required

true | null turn on the annotation
false turns it off in case of inheritance

visible-columns

for non filter contexts: "Any non-string, non-array value (e.g., null): The client will use the default heuristics for generating list of visible columns."

nothing explicit in our docs about null being defined for filter

visible-foreign-keys

nothing explicit in our docs about null

indexing-preferences

"If a column-level annotation sets a preference of null, this suppresses any table-wide preference for the same indexing type, requesting built-in service defaults for the column."

chaise config properties

null for chaise config properties generally means undefined so the default is used

Protocol_Author table:
"tag:isrd.isi.edu,2016:visible-columns": {
  "entry": [
    "Rank",
    {
      source: [{ outbound: ["edit_w_association", "author_fkey"] }, "RID"],
      "display": {
        "selector_ux_mode": <facet-search-popup|simple-search-dropdown>,
        "bulk_create_foreign_key": ["edit_w_association", "protocol_fkey"]
      }
    },
    {
      source: { outbound: ["edit_w_association", "protocol_fkey"] }
      "display": {
        "selector_ux_mode": <facet-search-popup|simple-search-dropdown>,
        "bulk_create_foreign_key": ["edit_w_association", "author_fkey"]
      }
    },
    {
      source: { outbound: ["edit_w_association", "consortium_fkey"] },
      "display": {
        "selector_ux_mode": <facet-search-popup|simple-search-dropdown>,
        "bulk_create_foreign_key": ["edit_w_association", "protocol_fkey"]
      }
    }
  ]
}

Protocol Table:
"tag:isrd.isi.edu,2016:visible-columns": {
"detailed": [
{
source: [{ inbound: ["edit_w_association", "protocol_fkey"] }, "RID"],
"display": {
"bulk_create_foreign_key": ["edit_w_association", "author_fkey"]
}
}
]
}

The first part of this issue has been implemented. This issue is pending annotation changes to allow for configuring this without relying on the heuristics.


Compiling on Raspberry Pi with Broadcom/VC4 OpenGL lib

Hi again.
On my quest for Raspberry Pi Open GL performance, I found this guide. One important point that I missed before is that on Raspberry Pi, SDL has to be compiled to use Broadcom/VC4 specific OpenGL libraries. In this guide, it had me replace in SDL/src/video/SDL_egl.c
#if SDL_VIDEO_DRIVER_RPI
/* Raspbian places the OpenGL ES/EGL binaries in a non standard path */
#define DEFAULT_EGL "/opt/vc/lib/libEGL.so"
#define DEFAULT_OGL_ES2 "/opt/vc/lib/libGLESv2.so"
#define DEFAULT_OGL_ES_PVR "/opt/vc/lib/libGLES_CM.so"
#define DEFAULT_OGL_ES "/opt/vc/lib/libGLESv1_CM.so"

with
#if SDL_VIDEO_DRIVER_RPI
/* Raspbian places the OpenGL ES/EGL binaries in a non standard path */
#define DEFAULT_EGL "/opt/vc/lib/libbrcmEGL.so"
#define DEFAULT_OGL_ES2 "/opt/vc/lib/libbrcmGLESv2.so"
#define DEFAULT_OGL_ES_PVR "/opt/vc/lib/libbrcmGLESv2.so"
#define DEFAULT_OGL_ES "/opt/vc/lib/libbrcmGLESv2.so"

I followed the guide, and recompiled / re-installed SDL2.
Went back to In sdl-gpu I've run cmake -G cmake -G "Unix Makefiles", then make, and sudo make install.
I also changed my own project makefile's to link to Broadcom's versions by replacing -lEGL and -lGLESv2 with -lbrcmEGL and -lbrcmGLESv2.
Now, I go and compile my project, run it with no performance improvement.
It appears, that it may still be using stock, non-accelerated libraries:
$ ldd ./m
	linux-vdso.so.1 (0x7efa3000)
	/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f83000)
	libSDL2-2.0.so.0 => /usr/local/lib/libSDL2-2.0.so.0 (0x76e92000)
	libSDL2_image-2.0.so.0 => /usr/local/lib/libSDL2_image-2.0.so.0 (0x76e62000)
	libSDL2_ttf-2.0.so.0 => /usr/local/lib/libSDL2_ttf-2.0.so.0 (0x76e4c000)
	libSDL2_mixer-2.0.so.0 => /usr/local/lib/libSDL2_mixer-2.0.so.0 (0x76df2000)
	libSDL2_gpu.so => /usr/local/lib/libSDL2_gpu.so (0x76d95000)
*	libbrcmEGL.so => /opt/vc/lib/libbrcmEGL.so (0x76d4a000)
*	libbrcmGLESv2.so => /opt/vc/lib/libbrcmGLESv2.so (0x76d25000)
	libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76c49000)
	libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76bce000)
	libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76ba1000)
	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76a5f000)
	libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x76a38000)
	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76a25000)
	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x769fd000)
	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x769e6000)
	libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x7694d000)
*	libGLESv2.so => /opt/vc/lib/libGLESv2.so (0x76928000)
	libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x76912000)
	libvcos.so => /opt/vc/lib/libvcos.so (0x768f8000)
	/lib/ld-linux-armhf.so.3 (0x54aaa000)
	libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x768d0000)
	libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x768a0000)
*	libEGL.so => /opt/vc/lib/libEGL.so (0x76867000)

My guess is that SDL_gpu is still linked to the old ones.
How can I force SDL_gpu to use brcmEGL and brcmGLESv2 ?
Thank you.

Hmm...  Not sure if there's an easy override for it.  You might be able to comment out/delete the OpenGL ES detection in CMakeLists.txt and throw in some set(SDL_gpu_GL_LIBRARIES ${SDL_gpu_GL_LIBRARIES} brcmEGL brcmGLESv2).

what if you backup the original libs and rename the brcm libraries?

I was finally able to link to brcm* libraries by statically linking to SDL_gpu library.
ldd reported correct links (no mention of vanilla libEGL, or libGLESv2.
Unfortunately I didn't see a major performance improvement using those libraries.
Thanks for your help anyway!

Last year i did some gles test on the rpi3 and rpi2 on console (not X) with a onboard compiled version of sdl2 (the hint to get acceleration was to compile sdl2 with -DISABLE_OPENGL flag, like it was linked in your tutorial, without that flag it just crawls)
The test was to bruteforce pixeldraw some sprites off of some texture atlas, and setting the screen fbo pixel by pixel.
rpi3 was about 50% faster than rpi2, and with a 320*240 fbo i got around 80 fps with 1024 tiny sprites. Pixels drawn per frame was somewhere around half a million.
The rpi3 is actually pretty fast (and gets really hot, needs a fan), but the current support for it is all but standardised and a bit of a hassle - mostly because of the bradcom video blob. My experience was that it is much easier to get full acceleration without any x context, so console, sdl2 and fullscreen rendering only.

If it's possible that the wrong driver is getting used, you can perhaps compare performance between glxgears and a version running via SDL_gpu to get some verification.
I dug up this from a couple of years ago.  It's a modification of an SDL2 port of glxgears, but hopefully its similar enough for comparison:
sdl_gpu_gears.c.txt

Thank you.
After digging around, it appears that brcmEGL / GLES .lib are really just copies of the other libs. I'm not sure why it's like this.


DocAI BQ Connector

Adding folder and code for bq connector. The DocAI BQ Connector is a helper library that invokes the DocAI processing library, and formats the response for saving directly into BigQuery.

Consider adding this project to the index in the main README. #210 should be merged first to avoid conflicts.

Consider adding this project to the index in the main README. #210 should be merged first to avoid conflicts.

Added.

@mservidio Thanks for contributing this connector. Can you please add tests to this? The tests will ensure stability as this tool/helper has dependencies on BQ client library.


Enable result level cache for GroupByStrategyV2 on broker

Fixes #11591 .

Description

Cache is disabled for GroupByStrategyV2 on broker since the pr #3820 [groupBy v2: Results not fully merged when caching is enabled on the broker].  But we can enable the result-level cache on broker for GroupByStrategyV2 and keep the segment-level cache disabled.

Key changed/added classes in this PR

CacheStrategy
GroupByStrategy
CacheUtil

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

Thanks for the work. I think we also need to revert the changes in #11370. Please update the doc in this PR.

Thanks for the work. I think we also need to revert the changes in #11370. Please update the doc in this PR.

I will do it here

@hqx871 - will you be interested in reviving this PR? Apologies that you didn't get any review in time.


Added config for baremetal admin host in scale-cloud

Commit includes config for bootstrap VM which will be used for installation
of baremetal admin host and copy of setup.sh for this variant.

 Update scale cloud to latest bits and use SAP node distribution


md5_mb:Implement md5 with asimd

Change-Id: I5f1f4d2b337d1dad38261c06640a6bcf25dc2f4f
Signed-off-by: Jerry Yu<EMAIL_ADDRESS>

I'll run these through our internal tests.

Integrated.


Implment Packet buffer for sending

Most browsers currently have a limit for message size:
https://stackoverflow.com/questions/15435121/what-is-the-maximum-size-of-webrtc-data-channel-messages
My testing on chrome gets the following error:
Attempting to send message of size 988606 which is larger than limit 262144
Although the spec is expected to be built into browsers, these arbitrary size limits result in no error message that I see in the console. The above comes from running debug version of chrome.
When I tried to create my own 'sync' system before switching to try y-webrtc, I used protocol buffers to wrap updates, and hashed the data to keep them order/organized. I don't have any real knowledge about best practices, however.

Hi @disarticulate ,
this is indeed a problem. Data channels in WebRTC really feel like an afterthought in multiple places.
One solution would be to write a wrapper around the webrtc package "simple-peer" that will handle splitting up messages. Larger messages simply need to be split up if they exceed a certain size (I wonder if it is possible to get/overwrite the message-size limit)..
I wanted to write a wrapper around simple-peer anyway because different browsers often have trouble communicating with each other. Sometimes messages get lost although we use a reliable webrtc connection. Our wrapper around simple-peer should handle splitting up messages and making sure that no messages get lost (using a retry logic).
I imagine that we simply assign an increasing number to each message. Messages that are split have an additional increasing number that defines the part of the message.
This is how I would define the protocol. Internally, I'd probably simply encode this to Uint8Arrays using lib0/encoding. Protocol buffers is great, but it adds quite some overhead that I try to avoid (bundle size & mental complexity).
# Example of a "normal" message that is not split up
[normalMessageType, messageClock, ...message]

# Example of a split message
[splitMessageType, messageClock, numberOfMessageParts, partNumber, ...messagePart]

The peers would need to maintain a list of messages that they have not received yet. And of course, they would need to merge message parts when all parts have been received. For Yjs it is not necessary to apply messages in a certain order. Any order is fine. Messages just should not get lost.

When I tried to create my own 'sync' system before switching to try y-webrtc, I used protocol buffers to wrap updates, and hashed the data to keep them order/organized. I don't have any real knowledge about best practices, however.

One advantage of using Yjs/CRDTs is that you don't have to care about the order of messages. These messages simply have to arrive somehow at the other peers.

I looked around for some prior art, and this appears to be the only wrapper around simple peer that overcomes the issue:
https://github.com/disarticulate/simple-peer-files
The simple-peer-files/src/Meta.ts implements a similar protocol to what you describe
I forked it to see how small it could be bundled, including making simple-peer a peerDependency, without @feross/buffer, it came out to ~38Kb, compressed I believe, ~110Kb uncompressed. It looks like they're using some heavy streaming libraries, so i'm not sure how to interpret 'bundle size', but I'd guess a lot of that duplicates what you've done with lib0.
the other thought I had: with the Yjs/CRDT is there anyway to 'naturally' spit out smaller/chunked updates with some kind of flag? This would probably ruin the 'advantage' of out of order updates to the extent that you'd need to mutexlock updates until a splitMessage is finished sending.
For now, I'm down sizing my documents and moving the media/large segmented parts into hashes and seeing if simple-peer-files works well enough to do the heavy lifting and recombine the thing on the otherside.

i'm not sure how to interpret 'bundle size', but I'd guess a lot of that duplicates what you've done with lib0.

Yjs uses lib0/encoding anyway. So I'd like to avoid other encoding-libraries if possible. Seems a lot of people are focused on protobuf ^^ https://github.com/yjs/yjs/issues/262 - I Explained my reasons for not using protobuf in Yjs there.
It seems that WebRTC doesn't always guarantee in-order delivery. So the new protocol should account for that. Simply describing the end of a message only works when the protocol guarantees in-order delivery.

the other thought I had: with the Yjs/CRDT is there anyway to 'naturally' spit out smaller/chunked updates with some kind of flag? This would probably ruin the advantage of out of order updates to the extent that you'd need to mutexlock updates until a splitMessage is finished sending.

There is. You can basically split up Yjs documents into smaller update messages. But, when you insert one huge JSON/binary blob in Yjs, then the smallest update-unit might still be too large for WebRTC. I don't think we can get around splitting of messages..

my webrtc buffer protocol was to:

hash the data
chunk the data, then calculate the hashes
wrap in a protobuf with packet # and metadata, particularly the final hash; it was mostly used to keep using buffers. if there were a means to auto-magically wrap an object, i'd do that although everything i saw was just strings.
receive packets in whatever order then reassemble

hashing was used because i semi-expect to have an unsecure network and wanted my packets not to be modified, but right now it's just syncing device documents.
I think the problem is definitely webrtc, but I could imagine a benefit to standard 'update sizes' via an intelligent chunking function within the core, at abstractly it seems that's what you're doing when you're moving updates left or right. a buffer's just a bunch of updates to the right. It's just it loses the advantage while it's trying to do that update.
anyway, I'm deep into my application layer and cannot provide much other than presenting things I've found along the way.

Hi, I would like to join the discussion with a question:
If I'd like to send a bigger file like an image, I guess it doesn't make sense to wrap that in a Y.Doc?
If that's true, what would be the best way to share such a file among peers? Usually I would send some request to a peer to send me the binary data using a DataChannel Is that correct?
Can we extend y-webrtc to support exchanging additional data formats? Would it be possible to use the same encryption?

Hi, I would like to join the discussion with a question:
If I'd like to send a bigger file like an image, I guess it doesn't make sense to wrap that in a Y.Doc?
If that's true, what would be the best way to share such a file among peers? Usually I would send some request to a peer to send me the binary data using a DataChannel Is that correct?
Can we extend y-webrtc to support exchanging additional data formats? Would it be possible to use the same encryption?

In the current state, y-webrtc apparently can't handle large files (depending on the browser being used).
Managing this manually would be pretty hard because you need to coordinate where to get the file from. y-webrtc supports partially connected networks (not every client is connected to every other client).
Therefore, it might make sense to put the image in a subdocument. Then Yjs can handle syncing the image asynchronously. There should be close to no performance overhead if you store the image as a Uint8Array somewhere in Yjs.

In the current state, y-webrtc apparently can't handle large files (depending on the browser being used).
Managing this manually would be pretty hard because you need to coordinate where to get the file from. y-webrtc supports partially connected networks (not every client is connected to every other client).
Therefore, it might make sense to put the image in a subdocument. Then Yjs can handle syncing the image asynchronously. There should be close to no performance overhead if you store the image as a Uint8Array somewhere in Yjs.

Another nice alternative is to use webtorrent (for large files).

Another nice alternative is to use webtorrent (for large files).

If you use any array, you would need to chunk the transaction to ~16KB to
maximize transmission, according to some testing I've seen. Past 64KB,
certain browsers silently fail to send.
On Wed, Jan 6, 2021, 06:32 Kevin Jahns<EMAIL_ADDRESS>wrote:

In the current state, y-webrtc apparently can't handle large files
(depending on the browser being used).
Managing this manually would be pretty hard because you need to coordinate
where to get the file from. y-webrtc supports partially connected networks
(not every client is connected to every other client).
Therefore, it might make sense to put the image in a subdocument. Then Yjs
can handle syncing the image asynchronously. There should be close to no
performance overhead if you store the image as a Uint8Array somewhere in
Yjs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/yjs/y-webrtc/issues/20#issuecomment-755273351, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEFHWPNKHZHAZXCP5M5ZXWDSYRJ4VANCNFSM4UEDJSXA
.

If you use any array, you would need to chunk the transaction to ~16KB to
maximize transmission, according to some testing I've seen. Past 64KB,
certain browsers silently fail to send.
On Wed, Jan 6, 2021, 06:32 Kevin Jahns<EMAIL_ADDRESS>wrote:

In the current state, y-webrtc apparently can't handle large files
(depending on the browser being used).
Managing this manually would be pretty hard because you need to coordinate
where to get the file from. y-webrtc supports partially connected networks
(not every client is connected to every other client).
Therefore, it might make sense to put the image in a subdocument. Then Yjs
can handle syncing the image asynchronously. There should be close to no
performance overhead if you store the image as a Uint8Array somewhere in
Yjs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/yjs/y-webrtc/issues/20#issuecomment-755273351, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEFHWPNKHZHAZXCP5M5ZXWDSYRJ4VANCNFSM4UEDJSXA
.

Thanks, @dmonad and @disarticulate  for the valuable feedback. I will test the solutions you mentioned once I get to the implementation of that feature in my project. I'll give feedback on the outcomes.
To summarize the solutions you proposed:

Yjs sub-document with data in Uint8Array format
Using webtorrent (smart load distribution)
Direct transmission with chunked data about 16KB each. Example code

I would add another solution, for my special use case, involving a stupid web server to upload the data once and clients fetching from there.

Thanks, @dmonad and @disarticulate  for the valuable feedback. I will test the solutions you mentioned once I get to the implementation of that feature in my project. I'll give feedback on the outcomes.
To summarize the solutions you proposed:

Yjs sub-document with data in Uint8Array format
Using webtorrent (smart load distribution)
Direct transmission with chunked data about 16KB each. Example code

I would add another solution, for my special use case, involving a stupid web server to upload the data once and clients fetching from there.

I created a monkey patch, hack, into SimplePeer here:
https://github.com/disarticulate/y-webrtc/
I did the following:

Extended SimplePeer's class as SimplePeerExtended.js
Overwrite import in y-webrtc.js to use th eextneded version
created two Y.Doc for transmission (txDoc) and receiving (rxDoc)
created a initial setup and sync transmissions for peers
a. client1 syncs: txDoc -> rxDoc (one way)
b. client2 syncs: txDoc -> rxDoc (one way)
send(chunk) -> queses data, creates more chunks with packets, and sends each packet into an array in the txDoc
txDoc.on('update' -> sends msg to sync
rxDoc is updated with msg
upon receipt of all packets, this.push is triggered

it reuses y-doc and uses no outside packages. it may be a design guide to something more economical.

I just encountered this and took a while to determine the issue. What happened in my case is that syncing in Firefox worked, but syncing the same in Chrome suddenly started failing (having worked previously). I eventually narrowed it down to a size issue where a particularly large update was silently breaking y-webrtc for Chrome.
A few questions:

Is the related pr here still the best approach to workaround this?
Is there anything I can do to help get a fix included in y-webrtc itself?
Can there be a more visible y-webrtc warning / error when this occurs?

Thanks!

@martinpengellyphillips here's the https://github.com/yjs/y-webrtc/pull/25 pull request. I think some of the feedback is about better integration with @dmonad's approach and comments.
As far as I know, this is just how webrtc is going to handle things. Another solution would be to figure out how to ensure all updates using webrtc are already a max size before using the pipe.

I created a monkey patch, hack, into SimplePeer here:
https://github.com/disarticulate/y-webrtc/
I did the following:
1. Extended SimplePeer's class as SimplePeerExtended.js

2. Overwrite import in y-webrtc.js to use th eextneded version

3. created two Y.Doc for transmission (txDoc) and receiving (rxDoc)

4. created a initial setup and sync transmissions for peers
   a. client1 syncs: txDoc -> rxDoc (one way)
   b. client2 syncs: txDoc -> rxDoc (one way)

5. send(chunk) -> queses data, creates more chunks with packets, and sends each packet into an array in the txDoc

6. txDoc.on('update' -> sends msg to sync

7. rxDoc is updated with msg

8. upon receipt of all packets, this.push is triggered

it reuses yjs and no outside packages. it may be a design guide to something more economical. also, i believe WebRTC spec doesn't garuntee order of transmission so the CRDT algo does some work here. otherwise we're just using the nice encoded dataset given byh 'update'

@disarticulate  ... Thanks for your efforts, I used your fix as an alternative WebRTC-Provider and it works like charm, tested it on different browsers and with images and even video files ...

Any update on this issue?


Supported Swift Versions

My packages have // swift-tools-version:5.3 in the first line because that is the latest released version in Xcode 12.
You are trying to build with 5.2, 5.1, 5.0 and 4.2 but those always fail:
Error: ShellOut encountered an error
Status code: 1
Message: "/Users/builder/builds/pMpxem39/0/finestructure/swiftpackageindex-builder/spi-builder-workspace: error: package at '/Users/builder/builds/pMpxem39/0/finestructure/swiftpackageindex-builder/spi-builder-workspace' is using Swift tools version 5.3.0 but the installed version is 5.2.0"
Output: ""
Selected platform:         macosSpm
Swift version:             v5_2
Building package at path:  spi-builder-workspace
Running build ...
env DEVELOPER_DIR="/Applications/Xcode_11.6.app" xcrun swift build
/Users/builder/builds/pMpxem39/0/finestructure/swiftpackageindex-builder/spi-builder-workspace
${cwd}: error: package at '${cwd}' is using Swift tools version 5.3.0 but the installed version is 5.2.0

I propose to eliminate this extra work by not trying to build with swift versions less than the one mentioned in the package header.

Thanks for the suggestion Oliver!
We could run swift package tools-version during analysis (when new commits/versions are discovered) and store the tools version along with the other metadata at that point, and then just skip the build. It would also be useful to have the tools version as additional metadata.
That said, when the tools version isn't supported the build fails really fast, and so I'm not sure we'd actually save much time so it may not be worth the effort to implement this.

Well, with the volume of packages ever increasing cutting down the number of scheduled builds would lessen the unnecessary work on your build server.

As Dave said, these fail really fast and I don’t think we want the additional complexity on the build scheduler side to shave this off. I’ll close this for now but please re-open if there are remaining issues!


visual studio code removes import statements on save

do check the video link
https://drive.google.com/file/d/16bxoqj-4pA_aJAOChTpLpinpaiZCwwQf/view

Please file this against the java extension


refactor(app): Match wifi dropdown styles to design

overview
This PR overrides default react-select styles to match design screens.

changelog

refactor(app): Match wifi dropdown styles to design

review requests
Standard review. I ran into an unstylable DOM element in react-select. See my comment in styles.css.
To view the new card:
make -C app dev OT_APP_DEV_INTERNAL__MANAGE_ROBOT_CONNECTION__NEW_CARD=1

Not a big deal, but wifi names of a certain length will mess with the icon alignment:

@IanLondon Good catch, I will run this past @pantslakz


WorkerService .NET Core Project Not Accepting Ctrl+C SIGINT input

Version: 1.33.1 (user setup)
Date: 2019-04-11T08:27:14.102Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.18362
.NET Core SDK: 3.0.100-preview5-011568
Steps to Reproduce:
All of the CLI commands are entered into the integrated terminal.

Create Project

dotnet new worker -o WorkerServiceSample && WorkerServiceSample

Replace Program.cs file contents with the code below:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace WorkerServiceSample
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseConsoleLifetime()
                .ConfigureServices(services =>
                {
                    services.AddHostedService<Worker>();
                });
    }
}

Run program

dotnet build
dotnet run

Once the application is running, Ctrl+C does not stop the program in the integrated terminal. However, running and stopping the application from either the CMD Prompt, Powershell or Visual Studio works.

Does this issue occur when all extensions are disabled?: Yes

Raised issue in ASP.NET Core repo as well.
aspnet/AspNetCore#10051


⚠ Bofrost.lu has degraded performance

In 445010a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2080 ms

Resolved: Bofrost.lu performance has improved in 340c005 after 44 minutes.


Ask VS code for disabling language picker

This isn't supported at the moment. Need VS code changes.
Time estimate is how long it would take to add it to VS code. Basically change their 'when' clause for select language.

Is this to have a setting to hide the language picker along the right side of the notebook?

Is this to have a setting to hide the language picker along the right side of the notebook?

Yeah. Part of the spec for Run by Line asked for the ability to prevent changing the language while debugging.

So this isn't a must fix. It's a nice to have.
I mean why would a user change the cell language, won't we have the same problem with users changing language of the python file (when debugging interactive window), that too is possible today, but we don't try to disable that!
Ie, why are we trying to do this. Is it fear that users can do this which could screw debugging experience?
I don't think this is a good ask.

If it helps get RBL in faster, we can table this

Do we want this for other stuff besides run by line?
I was talking with Rob and we concluded that there's no point in doing this. We followed Don's example.


fix tpcds q72 results

tpcds q72 returns incorrect results.

What is the difference?

Please check -> https://github.com/prestosql/presto/pull/4419/files#diff-65df28a0250fbd6deef7970a5b8353c0 . there is somehow a missing space between words "can" and "notice".
I had closed that PR as recommended in https://github.com/prestosql/presto/pull/4446#issuecomment-660433966


[Feat]: website Preloader

What feature?
I have an idea to add a  website preloader
Add screenshots
Add screenshots
Code of Conduct

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

go ahead and add it @Once-kaur

@JasonDsouza212 @VenomFate-619
Can I work on this feature implementation?
Please assign me the issue if it is inactive.


[Bug]  Setting Linking "Link Framework SDK Only"  thorwing Xaml parsing error on app.xaml

Description
I'm Working a project in which i have need to set Linking to "Link Framework SDK Only" but when i turn this settting I'm getting the Xaml parse on app.xaml. If I turn this setting to "Don't Link" then it start working  but the problem i cannot use "Don't link"  due to some plugin of third party which require to set Linking "Link Framework SDK Only" I'm stuck on this issue anyone have resolved it or any suggestion.
The things i have tried
1: Updating the Xamarin.Essential verison to stable verision 1.7.2 not woking
2: updated the Xamarin forms version to latest stable and it still not wowking

Stack Trace

Link to Reproduction Sample

Steps to Reproduce
Please set these setting and run on physical device

Expected Behavior
It should not show error of xaml parse exception with the  linking  of "Link Framework SDK Only"
Actual Behavior
Showing error of Xaml Parse Exception

Basic Information

Version with issue:
Last known good version:
IDE: Visual Studio 2019 Community
Platform Target Frameworks:

iOS:  11

Nuget Packages:
Xamarin.Essentials 1.7.1
Xamarin  forms <IP_ADDRESS>2
Affected Devices:
Apple Iphone Xs and software version of iphone 14.7.1

Workaround

Reproduction imagery

You can create a linker.xml file and add the Popup to it, that way the Linker will keep the Popup

@TrueTech-Source please, take a look at this doc

You can create a linker.xml file and add the Popup to it, that way the Linker will keep the Popup

Thanks its working now


Implement Header

Added:

Responsive Header
Sweet looking logo

Hi @10-menachi ,
Approved 🟢 🟢
Your project is complete! There is nothing else to say other than... it's time to merge it.
Congratulations! 🎉


Cant run the project

Even if I have Java JDK installed I cannot run the project. Can you convert it to .exe file ?

What error are you encountering?  Also, due to the way this app connects to the database file and a number of cosmetic factors, it is currently not possible to translate it into machine code through tools like GraalVM.

can you make a .gif tutorial how to use it ?
you can download LICEcap to create the tutorial ..

I am trying to solve your error. My version was working completely fine. Then I tried to replicate your error and succeeded at it. And now I can't get it to work again. Working on it!

have you fix it ?


[Linux]TNB ver_30 Application consider system date not time zone date and time

Bug Description
The TNB Application Consider System Current Date & Time not Current Time And Zone
Steps to Reproduce
Steps to reproduce the behavior:

Change the Linux Machine Date & Time
Launch TNB 30 app on Linux
Click On "Send Coins"
Select "To" Accounts (windows a/c)
Enter Coins
Click On Send Button
Go to "Transaction Tab"(Linux machine)
Launch TNB 30 app on Windows
set Current date & Time
Go to Transaction Tab

Expected behavior
The Application Consider Time Zone with Respective Country's Not A System Date & Time
Actual behavior
The Application Consider System Time Zone
Screenshots/Recordings
Linux:-https://prnt.sc/vou7h7
Windows:-https://prnt.sc/vou7se
BOTH:-https://prnt.sc/vou96h
OS and Browser

OS: [Windows 10,Linux]
Browser [e.g. Chrome]

Additional context
Add any other context about the problem here.
Suppose Application Supports only System date and not respective country's time zone then there are possibilities of fraud or security break issue for e.g. if user changes date and time of system and then making transaction (sending coins) in transaction tab wrong date and time display and who's user received coins there side wrong date time show

the BE's server determines the timezone, so changing time will not be an issue. Keeping open for the system date issue

the BE's server determines the timezone, so changing time will not be an issue. Keeping open for the system date issue


Allow advanced decoration tweaking

settings.json:
"todomd.decorations": {
	"project": {
		"border": "1px dashed",
		"borderColor": "#fade41ca",
		"letterSpacing": "7px",
		"fontWeight": "bold",
		"backgroundColor": "#ffa03410",
		"borderRadius": "5px",
	},
	"context": {
		"fontStyle": "italic",
		"outline": "thick double",
		"outlineColor": "#32a1ce"
	},
}

If you know what you're doing it's possible to add some other CSS in textDecoration property

"todomd.decorations": {
	"project": {
		"textDecoration": ";background-image: linear-gradient(to top,#7b81ec,#3bd1d3);padding: 0.1em 0",
		"color": "#000000",
		"fontWeight": "bold"
},


Fix a race condition in getFormat

There can be a race condition in ipld, if multiple requests to getFormat happen concurrently. While one of the requests awaits this.loadFormat, another request might finish loading it, and both end up calling this.addFormat.
But if multiple end up calling that function then this.addFormat throws an error:
https://github.com/ipld/js-ipld/blob/021b4195b2c1254c323a9f370507fbaa0a42a112/src/index.js#L65-L76
The solution is a basic software transactional memory (STM) idea: If your reads are invalidated during your transaction, retry the transaction.
In its purest form an STM solution would mean:
async getFormat (codec) {
  // TODO vmx 2019-01-24: Once all CIDs support accessing the codec code
  // instead of the name, remove this part
  if (typeof codec === 'string') {
    codec = multicodec.getCodeFromName(codec)
  }

  if (this.resolvers[codec]) {
    return this.resolvers[codec]
  }

  // If not supported, attempt to dynamically load this format
  const format = await this.loadFormat(codec)
  if (!this.resolvers[codec]) { // detect read invalidation
    return getFormat(codec) // retry
  }
  return format
}

But we can manually inline the getFormat call and slightly improve the if-condition to be more readable and we end up with the code in this PR.

@vmx thoughts? (how does this work in the new ipld stuff?)

@vmx mind merging & releasing? (I lack permissions / know-how :^))


More consistent use of constants +CLIENT_SECRET_FILENAME

Rather than ask the user to "Rename the file client_secrets.json" (sic. would be better to say "Rename the download file to 'client_secrets.json'"), I think it would better to have them "put the downloaded file in the ./src/main/resources folder." and then update the CLIENT_SECRET_FILENAME to reference the filename.

Looks good.


Update for PHP 8

[InvalidArgumentException]
Package webreinvent/laravel-cpanel has a PHP requirement incompatible with your PHP version, PHP extensions and Com
poser version
in composer.json you can do...
"php": "^7.3|^8.0",

@anantgrafix Sure, thanks. Version v1.3.0 is released with the changes.


Attempt to index a string value (imgui.Render())

Hello!
I compiled lib from sources and installed it. Then I copied first exaple code.
Love 2d says:

Error
Attempt to index a string value
Traceback
[C]: In function 'Render'
main.lua:29: in function 'draw'
[C]: in function 'xpcall'

Please, fix that.
Thanks.

Installing latest love2d fixed the issue.


Add default value for FlipTransformation in Droid

I propose to have same contracts between all supported platforms. FlipTransformation iOS and Windows implementations have default constructors and this allows us to have simple XAMLs. So we may use the same pattern and set default FlipTransforamtion type to Horizontal for Android as well.

@OlexaLe Nice catch! Thanks, merged :)


What does it do?
Describe the technical changes you did.
Why is it needed?
Describe the issue you are solving.
How to test it?
Provide information about the environment and the path to verify the behaviour.
Related issue(s)/PR(s)
Let us know if this is related to any issue/pull request

no, because everyone merged to main.
I've set up a release/1.6.3 branch that we can merge into so we can see the whole release :)


[SP - Consolação] Evino - Senior iOS Engineer

Empresa
In less than 4 years of existence ( evino ) has become one of the biggest Brazilian e-commerces and fastest growing wine platform. We're now counting with 200+ people, an outstanding revenue growth and break-even, all of that while also enjoying pretty cool wine labels. Besides wine, the preparation for a new business scale and managing people / growth are the foundations of our success.
Descrição da vaga
We're looking for a Senior iOS Engineer to help us keep on delivering an amazing mobile experience for our customers. In 2016 we were awarded as a top 10 app in Brazil and for this year we're aiming on improving the platform even more. The right candidate for this position will be a key player in helping us scale our mobile efforts while also delivering an amazing user experience for wine lovers in Brazil.
Please apply if: you share a passion for technology and software development, with a keen eye for clean, concise and healthy code; you have strong problem solving skills combined with a well structured thought process; you have significant experience developing native mobile applications and value user experience as a first class deliverable; you embrace change and innovation, with a hunger for learning and trying new technologies.
Posição
Senior iOS Engineer
Tipo de contratação
CLT
Requisitos

Architect, code and maintain our iOS application

Adapt the code to use our new service API

Deliver a well tested, maintainable, clean mobile application

Integrate with third party analytical tools (appsee, fabric, google analytics) for proper instrumentation

Work with the Product team towards understanding requirements and implementing amazing features

Help manage app deployments, fixes, continuous integration, monitoring tools

Obrigatórios

Solid understanding of data structures (lists, queues, arrays, maps, graphs) and when to apply them

Experienced with Core Animation, Core Data, and various Cocoa frameworks

Coding experience with modern concurrent / parallel mechanisms such as reactive architectures, multithreading, asynchronous programming

Significant experience using Web Services (REST, SOAP)

Well acquainted with modern development best practices, such as Design Patterns,

Microservices, TDD, DevOps, Continuous Integration/Deployment/Delivery, Cloud Computing

Familiar with at least one Agile framework (Scrum, Kanban, XP)

Desejáveis

Solid understanding of distributed systems, event driven and reactive programming

Experience with public clouds (AWS, Azure, Google Cloud Platform)

Previous experience with retail / e-commerce

Como aplicar
Por favor envie um email para<EMAIL_ADDRESS>com seu CV anexado - enviar no assunto: Vaga iOS Engineer

Na parte como aplicar está escrito para colocar no assunto do e-mail: Vaga Android

@glaucomsm aquele erro basico, my bad, desculpe. Está concertado

Esta vaga está duplicada: Primeira Vaga

Vou fechar essa vaga porque já foi criada ali embaixo, @mtmr0x


Java 1.8 models segmentation fault when doing inference using a java client

Java models failure, Steps to  reproduce the issue
Issue Symptom: Some onnx compiled models as Jar models are failing with segmentation fault error when being used for inference  in containers containing openjdk-1.8  when  onnx-mlir and its jin was also compiled with openjdk-1.8.  List of models can be found below.
Steps to reproduce on the community image:

The onnx-mlir container by default is using the openjdk-11 version for compiling models as Jar based model files to be used for running inside a java application for inferencing(https://github.com/onnx/onnx-mlir/blob/main/docker/Dockerfile.llvm-project). This can be verified using the META-INF of the jar file. Updating the openjdk to 8 and re-building the onnx-mlir to be built with open-jdk 8.

Run the inference using a java client now which is running  using openjdk1.8(https://github.com/IBM/zDLC/blob/main/code/deep_learning_compiler_run_model_example.java )  inside the container.
Compile the model with the below onnx-mlir options
 --O3 --EmitJNI --mtriple=s390x-ibm-loz --mcpu=z16 --maccel=NNPA  ./version-RFB-320.onnx  --onnx-op-stats TXT
Run the inference using the java client which is built using open-jdk 1.8

root@07f587daae00:/workdir/onnx-mlir/build# java -version
openjdk version "1.8.0_422"
OpenJDK Runtime Environment (build 1.8.0_422-8u422-b05-1~22.04-b05)
OpenJDK 64-Bit Zero VM (build 25.422-b05, interpreted mode)
root@07f587daae00:/workdir/onnx-mlir/build# java -classpath /code/client/class:/data/version-RFB-320.jar -Djava.library.path=/code/client/bin modelzoo --file /data/version-RFB-320.tests --fc-parms 0.01,0.0,1,10 --validate
Iteration 0 dataset 0: Running
Segmentation fault (core dumped)
Models Impacted:
pointilism-8
rain-princess-8
version-RFB-320
version-RFB-640
shufflenet-6
shufflenet-7
shufflenet-8
shufflenet-9
candy-8
candy-9
mosaic-8
mosaic-9
pointilism-9
rain-princess-9
udnie-8
udnie-9
Impact : Gates <IP_ADDRESS> release

Pure Java code cannot segfault. The segfault should be in one of JVM itself, onnx-mlir JNI wrapper, or the native model code.
Install gdb in the container and run the model with java -XX:OnError="gdb %p" .... When the segfault happens, you should be dropped into gdb and do a where to get a backtrace of where the segfault occurred.

@gongsu832 I did the above command but it doesn't help with respect to getting the backtrace back using gdb when the segfault occurs.
root@672f82d10170:/workdir# apt-get update
Hit:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [128 kB]
Hit:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [129 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe s390x Packages [1107 kB]
Get:6 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main s390x Packages [1130 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe s390x Packages [837 kB]
Fetched 3331 kB in 2s (1368 kB/s)
Reading package lists... Done
root@672f82d10170:/workdir# apt-get install gdb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
gdb is already the newest version (12.1-0ubuntu1~22.04.2).
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
root@672f82d10170:/workdir# java -XX:OnError="gdb - %p" -classpath /code/client/class:/data/version-RFB-320.jar -Djava.library.path=/code/client/bin modelzoo --file /data/version-RFB-320.tests --fc-parms 0.01,0.0,1,10 --validate
Iteration 0 dataset 0: Running
Segmentation fault (core dumped)

gdb requires ptrace (and maybe others) system capability being enabled in the container. Try to run your container with --privileged and see if that helps.

Thanks @gongsu832 I tried the above suggestion also applied a few more.
Ran the container with the changed command adding --privileged and --cap-add=SYS_PTRACE :
 podman run --privileged --cap-add=SYS_PTRACE --entrypoint bash -v /devfield/sunny/models:/data:Z -v /devfield/sunny/zdlc-main/dlc-automation/:/code/:Z  -it --name onnx-mlir-sunny-java16-test  onnx-mlir-dev:s390x-java8-test

apt-get update
apt-get install gdb
java -XX:OnError="gdb - %p" -classpath /code/client/class:/data/version-RFB-320.jar -Djava.library.path=/code/client/bin modelzoo --file /data/version-RFB-320.tests --fc-parms 0.01,0.0,1,10 --validate

 /etc/sysctl.d/10-ptrace.conf. changed kernel.yama.ptrace_scope=0 based on another suggestion as it was set initially

 java -XX:OnError="gdb - %p" -classpath /code/client/class:/data/version-RFB-320.jar -Djava.library.path=/code/client/bin modelzoo --file /data/version-RFB-320.tests --fc-parms 0.01,0.0,1,10 --validate
Iteration 0 dataset 0: Running
Segmentation fault (core dumped)

--privileged should be the only option you need. It gives all capabilities to the container. Can you verify that gdb is actually working in your container? Run gdb ls in your container and then run at gdb prompt. What output do you get?

root@a29e01bde6cd:/workdir# gdb ls
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "s390x-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ls...
(No debugging symbols found in ls)
(gdb) run
Starting program: /usr/bin/ls
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/s390x-linux-gnu/libthread_db.so.1".
llvm-project  onnx-mlir
[Inferior 1 (process 501) exited normally]
(gdb)

Reading Oracle doc https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/clopts001.html it appears that the -XX:OnError is only for catching fatal errors in the JVM itself, not in the user code.
You can try to run the java command directly under gdb with gdb --args java -cp ... and see if it gives something useful. Just be aware that JVM actully makes use of SIGSEGV itself so gdb might catch "legitimate" segfault in the JVM instead of the segfault in user code.

Also, the openjdk 1.8 JVM on z is interpret only, which means it's not capable of doing JIT. No production system should be using it really. Instead, you should try the IBM Semeru JVM https://developer.ibm.com/languages/java/semeru-runtimes/downloads/

https://github.com/onnx/onnx-mlir/pull/2961 fixed the reported issue.


Test Temporarily disable quickTest for SHOW CREATE TABLE to adapt to enable_feature_binlog=true

When enable_feature_binlog=true, executing the SHOW CREATE TABLE properties statement will return the following results like:

PROPERTIES (
......
"binlog.enable" = "false",
"binlog.ttl_seconds" = "9223372036854775807",
"binlog.max_bytes" = "9223372036854775807",
"binlog.max_history_nums" = "9223372036854775807",
.....
);

When enable_feature_binlog=false, the above properties will not appear, so the state of enable_feature_binlog will interfere with the judgment of SHOW CREATE TABLE statement in regression test.
As a compromise, temporarily use sql instead of qt_ function containing SHOW CREATE TABLE.
If this problem is fixed later, this compromise PR will be corrected.

run buildall

run buildall

run buildall

run buildall

run buildall


useOverlay should optionaly prevent events

Provide a general summary of the feature here
Let's consider example from docs
https://github.com/adobe/react-spectrum/assets/1065122/fee2122d-283c-45aa-aef7-b6a2d45afe8e
🤔 Expected Behavior?
If my popover is not modal I expect it to take on click to open next popup
😯 Current Behavior
Right now it takes two clicks (one to close current popup, another to open next one)
💁 Possible Solution
Possible solution can be to add some kind of optional prop to useOverlay (isNonModal, for example)  and then bypass it from e.g isNonModal from usePopover
https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/overlays/src/useOverlay.ts#L96
If popup is modal it's ok to require 2 clicks, but if it is not – allow the click to propagate and let other listener to handle it
🔦 Context
We are trying to accomplish scenario like in google flights and it seems weird for user to double click filters
https://github.com/adobe/react-spectrum/assets/1065122/3d94daff-782b-4fb6-974b-dd4543a98264
💻 Examples
No response
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

https://github.com/adobe/react-spectrum/issues/2061#issuecomment-943668031 is related, in short we have had issues with multiple overlays being erroneously open at the same time in the past when trying to implement this behavior. The behavior we have right is similar to how MacOS handles this scenario (try Finder's dropdown menus) and means we don't break accessibility hence why we were ok with the current state. We'd be happy to accept any help in attempting to resolve this and enabling behavior shown above though!

Here is a solution I developed in the NextUI framework. You might be able to modify it to work within react spectrum. Not sure why this solution works, but some how it does.
import { Dropdown as NativeDropdown, DropdownProps } from "@nextui-org/react";
import React from "react";
import { useState } from "react";

export function Dropdown(props:DropdownProps) {
    const [visible, setVisible] = useState(false);
    return (
        <NativeDropdown
            {...props}
            isOpen={visible}
            onOpenChange={(isOpen) => setVisible(isOpen)}
            shouldCloseOnInteractOutside={() => {
                setVisible(false);
                return false;
            }}
        />
    );
}


Ui javadoc

Contains
Javadoc for all NUI Widgets
How to test
Confirm no functional changes have been made and that the javadoc works fine

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!


Dev

updates to requirements.txt to pull drain from @potash's repository
updates to change .result() to .result
As we move to using @potash's version of drain officially, we should probably make sure that we have our own fork of @potash's version or at least a local copy
I'd like suggestions on how to proceed here from @avishekrk and/or @tomschenkjr

we don't want to continue using drain from github master forever. I plan to freeze make a v0.0.6 release for the lead model that works with the lead model and sticking to that. There is a milestone for it on github and its almost done.

By the way, this is a little circuitous, I PR'ed these changes from a branch here in potash to chicago, you  merged them into chicago, now you are making a PR back to potash.
Is that really how we want to handle this going forward? I can just fetch your master directly after you've merged essentially making this a development fork of chicago.

I couldn't figure out how to do it the "right way", but yeah this was ridiculous. I'm not sure of the best flow.
On Nov 17, 2017, at 4:46 PM, Eric Potash <notifications<EMAIL_ADDRESS>wrote:
By the way, this is a little circuitous, I PR'ed these changes from a branch here in potash to chicago, you merged them into chicago, now you are making a PR back to potash.
Is that really how we want to handle this going forward? I can just fetch your master directly after you've merged essentially making this a development fork of chicago.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/potash/lead-model/pull/2#issuecomment-345386364, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABU9xOswpPCLnyfAZKXMZV6b1pBx1KSVks5s3gyxgaJpZM4QitbT.

This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail (or the person responsible for delivering this document to the intended recipient), you are hereby notified that any dissemination, distribution, printing or copying of this e-mail, and any attachment thereto, is strictly prohibited. If you have received this e-mail in error, please respond to the individual sending the message, and permanently delete the original and any copy of any e-mail and printout thereof.

Which is the canonical repo?
_
Tom Schenk Jr.
Chief Data Officer
Department of Innovation and Technology
City of Chicago
(312) 744-2770
<EMAIL_ADDRESS>| @ChicagoCDO
data.cityofchicago.org | opengrid.io | digital.cityofchicago.org | chicago.github.io | dev.cityofchicago.org

From: Gene Leynes<EMAIL_ADDRESS>Sent: Friday, November 17, 2017 4:52:45 PM
To: potash/lead-model
Cc: Schenk, Tom; Mention
Subject: Re: [potash/lead-model] Dev (#2)
I couldn't figure out how to do it the "right way", but yeah this was ridiculous. I'm not sure of the best flow.
On Nov 17, 2017, at 4:46 PM, Eric Potash <notifications<EMAIL_ADDRESS>wrote:
By the way, this is a little circuitous, I PR'ed these changes from a branch here in potash to chicago, you merged them into chicago, now you are making a PR back to potash.
Is that really how we want to handle this going forward? I can just fetch your master directly after you've merged essentially making this a development fork of chicago.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/potash/lead-model/pull/2#issuecomment-345386364, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABU9xOswpPCLnyfAZKXMZV6b1pBx1KSVks5s3gyxgaJpZM4QitbT.

This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail (or the person responsible for delivering this document to the intended recipient), you are hereby notified that any dissemination, distribution, printing or copying of this e-mail, and any attachment thereto, is strictly prohibited. If you have received this e-mail in error, please respond to the individual sending the message, and permanently delete the original and any copy of any e-mail and printout thereof.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/potash/lead-model/pull/2#issuecomment-345387471, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABkC0bIyMVqaT5EOTNoynisclCYKdzskks5s3g49gaJpZM4QitbT.

This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail (or the person responsible for delivering this document to the intended recipient), you are hereby notified that any dissemination, distribution, printing or copying of this e-mail, and any attachment thereto, is strictly prohibited. If you have received this e-mail in error, please respond to the individual sending the message, and permanently delete the original and any copy of any e-mail and printout thereof.

In my mind the chicago repo is the the "official" version, but it's just a copy of @potash's repository. So, I'm not sure how to answer your question.
Likewise, I'm not sure of the simplest workflow for adhering to our dev/master paradigm when working on a forked repo.

By the way... a weird thing happened.  I made these changes and committed them on Friday from the development server. On Monday the changes were not there and the runner wasn't working because the changes were not there. As soon as I did a git pull the changes were back and the runner started working again.
I can't imagine how the script was reverted on the development server. @avishekrk and @potash didn't make changes, and the Unisys team said they didn't restore a backup or do anything to the server.


Outgoing audio analyzer device driver

Hello,
I'm trying to create a driver that analyzes output audio into bass, treble, etc.
How do I achieve it?

(I'm using windows 10's latest build)