Need to change the way libxdf finds min time stamp and max time stamp

@cbrnr
I found that in some streams the time stamps contains trash values, and the current approach that by looking for the first and last value in the time stamp vector as the min and max time stamps contains some risk.
For instance, in the following file, the last sample of the blue stream contains the max time stamp, but in the figure it actually doesn't end the last.

@cbrnr On the right side is the vector of time stamps. As you can see, most of them are trash values except one (which I drew an arrow pointing to it). This means, time stamps are not reliable at all. They are not even sorted (like a set) so it's dangerous to look for only the last value as the max.
We need to rethink the way to load and draw XDF signals in SigViewer

I'm not sure if this is even valid XDF. Time stamps are optional, but if they are present we should be able to assume that they are valid. So trash values as you call them are not allowed IMO. However, the order of sample chunks is not fixed, so it is possible that time stamps are not sorted (but a sane recording environment should never produce such files in the first place). @chkothe do you have any thought on this?

@cbrnr The file is located right here.

What do you mean? This file opens fine and this was also part of our test files.

@cbrnr I mean the 44100Hz stream of this file contains trash values in time stamps

Ah I see. But SigViewer has no problems visualizing it, right? Or is there a problem related to these trash time stamps?

@cbrnr Seems the file should end where the blue stream stops (see figure above), but right now the blue stream ends earlier than the green stream. Or that because the green stream contains inaccurate time stamps, I failed to accurately calculate the length.

But this makes no sense. If there are time stamps they cannot be junk. That's why time stamps are optional. Are you absolutely sure you are parsing the samples chunk correctly?

I see that you deduce the time stamp if it isn't in the file. Can you check if this calculation is correct?

@cbrnr I think so, though right now I can't 100% prove I did it right, but since the irregular stream (blue) overall displays fine (events and irregular streams purely rely on time stamps) I assume it is correct.
However, there is a loophole in my current approach, that I calculate the total length of the file by searching the last value of each TS vector. This can be risky.
I will look into the deduction part to check.

@cbrnr Aha, I see why. Actually you pointed it out where it was wrong: it's the deduction part.
I added the sampling interval to the base of 0, but in most files the time stamp actually don't start from 0.
My fault sorry :)

You're welcome and thanks for double-checking :-)

@cbrnr Fixed in the newest commit

There doesn't seem to be a huge difference in the sample file - the mouse stream still stop before the audio stream. However, there seem to be missing values now toward the end of stream 0 (MouseY) which weren't there before (compare this screenshot with the one you posted at the top).

@cbrnr Hi Clemens,
I think this problem already appear in the previous versions. I think it's visualization problem, because if you zoom in vertically those missing part will be painted. I suspect it may have things to do with setClipRect.
Another thing is currently I use float as time stamp, but I saw float only keeps the precision to 1 digit after the decimal point, which is insufficient for time stamps, could also be the reason why the blue stream ends early. I changed it to double but this file crashed in debug mode, because it has 170,000 time stamps and I think it failed to allocate.

I still think these trash time stamps are invalid. However, maybe we can work around that - is there a way to determine if a value is a valid time stamp or not? I saw that these invalid time stamps have tiny values, and they seem to be the identical. Maybe one way to check if a time stamp is invalid is to check its size; if it is too small we discard it. In addition, or alternatively, we could only keep unique time stamps since I don't think you can have two (or more) identical time stamp values in a stream.

@cbrnr Hi Clemens,
I think if you pull my newest commit, these trash stamps shouldn't be appearing anymore?

Yes, maybe overtime I can add another condition flow, that if the time stamp is smaller than the beginning stamp, I discard it.
However, because currently time stamps are in the format of float, which only keeps one precision after the decimal point, there are lots of duplicates

Fixed.

Thanks @Yida-Lin. Just to clear things up, floats are not limited to one decimal place - single precision floats have 6-9 significant decimals. So the problem that most time stamps are identical are not likely due to the use of floats.


build script

please provide build script, i.e.
https://github.com/appc/acbuild/blob/master/build

downstream:
https://aur.archlinux.org/cgit/aur.git/tree/?h=acpush

works, thank you


Fix double spacing in Magisk ver check

Sorry about this @cswl. I mentioned in my other commit but probably wasn’t clear enough.

@lazerl0rd Is this just a code formatting?

@cswl Yupp


Document the relationship between ~, aggregate and currentProject

See the discussion in https://gitter.im/sbt/sbt/archives/2015/05/26.

@eed3si9n suggests perhaps adding a log.info("watching project X...") might help clear up the qq/compile vs project qq; ~compile difference.


ER_ACCESS_DENIED_ERROR: Access denied for   user 'username'@'wrongserver' (using password: YES)

Hi, I've got the importer running for Vanilla Forums but it freezes at importing groups:
I get this response from the client log:
current phase: groupsImportDone
Importing 0/0 groups took: 0.00 seconds
Importing 0 groups.
current phase: groupsImportStart
current phase: resetGlobalsDone
current phase: deleteTmpImportedSetsAndObjectsDone
current phase: deleteTmpImportedSetsAndObjectsStart
current phase: resetGlobalsStart
current phase: purgeMessagesDone
current phase: purgeMessagesStart
current phase: purgeUsersDone
current phase: purgeUsersStart
current phase: purgeCategories+Topics+PostsDone
current phase: purgeCategories+Topics+PostsStart

There is an error on the server log:
23/9 01:29 [18747] - [31merror [39m: Error: ER_ACCESS_DENIED_ERROR: Access denied for   user 'username'@'wrongserver' (using password: YES)

I can see that it's using the local server ip, which is wrong. In the plugin menu, I entered a mysql address for a DB on a different server. I can connect to the mysql server via terminal, using:
 mysql -u user -h mysql.server.com -p

NodeBB v0.7.0
Node.js v0.11.16
Vanilla v2.1
Using the master version of nodebb-plugin-import-vanilla and nodebb-plugin-import
I used correct DB login and prefix GDN_
Everything else is default settings.
Any ideas?

I was able to fix the issue:
Had to setup remote access for my Dreamhost mySQL DB.
I had thought the error message was connecting to the wrong server:
Access denied for   user 'username'@'wrongserver'

But, dur, it was just blocking that server (which was my local dns), not trying to connect to it.

glad you figured it out, hope this helps someone else with a remote DB

@rainfarmer cool - let us know if you're having any other issues.


Create new event for CodeRefinery Open House

First event 13th December.
Maybe we could have such event every 2-3 months?

What's "CodeRefinery Open House"?

An online one day event dedicated to the development of the CodeRefinery training material.
The idea behind this event is to bring together people who are interesting in
contributing to CodeRefinery training material.
Anyone who would like to contribute, learn how to contribute to the CodeRefinery training material is very welcome to join.
We first meet online at 9:00 am (UTC + 1) via Hangout and then work on CodeRefinery training material. During the day, we will coordinate the work through our zulip channel with possibilities to further discuss via Hangout if necessary.
We conclude the day around 4:00pm (UTC + 1) by writing a short blog/summary in a shared document.

This is done. This was fun and we will repeat it Tuesday Feb 11.


Error running evaluation command

Hi,
The evaluation command provided in the readme doesn't quite work:
> python coop.search.py log/bimeanvae/space
python3: can't open file 'coop.search.py': [Errno 2] No such file or directory

Trying a few other variants also doesn't work:
> python -m coop.search.py log/bimeanvae/space
Traceback (most recent call last):
  File "/home/tom/miniconda3/envs/coop/lib/python3.7/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/tom/miniconda3/envs/coop/lib/python3.7/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/mnt/ext/phd/external/opagg/coop/coop/search.py", line 14, in <module>
    from models import Model
ImportError: cannot import name 'Model' from 'models' (unknown location)

> python coop/search.py log/bimeanvae/space
Traceback (most recent call last):
  File "coop/search.py", line 15, in <module>
    from reader import ReviewTest, OptimusTest
  File "/mnt/ext/phd/external/opagg/coop/coop/reader.py", line 10, in <module>
    from .tokenizer import Tokenizer
ImportError: attempted relative import with no known parent package

What's the correct way to run the evaluation script?
Thanks!

Hi Tom,
If I remember correctly, this script should work correctly if you clone this repo and run it under the root directory of this repo. So please make sure where to run this script.
Thanks!


IKZ example

[x] Viewing material
[x] Adjusting the parser were necessary
[ ] Testing within pynxtools
[ ] Testing within NOMAD

[ ] Currently adjusting rsciio_velox parser not required because EMD capable already, timing data need specific inspection though
[ ] EMD file basically just stack_2d of SADs + metadata, suggestion: ENTRY[entry1]/measurement/event_data_em_set/EVENT_DATA_EM[event_data_em1]/IMAGE_SET[image_set1]/stack_2d
[ ] DENS time series plus some ELN stuff, plus some configuration time offsets, NOMAD ELN
[ ] Draft NXem_calorimetry
[ ] pynxtools-em-calorimetry (preparing for example parser/plugin) takes EMD (later MRC),
runs code, returns instance of NXem_calorimetry with default plots


(fix): remove faulty tsconfig.json include of test dir

include means all files that should be compiled, and the test dir
should definitely not be compiled

this was causing issues where declarations were being output into
dist/ for all files in test/

that shouldn't happen and it means build was unnecessarily
slowed down in order to process test/ files
default exclude that was added of .spec/.test files,
originally for co-located tests, ended up making most test/ dir
files excluded too, but not, say, test utils that don't have a
.spec or .test suffix

this was also causing errors with the rootDir: './src' change as
the test/ dir is outside of the rootDir

problem wasn't the rootDir, but that the test/ dir shouldn't be
compiled or processed in any way

(test): ensure test/.test.ts and test/.ts files are correctly
excluded and don't have declarations generated

and that they don't error with rootDir: './src'

(test): ensure types/*.d.ts don't error with rootDir and don't have
declarations re-generated either

n.b. tsc won't re-generate them either, they don't get copied to
outDir, this isn't new or different behavior

(env/test): Jest shouldn't run / should ignore tests inside of fixtures

Fixes #638 , the root cause of it, and adds tests for this.
Effectively reverts #226 . I haven't been able to reproduce #225 / #84 in my VS Code, but maybe that's because I have it configured a little differently?
Would like to add VS Code integration tests so there's an automated way to check that it works independently on CI without any configuration (and so I don't have to attempt and fail to test this on my own machine).
But tsc --noEmit at least, indeed doesn't output errors in test/ anymore. tsdx lint still does.
Per my comments in #638 if this and the VS Code integration are problematic, we should move this to a tsconfig.build.json and then have a plain tsconfig.json that extends from it and changes include to './' so everything is type-checked.

Does this mean we'd also wanna avoid compiling stories?

@kylemh yes, your stories shouldn't be in your include, otherwise they'll be unnecessarily compiled (and output to dist/likely unnecessarily published).
The Storybook template doesn't have them in the include as you can see here. Are yours by chance co-located? We could add **/*.stories.tsx to the default exclude if it's a common enough pattern (I've seen it a few times).
The approach I listed in https://github.com/jaredpalmer/tsdx/issues/638#issuecomment-605728767, especially with file: ['src/index.ts'] is optimal, but unfortunately seems to have issues in upstream rpts2 as a I mentioned there.

So I’m doing monorepo shit in a personal project first before I try to come up with a template to resolve #122
https://github.com/innocuous-tech/core
I’ve got it all flying for now, but I can’t see how to prevent the stories’ typings from getting compiled into the bundle.
I have it excluded... what do you think?

Ah yours are like semi-colocated, in the src dir but as separate dirs. I'd leave them outside of src for a template fwiw.
Probably just need to mess with the globs a bit. If you moved the exclude into each package it would probably be easier to figure out. Path resolution is a bit weird with extends too but you seem to be using it correctly so I'm not sure.

Hmmmm I remember reading somewhere that @jaredpalmer prefers colocating tests with source code. Having the answer be “don’t do that” doesn’t seem ideal.
I’ll try manually listing the excludes in each package, but that wasn’t working either.

Well none of the existing templates have co-located tests or stories, so it wouldn't make sense to add a monorepo template that is the odd one out has semi-colocated tests. Would be very inconsistent and confusing to users

So this is my individual use case. I can make the template match the rest. The point I’m making is that we should be able to have collocated tests and stories.
In my example, test files are ignored but not stories, so I was just tryna make sure it wasn’t something under the hood. Not extending and excluding per package seems to be working. I’ll have to figure out where I’m going wrong with extends

The include/exclude handling should work the same as tsc, the only difference is that TSDX a default exclude for fully co-located tests (if you're adding your own it doesn't matter). Though it's possible there are bugs with rpts2 as that's one reason why I haven't moved templates to just a files set-up which wouldn't be impacted by location at all, only by imports.


2.0-pick-26525 Fix security issues with pull_request_target #26525

…
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

#26525

run buildall

run buildall


Linter Needed

In the spirit of keeping people like me from royally trashing your code base...

:D Agreed :D @shanel262 Can you make sure all the necessary parts are here for linting, including the command to run npm run lint.

@mcdonnelldean No problem, I'll get it done :)


fix(exporter): update tolerations

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If this PR will release a new chart version please make sure to also uncomment the following line:

/kind chart-release

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area falco-chart

/area falco-exporter-chart

/area falcosidekick-chart

/area event-generator-chart

/area k8s-metacollector

What this PR does / why we need it:
Update the tolerations.
Which issue(s) this PR fixes:

Fixes #
#579
Special notes for your reviewer:
Checklist

[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] CHANGELOG.md updated

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: alacuku
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 36cea111dfdcb4c3f845b7396634a3153bedc029

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alacuku, cpanato
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [cpanato]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 6b0a64152c3379725118790622d2156c79789682

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alacuku, cpanato
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [cpanato]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

humm just saw the tests are failing
/lgtm cancel

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: alacuku
Once this PR has been reviewed and has the lgtm label, please ask for approval from cpanato. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

For some reason the connection test is failing. It seems that the wget container is started before the falco exporter pods are ready.
By running the same test manually after the falco-exporte pods are ready everything works fine.
@cpanato any idea why this is happening?

@cpanato
Helm v3.10 was not honoring the --wait & --timeout flags. Bumped to v3.14.0. Solved the issue.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alacuku, cpanato
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [cpanato]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 0c0ccf91d4d521e472a42d07fa9c974e662b89a6


Add logprob support

Fixes typo in json serialization (logobs -> logprobs) and adds LogprobResult type for results.
Also changes CompletionRequest.Stop to a []string to match the API (so more than one stop sequence can be used).

Thank you for pull request!
ESSKEETIT


handle cases etc when editing a formula

Editing works. Active field setting works still only without cases.

plural of matrix is matrices


Iam oicdprovider add tags

Description of your changes
Added tags management to OpenIDConnectProvider.

Fixes #
I have:

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

I'm opening a draft PR because I added a testing structure to explicitly test the aws input structs involved in the tag and untag operations, and for best readability, I split the tests for the Update method (related to specifically update tags) in a separate test function, and I would like to have some feedback on this before finalizing the PR.
In particular, if the proposed testing approach is accepted, I'm keen to introduce the same to the others operations on the other attributes (thumbprint, ClientID), maybe in separate PRs to help the review?

@muvaf FYI

Fixes: #1133


Bug: Complex (curly) syntax

This maybe an overlook at recent php7 fixes which other lines of code has been updated.
Fixing this error help me install ss3.6 with PHP7.1 using PostgreSQL database
"PostgreSQL 9.5.6 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit"

Note: this also needs fixing in master


InitParams doesn't exist

Note that the example I fixed isn't built because the libadwaita feature isn't enabled.

Thanks!


Issues with BLE connections

I've been trying to get BLE working an university project, but have hit two issues:
Nothing happens when I attempt to connect to the micro:bit with MICROBIT_BLE_OPEN set to 1 (Nothing is printed in DMESG)

DMESG logs for MICROBIT_BLE_OPEN
relocate vtor to 0x0 -> 0x20003800 0x20003800
MicroBitBLEManager::init
NRF_SDH_BLE_VS_UUID_COUNT = 4
NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE = 0x720
12:microbit_ble_sdh_req_handler changeOK = 1
No security
DEVICE_INFORMATION_SERVICE
servicesChanged
getBondCount 0
configureAdvertising connectable 1, discoverable 1
whitelist 0, interval_ms 50, timeout_seconds 0
setTransmitPower 6
 BLE_GAP_TX_POWER_ROLE_ADV
advertise
MicroBitBLEService::RegisterBaseUUID bs_uuid_type = 2
MicroBitBLEService::CreateService( 0x100) = 21
MICROBIT_BLE_SECURITY_MODE 1
MicroBitBLEService::CreateCharacteristic( 0x101) = 23 0 0 0

When switching BLE_OPEN out for pairing with SECURITY_MODE_ENCRYPTION_NO_MITM as SECURITY_LEVEL I can pair and be "connected", but I cannot connect after the reset, also it seems to only advertise once at start-up. Connecting to it gives a "Device unreachable" in Bluetooth LE Explorer.

DMESG logs for SECURITY_MODE_ENCRYPTION_NO_MITM pairing
relocate vtor to 0x0 -> 0x20003800 0x20003800
MicroBitBLEManager::init
NRF_SDH_BLE_VS_UUID_COUNT = 4
NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE = 0x720
1412:microbit_ble_sdh_req_handler changeOK = 1
Just Works security
enableBonding
getBondCount 1
DEVICE_INFORMATION_SERVICE
servicesChanged
getBondCount 1
service_changed_pending for peer 0 = 1 (err 0x0)
configureAdvertising connectable 1, discoverable 1
whitelist 0, interval_ms 50, timeout_seconds 0
setTransmitPower 1
 BLE_GAP_TX_POWER_ROLE_ADV
advertise
pairingMode
stopAdvertising
configureAdvertising connectable 1, discoverable 1
whitelist 0, interval_ms 200, timeout_seconds 0
advertise
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pairingComplete UPDATE
BLE_GAP_EVT_CONNECTED 1
bleConnectionCallback 0
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pairingComplete UPDATE
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pairingComplete UPDATE
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pairingComplete UPDATE
pairingComplete UPDATE
BLE_GAP_EVT_AUTH_STATUS 1
pairingComplete AUTH
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pairingComplete UPDATE
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pairingComplete UPDATE
pairingComplete SUCCESS
18846:MicroBitBLEManager::idleCallback
MICROBIT_BLE_STATUS_DISCONNECT
microbit_ble_for_each_connected_disconnect 0
onDisconnect
advertise

DMESG logs for SECURITY_MODE_ENCRYPTION_NO_MITM after reset
Pairing mode resetrelocate vtor to 0x0 -> 0x20003800 0x20003800
MicroBitBLEManager::init
NRF_SDH_BLE_VS_UUID_COUNT = 4
NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE = 0x720
112:microbit_ble_sdh_req_handler changeOK = 1
Just Works security
DEVICE_INFORMATION_SERVICE
servicesChanged
getBondCount 1
service_changed_pending for peer 0 = 0 (err 0x0)
PM_EVT_PEER_DATA_UPDATE_SUCCEEDED
pm_local_database_has_changed complete after 3ms
configureAdvertising connectable 1, discoverable 1
whitelist 0, interval_ms 50, timeout_seconds 0
setTransmitPower 1
 BLE_GAP_TX_POWER_ROLE_ADV
advertise
MicroBitBLEService::RegisterBaseUUID bs_uuid_type = 2
MicroBitBLEService::CreateService( 0x100) = 21
MICROBIT_BLE_SECURITY_MODE 2
MicroBitBLEService::CreateCharacteristic( 0x101) = 23 0 0 0

For reference these are the defines I have set:
DEVICE_BLE=1
MICROBIT_BLE_ENABLED=1
MICROBIT_BLE_DFU_SERVICE=0
MICROBIT_BLE_DEVICE_INFORMATION_SERVICE=1
MICROBIT_BLE_PARTIAL_FLASHING=0

with for the BLE_OPEN logs
MICROBIT_BLE_OPEN=1

with the pairing one
MICROBIT_BLE_SECURITY_LEVEL=SECURITY_MODE_ENCRYPTION_NO_MITM

It did work once with MICROBIT_BLE_OPEN, but I have been unable to connect with it in that mode ever since.

Turns out I had managed to create a BLEService on the stack instead of the heap leading to this weird behaviour


Fixes #623, stores origination results in persistent state

This PR stores originations in the persistent state.
It also includes a very simple abstraction library for working with the state API from JS, with a design for supporting both NodeJS and Deno, but only NodeJS support implemented at this time.
Finally, it ensures that the environment object of the default configuration has an empty storage object.
This abstraction library allows you to do the following:
import loadProject from "@taqueria/state-js"

const {getOriginations} = await loadProject()
const results = getOriginations("increment.tz")
console.log(results)

This would output the following example output - a list of all originations for the above contract, sorted by newest to oldest:
[
    {
        "contract": "increment.tz",
        "address": "KT1EKViik91f9mtkU76m2wk2gvdM1hfxnWdV",
        "destination": "local",
        "time":<PHONE_NUMBER>595
    },
    {
        "contract": "increment.tz",
        "address": "KT1C7yufakcnPo1CRHdVwrHec9HXCcbx4LmJ",
        "destination": "local",
        "time":<PHONE_NUMBER>679
    },
    {
        "contract": "increment.tz",
        "address": "KT1VR3iqXC8JVkL2QpQyhsmqvUK1ZDyTa7tY",
        "destination": "local",
        "time":<PHONE_NUMBER>343
    }
]

Here's how to get the latest contract:
const [latest] = getOriginations("increment.tz")

Here's how to get a list of all contracts you've deployed to your "local" sandbox:
const results = getOriginations()
     .filter(contract => contract.destination === "local")

The above took 20 minutes, so I figured the value/time trade-off was worth it. If there's problems with it, we can always stripe it out + move it to a different branch to tackle later.
--
I should note too - this branch adds most task invocations to the persistent state. We should probably determine if that's appropriate, and whether some need to be excluded.

@hu3man @russellmorton do you think the state API should have its own package? I was tempted to put it in the SDK, but I thought the segmenting away from the plugin-author stuff might be worthwhile, to avoid any confusion when reading the docs. But if we'd sooner package it as part of the SDK, we can do that.

@hu3man @russellmorton do you think the state API should have its own package? I was tempted to put it in the SDK, but I thought the segmenting away from the plugin-author stuff might be worthwhile, to avoid any confusion when reading the docs. But if we'd sooner package it as part of the SDK, we can do that.

Creating it as its own package is ideal.


Add multi-"threaded" ability

Added the ability to split the task of processing portions of the image in separate processes to reduce time needed to produce final image.

Sweet, thank you!


Binding type: deployment is unusable due to single-file deployment

Describe the bug
With v5.26.0, a new property bindingType was introduced to some elements. It can be set to deployment for Camunda 8.6 diagrams. However, Desktop Modeler supports a single file deployment only. So I cannot benefit from the feature as long as I deploy from Desktop Modeler.
Steps to reproduce

Set bindingType to deployment
Try to deploy
You can only deploy the current diagram

Expected behavior
I can deploy multiple files. Either we could have a concept of process application like in Web Modeler, or simply expose a file picker like in the C7 deployment tool.
Environment

OS: [e.g. MacOS 10.2, Windows 10]
Camunda Modeler Version: v5.26.0
Execution Platform: C8
Installed plug-ins: [...]

Additional context
Multi-file deployment was discussed in the weekly: https://github.com/bpmn-io/internal-docs/issues/1015#issuecomment-2245121338
Brought up again via Slack: https://camunda.slack.com/archives/GP70M0J6M/p1722590739493789?thread_ts=1722511667.499869&cid=GP70M0J6M
Related to https://github.com/camunda/product-hub/issues/2458

I just discovered that Camunda 8.6.0-alpha.3 will fall back to the latest decision when no decisions were deployed even though bindingType=deployment is set.

I am moving this to the backlog right now.

Note that this is "unusable" only when deploying from the Desktop modeler (where we want to support project awareness / multi-file deployments).
It is fully usable if you deploy or test, process application style, i.e. via spring-zeebe.
I propose we close and/or rephrase this issue to "the ability to deploy multiple files" with Zeebe.

I updated the title to make a feature.

Will be supported as part of a process application (https://github.com/camunda/camunda-modeler/issues/4667).


[python] Add branch for exists CI

Codecov Report

Merging #9098 (68806bf) into dev (23b2450) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #9098   +/-   ##
=========================================
  Coverage     40.27%   40.27%
  Complexity     4363     4363
=========================================
  Files           808      808
  Lines         32547    32547
  Branches       3646     3646
=========================================
  Hits          13108    13108
  Misses        18210    18210
  Partials       1229     1229

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 23b2450...68806bf. Read the comment docs.

We test only integrate test run with commit bc6314c, test only python unit test in xxx, and test run both in xxxx.

close due to #10825


WIP: Config/Fields Generator

New page for generating config.php files

fixed the conflicts, should be ready to merge whenever 👍


Kyma Environment Broker must integrate with Cluster Inventory

Description
In order to provide support for dynamic kubeconfigs in the Control Plane, KEB must integrate with the Cluster Inventory.
Reasons
In the current architecture, KEB takes kubeconfig from the Provisioner, and creates a secret. The kubeconfig returned by the Provisioner is static, and should be no longer used by other components. Cluster Inventory is a new component that is responsible for dynamic kubeconfig management. KEB must delegate the task of kubeconfig secret creation to the Cluster Inventory by creating cluster CR.
Acceptance criteria

[ ] KEB must create Cluster CR containing the following data:

shoot name
secret name

[ ] Cluster CR must contain the same set of labels as defined here
[ ] KEB generates RuntimeID, instead of using the one generated by the Provisioner
[ ] Cluster CR name contains RuntimeID
[ ] The functionality in KEB is enabled by a feature flag

The exact structure of the CR will be defined in this issue: https://github.com/kyma-project/cluster-inventory/issues/9 .


unzip initContainer SSL certificate problem: unable to get local issuer certificate

FEATURE REQUEST: Add custom CA certificates
What happened:
We are using MINIO instead of S3 to store the zip functions.
The initContainer unzip:latest is getting an error when trying to curl MINIO:
curl: SSL certificate problem: unable to get local issuer certificate
This is because is signed with our internal CA, so the initContainer fails exactly on this line:

file: pkg/utils/kubelessutil.go
line: prepareCommand = appendToCommand(prepareCommand, fmt.Sprintf("curl '%s' -L --silent --output %s", function, fromURLFile))

Basically we have 3 options:

Option 1: Add a curl -k (bad approach)
Option 2: Mount our CA certificate inside the initContainer.
Option 3: Create a custom unzip image with the our CA inside. This is what I did and it works!

The problem with Option 3 is that it's not dynamic. If a change the S3 endpoint I'll have to recreate the docker image.
How can we achieve the Option 2 in a proper way?
How to reproduce it:
cat serverless.yml
service: poc-python

provider:
  name: kubeless
  runtime: python3.7
  namespace: lambda
  deploy:
    strategy: S3ZipContent
    options:
      accessKeyId: ${env:MINIO_ACCESS_KEY}
      secretAccessKey: ${env:MINIO_SECRET_KEY}
      endpoint: https://minio.example.com # This endpoint is external signed with our CA.
      bucket: serverless
      region: us-east-1
      s3ForcePathStyle: true

plugins:
  - serverless-kubeless

functions:
  main:
    handler: handler.hello

pip install -r requirements.txt -t requirements
zip -r artifact.zip requirements/ handler.py
sls deploy --config serverless.yml -v -p artifact.zip

Environment:

Kubernetes version: v1.20.0
Kubeless version: 1.0.8
Physical cluster

Got it to work by entering the deps directly in the yaml file


feat: provide selected to RowRenderer

this allows custom row renderers to render selected rows differently

Anyone home?

Unfortunately not often. Im updating the README to let any maintainers know

when will a release with this feature come out?


Chat v2

Description

What is the purpose of this pull request?

[x] New feature
[ ] Documentation update
[ ] Bug fix
[ ] Refactor
[ ] Release
[ ] Other

TODO:

Refactor conversation stuff from chat into conversation
Refresh the DOM index when oid changes. Listen in DOM, debounce and send a re-index.


update version

I can see now rnrf passes all tests.. Any reason why you guys dont bump version & publish to npm?

??

We have some regression after one commit:
https://github.com/aksonov/react-native-router-flux/issues/1151

@aksonov Do u guys have any estimations as to when the release will be published?


Fix hrefs for crawlers in top_nav

I think this point was brought up in slack earlier for the whoweare page but this isn't great for crawlers. Fix all the  in the top nav so the href is set correctly with i18n parameters
Originally posted by @nburt in https://github.com/findthemasks/findthemasks/pull/673

Closed by: https://github.com/findthemasks/findthemasks/pull/834


Doc/overall review

@Revathyvenugopal162 I finally found time to review the doc and cheat sheets. The doc had cheat sheet as one word instead of two. I also reordered the cheat sheets alphabetically on the doc landing page so that finding one might be easier, especially as the number grows. I'd especially appreciate your careful review of the Linux and Docker content in the README files. I also am assuming that the artifacts created when all checks run successfully will allow me to view the generated PDFs one final time before merging this PR. Please review and provide feedback when you can. Thanks!

@vnamdeo I made some edits to your new PyDPF-Post cheat sheet in this PR so that it is consistent with the others. I also alphabetized the order in which cheat sheets are listed on the landing page for the PyAnsys Cheat Sheets doc. Note that I will be creating a PR in PyDPF-Post shortly to add links to these new sheets. First, however, I need to know if your new cheat sheet is approved for release. Would you mind confirming that it is? Thanks.

@PipKat Thank you so much for the review, i can see the pymechanical and pyfluent cheat sheets are misaligned in artifacts. and a minor change in pymapdl cheat sheet Other than that, looks good to me , thanks again for the hardwork.

@Revathyvenugopal162 Fixing alignment sounds like it probably requires your expertise. Learning how to work in LaTeX files isn't the easiest task! Please make those fixes. Also, I'd like to look at the new cheat sheet for PyMotorCAD to implement the same changes as in the others. Should I do this in https://github.com/ansys/pyansys-cheat-sheet/pull/60 after Esther's review?

@Revathyvenugopal162 Fixing alignment sounds like it probably requires your expertise. Learning how to work in LaTeX files isn't the easiest task! Please make those fixes for me and then also accept and merge this PR! On another note, I'd like to look at the new cheat sheet for PyMotorCAD to implement the same changes as I've made here in this PR. Should I do this in #60 after Esther's review? Or would you prefer I create a new PR after that one is accepted and merged? Lastly, are the PyPDF-Post and PyMotorCAD cheat sheets ready to release to the public? I ask because I'd want to add links to these cheat sheets in their respective documentation.

Thanks for the review @PipKat , i resolved all alignment issues
It is up to, if you want to add the review in #60, let me know, i can wait until you finish the review and merge it, but if you prefer open another PR, that will also work, pymotorcad will be available public only after your review and merge the PR
Pydpf-post will be available after we merge this PR.


Update sidebar items and style

Pull Request
Description
Fixed the problem of the sidebar scrolling with page and added back the sidebar items (assignments, submissions, log out).
Related Issue(s)

Screenshots (if applicable)
Collapsed:

Expanded:

Checklist

[ ] I have checked that the changes included in the PR are intended to merge to master or any destination branch.
[ ] I have verified that the new changes do not break any existing functionalities, unless the new changes are intended and have approved by the team.
[ ] I will take care of the merging and delete the side-branch after the PR is merged.

Additional Notes/References
I saw a previous commit fixing the sidebar but I think it made the sidebar scrollable, this sidebar should be the full height of the screen and shouldn't be scrollable.

Hmm, I tested on my local comp with 16 inches screen, the assignment page doesn't seem to render well with sidebar:

Hmm, I tested on my local comp with 16 inches screen, the assignment page doesn't seem to render well with sidebar:

could you try again! i think i managed to fix the layout issue causing this

Ok yes the render issue has been fixed, but I notice that when I first run yarn dev, the avatar in the sidebar will not show up and none of the links in the sidebar are clickable, do you have any idea what causes this? See the screenshot below for example:

Ah and also I am a bit confused for the build error, can you try pulling from master branch to fetch the latest changes that will resolve the error and see if there are any build error?

Ah and also I am a bit confused for the build error, can you try pulling from master branch to fetch the latest changes that will resolve the error and see if there are any build error?

after pulling from main, i'm getting error when i try to yarn dev, do you know how to fix this?

Ah and also I am a bit confused for the build error, can you try pulling from master branch to fetch the latest changes that will resolve the error and see if there are any build error?

there aren't any build errors on my side after running yarn build... could you post a screenshot of the error?

Ok yes the render issue has been fixed, but I notice that when I first run yarn dev, the avatar in the sidebar will not show up and none of the links in the sidebar are clickable, do you have any idea what causes this? See the screenshot below for example:  A refresh will solve this problem, but not sure what happens tho... (perhaps you can try using useEffect to ensure you have retrieve the avatar before rendering?)

with regards to the buttons, can you check if the url has changed after clicking on the buttons? because they should bring you to assignments/dashboard and assignments/submissions respectively, but since the PR containing these hasn't been merged yet, so currently both urls are still bringing you to the assignment page.
also i'm not facing the avatar issue (for me it loads without having to refresh the page) so i'm not really sure what's wrong with that...

Ok great, there is no more build error on my side as well. But the problem I mentioned above regarding the avatar cannot be rendered in the sidebar on the first run still persists, and it only occurs in dev (when I run yarn dev), and not in production (yarn build follow by yarn start).

Ok the problem is something with the React strictMode, we can either add reactStrictMode: false to next.config.mjs, or simply ignore this.

Ok the problem is something with the React strictMode, we can either add reactStrictMode: false to next.config.mjs, or simply ignore this.

hmm, for now i added a fallback, so the avatar should load with the user's name before the image is done loading


Can't Console initalizing at php7.4 with Typed Properties

Laravel Version: 6.10.0
PHP Version: 7.4.1

Description:
Hi, I'm laravel user, I'm try to adding artisan console with php 7.4, I encounter Some Error.
> In My Code
class test extends Command
{
    protected string $signature = 'test:test';

    /**
     * The console command description.
     *
     * @var string
     */
    protected string $description = 'test command for debug';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {

> Occured Error
$ php artisan

   Symfony\Component\Debug\Exception\FatalThrowableError  : Typed property Illuminate\Console\Command::$description must not be accessed before initialization

  at /var/www/foo/vendor/laravel/framework/src/Illuminate/Console/Command.php:118
    114|
    115|         // Once we have constructed the command, we'll set the description and other
    116|         // related properties of the command. If a signature wasn't used to build
    117|         // the command we'll set the arguments and the options on this command.
  > 118|         $this->setDescription((string) $this->description);
    119|
    120|         $this->setHelp((string) $this->help);
    121|
    122|         $this->setHidden($this->isHidden());

  Exception trace:

  1   Illuminate\Console\Command::__construct()
      /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClosureCommand.php:32

  2   Illuminate\Foundation\Console\ClosureCommand::__construct()
      /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:203

  Please use the argument -v to see more details.

I use php artisan make:command, and I setup command's signature and description.
Artisan make my custom command class with no typed properties. so I setup that.
(using command before properties type, it occuring error)
> In My Code
class test extends Command
{
    protected $signature = 'test:test';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'test command for debug';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {

> Occured ERROR
$ php artisan

PHP Fatal error:  Type of App\Console\Commands\test::$signature must be string (as in class Illuminate\Console\Command) in /var/www/foo/app/Console/Commands/test.php on line 38
PHP Stack trace:
PHP   1. {main}() /var/www/foo/artisan:0
PHP   2. App\Console\Kernel->handle() /var/www/foo/artisan:37
PHP   3. App\Console\Kernel->bootstrap() /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129
PHP   4. App\Console\Kernel->commands() /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:326
PHP   5. App\Console\Kernel->load() /var/www/foo/app/Console/Kernel.php:38
PHP   6. is_subclass_of() /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:239
PHP   7. spl_autoload_call() /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:239
PHP   8. Composer\Autoload\ClassLoader->loadClass() /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:239
PHP   9. Composer\Autoload\includeFile() /var/www/foo/vendor/composer/ClassLoader.php:322

   Symfony\Component\Debug\Exception\FatalErrorException  : Type of App\Console\Commands\test::$signature must be string (as in class Illuminate\Console\Command)

  at /var/www/foo/app/Console/Commands/test.php:38
    34|
    35|     public function handle() {
    36|
    37|     }
  > 38| }
    39|

  Exception trace:

  1   Symfony\Component\Debug\Exception\FatalErrorException::__construct()
      /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:148

  2   Illuminate\Foundation\Bootstrap\HandleExceptions::fatalExceptionFromError()
      /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:134

  Please use the argument -v to see more details.

   Whoops\Exception\ErrorException  : Type of App\Console\Commands\test::$signature must be string (as in class Illuminate\Console\Command)

  at /var/www/foo/app/Console/Commands/test.php:38
    34|
    35|     public function handle() {
    36|
    37|     }
  > 38| }
    39|

  Exception trace:

  1   Composer\Autoload\includeFile()
      /var/www/foo/vendor/composer/ClassLoader.php:322

  2   Composer\Autoload\ClassLoader::loadClass()
      /var/www/foo/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:239

  Please use the argument -v to see more details.

This is Only in My Develop environment Bug? or laravel is not to ready to use with php 7.4 yet?
I do not have to use php 7.4, so I will downgrade to php 7.3.

You don't need to add types to your properties in order to upgrade to php 7.4.

You can't add these types as the base class doesn't implement these. Since Laravel still needs to support PHP 7.2 and 7.3 we won't be adding these types ourselves anytime soon.

I found what is real problem.
I'm using phpstorm 2019.2. when I adding missing typed property in My Command class, IDE is Automatically adding type property at original Command class.
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected string $signature; # << Automatically  added typed

    /**
     * The console command name.
     *
     * @var string
     */
    protected $name;

    /**
     * The console command description.
     *
     * @var string|null
     */
    protected string $description; # << Automatically  added typed

so, It effect artisan command run.
My problem solved by deleting added typed property at original Command class.
Thank you for answer!

I had this issue happen on PHPStorm 2020.1.1
i.e. the IDE is automatically adding the type properties to the base class when you use the IDE feature to add them to your class.


Fixes found with -ffreestanding disabled

Here's a collection of fixes to drivers, subsys, tests and samples to resolve compiler warnings and errors found when -ffreestanding is taken out of the compiler command line, leaving it able to detect problems when using standard C library functions.
I think there are a couple of real bugs found here, although most of the changes relate to buffers sized for numbers not expected to span the full range of their declared type.
This series is no longer stacked on top of the picolibc-module series so printk/cbprintf errors will not be checked until those patches are also merged.
Closes: #45157
Depends on #44096 (includes commits from #44096)

Rebased

Rebased

Thanks; lemme get it actually passing all of the tests before we rebase; it's sitting on top of two pending PRs and I don't want to rebase those until reviews have finished to avoid confusing reviewers. It's been interesting finding all of the places clang discovers issues with the current code...

I rebased this back to main so it can be reviewed independently of the picolibc merge.


Directing to first page if sorting applied to table contents in pages other than first page

Description:
User is getting directing to first page if sorting applied to table contents in pages other than first page.
https://user-images.githubusercontent.com/55895538/120318143-77b74e80-c31a-11eb-8c01-8afe58c80765.mp4

I think this is expected behavior.
If a user changes sort order he would sort the data for the whole table, so data on the 2nd page would be completely changed. So it makes sense to start from the first page if the sorting order is changed.

Closing the issue as its expected.


Where sessions are stored ? any file or database ?

Hy
Please help me in knowing the destination where collected/captured session tokens are stored (any file or database) ?

just type sessions


hi! please fix API method api/v1/owners/

gives either an empty number (although there must be an address) or 502

@rocketport the endpoint is working correctly, could you provide more information? at least the request that you are trying to do? ensure that you are in the correct chain.


Upgrade metrics to 3.2.2

Coverage remained the same at 92.558% when pulling d09030a16970bdb13bae26d9a4e7e56137925877 on efenderbosch:master into 23bb0a84349c9eeb7252cd80f7a404e14ae84c0e on astefanutti:master.

Merged. Thanks a lot for the PR!

Any chance you can drop SNAPSHOT and push 1.2 in the near future?

I've just released version 1.2.0.


Package request: gnomeExtensions.pass-search-provider

Project description
pass-search-provider is a search provider for Gnome Shell which adds support for searching passwords from pass, among others.
Metadata

homepage URL: https://github.com/jle64/gnome-pass-search-provider
source URL: https://github.com/jle64/gnome-pass-search-provider
license: gpl3
platforms: unix, linux

Priorities
Add a :+1: reaction to issues you find important.

I don't know if it works or not, but the extension is at gnome40Extensions."gnome-extension-pass-search-provider.lavrov.github.com".

Thanks a lot @honnip. I didn't know about gnome40Extensions.*.


Product does not get deployed in RHEL 7.x

Description:
When running test-plans on RHEL 7.x, the product does not get deployed due to shell script issues since it contains unsupported commands on RHEL 7.x.
Affected Product Version:
0.9.0-m18
Related Issues:
#483

This will be fixed with the commit [1].
[1]. https://github.com/harshanL/cloudformation-is/commit/78d4207e8225ef6a11645fe9feb4eed342be079c


Absolutely! I'm also exploring https://github.com/fredrikekre/Literate.jl that would let us write examples in a way that can be generated for docs, notebooks and scripts ... so that may be a more elegant solution.  I will only be able to work on this next week though as I have a deadline for Liz. Do you want to set up Documenter in the mean time?

Literate looks like the perfect solution - it looks like we can generate Documenter pages, plain text Julia files, and Jupyter notebooks all from the same source.
Let's aim to meet sometime next week and set up Documenter and Literate.


Resources related to programming languages

add resources related to programming languages

What kind of resources are you looking for specifically?

Useful resources for learners. Like tutorials, explanation for algorithms.

OK, I'd be happy to add some!

I've added some resources on a branch if you can give me permission to push to the repo.

Fork the repo and create the pull request. I think it is easy to manage.

Sorry, I've never done a PR before! Let me fork it.

It's ok. If you want any help ask me.

OK, I forked, did my changes, and submitted the PR. I have some more resources I can add tomorrow!


Added banners for battle.net except Starcraft I & II

Hello! I check Launchbox Games database and found images that can be used as banners for battle.net. I failed to get from that or another web banners for Starcraft I and II, but at least only remains those 2 and not all.
There are banners that are bigger and other smallers, but I downloaded all of them within Rainmeter and in my opinion do their job properly. I let here the links so you can check them easily if you want:

https://images.launchbox-app.com/09b1d6e3-316d-44d8-beca-90b87eb18c35.jpg
https://images.launchbox-app.com/34b4f780-34a2-42f0-a4ea-fa78933dd5e8.jpg
https://images.launchbox-app.com/09a032b5-b86e-435a-b75a-264fcaa8a05d.png
https://images.launchbox-app.com/cb0aba61-915e-40e3-b2e1-187158819711.jpg
https://images.launchbox-app.com/9c1d2d30-8845-4b8a-89e6-632abab530c5.png
https://images.launchbox-app.com/5aa3fd48-4edd-4d8a-a302-9eed46f3e471.png

EDIT: This is how they look with default slot banner size: (don't know if Github compress photograps)

Due to security concerns I'd rather not automatically download stuff from a server that neither I nor the developers of a supported platform have control over.

Understood :thumbsup:


Problem with python 3.5

Wondering if keyczar supports python 3? Got the following error when try to import:

from keyczar import keyczar
Traceback (most recent call last):
File "", line 1, in
File "/Users/dachulin/.pyenv/versions/3.5.2/lib/python3.5/site-packages/keyczar/keyczar.py", line 26, in
import errors
ImportError: No module named 'errors'

Python2.7 works fine.

My python-fu is very weak so I can't comment on the specifics.
But I would be happy to provide moral support, run tests, and review pull requests if you wanted to dive into fixing any incompatibilities.

@dachulin That's probably because keyczar isn't python 3 compatible. That import line should have been import .errors. Will try to do a PR if I can

Voting up for this issue!

+1 Any status update on this?

Why is this issue still not solved!!

I also have the same issue with python 3.6

Python3 is not supported... and neither is Keyczar.  I recommend Tink.

I still have this problem with python3.8, how to solve it?


Corrupted uploaded file on a bridged irc room

Reported by @lime_:matrix.org
after sharing a file from one 1-1 conversation to a bridged irc room, the file after an apparent successful upload, appears corrupted
https://riot.im/bugreports/listing/2017-05-03/204610/details.log.gz

It is a P2 because it seems working on most cases


Cannot rapidly emit events from the server

I'm working on an application that sends video (in the form of a screenshot) from a server to a client (let's assume there's just one client for now). The client receives that screenshot and displays it.
Previously I had a working version where the client would send an event to the server to request for each screenshot individually but it was slow (obviously). So I threw the video/screenshot emitting part to another threading so that it would keep sending video forever and ever and ever...
Unfortunately, the sio.emit thing doesn't really emit anything. I've spent all my free time in the past 2 weeks to fix this so I was wondering if someone could give me an idea of how to rapidly emit events from the server?
#!/usr/bin/python3

import eventlet
import socketio
from serverwindow import Serverwindow
from pynput.keyboard import Key, Controller
import threading

controller = Controller()

sio = socketio.Server()
sw = Serverwindow() # basically a pygame window + ability to take screenshots
app = socketio.WSGIApp(
    sio
)

class Sender (threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
    def run(self):
        global sio
        while True:# replace sw.get_screenshot() with some random string
            sio.emit('video', sw.get_screenshot())

@sio.event
def connect(sid, environ):
    print("connect ", sid)

@sio.on("keypress")
def keypress(sid, data):
    controller.press(data)

@sio.on("keyrelease")
def keyrelease(sid, data):
    controller.release(data)

@sio.event
def disconnect(sid):
    print("disconnect ", sid)

if __name__ == "__main__":
    s = Sender()
    s.start()
    eventlet.wsgi.server(eventlet.listen(("", 5000)), app)

Okay so this kinda works now.
The server is now up and I can actually run the thread in the background
but my client receives absolutely nothing.
sio.emit in Sender fails to actually emit anything. not sure why?
#!/usr/bin/python3.6

import eventlet
import socketio
from serverwindow import Serverwindow
from pynput.keyboard import Key, Controller
import threading
import time
controller = Controller()

sw = Serverwindow()
sio = socketio.Server()
app = socketio.WSGIApp(
    sio
)

class Sender (threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
    def run(self):
        while True:
            global sio
            data = sw.get_screenshot()
            sio.emit('video', data)
            print("sending video")
            time.sleep(2);

@sio.event
def connect(sid, environ):
    print("connect ", sid)

@sio.on("keypress")
def keypress(sid, data):
    controller.press(data)

@sio.on("keyrelease")
def keyrelease(sid, data):
    controller.release(data)

@sio.event
def disconnect(sid):
    print("disconnect ", sid)

if __name__ == "__main__":
    s = Sender()
    sio.start_background_task(s.start)
    print("woohoo")
    eventlet.wsgi.server(eventlet.listen(("", 5000)), app)

wrong repository


⚠ Spryr has degraded performance

In 62b8461, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4208 ms

Resolved: Spryr performance has improved in dbaea04 after 52 minutes.


Writing CSVs should be easier

Table.write
Table.serialize
something

How do I do this without getting into formatting hell?

Writing a Tableset should take a directory name. And then output files with table keys as names.


add proguard Cannot call the callback.

add proguard Cannot call the callback,
i had add below in the proguard_rule file:
-keep class kr.co.namee.permissiongen.** { ; }
-dontwarn kr.co.namee.permissiongen.*
it can not work

try this
-keepattributes Annotation
-keepclassmembers class ** {
@kr.co.namee.permissiongen.PermissionSuccess public *;
@kr.co.namee.permissiongen.PermissionFail public *;
}

@wang8651971 @lovedise I tried your confusion, but the release still can not call back success or failure


Api endpoints

Hi There 👋
In this repo: Project requirements

Sign in and authorization

Create an API endpoint to list all posts for a user.

Create an API endpoint to list all comments for a user's post.

Create an API endpoint to add a comment to a post.

Hi Please note that my partner collaboration ha been low and I raised the issue with the students success..see below...please review and be considerate of the situation.


Validation occurs before the user interacts with the form fields

I saw in the demo that the password field is showing the error message at the beginning, without  user interaction with any of the form fields. I think this is not the expected behavior of the forms in angular.

see #99


chore: rename some files and configuration

Which issue does this PR close?
Closes #
Rationale for this change
Modify some configuration and file names.

What changes are included in this PR?

Rename some dir names in integration tests.
Remove useless file.
Add cluster example configuration.

Are there any user-facing changes?
No.

How does this change test
No need.

Codecov Report

Merging #674 (ed07279) into main (9e06dcc) will increase coverage by 0.26%.
The diff coverage is 28.67%.

:exclamation: Current head ed07279 differs from pull request most recent head 780bb5b. Consider uploading reports for the commit 780bb5b to get more accurate results

@@            Coverage Diff             @@
##             main     #674      +/-   ##
==========================================
+ Coverage   67.28%   67.55%   +0.26%
==========================================
  Files         283      281       -2
  Lines       44491    44302     -189
==========================================
- Hits        29935    29926       -9
+ Misses      14556    14376     -180

Impacted Files
Coverage Δ

analytic_engine/src/instance/write.rs
86.95% <ø> (-0.10%)
:arrow_down:

analytic_engine/src/lib.rs
98.76% <ø> (ø)

common_types/src/lib.rs
100.00% <ø> (ø)

common_util/src/lib.rs
100.00% <ø> (ø)

router/src/cluster_based.rs
0.00% <ø> (ø)

router/src/rule_based.rs
0.00% <ø> (ø)

server/src/grpc/forward.rs
79.48% <ø> (-0.08%)
:arrow_down:

server/src/grpc/remote_engine_service/mod.rs
0.00% <0.00%> (ø)

src/bin/ceresdb-server.rs
1.53% <0.00%> (-0.25%)
:arrow_down:

table_engine/src/remote/model.rs
0.00% <0.00%> (ø)

... and 8 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Data inconsistency in master-slave replication on certain situation

Describe the bug
If we run kvrocks in master-slave structure, the data consistency may not be guaranteed on certain situation. Consider this situation, after all master data have been replicate to slave, we write a new key which will increase the sequence of rocksdb more than 20, then if we stop writing, this new key will not be copied to slave. The key will not be sent，util new data with sequence increment less than 20 or the length of master-slave replication queue exceeds 20. This situation will cause data inconsistency.

OS: Linux 3.10.0_3-0-0-36 x86_64
Version: all

To Reproduce
Steps to reproduce the behavior:

Start two kvrocks servers and establish master-slave replication relationship.
After replication, write a hash key with more than 20 f-v pairs, like hmset hkey f1 v1 f2 v2 ....... f21 v21, then stop writing.
Check replication info on master and slave, then the following result will be gotten:

In above picture, master info is on left side, slave is on right side. We can get that offset=69,lag=0 on master and slave_repl_offset:47 on slave. offset represents the slave's sequence recorded on master which is 69, and lag=0 represents there is no lag between master and slave. In other words, from the perspective of master, slave and master are synchronized. But, on slave‘s perspective, slave_repl_offset is 47 which means slave lags behind master, it is not synchronized with master.
Check keys on both master and slave, we will get this:

Also, left side is mater and right side is slave in above picture. We can see that the new key hkey is not copied to slave.

Expected behavior
On slave, slave_repl_offset should be 69 too, and key hkey should exist.
Reason analysis
In FeedSlaveThread::loop(), if (... || latest_seq - batch.sequence <= 20 || batch_list.size() >= 20)  is adopted to improve data transmission efficiency in incremental replication phase. But, after all data being synchronized,  latest_seq - batch.sequence <= 20 will cause the bug described above

let me fix that, and i want to lightly refactor other somethings


ESP_EVENT_ANY_ID - invalid conversion from 'int' to 'esp_mqtt_event_id_t' (IDFGH-2717)

This error occurs when compiling with C++, in plain C it works fine.
/opt/esp/idf/components/esp_event/include/esp_event_base.h:37:32: error: invalid conversion from 'int' to 'esp_mqtt_event_id_t' [-fpermissive]
 #define ESP_EVENT_ANY_ID       -1               /**< register handler for any event id */
                                ^~
../main/MQTT_Client.cpp:31:47: note: in expansion of macro 'ESP_EVENT_ANY_ID'
  esp_mqtt_client_register_event(this->client, ESP_EVENT_ANY_ID, mqtt_event_handler, this->client);
                                               ^~~~~~~~~~~~~~~~

Also explicit casting is not working, because -1 is not in the range of the enum.

Hi @klaassd, thanks for posting this issue! Could you please tell us more about your environment? In particular the IDF version and code that leads to the issue would be helpful.

OK, no need to post the environment, it's definitely an incompatibility between the MQTT event types and general event types. We're gonna have a look at that.

Hi,
I use espressif/idf docker container. Since I checked out the latest version I use the master branch from idf. In detail this is commit 93a8603c545fb8e54741d6685146e2f3b874378d from Nov 18th 2019. Sorry, that I can't tell a specific version.
This is my constructor causing the error:
WifiConnection::WifiConnection(wifi_config_t* config) :
	RtosThread(taskName, taskStackDepth, taskPrio),
	s_retry_num(0)
{
    s_wifi_event_group = xEventGroupCreate();

    esp_netif_init();

    ESP_ERROR_CHECK(esp_event_loop_create_default());
    esp_netif_create_default_wifi_sta();

    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));

    ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &wifi_event_handler, NULL));
    ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &wifi_event_handler, NULL));

    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) );
    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, config) );
}

Hi @Oxjakob, sorry didn't refresh the page before answering. Thanks for having a look at it!


When dark theme is enabled from settings, material you theming is not working.

Describe the bug
When dark theme is selected from settings (settings>Theme>dark), material you theming/monet theming is not working.
Even toolbar is not changing it's colour according to website's meta theme.
To Reproduce
Steps to reproduce the behavior:
select dark theme from settings (settings>Theme>dark)
Expected behavior
Even if dark theme is selected from settings, the app should follow material you theming.
Screenshots
When dark mode is off:-

When dark mode is on:-

Smartphone:

Device: [ Realme Narzo 30 4g ]
Android : [A12 ]
Kiwi Browser Version :- 107.0.5304.75

Additional context

Please fix it


[WIP] code base of Kafka trigger controller

code base of Kafka trigger controller pulled from https://github.com/kubeless/kubeless
No functional chages. Just moving the code to new repo, setting up scripts to build the binary, docker images etc and also CI to test the controller independenly.

Will re-open a new one with propoer commit history


Subjects already_seen field changes depending on how its accessed

It looks like when I get a subject back through /subjects?project_id=231&workflow_id=622&sort=cellect, its already_seen property is accurate, but through /subjects?collection_id=10&id=11937 (and /subjects/11937) It's always false.
Can we only include the attribute when we're sure of its accuracy?
Might apply to retired, too, but I haven't checked.

That information via the sort=cellect is correct. Looks like a bug in the serializer.

I don't think it should be included at unless the conditional attributes in RestPack aren't working https://github.com/zooniverse/Panoptes/blob/master/app/serializers/subject_serializer.rb#L8-L9

yeah - i've got a PR coming through.


Add sloped sprites to wbr2a

The next of my sloped wall PRs. As before, these sprites were made by ripping existing sprites and hand-editing in Paint.NET. Pinging @ZeeMaji for review.
Unlike wbr1 (#302), the wbr2 fence doesn't have level brickwork on slopes, so I've kept this behavior with wbr2a.

Looks good to me.


Improvements to loading token icons

:tada: This PR is included in version 1.4.8 :tada:
Your semantic-release bot :package::rocket:


Provide a way to adapt CompletableFuture into AsyncMethodCallback and vice versa

#112

Provide a method that returns a new AsyncMethodCallback who updates the state of a specified CompletableFuture when its onComplete() or onError() is called.
Provide a method that returns a new CompletableFuture who updates the state of a specified AsyncMethodCallback when its complete(), completeExceptionally() or cancel() is called.

e.g.
client.hello("World", FutureConversions.toAsyncMethodCallback(myCompletableFuture));

public void hello(String name, AsyncMethodCallback cb) throws TException {
    otherClient.getGreetings(name, FutureConversions.toCompletableFuture(cb));
}

We might want to add similar methods for Netty promises/futures.

I think the callers code would look closer to this
CompletableFuture<HelloResponse> future = new ThriftCallbackFuture<>();
client.hello("World", future);
return future;

public void hello(String name, AsyncMethodCallback cb) throws TException {
    CompletableFuture<GreetingsResponse> future = new ThriftCallbackFuture<>();
    otherClient.getGreetings(name, future);
    FutureConversions.setFutureResult(future, cb);
}

For reference in case they help, I've written these in server code for adapting with ListenableFuture and use them all the time
/**
 * A listenable future that can be passed in as an {@link AsyncMethodCallback}
 * when making an asynchronous thrift client rpc.
 */
public class ThriftCallbackListenableFuture<T> extends AbstractFuture<T> implements AsyncMethodCallback<T> {

    @Override
    public void onComplete(T t) {
        set(t);
    }

    @Override
    public void onError(Exception e) {
        setException(e);
    }
}

private static <T> void setAsyncResult(AsyncMethodCallback<T> resultHandler, ListenableFuture<T> future) {
        FuturesExtra.addCallback(future, resultHandler::onComplete, t -> {
            logger.warn("Failed to handle request:{}", t, t);
            MyException thrown;
            if (t instanceof MyException) {
                thrown = (MyException) t;
            } else if (t.getCause() instanceof MyException) {
                thrown = (MyException) t.getCause();
            } else if (t instanceof IllegalArgumentException) {
                thrown = new MyException().setCode(MyErrorCode.ILLEGAL_ARGUMENT).setReason(t.getMessage());
            } else {
                thrown = new MyException().setCode(MyErrorCode.INTERNAL_SERVER_ERROR);
                thrown.initCause(t);
            }
            resultHandler.onError(thrown);
        });
    }

I guess translating unknown exceptions to thrift exceptions may be relatively normal and make writing setAsyncResult generically more difficult.

From Finagle experience, the hello method is better like
CompletableFuture<HelloResponse> hello(String name) throws TException
caller can use CompletableFuture to composite multiple invoke.
Does it make sense in armeria use cases? Is it difficult to implement?

CompletableFuture<HelloResponse> future = new ThriftCallbackFuture<>();
client.hello("World", future);
return future;

@anuraaga How can this be done? client.hello() requires an AsyncMethodCallback.

From Finagle experience, the hello method is better like
CompletableFuture<HelloResponse> hello(String name) throws TException
caller can use CompletableFuture to composite multiple invoke.
Does it make sense in armeria use cases? Is it difficult to implement?

As mentioned in #112, that would require us to write a code generator. This issue is not about fixing Apache Thrift compiler but providing some adaptation utility until we have a great Thrift compiler.

@trustin Sorry, my example does have a slight typo, indeed future has to be declared as ThriftCallbackFuture. But then it works since ThriftCallbackFuture implements AsyncMethodCallback but extends CompletableFuture - it can be passed to client.hello() just fine but it's future whenComplete etc methods will also work since we pass the data from thrift's callbacks into the future's completion methods.

I think https://github.com/line/armeria/pull/347 solves this issue. WDYT @trustin ?

Right. Closing. :-)


[FLAKE] Ruby: GemNotFound: Could not find gem 'facter (~> 2.4)'

+ bundle exec rake gem:native
bundler: failed to load command: rake (/usr/local/rvm/rubies/ruby-2.4.1/bin/rake)
Bundler::GemNotFound: Could not find gem 'facter (~> 2.4)' in any of the gem sources listed in your Gemfile.
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/resolver.rb:287:in `block in verify_gemfile_dependencies_are_found!'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/resolver.rb:255:in `each'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/resolver.rb:255:in `verify_gemfile_dependencies_are_found!'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/resolver.rb:49:in `start'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/resolver.rb:22:in `resolve'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/definition.rb:258:in `resolve'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/definition.rb:170:in `specs'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/definition.rb:237:in `specs_for'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/definition.rb:226:in `requested_specs'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/runtime.rb:108:in `block in definition_method'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/runtime.rb:20:in `setup'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler.rb:107:in `setup'
  /usr/local/rvm/gems/ruby-2.4.1/gems/bundler-1.17.3/lib/bundler/setup.rb:20:in `<top (required)>'
  /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'

https://source.cloud.google.com/results/invocations/8ebb54cf-fd93-4170-801c-924d33612fdc/targets/grpc%2Fcore%2Fpull_request%2Flinux%2Fgrpc_build_artifacts/log

fixed by https://github.com/grpc/grpc/pull/28522


Update Quaternion.cs

Change the quaternion normalize check for the * operation, as the check is incorrectly placed on * (quaternion, vector3) and it should be on *(vector3, quaternion) as it need to be normalized in order to make a quaternion.inverse()

Hey there! Is this reported somewhere?

No that's I'm aware of. I encounter this issue as a lot of my execution code just stopped and it was nailed down to this check, that as stated it doesn't need to be in that operation (quaternion, vector3), as it's not doing an inverse as the other one (vector3, quaternion) where you need the quaternion to be normalized.

These checks mirror the C++ MATH_CHECKS:
https://github.com/godotengine/godot/blob/bdd9034ad05e1824ff5d9c750acd87caeafe6dca/core/math/quaternion.h#L91-L102

Quaternion::xform(Vector3) is the equivalent of Quaternion * Vector3.
Quaternion::xform_inv(Vector3) is the equivalent of Vector3 * Quaternion.

So it seems like the checks are already in the right place.
To be clear, the check exists in both, it's just that Vector3 * Quaternion hides it inside the Quaternion.Inverse method.

Thanks for the reply. You are correct both are being check and not only *(Quaternion, Vector3)
I will close this and follow with a proper proposal regarding the quaternion normalization


contact-number-bug-fixed

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.

Issue #509

I removed the increasing or decreasing feature from contact number , as you can see in  above and below image


Missing files inside project

Few files are missing in the project, which stop xcode to compile project properly. I tried to make it correct.

hi @ashar02 sorry this has been so delayed, I promise I'll take care as soon as I can. Looks like minor mostly metadata changes right? If you need me to merge a critical bug, please issue a separate PR. Thanks and have a good year!


Fix crash when save folder is empty and manage corrupted savegame file

Fixes https://github.com/godot-escoria/escoria-issues/issues/121
Fixes https://github.com/godot-escoria/escoria-issues/issues/122

Personally I wish Godot would split out matches from captures to make them easier to read in code, but oh well.

wdym? Do you mean, that the capture groups should be easier to address? Godot supports named capture groups. So we could go with save_(?<save_id>[0-9]{3})\\.tres and use match.names["save_id"].

Personally I wish Godot would split out matches from captures to make them easier to read in code, but oh well.

wdym? Do you mean, that the capture groups should be easier to address? Godot supports named capture groups. So we could go with save_(?<save_id>[0-9]{3})\\.tres and use match.names["save_id"].

Oh, that's good! In that case, I'll make another suggestion for a change. Thanks!


Small area

This code is useful for slicing out a small area of the data on Pleiades. The defaults are for the agulhas region from the Jones et al. Lagrangian filtering preprint. I decided to put it on a new branch since it is still in development.

@cspencerjones - can we merge this to master?

To be clear, you want to merge to master, not just to the small-area branch? We can do that if you want. It's not super clean code (which is why I have kept it on a branch) but the original isn't either I suppose.

To be clear, you want to merge to master, not just to the small-area branch?

I was confused about which version of the scripts to work with - master, ocean-transport:small-area, or your forked branch cspencerjones:small-area.
I suggested merging it to master as the version in master branch is considered the usable/latest one.

It's not super clean code (which is why I have kept it on a branch) but the original isn't either I suppose.

I can help with cleaning this up if you could list all the improvements we need to make.

This is now in #6


[PAL Table] Process related Console errors while accessing PAL tables

What package is this for?

[x] React
[ ] Angular

Describe the bug
Process related Console errors while Sorting, Row click, Row expand in PAL table, though the functionalities work fine.
To Reproduce
PAL Table > Stateful Table > Click on any column for sorting
PAL Table > Nested Rows Table > Click on down key arrow to collapse
PAL Table > Large Table > Click on any row
Console Errors when reproduced

Expected behavior
Functionalities works fine, console needs to get rid of the warnings and errors

Closing as we are unable to reproduce. Please re-open if you feel like this is still an issue.


[Feature proposal] Add extra attributes on UIElements

Like a class name on each image in the image_collection, etc…
Or should that be implemented in userland?

@jacquesbh closing as it should be done in custom UiElements and/or templates


HWP-401: Frontend - Show community, creator name, and comment count on posts

Description
This PR includes the following proposed change(s):

Shows community, creator name, and comment count on posts in post feed.
Shows community and creator name on post in post view.
Clicking on community in post will redirect to the community page.

Requires
Add 'Requires Attention' label if appropriate.

[ ] Requires an update to the .env file
[ ] Requires adding a file listed in the .gitignore
[ ] Requires an opinion or answer to a question, see comments.
[ ] Requires other attention, see below.

If there are any requirements for the developer to make after this PR is merged please list them here.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Viewed posts in homepage and on post view.
For pull requests that are not just a simple fix, please check that the branch works on your local machine.

[ ] Tested by Zach.
[x] Tested by Brandon.
[x] Tested by Brady.

Does the change impact or break the Docker build?

[ ] Yes
[x] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[ ] No

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes
[ ] If attention is required by the developer such as updating the .env file, these requirements have been listed.

Tested. Works brilliantly! Starting to feel like a real app.


Improvement: Add the ability to pass an index to setItemColor()

Hey there,
first things first: This library is amazing! We from the Appcelerator cross-platform community already wrapped it to be used from JavaScript via Ti.BottomSheet and it works great.
One suggestion that's open for discussion: On iOS, there is a destructive property on the UIAlertController which, presented as an ActionSheet shows the selected option as a "critical" option. So if setIconColor would not only allow to pass a color resource-id but also an index, the developer (especially in the cross platform world) could construct the same concept on Android.
I am not sure if this would still be "full native Android" then and would love to hear your feedback on this. As bottom sheets gain more and more popularity these days, it would be a great addition!

You are talking about the setItemColor-method, not the setIconColor-method (there isn't such methody), right? I guess it would be better to specify the id of the item for which the color should be set (instead of its index) because indices can change over time.
In general, I agree that this would be a nice feature and I guess it can be implemented without great effort. Personally, implementing such new features is not a top priority for me so I cannot promise that this will be implemented soon. However, if you are able to implement it on your own, I am eager to accept pull requests and I am willing to help with the implementation if necessary.

Sorry for the typo, yeah! I can take a look at this over the next weeks.


Design Question: Storing Prisma transaction client in AsyncLocalStorage

Hi @Papooch !
I am considering implementing decorator-based database transactions in our NestJs application using AsyncLocalStorage. I'm reaching out to you, because looking at your CLS implementation, you seem to have extensive experience with this.
I'd like to merge the concept from this issue for Prisma, but using AsyncLocalStorage instead of cls-hooked. The idea is to introduce a @Transaction decorator for service methods, that would store a transaction client in the storage and wrap the function s.t. the repositories within that call chain could retrieve it and execute their operations with it.
A given repository, when invoked, would try to first retrieve the transaction client from the store and use it if it's available. If not available, it would just use its own db-client (i.e. there is no composite transaction happening).
Do you think this is a sound approach? I'm not entirely sure about where the AsyncLocalStorage should be instantiated. Does it need to happen at bootstrap time or can it be spontaneous (when decorator is called)?
Any feedback would be much appreciated! 😊
PS.: I also considered to use your CLSService, but AFAIK injecting a custom service into a decorator would be challenging, so I'm not sure it'd be applicable, or would it? 🤔

Thank you @Papooch for the quick and detailed response! 🤩
I still have some doubts on how to reliably access the context if it's not wrapped into a .run() call. Using a @Transaction decorator is clear to me I think - I'd just need to wrap the the whole method into a run and everything inside would have access to the context.
But now let's consider a repository implementation that would look like this:
export abstract class BaseRepository {
    constructor(
          private readonly prisma: PrismaService,
          private readonly cls: ClsService,) {}

    protected get prisma(): PrismaClient | Prisma.TransactionClient {
        const transactionClient = this.cls.get('transactionClient');
        return transactionClient ?? this.prisma;
    }

}

And a concrete repository:
export class PhotoRepository extends BaseRepository {

    public async create(photo: Photo): Promise<Photo> {
        // Persisting the photo ...
        return Photo.fromPrismaToEntity(
           await this.prisma.create({ data: photo })
        );
    }

}

Now I fear that this is not that simple, because if I understood the concept right, then the invocation should've already been wrapped into a run in order for the the line const transactionClient = this.cls.get('transactionClient'); to work reliably. My goal is to have encapsulation and isolation s.t. if the repository is simply called without an explicit transaction decorator, then it falls back to its own Prisma instance. If my suspicion is right, then actually every invocation of the repository would require a run wrap somewhere, regardless of an existing transaction or not. Am I wrong? 😬

Yes, that's right. As I said, you can do that inside the @Transactional decorator by replacing the decorated method's implementatioj with a wrapped version. You would also have to modify the class to have the Prisma service injected so you could also wrap it in a transaction.
Otherwise you'd have to do all this in an enhancer or mideware, but that wouldn't work with invocations that don't go through a controller (because enhancers aren't available in that case).

Thanks for the clarification! I came up with the following rough decorator implementation (haven't tested it yet, it's just a PoC). What do you think of it? I'm particularly interested in the order of wrapping. Should I start the transaction first and then do a cls.run() or the other way around (like in the code snippet below)?
Another question: prisma.$transaction() returns a promise. Does cls.run() takes care of resolving the Promise or do I need to await it explicitly? 🤔
import { Inject } from '@nestjs/common';
import { PrismaService } from 'our-own-custom-lib';
import { ClsServiceManager } from 'nestjs-cls';

export function Transaction() {
  const injectPrisma = Inject(PrismaService);

  return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {
    if (this.prisma) {
      console.log('Object already contains a PrismaService dep');
    } else {
      // this is equivalent to have a constructor like constructor(yourservice: YourServiceClass)
      // note that this will injected to the instance, while your decorator runs for the class constructor
      injectPrisma(target, 'prisma');
    }

    // we use a ref here so we can type it
    const originalMethod = descriptor.value;
    descriptor.value = function (...args: any[]) {
      const cls = ClsServiceManager.getClsService();
      if (cls.get('TRANSACTION_CLIENT')) {
        // A transaction has already been started. We just call the function.
        return originalMethod.apply(this, [...args]);
      }
      cls.run(async () => {
        const prisma: PrismaService = this.prisma;
        return prisma.$transaction(async (transactionClient) => {
          cls.set('TRANSACTION_CLIENT', transactionClient);
          try {
            // We can now call the function that had been decorated with the Transaction decorator.
            const result = await originalMethod.apply(this, [...args]);
            return result;
          } finally {
            // We just finished working with our transaction: we remove it rom the current context.
            cls.set('TRANSACTION_CLIENT', null);
          }
        });
      });
    };
  };
}

Withouh having run any code, what you have there seems reasonable.
One more check I would do is run cls.isActive() and don't wrap the call if we're already running inside a cls context, so we're not nesting contexts, in which case you'd have to copy the contents of the ClsStore to the new context if other code relied on it.
cls.run only wraps the call and does not perform any awaiting or error handling itself. The return type of the wrapped callback is the same as the original one.

Thank you @Papooch!! I'll try it out tomorrow, I'm very excited if this can work reliably. We could finally get rid of leaking Prisma outside of the data access layer.

@fuvidani did you come to a satisfactory solution?

@fuvidani did you come to a satisfactory solution?

Hi @Papooch! I've been working on it as a side-task and it's in a pretty good state. I'm just concerned about the multi-module usage in Nestjs. Let's say we have module A and module B, they are both importing your CLS implementation via ClsModule.register({global: false, middleware: { mount: false },}). Now consider the situation where module A is also importing module B in a way that module A calls a service method of module B. Which CLS store is going to be used? Is it guaranteed that calls to ClsServiceManager.getClsService(); will target the right store?
To give you more context, I created a separate BaseRepository module, which practically provides a base repository class to wrap the retrieval of the Prisma instance:
import { Injectable } from '@nestjs/common';
import { ClsService } from 'nestjs-cls';
import { Prisma, PrismaClient } from '@prisma/client';
// some imports omitted

@Injectable()
export class BaseRepository {
  constructor(
    private readonly prismaClient: PrismaService, // this service is just a wrapper around PrismaClient
    private readonly cls: ClsService
  ) {}

  protected get prisma(): PrismaClient | Prisma.TransactionClient {
    const maybeTransactionClient = this.cls.get(
      TRANSACTION_CLIENT_KEY
    ) as PrismaService;
    if (this.cls.isActive() && maybeTransactionClient) {
      logger.info('Using transaction client from ALS');
      return maybeTransactionClient;
    }
    logger.info('Using basic Prisma client');
    return this.prismaClient;
  }
}

Now the idea is that other modules in the codebase can simply import BaseRepositoryModule and write their own repository implementations.
There is also a @Transactional decorator I created separately, that also uses ClsServiceManager.getClsService(); to check if there is a transaction client stored. Its implementation is based on my previous comment.
At the moment I have ClsModule imported in other modules like this:

@Module({
  controllers: [],
  imports: [
   //...
    ClsModule.register({
      global: false,
      middleware: { mount: false },
    }),
  ],
  providers: [/* providers*/],
  exports: [/* exports*/,
})
export class MyModuleA {}

Again, if there are 2 decorated methods in 2 different modules and I start a call chain from the first module, will the decorator in the second module get the same CLSService instance or the one from its own module? Do you understand what I'm trying to say? My fear is that in runtime the ClsServiceManager.getClsService() invocation in the decorator returns two different instances of the service, s.t. transactionality across two modules could not be guaranteed. Am I completely misunderstanding something?
If you could help me out here with the theory, I'd be very grateful. 🙇 🙏

Since ClsServiceManager.getClsService() is a static method, it returns the same each time. Actually, it's the same instance as the injected ClsService that lives in the DI container. Even if they weren't, they share the same AsyncLocalStorage underneath.
Btw are you actually mounting the ClsMiddleware manually somewhere? If not, then it's redundant in the module registration.

Makes sense @Papooch, this is quite reassuring. Huge thank you @Papooch, really appreciate the support! 💪

Hi @Papooch! Do you know how this behaves in terms of concurrency? If the event loop switches between two asynchronous call chains, wouldn't ClsServiceManager.getClsService().get('transactionClient') return the same value to both chains? That would potentially mean that:

the two chains would work with the same tx client, although each of them should have one for themselves
the first chain to finish would remove the tx client from the CLSService causing the second chain being unable to retrieve the client (and falling back to basic Prisma, which breaks the whole transactionality).

What do you think about that?

That's the nice thing about AsyncLocalStorage. Each execution chain gets an unique instance of the store and it gets propoagated through promise chains and callbacks (it even works with asynchronous event emitters and nestjs/cqrs).
The only case in which there is a chance that 2 requests would access the wame store is when you use the enterWith function to set up the context, but otherwise all code that is invoked from wtihin the run callback gets exclusive access to an unique instance of the store.

@fuvidani Do you have a final solution :)? I'm looking to implement something similar and looking at this, am wondering if I could just lift your work =P

Hey @Faithfinder 👋 I've implemented this at our organization, the final solution follows the same strategy that you see in the above code snippets. I'll reach out to my supervisors and ask for permission to share the final result. But in theory the available information should be enough... 😉 Let me know if you have specific questions!

Nah, nothing specific. Just thought you might have found a bug or something since October that I don't need to encounter as well.

Hey @Faithfinder and @Papooch! What do you guys think of this?
Context: since the implementation of the @Transactional decorator with nestjs-cls more and more parts of our codebase have adopted it. However we still have a lot of components that pass transaction clients explicitly as a parameter. While I did implement bridges between the explicit passing and the decorator usage, they're kinda awkward at the moment and cause friction (especially for developers who aren't familiar what's happening under the hood with ALS and everything).
This got us thinking and we realized that it'd be so nice if we simply wrapped Prisma into a Proxy and returned the "correct" instance at runtime whenever someone does this.prisma or this.prisma.$transaction(). Coincidentally I came across the above issue that was posted a couple of months ago and to be honest I like the idea! I'm curious what you guys think. I'm thinking of marrying the two concepts: using the decorator to declaratively mark transactional blocks but also using a Proxy s.t. other parts of the codebase that haven't adopted the decorator would work out-of-the-box with each other.

@fuvidani Yeah, Proxies are pretty powerful and ideal for this type of scenario. Coincidently, what you described is exactly how Proxy providers are implemented in this very library :)

@fuvidani Hi there. I'm trying implement your solution but I always get
Transaction API error: Transaction already closed: A query cannot be executed on a committed transaction.
have you ever encountered that error?

I am developing an application with clean architecture in Nest.js and I am tired of using Prisma's TransactionClient across modules and I came across this issue looking for a good and good solution.
I implemented a PrismaClientManager with nestjs-cls that makes it easier to use transaction, so if you have the same problem, please take a look at this.
https://github.com/uki1014/nestjs-prisma-client-manager


RSession.StopHostAsync doesn't support cancellation

This is required for the #2845
Currently, there are 3 steps:

Sending q()
Calling TerminateSessionAsync
Calling RHost.DisconnectAsync

Step 3 can be ignored depending on the case (for #2845, RHost instance can be just thrown away)..
@int19h , is it possible to cancel step 1 or step 2?

By cancelling q() I mean removing evaluation from the host queue.

Closing since in #2845 scenario we will call TerminateSessionAsync directly (deleted connection doesn't have to be gracefully stopped).


Inadequate information on the documentation page

Please provide a proper background and brief explanation on the functions .
Example code snippet would be much helpful.
Thank you.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d171e51e-8fda-4f1f-f6c6-b634d8f7b173
Version Independent ID: 445d760f-4a36-451e-9112-ec73adb57323
Content: ControlledOnBitString function (Microsoft.Quantum.Canon)
Content Source: api/qsharp/microsoft.quantum.canon.controlledonbitstring.yml
GitHub Login: @anpaz-msft

Thanks for the report! We're currently tracking this work at #113, so closing as a duplicate, but please feel free to reopen if you have additional feedback or information. Thank you again!


[stable/rabbitmq] fix ports in NOTES.txt

What this PR does / why we need it:
.Values.rabbitmq.nodePort is only used for NodePort-type
services. For ClusterIP and LoadBalancer it's the usual amqpPort.
Also fixed a typo on rabbitmq.nodePort in the README.
Regression introduced by #7910.
Which issue this PR fixes
Special notes for your reviewer:
When using LoadBalancer service type:
Before:
    echo "URL : amqp://$SERVICE_IP:/"

After:
    echo "URL : amqp://$SERVICE_IP:5672/"

Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/ok-to-test
/lgtm


test: moving test repo from zip file to first class repo

Perfect! Good idea. It was necessary to add new scenarios for testing.