UI for Overrides

References #31.
In Repository view page in was added menu item Overrides. In first visit it creates folder for overrides and allows to list it.
In every listed folder there is possibility to create new folder, create new empty file or upload files into current folder. Every file and folder could be deleted and renamed, for files there are two more options: first is simple text edit, it means it won't show images, but allows to change e.g. build script, README, ... Second is download the file.
As I already mentioned in issue, previous commits were rebased so it also contains latest changes from master.
In this state it is far from being perfect, but I believe that further development requires insight from more people.

Please avoid plain except: clauses. os.mknod() does not exist on Windows, and that error was caught and ignored. I've added some logging for now, at least.

The path sanitization needs to be a bit more sophisticated, I can for example use ..\foo.txt on Windows to create a file outside the designated override directory. But the rest looks good! :)

Thank you for review and fixes :)
When I get back to my computer, I'll use secure_filename method from flask (as it is used for uploaded files), it should be good enough.

I was going to suggest that function, but it is for filenames not paths, so any slashes will be converted to underscores. What you could do instead is to construct the absolute path, and then check if it is inside the allowed directory.

Before file and folder are created, there is just their "new" name and it could be sanitized by that function.

is it ready to merge? :D

Sorry for the delay, yes I think this is fine now. :)


Disable single finger touch dragging on mobile devices

Checklist

[X] I've searched through the plugins to make sure this feature isn't already available, or think it shouldn't require a plugin.
[X] I've searched through the current issues to make sure this feature hasn't been requested already.
[X] I agree to follow the Code of Conduct that this project adheres to.

Motivation
I got a webpage, where I use the Leaflet map library.
When I open the page on a mobile phone, the map takes up the whole screen, and since single finger dragging is not disabled, I cannot scoll down the page further.
Suggested solution
DIsable single finger touch dragging, use multi finger instead. That sould allow you to scroll normally on the webpage, and use the map as well, if you wish.
Alternatives considered
No response

Duplicate of #4544


Modules won't show up in VCV on Windows 10 Pro

I've compiled your modules but they will not show up in the menu of VCV even if compilation is ok and the folder is in the plugin folder of VCV:
$ RACK_DIR=C:/msys64/Rack-SDK make dist
g++ -std=c++11 -Wsuggest-override  -fPIC -IC:/msys64/Rack-SDK/include -IC:/msys64/Rack-SDK/dep/include -MMD -MP -g -O3 -march=nehalem -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode  -c -o build/src/ColoredGlass.cpp.o src/ColoredGlass.cpp
g++ -std=c++11 -Wsuggest-override  -fPIC -IC:/msys64/Rack-SDK/include -IC:/msys64/Rack-SDK/dep/include -MMD -MP -g -O3 -march=nehalem -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode  -c -o build/src/Quadro360.cpp.o src/Quadro360.cpp
g++ -std=c++11 -Wsuggest-override  -fPIC -IC:/msys64/Rack-SDK/include -IC:/msys64/Rack-SDK/dep/include -MMD -MP -g -O3 -march=nehalem -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -municode  -c -o build/src/plugin.cpp.o src/plugin.cpp
g++ -o plugin.dll build/src/ColoredGlass.cpp.o build/src/Quadro360.cpp.o build/src/plugin.cpp.o -shared -LC:/msys64/Rack-SDK -lRack -static-libstdc++
rm -rf dist
mkdir -p dist/fruitsofkarma
cp plugin.dll dist/fruitsofkarma/
strip -s dist/fruitsofkarma/plugin.dll
cp -r --parents res LICENSE plugin.json dist/fruitsofkarma/
cd dist && tar -c fruitsofkarma | zstd -19 -o "fruitsofkarma"-"1.0.0"-win.vcvplugin

Thank you for you report, I haven't yet tested the build on anything except my linux, hopefully will do this next week or so.

Merci!

@caecos I had built it on windows 10 for Rack2 (with bumped plugin version to 2.0.0) , the same issue.
I also checked the log.txt in Rack dir, it says:
[0.042 warn src/plugin.cpp:174 loadPlugin] Could not load plugin C:/Users/Virtual/Documents/Rack2/plugins/fruitsofkarma-vcvrack: Failed to load library C:/Users/Virtual/Documents/Rack2/plugins/fruitsofkarma-vcvrack/plugin.dll: code 193 which apparently means that a 64 bit operating system is trying to load a 32 bit Win32 file.
Looks really strange to me, could you please check if you have the same error in your log.txt?

.975 info src/plugin.cpp:121 loadPlugin] Loading plugin from C:/Users/caeco/OneDrive/Documents/Rack2/plugins/fruitsofkarma
[2.167 warn src/plugin.cpp:174 loadPlugin] Could not load plugin C:/Users/caeco/OneDrive/Documents/Rack2/plugins/fruitsofkarma: Plugin version 1.0.0 does not match Rack ABI version 2
[2.167 info src/plugin.cpp:121 loadPlugin] Loading plugin from C:/Users/caeco/OneDrive/Documents/Rack2/plugins/Fundamental

It seems that you does not used the right SDK!!!

@caecos
There is a version of plugin in json file https://github.com/alexey-komarov/fruitsofkarma-vcvrack/blob/main/plugin.json#L4
First number apparently means number of the Rack version. I will create a separate branch for the v2 a bit later when fix couple of remaining things. If you want to build my plugin for Rack2, just set version to be 2.0.0 in the plugin.json.
Also, I was able to build and run it on windows in Rack1 and Rack2. That was a very weird thing. Everything was good when I excluded ColoredGlass from build, all other 3 modules were shown in vcvrack np. Then I started to remove code from coloredglass until there was just empty skeleton, and it didn't solve the issue, it still didn't want to show up. Only one thing remained to try, to rename svg file to be not longer than 8 char. It was crazy idea especially in 2022, because as I see other plugins don't have this issue. But once I renamed ColoredGlass.svg to ColoredGl.svg and rebuild my plugin, it magically started to work on Rack1 and Rack2.
Then I tried to reproduce the bug and surprisingly I wasn't able to do that. I checked out my changed, renamed the svg back, build plugin again and it works again without any issue. Don't know what to think, Windows is a strange thing, that's why i'm not using it. :)
Can you try to build my plugin with version 2.0.0 in JSON. If still doesn't show up, you can do git pull to get latest changes, I just renamed ColoredGlass.svg in the repo, just in case if someone else catches the same issue as me.

Hi Alexey,
I’ve compiled the sources and renamed the json file 2.0.0 instead of 1.0.0 and it all works. Strange behavior Indeed, but it’s Windows…
Regards,
Marc
Envoyé à partir de Courrierhttps://go.microsoft.com/fwlink/?LinkId=550986 pour Windows
De : Alexey @.>
Envoyé le :mercredi 4 mai 2022 16:14
À : @.>
Cc : @.>; @.>
Objet :Re: [alexey-komarov/fruitsofkarma-vcvrack] Modules won't show up in VCV on Windows 10 Pro (Issue #1)
@caecoshttps://github.com/caecos
There is a version of plugin in json file https://github.com/alexey-komarov/fruitsofkarma-vcvrack/blob/main/plugin.json#L4
First number apparently means number of the Rack version. I will create a separate branch for the v2 a bit later when fix couple of remaining things. If you want to build my plugin for Rack2, just set version to be 2.0.0 in the plugin.json.
Also, I was able to build and run it on windows in Rack1 and Rack2. That was a very weird thing. Everything was good when I excluded ColoredGlass from build, all other 3 modules were shown in vcvrack np. Then I started to remove code from coloredglass until there was just empty skeleton, and it didn't solve the issue, it still didn't want to show up. Only one thing remained to try, to rename svg file to be not longer than 8 char. It was crazy idea especially in 2022, because as I see other plugins don't have this issue. But once I renamed ColoredGlass.svg to ColoredGl.svg and rebuild my plugin, it magically started to work on Rack1 and Rack2.
Then I tried to reproduce the bug and surprisingly I wasn't able to do that. I checked out my changed, renamed the svg back, build plugin again and it works again without any issue. Don't know what to think, Windows is a strange thing, that's why i'm not using it. :)
Can you try to build my plugin with version 2.0.0 in JSON. If still doesn't show up, you can do git pull to get latest changes, I just renamed ColoredGlass.svg in the repo, just in case if someone else catches the same issue as me.
—
Reply to this email directly, view it on GitHubhttps://github.com/alexey-komarov/fruitsofkarma-vcvrack/issues/1#issuecomment-1117849646, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHSGFA5ZTSFE4ZOKUU4O2OLVILK7RANCNFSM5U2YIPBA.
You are receiving this because you were mentioned.Message ID: @.***>


Disk vs volume/partition

I am a bit confused here. The xDisk resource takes a DiskNumber and a DriveLetter parameter, but one never assigns a drive letter to a disk, but to a partition.
In the code it is assumed that each disk only has one partition.
If multiple partitions (volumes) exists on a disk, the configuration doesn't change the drive letter but doesn't throw an error.
Also what if I want to assign a drive letter to the second partition on disk 2, I can't do that.
Finally running the configuration, some verbose output claims:

A reboot is required to progress further. Please reboot the system.

I don't know where that comes from but it is not true.

The resource actually sets a reboot as part of Set-TargetResource and the node will reboot after each disk is processed if RebootNodeifneeded = $true in the LCM config.
76  $global:DSCMachineStatus = 1
Not sure why there is a need to reboot after formatting a disk but I would suggest this should be removed and to allow XpendingReboot to handle any reboots that get set. (Unless the author had a good reason for doing this?).

I believe your concerns are addressed by #4
Please take a look and add comments to the PR if you have some additional feedback.
Thanks!

Ok, I see.
I can also see the same pull request removes:
 $global:DSCMachineStatus = 1

so both my issues are already worked on.

Hello.  I was one of the original contributors to the resource.  During testing, we needed data disks to be configured and then guarantee they would be available as soon as possible for a service installation.  Across different environments, we would occasionally see errors where the volume was not yet available for the next resource to utilize and the configuration would fail.  The best way to reduce the error rate to 0 was to reboot the node before continuing, since looping until the disk was available would often take longer than the reboot  (no additional diagnostic was performed).  If that issue is not occurring at large then I see no reason to leave the reboot.  Another approach would be to make it an optional property.


Fix a bug whereby Unilateral would be forgotten in the ContractModel tests

Pre-submit checklist:

Branch

[x] Tests are provided (if possible)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Relevant tickets are mentioned in commit messages
[x] Formatting, materialized Nix files, PNG optimization, etc. are updated

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested

@sjoerdvisscher hate to bother you, but this is a quick bugfix that we would appreciate to get into main ASAP.


Minor bugs introduced in previous PR related to nnights

In g.loadlog, there is a misplaced parenthesis in line 10 when automatically defining nnights: nnights = floor((ncol(S) - coln1 + 1)) / 2 should be nnights = floor((ncol(S) - coln1 + 1) / 2). So that uneven number of columns does not produced decimal places in nnights.
Additionally, when number of rows in sleeplog is lower than number of recordings, the sleeplog matrix produced in lines 206:207 of g.loadlog might be short and then trigger an "subscript out of bounds" error.

this relates to PR #861 that was merged yesterday.


NIFI-5884 Bumping hbase-client version from 1.1.2 to 1.1.13

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

I agree with the idea of using 1.1.x HBase client despite of having 1.1.2 in the component name. +1 merging. Thanks @bbende !


This PR fixes a bug with select all (CMD + A on MacOS) when using a text_input.

This PR fixes a bug with select all (CMD + A on MacOS) when using a text_input.
Previous behaviour: when selecting all (CMD + A) would delete the current text inside the input and replace the content with just the letter 'a'.
Now we check if the logo key (modifier key) has been pressed before checking any other key and save it to the state level. This way we can prevent any text being deleted when using the select all shortcut or text being entered at all when a modifier key is pressed (this behaviour matches other text input behaviour i.e text inputs in the browser etc...).

Yep looks good. Happy for it to be merged, thanks.


Set _lastUserId to be nullable

I'm a little curious.
Is it redundant to set _lastUserId to be empty?

Because I didn’t see the relevant judgment you made when _lastUserId was empty.
In the fetch() part, I also saw that you set 0 for _lastUserId, make sure _lastUserId is not empty.
So since _lastUserId is up to us to decide whether it is empty or not, and there is no related use when it is empty, why not set _lastUserId not to be empty from the beginning?

ok


Added tests and updated yaml files for UCCSD energy estimation tests

This is the PR including the Q# code for energy evaluation, using variational ansatz.
It comes with unit tests for both H2 and LiH, the corresponding Broombridge files were updated.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: ValentinS4t1qbit sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Cannot remove @solid/context

My current context is:
{
  '@vocab': 'http://happy-dev.fr/owl/#',
  rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
  rdfs: 'http://www.w3.org/2000/01/rdf-schema#',
  ldp: 'http://www.w3.org/ns/ldp#',
  foaf: 'http://xmlns.com/foaf/0.1/',
  name: 'rdfs:label',
  acl: 'http://www.w3.org/ns/auth/acl#',
  permissions: 'acl:accessControl',
  mode: 'acl:mode'
};

The @vocab defines our default which is used for almost all our properties. With the @solid context, some properties are overriden. For example, when we try to target http://happy-dev.fr/owl/#firstName, we get http://xmlns.com/foaf/0.1/givenName.
Is it possible to use only our context and not the solid one?

So when using https://github.com/solid/query-ldflex/tree/ede10272df5178f1d5910f4888eee31061b7390f#adding-a-custom-json-ld-context, existing properties are favored over custom ones?
@rtaelman Is that expected behavior given the implementation https://github.com/RubenVerborgh/LDflex/blob/f4bc6fe1e8f15bc2af17d24be8b7397357531196/src/JSONLDResolver.js#L53-L56 ?
Is that

So when using https://github.com/solid/query-ldflex/tree/ede10272df5178f1d5910f4888eee31061b7390f#adding-a-custom-json-ld-context, existing properties are favored over custom ones?
@rubensworks Is that expected behavior given the implementation https://github.com/RubenVerborgh/LDflex/blob/f4bc6fe1e8f15bc2af17d24be8b7397357531196/src/JSONLDResolver.js#L53-L56 ?

The existing properties are favored only over our default which is defined by  '@vocab': 'http://happy-dev.fr/owl/#'
For the properties we define explicitely, it works fine

Right… then perhaps it is a feature instead of a bug. i.e., you probably want to explicitly override existing properties.
But I would actually recommend against that, given that the same Solid LDflex expressions then get different meanings. If you want to get really custom, perhaps consider distributing a custom configuration of ldflex rather than extending @solid/query-ldflex. Or in other words: @solid/query-ldflex is a configuration of ldflex; maybe you want your own configuration?

That does indeed sound like the intended JSON-LD context semantics.
Explicitly defined terms (such as firstName in the Solid context)
have priority over @vocab.
Perhaps a flag could be added to context.extend() to exclude the default context? The the user is responsible for the full context.


xenial is old Ubuntu LTS is bionic

https://github.com/fastly/lucet/blob/d0f07b5dc2a7cfa8a9dbc4906b5a6505de69bb52/Dockerfile#L1
why old version? All docker images with a LTS Ubuntu base use bionic.

Good to see you here :)
Xenial is old, but still supported. This is what we use internally.
Since we side install the latest stable Rust version as well as an up-to-date LLVM toolchain, the base system doesn't matter much.
I verified that Lucet builds and works fine on Ubuntu 18.04 and 19.04 in addition to version 16.04 (xenial).
So, really, the only downside of still using Xenial is that if the other images you are using are all based on Bionic, Docker will download Xenial instead of reusing an existing base layer.
But from a functional perspective, there won't be any differences. And, as I previously pointed out, Xenial is still supported.
The current image will be split into two images, one for Lucet hackers, and another one for people who only want to use the tools. The former is likely to stick to Xenial, but the later can either use something more recent (not necessarily Ubuntu) in order to use the stock LLVM install.


KAFKA-8155: Add 2.2.0 release to system tests

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Triggered all system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2515/
Call for review @guozhangwang @bbejeck @vvcephei @ableegoldman @cadonna

Should this be cherry-picked to 2.2 branch? Not sure.

Java 8 failed with org.apache.kafka.streams.integration.MetricsIntegrationTest.testStreamMetric
Java 11 failed with kafka.admin.ResetConsumerGroupOffsetTest.testResetOffsetsNotExistingGroup
retest this please

@mjsa The tests/docker/Dockerfile will need to be updated as well, I'm sure you know just putting a reminder here.

Thanks Bill. That would have slipped...

Retriggered system test that where doomed to fail: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2519/

Specified wrong branch for system test. Retriggered: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2526/

Rebased to resolve merge conflict. Fixed artifact issue. Retriggered system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2591/

Rebased this to get latest system test fixes. New system test run: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2631/

Updates this.
Retriggered system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2655/

Rebased to resolve merge conflict. Retriggered system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2666/

Fix failing system test. Retriggered build: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/2680/

LGTM. Please feel free to merge afterwards.

System test passed. Jenkins passed. Merging this now.

Merged to trunk and cherry-picked to 2.3 branch.


--rrdp-keep-responses does not keep responses for repository that uses redirects

As a user, when I use routinator --rrdp-keep-responses ~/src/tmp/routinator-responses -vv server to log RRDP responses, I see an empty file for the repository at https://rpki1.rpki-test.sit.fraunhofer.de/rrdp/notification.xml.
I think that this is the only repository using redirects.
This may be the only repository redirecting to a different FQDN.
$ routinator --rrdp-keep-responses ~/src/tmp/routinator-responses -vvv server
...
[DEBUG] starting new connection: https://rpki1.rpki-test.sit.fraunhofer.de/
[DEBUG] redirecting 'https://rpki1.rpki-test.sit.fraunhofer.de/rrdp/notification.xml' to 'https://c514fb3d-739f-478e-8c0e-1f14f751fee1.rpki.rpki-test.sit.fraunhofer.de/rrdp/notification.xml'
[DEBUG] starting new connection: https://c514fb3d-739f-478e-8c0e-1f14f751fee1.rpki.rpki-test.sit.fraunhofer.de/

~/src/tmp/routinator-responses/rpki1.rpki-test.sit.fraunhofer.de/rrdp/notification.xml$ ls -al
total 0
drwxr-xr-x@ 4 me  staff  128 Feb  7 15:45 .
drwxr-xr-x@ 3 me  staff   96 Feb  7 15:38 ..
-rw-r--r--@ 1 me  staff    0 Feb  7 15:38 2024-02-07T14:38:21.221806+00:00
-rw-r--r--@ 1 me  staff    0 Feb  7 15:45 2024-02-07T14:45:44.994853+00:00

This repository seems to be using dynamic hostnames. This can cause metric (or well, when storing files, directory) bloat.


Skybox unable to recover from GL context loss

If the webgl context is lost, the texture for skyboxes becomes non-renderable and throws a multitude of webgl errors. This does not happen for normal meshes. As far as I can tell, this may be an issue with the pixi.js CubeResource, but given your overrides, I wasn't sure if this is necessarily the case. It seems that the textures don't properly upload the second time, because they aren't marked dirty on a context loss?

I actually created an issue at Pixi.js for this https://github.com/pixijs/pixijs/issues/7272 . You can get the same issue by first having a skybox that is visible = true, and then set it to visible = false and wait until Pixi.js has done a GC run, after that the resource is not uploaded correctly if it's set to visible = true again. Might not be possible for you, but one solution might be to disable automatic GC in Pixi.js: https://pixijs.download/dev/docs/PIXI.html#GC_MODES

Dang, I even searched through their issues trying to see if this was reported. Thanks for the info! For now I'm just overriding the upload method in my forked branch.

@lunarraid How did you override it? If you have some sort of solution for it, please let me know :)

Nothing special,  just a really hacky, temporary patch. I copied the CubeResource upload method and turned off the dirty check:
https://github.com/lunarraid/pixi3d/commit/55ee2620474bbccd158390c4824766313d218cc9

How can I force a webgl context to be lost?

I did it like this:
    const ext = pixiRenderer.gl.getExtension('WEBGL_lose_context');
    ext.loseContext();
    setTimeout(() => ext.restoreContext(), 100);

I just created this PR for PixiJS that resolves this issue for me: https://github.com/pixijs/pixijs/pull/8479

https://github.com/pixijs/pixijs/pull/8479 landed.


Updated the doc to remove 777 permission

Incorporated the review comment 'create a new user with the same uid:gid as the oracle user and give restrictive permission of 700'

Avi, please review the changes.

I have modified the doc to include the check to see if the user already exists with uid:gid of 1000

For me this worked after I have used the default os user (which have per default userid=1000 and must not be oracle) not oracle. Maybe documentation can lead to wrong assumption ?


Fix flakey WhenScriptServiceIsRunning_ThenWorkspaceIsNotDeleted test

Background
The test WhenScriptServiceIsRunning_ThenWorkspaceIsNotDeleted was written to ensure that a running script did not have it's workspace cleaned up by the background cleanup job while it was still running / not completed.
The test then went on to verify that the workspace was cleaned up when CompleteScript was called. This turns out to be somewhat flakey as the CompleteScript call does a best effort attempt to delete the workspace before silently failing!!
While it would be nice to have a reliable test that asserts that complete script always cleans up the workspace it seems the code to try and silently fail is by design and the intent of this test was to make sure the workspace isn't unexpectedly deleted by the background cleanup job.
Test has been modified to remove the assertion that CompleteScript cleans up the workspace.
How to review this PR

Quality :heavy_check_mark:

Pre-requisites

[ ] I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
[ ] I have considered informing or consulting the right people, according to the ownership map.
[ ] I have considered appropriate testing for my change.

[sc-67411]


Packetizer should optionally add abs-send-time extension to packet-sets

Summary
libwebrtc on android really wants abs-send-time to be enabled
https://webrtc.org/experiments/rtp-hdrext/abs-send-time/
Motivation
I believe that libwebrtc.aar isn't interpreting stream timestamps without this extension, and choppy video is the result. Even if i'm wrong about this, getting closer to feature-parity with webrtc.org isn't a bad thing.

Actually this was implemented it looks like! pion/rtp@a8ed4cbe76efd940f0d82d2df9530c5535f78b84


[Question][Newbie] WARNING - There are 11 pending publish calls.

Hello,
I wrote a little service using your library. I'm sending around 12 messages every 3 seconds. I'm getting all the time "WARNING - There are X pending publish calls.". Is there any way to fix it? I thought that publishing is a simple TCP call, so it should take matter of milliseconds?

Thanks for opening this issue. Have a look at: https://github.com/sbtinstruments/asyncio-mqtt/issues/29#issuecomment-752952013
Usually, this warning is just that: A warning. You can disable it if you know that the system gets time to process the calls later. E.g., if you make ~15 rapid requests in a batch and then wait a while before repeating the batch.

Can you please make self._pending_calls_threshold a settable property for the next version?

Can you please make self._pending_calls_threshold a settable property for the next version?

That's a good idea. :+1:  I'd gladly review a PR on that. :) It's a good, self-contained feature for a first contribution.


Update create-placement-policy.md

@ashwinkabadi : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#assign-reviewer: @v-ianwhytez

The following reviewer(s) could not be added because they aren't a valid GitHub ID, aren't a valid collaborator on this repo, or are the author of the PR: v-ianwhytez

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ianwhytez I made the requested changes.

Thanks, Kristine. Do you know, what has to happen before I can verify these changes by pulling from upstream master?
Ian
From: Kristine Toliver @.>
Sent: Thursday, December 9, 2021 9:37 AM
To: MicrosoftDocs/azure-docs @.>
Cc: Ian Whyte (Aquent LLC) @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Update create-placement-policy.md (PR #85005)
Merged #85005https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F85005&data=04|01|v-ianwhyte%40microsoft.com|ec2715b974614c24cf4208d9bb3a7382|72f988bf86f141af91ab2d7cd011db47|1|0|637746682018375443|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=M1rs0vZ%2FdyFBHzvN0ZjZkeQmg6SiYVwM9WFuzsKOc64%3D&reserved=0 into master.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F85005%23event-5742478921&data=04|01|v-ianwhyte%40microsoft.com|ec2715b974614c24cf4208d9bb3a7382|72f988bf86f141af91ab2d7cd011db47|1|0|637746682018375443|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=gWWu1eKyd1mi0bDzAO6YLsfBQa%2BTSC53CapurziGL9k%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWKWIW6AZ7E6W4P7SWC4SN3UQDSKJANCNFSM5JUIKBVQ&data=04|01|v-ianwhyte%40microsoft.com|ec2715b974614c24cf4208d9bb3a7382|72f988bf86f141af91ab2d7cd011db47|1|0|637746682018375443|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=y2Uy4xoVr5H7aZCjX07McGvtDObIvOGZ3lQarsIHvvM%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|v-ianwhyte%40microsoft.com|ec2715b974614c24cf4208d9bb3a7382|72f988bf86f141af91ab2d7cd011db47|1|0|637746682018375443|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=3bIuDzycnpvwuXvHk67al8fkDJXYAmpMRObN83wQBXE%3D&reserved=0 or Androidhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|v-ianwhyte%40microsoft.com|ec2715b974614c24cf4208d9bb3a7382|72f988bf86f141af91ab2d7cd011db47|1|0|637746682018375443|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Ryuvl4Z%2FCmGI7Pyq6F9BX4mzZHXOYH0K5Licpfahgzc%3D&reserved=0.


"Open viewer" functionality is unclear

Here's what i get when i click on "Open viewer":

Close and restart qMRLab to solve this issue. Might be unstable when too many buttons were called.


Add code actions for adding library/executable/macro targets to a package manifest

Add code actions for introducing new library, executable, or macro targets to a package manifest. I'm a little unhappy with these because we have to pick a name for the target (we choose "NewTarget") and it's a little annoying to change it after the fact. On the other hand, this at least puts the right structural pieces in place.

Only the second commit is new...

https://github.com/apple/swift-package-manager/pull/7481
@swift-ci please test

https://github.com/apple/swift-package-manager/pull/7481
@swift-ci please test Windows

https://github.com/apple/swift-package-manager/pull/7481
@swift-ci clean test Windows

https://github.com/apple/swift-package-manager/pull/7481
@swift-ci clean test Windows

apple/swift#73507
@swift-ci please test


Email sent to organizator is static

At step "5", onsite message is custom.
Email sent is standard and thus misleading. ALWAYS the exact following (same url, same password)
Congratulation ! :D You successfully completed the configuration and creation of a peers grading activity !

Where is my activity ? Can I edit it ?
 You can edit participants, options and the rubric using this link & password.
 Activity's link is : https://peergraders.herokuapp.com/#/activity/dtYwV
 Master password is : ChubbyPanamanianMermaids

How do I really start the activity with my participants ?
 On D-day, gather your participants, identify additional or missing ones.
 Update the participants' list, thanks to the link & master password above.
 Everyone's optimal planning is generated.
 Send email invitations to all your participants instantly.
 Enjoy ! Participants open the link, follow their missions, submiting evaluations as needed.

Issue seems to come from there.
Strangely, was switched back to static, see there

https://github.com/hugolpz/PeersGraderApp/commit/ba611770ad3cfe06ea690bdfe05046f5a20e9fce


Made query args optional. Added rows property on query result.

Query can also be called with:

a string arg only
a string and an array argument

(see https://github.com/brianc/node-postgres/blob/master/lib/client.js - line 323 ff)
The object returned by query has (beside others) a rows-property, see:
https://github.com/brianc/node-postgres/blob/master/lib/query.js - line 23
https://github.com/brianc/node-pg-pool - Example for chapter "connect"
Note: I just added any, respectively void for the functions mentioned in https://github.com/types/typed-pg/pull/12 and leave the more detailed changes for that other PR.

Was there any reason to remove typings/index.d.ts from tsconfig?

Note: I just added any, respectively void for the functions mentioned in #12 and leave the more detailed changes for that other PR.

Hey @0815fox I think it's better if you revert and force-push a version without that. Otherwise we will get merge conflicts.


aws: config::Config::from_profile() does not respect AWS_PROFILE environment variable

I originally raised this issue in OpenDAL and I was asked by @Xuanwo to post here as a more appropriate place to fix it.  Please refer there to see why it's an issue.  In the context of reqsign, it's not really an issue, but more like unintuitive behavior.
Here's the summary:
As a user who uses multiple AWS profiles and switches between them using the AWS_PROFILE environment variable, I expect my active profile to be respected.  Currently, when AwsConfig::default().from_profile() is called, it will use the profile default which I think is unintuitive.
Here are three ways this behavior could be adjusted:

from_profile() could check the current value of the AWS_PROFILE environment variable, and use that.
impl Default could be changed to check AWS_PROFILE and fall back to default.
move to an explicit AwsConfigBuilder pattern

Either of the first two could be done with no code changes required from users.  The third might lead to a clearer code, but is more work for everyone.

I'd rather resolve this issue initially using the first method, then consider if we can implement the third one. Would you like to help fix it?

Yep - no problem.  I'll get a PR together.


Inaccuracy in comparisons guide

There is no description for this issue so I'm going to close it out. Feel free to reopen/submit another when you have more details.


[wip] split vmdb suite

@Fryguy how about splitting the vmdb suite into smaller parts?
this reduces overall time to 17min, down from 30+
Total time increases from 1hr 15min to approx 2hrs (but thats just CPU Time)

If we do go this route my only comment would be that you should keep a vmdb task for running all of the various vmdb suites at once, to make running all of those suites locally easier (the same as it is now) - Don't see one now but with the dupe'd descriptions it's hard to read :D

I think it might be better to use rspec tags.  rspec-rails automatically tags things like spec/controllers with :type => :controller.  Then, we can do the breakup with tag type, and even allow ourselves to do things like "slow tests"

+1 for tags

link #5230 for crossreference, which might be even better. closing for now


[FEATURE REQUEST] Minimize windows taskbar to tray?

Every time I click PoE the app pops up in taskbar like this: https://gfycat.com/dependenttepidgalapagosdove
Is there a way to keep it minimized?

duplicate of this #128


Strange BlockHeader fields data types

Hello, I have took this 2 lines from tests bitcoin crates
let some_header = Vec::from_hex("010000004ddccd549d28f385ab457e98d1b11ce80bfea2c5ab93015ade4973e400000000bf4473e53794beae34e64fccc471dace6ae544180816f89591894e0f417a914cd74d6e49ffff001d323b3a7b").unwrap();
let mut some_header: BlockHeader = deserialize(&some_header).expect("Can't deserialize correct block header");

If I will print some_header I will have such result:
BlockHeader {
    version: 1,
    prev_blockhash: 00000000e47349de5a0193abc5a2fe0be81cb1d1987e45ab85f3289d54cddc4d,
    merkle_root: 4c917a410f4e899195f816081844e56aceda71c4cc4fe634aebe9437e57344bf,
    time:<PHONE_NUMBER>,
    bits: 486604799,
    nonce:<PHONE_NUMBER>
}

And when I get bitcoin block 00000000e47349de5a0193abc5a2fe0be81cb1d1987e45ab85f3289d54cddc4d data from this site
I reseive complitelly different merkle_root, time, bits and even nonce !!!!
"result": {
    "hash": "00000000e47349de5a0193abc5a2fe0be81cb1d1987e45ab85f3289d54cddc4d",
    "confirmations": 711566,
    "height": 495,
    "version": 1,
    "versionHex": "00000001",
    "merkleroot": "d2a17dd46af545946132b7b6107b93f534483d79460c3dd23a26c68b498fe0c4",
    "time":<PHONE_NUMBER>,
    "mediantime":<PHONE_NUMBER>,
    "nonce": 883307825,
    "bits": "1d00ffff",
    "difficulty": 1,
    "chainwork": "000000000000000000000000000000000000000000000000000001f001f001f0",
    "nTx": 1,
    "previousblockhash": "000000004fb61ae8e99040c4e1e3b4d333dbe867f97f63ab4238cba80f59204a",
    "nextblockhash": "00000000b0c5a240b2a61d2e75692224efd4cbecdf6eaf4cc2cf477ca7c270e7"
},

For a moment I thought it is just a dummy data in bitcoin crate tests... But
assert_eq!(&some_header.block_hash(), &next_blockhash);

But next_blockhash is correct. How? Why?
How can I validate block using data from  this site ? some_header.block_hash() never gives me adequate results. I am already tired experimenting with big/little endian, sha256d/sha256 hashes.
I can not understand why block time from getblockheader<PHONE_NUMBER> is<PHONE_NUMBER> your crate time..
Do you have documentation, pleassssseeee?

I reseive complitelly different merkle_root, time, bits and even nonce !!!!

That's because you are comparing different headers, some_header is block 496 with hash 00000000b0c5a240b2a61d2e75692224efd4cbecdf6eaf4cc2cf477ca7c270e7.
call block_hash() on a header to see the hash of that header, prev_blockhash  is the hash of the previous header

It looks like you're confusing block hash with previous block hash.
Block 00000000e47349de5a0193abc5a2fe0be81cb1d1987e45ab85f3289d54cddc4d is the one before what you mentioned at the top of your issue.

LOL, @RCasatta saw your comment pop up right at the moment I clicked "comment" :D

LOL, @RCasatta saw your comment pop up right at the moment I clicked "comment" :D

same same

Thank you! My fault


Using examples that require an Alpha version, without documenting this causes confusion

Describe the bug
The listed examples in the documentation (https://github.com/tannerlinsley/react-table/blob/master/docs/examples.md) are all based on V7. Trying to run them will fail as master points to V6.
I could not find any documentation explaining this and new developers will simply assume the library is broken.
To Reproduce
Try to implement any of the examples in the documentation locally while installing react-table using 'npm install react-table'
Expected behavior
Examples on master should point to code examples that work on master
Codesandbox!
Use a new react-table codesandbox to reproduce the issue.

Have the same problem

The examples must be linked to use the local version of the library of that's what you are asking. Otherwise, the examples at the very least point to the @next version of react table, so they should be downloading the alpha release at the very least when built with yarn.
Tanner Linsley
On Aug 20, 2019, 5:04 AM -0600, Andrey Drozdov<EMAIL_ADDRESS>wrote:

Have the same problem
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I've also updated the README and installation instructions to document any further discrepancies. Thanks!


F-Droid Release?

Is there any possibility of this app being released on F-Droid? Or alternatively, an APK available for direct download via GitHub Releases?

I've created a request for packaging, (See: https://gitlab.com/fdroid/rfp/issues/1004).


Feature Proposal: Add global handlers for start, finish and cancel drag

Hey @kutlugsahin,
I'm busy on a new slew of features, and have added additional container / container types to my app which has highlighted the lack of global event handlers.
Setup
Lets's say I have 3 sections in my app:

A, B, C
each of which has 1 or more containers + draggables
each of which can be dragged to each other

Outside of the containers, there might be other parts of the app which might want to know if there is drag and drop:

is dragging (say, dim the background)
available drop targets (say, show a list)

Problem
Right now:

the only way to detect if a drag has started, is to add one of the callbacks get-child-payload or should-accept-drop
the only way to detect if a drag has finished, is to count the number of containers in via should-accept-drop then count the number of containers out using @drop

Additionally, there are issues using local code in multiple containers:

because shouldAcceptDrop() is called multiple times (say A x 1, B x 5, C x 10) any "start" code is fired 16 times
because the containers fire in order (so, 1 - 16) it is only the 16th call which can signify the end to the drag (see also #185)

Approach
The easiest way I have found to do this is to provide global handler decorators:
let count = 0

export function makePayloadHandler (getChildPayload: Function) {
  return function (...args) {
    startDrag() // global handler
    return getChildPayload.call(this, ...args)
  }
}

export function makeAcceptHandler (handler: Function) {
  return function (...args) {
    const accept = handler.call(this, ...args)
    if (accept) {
      count++ // this will be counted down again in makeDropHandler(); at 0, all drops have fired
    }
    return accept
  }
}

export function makeDropHandler (handler: Function) {
  return function (event: DropResult, ...args) {
    // reduce the count
    const complete = --count === 0

    // call each drop handler
    handler.call(this, event, ...args)

    // if complete, clean up
    if (complete) {
      endDrag() // global handler
    }
  }
}

In the component:
// C should accept items from A and B
shouldAcceptDrop: makeAcceptHandler(function (options: ContainerProps, payload: DragContext) {
  return ['A', 'B'].includes(payload.type)
})

This works, but it is a lot of extra code, that feels like it could / should be in the library.
Proposal
I suggest two API changes, to manage local and global events:
Global events
Something like:
import smoothDnD from 'smooth-dnd'

smoothDnD
  .on('start', onStart)
  .on('finish', onFinish)
  .on('cancel', onCancel)

The dispatched events could contain some basic information about the drag.
This would allow any components outside of the components which contain the containers, to monitor drags.
In Vue, you could also provide a DragObserver component like so:
<DragObserver v-slot="{ isDragging, numItems }">

{{ numItems }} are being dragged right now

</DragObserver>

Vee Validate does this to wrap forms for validation, and it works great.
I'm not sure what the equivalent would be in React, but I'm sure there is one.
Another Vue option would be to export a Vue.observable and / or provide plugin code from the core:
import Vue from 'vue`

export const state = Vue.observable({
  isDragging: false,
  numItems: 0,
})

Vue.prototype.$drag = state

This then be used to get access to the state, add classes on any other containers, etc, etc:

 ...

Local handlers
In the same component, a developer could use the Observer component as above, or they could just use handlers:
<Container
  @start="startAll"
  @finish="finishAll"
  @cancel="cancelDrag">
    ...
  </Container>

I'm not sure about the names; I can also think of variations such as before, after, complete, etc, but they would fire before all containers were queried, and after all drops were complete.
I mention this also in #185
Wrap up
I hope that all makes sense.
I think the use cases are clear, and I think I'm presented POC code which hopefully would give you ideas on how to implement in the core.
Would love to chat more about this!

OK, further to writing this yesterday, I think I've come up with another major use case, which is actually pretty important.
Outline
It's to do with APIs that require a single "move" call, vs a "remove" and then an "add" (or "add" then "remove").
The browser extension API for tabs is one; it requires that Tabs and Bookmarks be moved using a specific call (I'm sure there are other examples out there).
To start with, here is a basic algorithm to detect the type of action:
const action: DragAction | null = removedIndex !== null && addedIndex !== null
  ? removedIndex !== addedIndex
    ? 'order'
    : null
  : addedIndex !== null
    ? 'add'
    : removedIndex !== null
      ? 'remove'
      : null

Because of the way Smooth DnD works by calling each container's drop handler in turn, there is no way to know if a "move" has taken place.
Items in the same container (works)
Take a single container with two items, and we want to drag A to B's position:
+---------+       +---------+
| +-----+ |       | +-----+ |
| |  A  | |   |   | |  B  | |
| +-----+ |   |   | +-----+ |
| +-----+ |   |   | +-----+ |
| |  B  | |   v   | |  A  | |
| +-----+ |       | +-----+ |
+---------+       +---------+

Because there is only one container, the drop event fires only once, and we can detect an "order" (effectively a "move") because both addedIndex and removedIndex will both exist.
Perfect! We call move:
if (action === 'order') {
  chrome.tabs.move(...)
}

Items in different containers (can't work)
Now let's look at two containers where we want to move one item to the other container:
+---------+      +---------+
| +-----+ |      |         |
| |  A  |---------->       |
| +-----+ |      |         |
+---------+      +---------+

+---------+      +---------+
|         |      | +-----+ |
|         |      | |  A  | |
|         |      | +-----+ |
+---------+      +---------+

In this case, two drop events will fire, each one without the knowledge of the other:
// container 1
if (action === 'remove') {
  chrome.tabs.remove(...)
}

// container 2
if (action === 'add') {
  chrome.tabs.create(...)
}

But, EEEK! – by running separate remove and create operations we destroy tabs in one window, then re-create them in a second window; the user loses their form, history, etc, etc.
Because there was no way for the remove event to know that there was an add event coming (or to know that this was a "move" and not a "remove" and then an "add") we are unable to call the right API, which in Chrome's case is move:
chrome.tabs.move(tab, index, windowId)

The multiple components problem
The reason this has been working (for me) up to now, is because of my previous helper function which provides additional context (of the removes and adds) at the end of all calls.
This works fine if you just have a simple Kanban board, with all operations in one component, because if you have 5 containers, you only take action on the 5th call; the first 4 calls do nothing.
However, as soon as you have multiple, separate components (which I presume SmoothDnD is designed to work with) and you try to use my previous technique, only the last container of all containers gets all the information:
+-------------------------+
| +-----+ +-----+ +-----+ |
| |  1  | |  2  | |  3  | |
| +-----+ +-----+ +-----+ |
+-------------------------+
+-------------------------+
| +-----+ +-----+ +-----+ |
| |  A  | |  B  | |  C  | |
| +-----+ +-----+ +-----+ |
+-------------------------+
+-------------------------+
| +-----+ +-----+ +-----+ |
| |  X  | |  Y  | |  Z  | |
| +-----+ +-----+ +-----+ |
+-------------------------+

Drop events will fire in order for 1 2 3 A B C X Y Z and so only Z which is "last" will get the full story.
Conclusion
What would allow all containers to decide what they are doing would be a final call to each set, with the complete picture of the adds and removes, so they can decide to do a "move" rather than separate "add" and "remove" calls.
I have a couple of ideas how to solve this right now:

for each component, in the drop handler, collect the results of any drag, then debounce the actual update:

onDrop (event) {
  this.events.push(event)
  this.onDropComplete()
}

onDropComplete: debounce (function() {
  // get events
  // decide what to do
}, 0)

in the global drop handler factory, pass additional information about the container, then use this to return to each component when all results are in for its group. In the case above, drop handlers for 3, C and Z would get the information.

Does all this make sense?

OK! So I've implemented all this over the top of Vue Smooth DnD.
It actually wasn't too bad! I have all the support I require, so:
Global handlers:

onStart
onCancel (Esc cancels)
onFinish

Component-level handlers:

onPayload
onAccept
onLeave
onEnter
onDrop (once per container)
onComplete (oncer per component)

Drop Result:

same as existing +
action ( 'order' | 'add' | 'remove' | 'move' )
droppedOutside

Payloads are also supported:

type (same as group name, so you can work with shouldAcceptDrop)
data (whatever you need to pass)

Global state (provided as a plugin, watchable from anywhere):

isDragging
isOutside
from
to

Rather pleased with this, and it's cleaned up my code no-end!


Rate limiter is consuming all errors thrown by axios

The rate limiter intercepts requests and responses from axios and doesn't re-throw errors. This causes any errors thrown by axios to be consumed (i.e., you cannot catch them later on in a try catch block).
This can be fixed by simply adding error handling to the interceptors:
AxiosRateLimit.prototype.enable = function (axios) {
  this.interceptors.request = axios.interceptors.request.use(
    this.requestHandler,
    function (error) {
      return Promise.reject(error)
    }
  )
  this.interceptors.response = axios.interceptors.response.use(
    this.responseHandler,
    function (error) {
      return Promise.reject(error)
    }
  )
}

I've submitted a pull request that addresses this issue: #2

Merged the pull request.

Published in version 0.0.4. Thanks!


Add Vite 4 support

Seems like we just need to bump peerDependencies

Hello, thanks
I've added support for Vite 4 and released v1.0.3


[Github #51] Add Gradle deploy code and README for Tomcat in App Service Linux

I will review this


add basic architecture info

Nice, but I would remove the (per cluster, someday) as its detail.

Done :heavy_check_mark:


protein targeting should be is_a localization

Right now we have it under 'protein transport', which is not correct, the targeting is separate from the transport.
(We also need to look into whether 'targeting' is in scope for GO; usually proteins target themselves to a localization with a signal sequence, so their localization is mediated by another protein)

[ ] removed all 'protein targeting' is_a 'establishment of localization', for all organelles
[ ] removed all 'protein import into an organelle' is_a 'protein targeting to an organelle'

PR: https://github.com/geneontology/go-ontology/pull/26247


Security Concern

Hello,
I have concern over  the security of a feature of this application that I would like to discuss privately. Please may you provide a suitable email address?
Craig

@craigsblackie ping me in private on kubernetes slack group @rimusz

I've left a message with details.
Craig


Tomato routing update

Fixed lat/long mismatch in isBMLTServerOwned
Changed compare method in isBMLTServerOwned
Changed getHelplineRoutingBMLTServer to check for tomato conditions, return tomato and in all other cases use getAdminBMLTRootServer - did this to break down conditions when tracking down
Added check for tomato_helpline_routing in getBMLTRootServer - fixed issue of unable to use tomato for meeting search
simplified getHelplineRoutingBMLTServer since getAdminBMLTRootServer performs the same listed function - no real functional change
Changed check_auth to reference getAdminBMLTRootServer for the admin panel
Forgive my being a github amateur, Instead of grabbing your updates earlier in some easier fashion, I re-cloned the 3.5.0 beta 3 and worked from there and then it refused to let me commit/push.

Please rebase.


Stop and Alert on wasted running instances

Is your feature request related to a problem? Please describe.
Users forget to terminate or shutdown their cloud resources when they are not using them. This leads to waste and adds to our operational expense.
Describe the solution you'd like

In the excel sheet that is maintained for user tags, every user should mention ranges for working hours in UTC. Like 10 AM - 4 PM, 8 PM - 10 PM. Something like that. The accounts used for CI runs can mention the full 24 hours as the working hours.
For all resources found running outside the working hours, an alert email should be sent to the user.
The user somehow needs to confirm in real time that the resource is still being used. This is TBD.
If the user does not confirm within 30 mins of receiving the alert, another warning email should be sent with the manager and a team mailing list in cc.
If the user or the manager or some other team member does not confirm within 30 mins of the warning email, the resource should be terminated. An email should be sent post termination explaining why the resource was terminated.

Describe alternatives you've considered
There is no alternative. We rely on manual monitoring, and users being responsible. Mistakes happen all the time.
Additional context
None

cc @dagrayvid wdyt ?

That makes sense to me, for things that are not marked as long running.
Is the information in the spreadsheet currently detailed enough for cloud governance to know which clusters are "marked as long running"? If not, we will need that functionality. For instance, maybe we need a way for users to say clusters named "foo-bar-*" are intentionally long running, or something like that.

The spreadsheet currently only has user accounts and tags. I agree it should be extended with names/tags of long running resources that the automation should not worry about. Having said that, marking something as long running can not be a way out of cloud-governance monitoring. We should have an some kind of approval process before marking resources as long running.

@ashishkamra, great feature.
We can fetch the user timezone directly from ldap, so no need to fill it in spreadsheet.
I think that the working hours should be 8:00-20:00, and in outside working hour we can stop the machine and send email notification user/manager that after 24 hours it terminated.
For ec2 that should run 24/7, need to add the tag "policy:skip".
wdyt ?

+1 to stopping the instance for 24 hrs before terminating

I might have over complicated the solution. Here is another proposal:
For every cluster/resource spun up, users must include either one of the following tags

Short running expiration date/time: Can not be more than 24 hours beyond the resource creation time
long running expiration date/time: resources intended to be continuously up for more than 24 hours are assumed to be long running. Can not be more than 72 hours beyond the resource creation time.

Cloud governance automation will stop instances found in violation of the above policy and send alert email to the user. There is no need to terminate instances as stopped instances do not incur cost (only EBS cost).
For long running resources beyond 72 hours, line manager approval is required before launching such resources and the following tag should be included for such resources.
Extra long running approved by: {manager name who approved it}
This proposal should have buy in from stakeholders as it will be disruptive to the regular workflow.

Ideally we could make 24 hours the default so that users don't need to manually add a tag unless they need a resource for more than 24 hours.

That is even better. 24 hours default. 72 hours max (indicated in a tag). Beyond that, get manager approval (also indicated in a tag).

I might have over complicated the solution. Here is another proposal: For every cluster/resource spun up, users must include either one of the following tags
How do we enforce this user tagging? What if no tag exists?

Short running expiration date/time: Can not be more than 24 hours beyond the resource creation time
long running expiration date/time: resources intended to be continuously up for more than 24 hours are assumed to be long running. Can not be more than 72 hours beyond the resource creation time.

Cloud governance automation will stop instances found in violation of the above policy and send alert email to the user. There is no need to terminate instances as stopped instances do not incur cost (only EBS cost).
For long running resources beyond 72 hours, line manager approval is required before launching such resources and the following tag should be included for such resources. Extra long running approved by: {manager name who approved it}
This proposal should have buy in from stakeholders as it will be disruptive to the regular workflow.

@smalleni,
So If I understand clear we have 3 run type:

Short run - 24 hours
Long run - <= 72 hours
Permanent run - > 72 hours

The policies should be:

Short run - stop it after 24 hours, no special tag needed.
Long run - User need to add tag run_type: long, Do we need any special approval for it ?
Permanent run - run_type: permanent, need manager approval for it, Maybe Manager can sign on it in a dedicate spreadsheet and we skip those resource only if it in this list. Only Manager will have permission for it.

Do you think this approach is good enough ?

Permanent run - run_type: permanent, need manager approval for it, Maybe Manager can sign on it in a dedicate spreadsheet and we skip those resource only if it in this list. Only Manager will have permission for it.

My suggestion is to take approval offline through any means from any manager (not just the line manager) and just note the approval with another tag "Approved by".

Hi @ashishkamra, @athiruma, @natashba
I have summarized here what we decided in cloud-governance meeting:
The are only 2 run types: (no need 24 hours type)
1. Short run - **72 hours**, stop it after 72 hours, no special tag needed.
2. Long run (Project) - need manager approval and add 2 tags:
    -      duration: X weeks
    -      manager_approval: manager_name

The flow should be:

User open Jira ticket and add his Manager [Project: Cloud-Governance ]
Add Project details: Number of Instances, type, duration, Cost estimation.
Manager should approve it.
User can created the instance and must add 2 tags: duration and manager_approval and update the instance id in Jira.
Cloud governance fetch data from Jira and upload it to ElasticSearch.
Approved data displayed in Grafana panel.
Cloud governance send email notification a week before the duration is over.
Cloud governance stop project instances if duration is over and no extend.

Please let me know that you are OK with the flow.
cc: @smalleni

Finally we have implemented CRO [Cloud Resource Orchestration] feature for controlling cost optimization and saving per user.
For more details see PR


DOC: Update README with link to Code of Conduct

Please also see https://github.com/scipy/scipy.org/pull/257

Changed http to https, and merged. Thanks @stefanv


Force action does not install and as a result doesn't force anything.

Adding converge_install step to force action.

Closing due to inactivity.
If this is still an issue please reopen or open another PR.
Alternatively drop by the #sous-chefs channel on the Chef Community Slack and we'll be happy to help!
Thanks,
Sous-Chefs


[core-auth] Replace the NO BREAK SPACE with normal space

as it's causing github release api to return 400 Bad Request

/azp run js - core - ci

/azp run js - core - ci


"Make available offline" option on FileListing

select multiple files/folder and present an action which will copy them off the cluster and into Girder.

For this action, it copies the item from the cluster to a new item on the girder server? so the steps:
With the external item id being f2

POST /item: create new item f1 in girder
POST /item/f2/copy: copy contents of external item f2 to item f1

Or along those lines? Also is there a progress event we can listen to for this?

@TristanWright So the idea as you say is to copy the data from the cluster into the girder servers assetstore. I think the endpoint we want is:
PUT /file/{id}/move

This atomically move the file from the current assetstore ( on the cluster ) into another one ( for example on the local filesystem ).
Not sure if the request returns something that can be used to track progress. We would have to experiment to see.

Any word on how to get the destination assetstoreId param in
PUT /file/{id}/move?assetstoreId=[....]

I will send something to the Girder list ....

closed with #561


[CI] fix build for cri release

Attempts to fix broken master builds

Codecov Report

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

@@            Coverage Diff             @@
##           master    #3633      +/-   ##
==========================================
- Coverage   42.39%   37.27%   -5.12%
==========================================
  Files         127       85      -42
  Lines       14048    11721    -2327
==========================================
- Hits         5955     4369    -1586
+ Misses       7193     6738     -455
+ Partials      900      614     -286

Flag
Coverage Δ

#linux
?

#windows
37.27% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

archive/tar_opts.go
11.76% <0%> (-47.06%)
:arrow_down:

cio/io.go
1.4% <0%> (-45.08%)
:arrow_down:

snapshots/native/native.go
1.79% <0%> (-41.26%)
:arrow_down:

archive/tar.go
18.95% <0%> (-29.24%)
:arrow_down:

metadata/snapshot.go
23.86% <0%> (-24.05%)
:arrow_down:

oci/spec_opts.go
28.28% <0%> (-2.33%)
:arrow_down:

content/local/writer.go
57.69% <0%> (-0.97%)
:arrow_down:

gc/scheduler/scheduler.go
66.34% <0%> (-0.97%)
:arrow_down:

mount/temp_unix.go

sys/reaper_linux.go

... and 40 more

Continue to review full report at Codecov.

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

LGTM

Travis won't trigger, I'm going to recreate


baselines reproduce

Thanks for this great work, I am terribly sorry to bother you with this issue.I found it hard to use these baselines.If possible,could you output your config and script for these baseline.

Hi @hitcslj, can you give me your email so that I can send you my uncleaned code for these baselines.

Thank you @anhquancao ,my email is<EMAIL_ADDRESS>

Hi @hitcslj, I sent it

Hi @anhquancao , I'm also interested in the implementation of these baselines. Would you mind sending me the code? My email is<EMAIL_ADDRESS>Thanks for your kind consideration.

Hi @anhquancao, thanks for your awesome work, could you share me with the code of these baselines? (My email is thch@hust.edu.cn).

Hi,
I uploaded the unclean code here
https://github.com/anhquancao/monoscene_unclean
For JS3CNet, I modified on their official code base to train and predict.
I don't have the data and models for this project. It's been two years. The environment is the same as MonoScene.
Data can be generated following what I described in Sec A.1.
You can take a look at this file
The data generation code is in this folder:
https://github.com/anhquancao/xmuda-extend/tree/master/xmuda/common/data_gen

kitti_compute_2d3d_mapping.py: Compute pixel-voxel mapping

kitti_depth2tsdf.py: Generate TSDF from depth

kitti_generate_occ_map.py: Generate occupancy grid from predicted depth

kitti_generate_sketch.py: Generate sketch for 3D sketch

kitti_seg2d_to_pcd.py: Create semantic point cloud from 2D semantic prediction and depth map


insufficient performance during cell extraction for large slides

For large slides the extraction process does not scale as efficiently as the other processing steps. We need to look at the code again and see if we can implement a different strategy to speed up this process.
We should also do some benchmarking with a different number of threads to compare timings. Potentially we are not fully utilising the available compute resources at the moment.
Example processing time for big slides:
stitching
quantifying alignment error: 100%|██████████| 1000/1000 [00:10<00:00, 95.94it/s]
aligning edge: 100%|██████████| 33588/33588 [03:32<00:00, 157.96it/s]
assembling mosaic: 100%|██████████| 3/3 [3:05:06<00:00, 3702.28s/it]

total time = 3h 17 min
segmentation:

writing to .h5: 15min

[05/06/2024 23:56:59] Initialized temporary directory at /fs/pool/pool-mann-viperssd/temp/ShardedCytosolSegmentationDownsamplingCellpose_1lth4oxk for ShardedCytosolSegmentationDownsamplingCellpose
[06/06/2024 00:12:21] Input image added to .h5. Provides data source for reading shard information.

segmentation of shards: 9h 31min

[06/06/2024 00:13:01] sharding plan with 1643 elements generated, sharding with 2 threads begins
[06/06/2024 00:13:01] found 2 GPUs.
[06/06/2024 00:13:01] Proceeding in segmentation with 4 number of processes.
[06/06/2024 00:13:01] Beginning segmentation on 2 GPUs.
[06/06/2024 09:44:58] Finished parallel segmentation

resolving sharding plan: 1h 25min

[06/06/2024 09:44:58] resolve sharding plan
[06/06/2024 11:09:50] Finished stitching tile 1642

resolving number of classes and generating classes.csv file: 2h 8min

[06/06/2024 11:09:50] Finished stitching tile 1642
[06/06/2024 13:17:53] Number of filtered classes combined after sharding:
[06/06/2024 13:17:53] 3252628
[06/06/2024 13:17:53] Number of classes in contact with shard edges:
[06/06/2024 13:17:53] 173741
[06/06/2024 13:17:53] Number of classes after removing shard edges:
[06/06/2024 13:17:53] 3088237
[06/06/2024 13:17:53] Filtering status for this segmentation is set to True.
[06/06/2024 13:17:53] Filtering has been performed during segmentation. Nucleus and Cytosol IDs match. No additional steps are required.
[06/06/2024 13:17:54] Saved cell_id classes to file /fs/pool/pool-mann-maedler-shared/Datasets/Autophagy/genome_wide_monesin_screen/training_data_new_protocol/Slides/Monesin_Training_b3_stim_2h/cellpose_seg/segmentation/classes.csv.

saving segmentation results to .h5: 31min

adding segmentation to ome.zarr overview: 6min

[06/06/2024 13:17:54] Saved cell_id classes to file /fs/pool/pool-mann-maedler-shared/Datasets/Autophagy/genome_wide_monesin_screen/training_data_new_protocol/Slides/Monesin_Training_b3_stim_2h/cellpose_seg/segmentation/classes.csv.
[06/06/2024 13:48:14] adding segmentation to input_image.ome.zarr
[06/06/2024 13:54:55] finished saving segmentation results to ome.zarr
[06/06/2024 13:54:55] finished saving segmentation results to ome.zarr from sharded segmentation.

total time = 13h 58min
extraction:
[06/06/2024 15:27:28] Initialized temporary directory at /fs/pool/pool-mann-viperssd/temp/HDF5CellExtraction_um9feqae for HDF5CellExtraction
[09/06/2024 00:38:47] Cleaned up temporary directory at <TemporaryDirectory '/fs/pool/pool-mann-viperssd/temp/HDF5CellExtraction_um9feqae'>

total time = 58h 9min

closed for now as this was still benchmarked in the legacy branch


How to Access Child Component and Root Events

How can I access the various events that are emitted by child components and the root component.
// emitted by <Root>
builder.sidebar.open
builder.sidebar.save
...

The only event I've been able to access so far is the change event on the main FormBuilder component.
This fires too often to use accurately to create and update form states and persistence.
I've tried to get the root events with both:
this.$root.$on('builder.sidebar.save', payload => {
    console.log(payload)
})

// and

this.$on('builder.sidebar.save', payload => {
    console.log(payload)
})

Neither one of these seem to catch the event as I get nothing in my log.
Need some help and you need to improve the documentation to reference all your child components and their events.
Thanks.

Hi @19peaches ,
If you want to listen to those events across the FormBuilder, you need to use the $formEvent instead, here is the demo:
https://github.com/sethsandaru/vue-form-builder/blob/master/src/views/builder/FormConfiguration.vue#L86-L89
Basically, it's just a Vue instance and standing there for the Event-Bus purpose (how the not-related component can communicate with each other)
Thanks. Feel free to open this again if there is anything unclear.

Great thanks, that helps with root events, but I'm still not able to listen to events emitted by child components.
Also, when loading up the component, I'm pushing the data saved in my Vuex store and database to the config, but it doesn't render the existing data to the builder?
When I open the sidebar from the FormConfiguration button, I see the data loaded in the forms, but it's not rendering in the form builder. I need my users to be able to edit the forms that have been previously persisted.
Thanks

Nevermind ... I think I've figured it out.

@19peaches Can you share the solution?


chore: add a helper to test the project and make eaiser the process

What this PR does / why we need it:
That makes faster/easier test things out since I can just update/comment/change the values and run all by once. Also, help new contributors first check if all is fine for them looking up for customizations and understand the details.
Which issue(s) this PR fixes:
None
Special notes for your reviewer:
None
Steps to reproduce
None
Does this PR introduce a user-facing change?
None
Does this PR require documentation?
None

Closing this one in favor of https://github.com/replicatedhq/kURL/pull/3726 to workaround the issue with FOSSA ci check.


Homebridge dead after Synology reboot

My Synology rebooted last night, and since then my Homebridge (docker) will not run.
The UI works, but the service is apparently not running:

This is the error in the logs:
Error: EISDIR: illegal operation on a directory, read
at Object.readSync (fs.js:494:3)
at tryReadSync (fs.js:333:20)
at Object.readFileSync (fs.js:370:19)
at LocalStorage.parseDirSync (/usr/local/lib/node_modules/homebridge/node_modules/node-persist/local-storage.js:610:35)
at LocalStorage.parseDataDirSync (/usr/local/lib/node_modules/homebridge/node_modules/node-persist/local-storage.js:545:21)
at LocalStorage.initSync (/usr/local/lib/node_modules/homebridge/node_modules/node-persist/local-storage.js:145:14)
at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:36:20)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:30:16)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:689:30)
fs.js:115
throw err;
^

For it also stopped working. :/ Starts normal but all devices show no response.

I have EXACTLY the same issue

Any thoughts or suggestions from the developers on this?

Hello?

The issue is related to your docker configuration. Please make sure you gave homebridge RW access to correct folders.
Sent from my iPhone

On Apr 22, 2019, at 6:49 AM, mikesalz<EMAIL_ADDRESS>wrote:
Hello?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@KhaosT Thank you for the reply.  I'm pretty sure it has the right access.  It works flawlessly 99% of the time.  Even if I start and stop the docker container.  It's just sometimes when the Synology reboots this happens.


Docker issue on dietpi

Hi i keep getting "no matching manifest for unknown in the manifest list entries"
when i run the "docker build -f docker/Dockerfile -t pagermon ." command
the Docker version 18.06.0-ce, build 0ffa825
any help would be great thanks

root@DietPi:~/SDR/pagermon# docker -v
Docker version 18.06.0-ce, build 0ffa825
root@DietPi:~/SDR/pagermon# docker build -f docker/Dockerfile -t pagermon .
Sending build context to Docker daemon  99.87MB
Step 1/10 : FROM node:9.4.0-alpine
9.4.0-alpine: Pulling from library/node
no matching manifest for unknown in the manifest list entries


fix: handle ip reservation and binding for instance vpe

Description
fixes https://github.com/terraform-ibm-modules/terraform-ibm-vpe-module/issues/312
Types of changes in this PR
Changes that affect the core Terraform module or submodules

[x] Bug fix
[ ] New feature
[ ] Dependency update

Changes that don't affect the core Terraform module or submodules

[ ] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other

Release required?
Identify the type of release. For information about the changes in a semantic versioning release, see Release versioning.

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
If a release is required, replace this text with information that users need to know about the release. Write the release notes to help users understand the changes, and include information about how to update from the previous version.
Your notes help the merger write the commit message for the PR that is published in the release notes for the module.
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author. The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).
Merge by using "Squash and merge".

@vbontempi - It's a timing issue from what I saw. I added a sleep of 180s before the pg creation and the vpe creation pointing to that pg instance.

@vbontempi - It's a timing issue from what I saw. I added a sleep of 180s before the pg creation and the vpe creation pointing to that pg instance.

misleading error message then. Waiting for test success

Moving to https://github.com/terraform-ibm-modules/terraform-ibm-vpe-module/pull/324


Recommended approach for custom validation

Hi,
Currently, the "best" model at validation time is chosen according to the value of the "loss". However, I would like for it to be chosen using another metric (a custom one that could behave like BLEU, for example). What would be the best way to implement this?
I noticed there is the best-checkpoint-metric parameter for fairseq-train. But I am unsure about where this new function should be implemented so that it can be used by the trainer. The only example I could find is for fine-tuning RoBERTa on GLUE using accuracy. But then accuracy is hardcoded in train.py (as far as I could notice). In addition, save_checkpoint in checkpoint_utils.py has "val_loss" hardcoded, too. Does this mean that I would need to change the code of core modules to incorporate the new validation metric?
Thanks for any guidance you could provide.

The easiest way I suppose, that modifies 0 fairseq code, is to run a separate script over each of the validation checkpoints to calculate your SARI/FKGL (?), then select the checkpoint that way. The second easiest way I see that involves small modifications, is to insert this calculation during validation time, so when the model prints validation metrics, it's calculated as well, so you can grep the log files for your desired checkpoint. Otherwise, yes, you would need to modify the fairseq code to change to your custom metric if you want to override it.

Thanks for the suggestions @huihuifan! The solution of using a separate script is what I've been using. It works but I was curious if there was a more 'elegant' way of implementing it in the code. I guess directly hacking the code is the only way to go.

I think you'll need to make the slightly larger changes to be more elegant, the hardcoding of validation loss, etc metrics will need to be changed.

Hello，@feralvam. I have the same problem as yours. I want to know 'The solution of using a separate script is what I've been using ', when i use the matric SARI instead of BLEU ?
Thank you, smiling.


Remove redundant salmon TPM output

Description of the bug
Currently, the pipeline generates multiple TPM output from salmon, e.g. salmon.merged.gene_tpm.tsv, salmon.merged.gene_tpm_length_scaled.tsv. These are redundant, as the TPM values don't change. These files are output on both a per-sample and merged basis, so it creates a fair amount of clutter.
Expected behaviour
A single TPM file should be produced instead.

Actually, they should not be the same...

TPM is scaled by effective gene length per sample
TPM length-scaled is scaled by average effective gene length across all samples

(see tximport Vignette)
So yes, on a per-sample basis, they are redundant. The merged files should be (slightly?) different.

No, TPMs are TPMs. The counts derived from them will change with those different parameters, the TPM values themselves do not.

We could alternatively generate counts from abundances, using the argument countsFromAbundance, scaled to library size, "scaledTPM", or additionally scaled using the average transcript length, averaged over samples and to library size, "lengthScaledTPM"

Yes. That section applies to the counts that are derived from the abundance (TPMs). The abundance values themselves do not change. You can run with countsFromAbundance set to any option - the abundance matrix will be the same for them all.
This is also confirmed by Mike Love here.

ah, now I got it! Thanks for clearing that up!

FIxed in https://github.com/nf-core/rnaseq/pull/598


Optimize certificate filtering by name

Filtering by certificate name is pretty expensive for us, even after adding gin indexes ( #2037 ). Short queries could take hours to run (essentially never finishing) and peg database CPU. The expensive queries were the filter / count queries. Using explicit joins makes things faster, and the queries don't hang.
Shown below are the old and new count queries.
Previous:
SELECT count(*) AS count_1         FROM certificates         WHERE (certificates.name ILIKE '%a%' OR (EXISTS(SELECT 1                                                          FROM certificate_associations, domains                                                          WHERE                                                            certificates.id = certificate_associations.certificate_id AND                                                            domains.id = certificate_associations.domain_id AND                                                            domains.name ILIKE '%a%')) OR certificates.cn ILIKE '%a%')
New:
SELECT count(*) AS count_1 FROM certificates   JOIN certificate_associations ON certificates.id = certificate_associations.certificate_id   JOIN domains ON domains.id = certificate_associations.domain_id WHERE certificates.name ILIKE '%a%' OR  domains.name ILIKE '%a%'  OR certificates.cn ILIKE '%a%'

Coverage increased (+0.005%) to 60.611% when pulling 08a2a2b0e566f4acadedd634c7905dea14393da2 on castrapel:optimize_filter_queries into a2b22a7d0948190a955478c4f4b71a439c3d28e2 on Netflix:master.


inline values to write cf whose size <= 255 bytes

Signed-off-by: zhangjinpeng1987<EMAIL_ADDRESS>What have you changed?
Change short value upper limit from 64 to 255, so these values whose size le 255 bytes can be inlined in write cf, this can improve the point select queries.

[ ] Make short value upper limit configurable

What is the type of the changes?

Improvement (a change which is an improvement to an existing feature)

How is the PR tested?

[x] sysbench insert test
sysbench insert test shows there is no regression.

[x] sysbench point select test
sysbench point select test show there is 10% improvement in this case.

[ ] select count() test, value size 200 bytes
sysbench select count() test shows there is about 8% regression. I think we can fix this regression by adding a key_only option to RocksDB.

short value = 255
mysql> set @@tidb_distsql_scan_concurrency=1;
mysql> select count(1) from sbtest1;
+----------+
| count(1) |
+----------+
|  1000000 |
+----------+
1 row in set (0.67 sec)

short value = 64
mysql> set @@tidb_distsql_scan_concurrency=1;
mysql> select count(*) from sbtest1;
+----------+
| count(*) |
+----------+
|  1000000 |
+----------+
1 row in set (0.62 sec)

[ ] bench var u16 encode/decode VS read u8

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No
Does this PR affect tidb-ansible?
No

Is there any compatible issue?

How about change the len field to variable codec? Here is a benchmark result:
test bench_parse_u8    ... bench:         960 ns/iter (+/- 8)
test bench_parse_var64 ... bench:       7,186 ns/iter (+/- 180)

And it's compatible with fixed-len codec because the old limit is 64, which is less than 128.

@hicqu According to the benchmark, parse var64 is notably slower. Why do we need to switch to it?

/release

/bench

/bench

/bench

/bench

The point select doesn't make too much difference in CI bench is because the dataset is in old format which short value is 64.

/run-integration-tests

/run-integration-tests

/merge

/merge


Publish master to live

Publish master to live for PR 378, 380, and 392.

Docs Build status updates of commit 8550831:
:warning: Validation status: warnings
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Can we visualize the intermediate result of Query Selection？

I think it is fun to have the visualization on the top-k boxes selected from the Encoder's output.

Yes, you can just print the boxes of the selected boxes in query selection and visualize them. The quality of boxes after query selection is actually quite good.

Thank you very much.  And how can we take visualization?  where is the visualized code?


Update Web3Auth to include whitelabel and latest SDK support

Hi team,
I am one of the team members from @web3auth and wanted to update the SDK to include the latest changes.
Please take a look.
Thanks.

Can you please provide a better description + screenshots

this is exactly what I need

Hey team,
We recently renamed our @web3auth/web3auth SDK to @web3auth/modal and added more support. Please check out here.
I'll be updating this PR to include the latest changes from https://web3auth.io/docs/sdk/web/modal/

With stable version 2.0.0 of Web3Modal now released, we are officially dropping support for version 1.x
Due to this this issue/pr was marked for closing. It is highly recommended to upgrade as 2.x will be receiving further updates that will enable functionality for some of our newer sdks like auth and push as well as support for WalletConnect v2 (See this post about WalletConnect v1 being deprecated https://medium.com/walletconnect/walletconnect-v1-0-sunset-notice-and-migration-schedule-8af9d3720d2e)
If you need to continue using Web3Modal 1.x and require this feature/fix implemented, we suggest adding it via forking V1 branch.


Windows exe error

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
I download the Windows exe from README and when i extract it and open it it gives an error.

👟 Reproduction steps
I didn't know
👀 Expected behavior
Nope
😓 Actual Behavior
It should work i guesss
🐻 Uptime-Kuma Version
1.21.0
💻 Operating System and Arch
Windows 11
🌐 Browser
Desktop exe
🐋 Docker Version
No response
🟩 NodeJS Version
v 16
📝 Relevant log output
No response

It seems that your antivirus blocked it. Which antivirus are you using?
I think it is false positive. The source code is here:
https://github.com/louislam/uptime-kuma/tree/master/extra/exe-builder

It seems that your antivirus blocked it. Which antivirus are you using?
I think it is false positive. The source code is here: https://github.com/louislam/uptime-kuma/tree/master/extra/exe-builder

Regular windows Anti virus Windows Defender

Strange, it is OK in my side. Can you check the log of Windows Defender?

Strange, it is OK in my side. Can you check the log of Windows Defender?

you were the antivirus blocking it and this time got thread found notifications, its works with disabling the antivirus.

Unfortunately a self-unpacking .exe fits the signature of a virus too well.

Unfortunately a self-unpacking .exe fits the signature of a trojan too well.

So is this fixable?

Portable 1.0.1
https://github.com/louislam/uptime-kuma/files/11886108/uptime-kuma-win64-portable-1.0.1.zip
It should be better.

Portable 1.0.1
https://github.com/louislam/uptime-kuma/files/11886108/uptime-kuma-win64-portable-1.0.1.zip
It should be better.

The AV no longer complaints, but the installation script has an issue:

That was on a Win 10 x64 machine with no nodejs installed. I added the ./node folder to the PATH variable and it worked.

Portable 1.0.1
https://github.com/louislam/uptime-kuma/files/11886108/uptime-kuma-win64-portable-1.0.1.zip
It should be better.

The AV no longer complaints, but the installation script has an issue:

That was on a Win 10 x64 machine with no nodejs installed. I added the ./node folder to the PATH variable and it worked.

I don't think you have to manually add nodejs to Path it's automatically add it.

Portable 1.0.1
https://github.com/louislam/uptime-kuma/files/11886108/uptime-kuma-win64-portable-1.0.1.zip
It should be better.

The AV no longer complaints, but the installation script has an issue:
That was on a Win 10 x64 machine with no nodejs installed. I added the ./node folder to the PATH variable and it worked.

#2606

Just had my infosec say Uptime-Kuma (windows) came up as malwae/trojan in Crowdstrike and I am not allowed to run it unless I can prove it is a false positive


Added NoEmptyCommentFixer

Fixer to remove empty (i.e. white space only) comments.

few minors and good to go ;)

ping @SpacePossum

Thank you @SpacePossum.


Can i exclude some models from FLUENT_DASHBOARD_APP_GROUPS?

This is not a bug, but a new-feature request (if not implemented)
As i have written in the title, can i exclude some models from FLUENT_DASHBOARD_APP_GROUPS?
FLUENT_DASHBOARD_APP_GROUPS = (
(gettext('Administration'), {
'models': (
'django.contrib.auth.',
'django.contrib.sites.',
),
'collapsible': True,
}),
(gettext('Poll Management'), {
'models': (
'project.apps.news.*',
'project.apps.polls.poll', # This does not display anything
),
'collapsible': True,
}),
)
I can't see an help in the documentation
Thanks in advance

:+1:


Compile xcpLite under LINUX / Ubuntu 18.04

Hello.
I tried to compile the CMake project under my Ubuntu 18.04 system, but failed (see [1]).
What is the correct way to build xcpLite?
Thanks.
[1]:
$ git clone https://github.com/vectorgrp/XCPlite.git
$ mkdir build
$ cd build/
$ cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/brenkem/git/XCPlite/build

$ make
Scanning dependencies of target xcpLite
[  9%] Building CXX object CMakeFiles/xcpLite.dir/main.cpp.o
In file included from /home/brenkem/git/XCPlite/xcpLite.h:1641:0,
                 from /home/brenkem/git/XCPlite/main.h:137,
                 from /home/brenkem/git/XCPlite/main.cpp:15:
/home/brenkem/git/XCPlite/main.cpp: In function ‘int createA2L(const char*)’:
/home/brenkem/git/XCPlite/xcpAppl.h:42:41: error: cast from ‘vuint8* {aka unsigned char*}’ to ‘vuint32 {aka unsigned int}’ loses precision [-fpermissive]
 #define ApplXcpGetAddr(p) ((vuint32)((p)))
                                         ^
/home/brenkem/git/XCPlite/A2L.h:59:114: note: in expansion of macro ‘ApplXcpGetAddr’
 ameterWithLimits(name,comment,unit,min,max) A2lCreateParameterWithLimits_(#name,sizeof(name),ApplXcpGetAddr((vuint8*)&name),comment,unit,min,max)
                                                                                ^~~~~~~~~~~~~~
/home/brenkem/git/XCPlite/main.cpp:53:5: note: in expansion of macro ‘A2lCreateParameterWithLimits’
     A2lCreateParameterWithLimits(gDebugLevel, "Console output verbosity", "", 0, 4);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/brenkem/git/XCPlite/xcpAppl.h:42:41: error: cast from ‘vuint8* {aka unsigned char*}’ to ‘vuint32 {aka unsigned int}’ loses precision [-fpermissive]
 #define ApplXcpGetAddr(p) ((vuint32)((p)))
                                         ^
/home/brenkem/git/XCPlite/A2L.h:59:114: note: in expansion of macro ‘ApplXcpGetAddr’
 ameterWithLimits(name,comment,unit,min,max) A2lCreateParameterWithLimits_(#name,sizeof(name),ApplXcpGetAddr((vuint8*)&name),comment,unit,min,max)
                                                                                ^~~~~~~~~~~~~~
/home/brenkem/git/XCPlite/main.cpp:54:5: note: in expansion of macro ‘A2lCreateParameterWithLimits’
     A2lCreateParameterWithLimits(gFlushCycleMs, "DAQ flush cycle time, 0 = off", "", 0, 1000);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/brenkem/git/XCPlite/main.cpp: In function ‘int main(int, char**)’:
/home/brenkem/git/XCPlite/main.cpp:186:49: warning: too many arguments for format [-Wformat-extra-args]
         else if (sscanf_s(argv[i], "-t%c", &c, 1) == 1) {
                                                 ^
CMakeFiles/xcpLite.dir/build.make:62: recipe for target 'CMakeFiles/xcpLite.dir/main.cpp.o' failed
make[2]: *** [CMakeFiles/xcpLite.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/xcpLite.dir/all' failed
make[1]: *** [CMakeFiles/xcpLite.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Hi,
seems to be 64 bit target. The Linux version was tested on a RaspberryPi as ARM32 target variant so far.
I created a new branch Linux64 which I could compile (via vscode and  g++) on Ubuntu 20.04 in 64 bit mode.
Added a quick and dirty handling for 64 bit to 32 bit A2L address conversion, which works ok with the unmodified generated A2L.
Will probably not work with ELF linker map updater yet. 64 Bit mode ELF has not been verified.
Maybe you want to give this a try.
Regards

Thanks a lot. The tool can now also be compiled under 64bit Linux systems, see [1]. Also the demonstration is running after executing xcpLite, see [2].
We can now close the issue.
[1]:
$ cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/brenkem/git/XCPlite/build
$ make
Scanning dependencies of target xcpLite
[  9%] Building CXX object CMakeFiles/xcpLite.dir/main.cpp.o
[ 18%] Building CXX object CMakeFiles/xcpLite.dir/ecupp.cpp.o
[ 27%] Building C object CMakeFiles/xcpLite.dir/ecu.c.o
[ 36%] Building C object CMakeFiles/xcpLite.dir/udpserver.c.o
[ 45%] Building C object CMakeFiles/xcpLite.dir/udp.c.o
[ 54%] Building C object CMakeFiles/xcpLite.dir/xcpAppl.c.o
[ 63%] Building C object CMakeFiles/xcpLite.dir/xcpLite.c.o
[ 72%] Building C object CMakeFiles/xcpLite.dir/A2L.c.o
[ 81%] Building C object CMakeFiles/xcpLite.dir/xcpSlave.c.o
[ 90%] Building C object CMakeFiles/xcpLite.dir/clock.c.o
[100%] Linking CXX executable xcpLite
[100%] Built target xcpLite
[2]:
$ ./xcpLite
XCPlite Demo - ECU Simulator with XCP on Ethernet (UDP)
Vector Informatik GmbH 2021
Build Jun 23 2021 12:01:21
Options:
XCPSIM_ENABLE_A2L_GEN,CLOCK_USE_UTC_TIME_NS
Init clock
System realtime clock resolution = 0s,1ns
+0us:   23.6.2021 12:01:29 +203236657
+100us: 23.6.2021 12:01:29 +203399308
Init XCP protocol layer
(Version=1.4, MAXEV=256, MAXCTO=250, MAXDTO=1396, DAQMEM=500000, MAXDAQ=65535, MAXENTRY=65535, MAXENTRYSIZE=255)
(ENABLE_CHECKSUM,DAQ_CLOCK_64BIT,XCP_ENABLE_A2L_NAME,XCP_ENABLE_A2L_UPLOAD,XCP_ENABLE_DAQ_EVENT_LIST,)
Listening on port 5555
Bind sin_family=2, addr=<IP_ADDRESS>, port=5555
Event 0: Cyclic unit=4 cycle=200 samplecount=0
Event 1: Task1 unit=4 cycle=200 samplecount=0
Event 2: Task2 unit=4 cycle=200 samplecount=0
Event 3: TaskAct unit=3 cycle=0 samplecount=0
Create A2L XCPlite.A2L
BaseAddr = 55F000000000
(45 meas, 26 pars, 1 typedefs, 6 components, 3 instances, 13 conversions)
Start C++ demo task (cycle = 2000us, ext event = 3, size = 88 )
Start XCP DAQ thread
Start C demo task (cycle = 2000us, event = 0)
Start XCP server thread


Does it support recording pause in API 14?

Does it support recording pause in API 14? or i have to use the high level MediaRecorder to do that?

What's recording pause?

If user are recording a 5 minutes long video , sometimes user may want to pause the recording , and i found lots of camera doesn't support pause the recording . So i wonder if the cameraview can support this function.(And sorry for my poor English)

CameraView does not yet support video recording. Let me see if I can add that pause feature when we have video recording support.

@yaraki Thanks for your replay~!


always initializing

hi guys
I have some problems.
when i open the graphql-ide, it is always initializing.
what should i do.thanks！

removing data from /Users/[username]/Library/Application Support/graphql-ide helps

thanks！

hey guys i've the tried the solution above but i can't find the "Library" directory this is really confusing i'm on windows 10 32 bit please guys


[🐛for options]: change the thickness of the theme icon

Please don't highlight the dark theme moon icon. We don't have the sun highlighted when we have the dark theme, so you don't need to highlight the moon.

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Suggestion: A MuleSoft Connector?

Just a suggestion, since OrientDB supports REST API, why not create a MuleSoft connector? Mule ESB is getting rather popular these days.

+1  Integrating commercially with MuleSoft would be boost promotion of OrientDB significantly, as MuleSoft is a big-time player now.  Right now, OrientDB is noticeably absent from the promoted set of integrated database technologies, as is Neo4J:

Not relevant anymore.


Would it make sense to automatically derive DevTools protocol types from a PDL file?

Hi,
I'm wondering if you are aware that there is a definition of the DevTools protocol in the form of a PDL file (see this page).
There is even a crate that parses the file: rust-pdl.
This is a repo of the rust-pdl developer that seems to demonstrate the usage of the library.

that would make adding support for things much easier - it does seem like that other library already does that so making a clone of it doesn't entirely make sense.
I created this crate to solve a very specific use case (parse console.log messages and display them in a terminal) and it's working so far for that.
I might set aside some time to look into PDL but for the time being I'm gonna leave things the way they are and if folks want a more robust protocol crate for more familiar use cases (manipulating the browser), they should probably look elsewhere in the ecosystem :)
Thanks for filing!

Okay, thanks for the fast reply :)

Just for completeness:
I just discovered that there is even a JSON version of the protocol definition. So the rust-pdl lib shouldn't even be needed.