Decide how to handle unsuccessful API call attempts

How should dodo functions that wrap BlueBird API calls report error messages in case of failure?
Such reporting will be necessary for agents to decide how to react. For instance, the create_aircraft function returns a boolean value, with FALSE indicating that the attempt failed. However, there are various possible reasons for failure and the agent's next move may depend on the reason (e.g. it makes sense to retry in case of network error but not if the call failed because an aircraft with the given ID already exists). At the very least the agent will want to log the error message.
Should we instead throw an exception and include the error message returned by BlueBird in the HTTP response?

RESOLVED: don't return FALSE on failure. Throw an error instead.


Make sure scrollRestoration is writable.

I'm receiving this error
TypeError · Cannot set property scrollRestoration of [object History] which has only a getter
with additional info:
node_modules/vue-router/dist/vue-router.esm.js:1694:39 setupScroll
function setupScroll () {
// Prevent browser scroll behavior on History popstate
if ('scrollRestoration' in window.history) {
window.history.scrollRestoration = 'manual';
}
I propose to add this try-catch to verify if scrollRestoration is really writable before trying to set it.

lint error


[Feature] Disable notifications in webview

Would it be possible to disable notifications for a webview? I know you can add a preload script to delete window.Notification, but if an iframe tries to send a notification this still succeeds.

Chrome's webview has a permissionrequest event. Would it possible to add this to Electron?


Remove the no-operation isInterrupted() call.

This pull request removes a NOP call.
Thread.currentThread().isInterrupted() is a no-op call, as the returned value is not used. The call does not have any side effects on interruption status or memory visibility (happens-before). The interrupt status gets actually cleared by the catch (InterruptedException) clause, and I added documentation that documents the interruption policy.

@daschl I jsut saw in other review requests that maintenance has moved from dustin to you. For your information: Patch should be trivial to integrate, as it is mainly a documentation fix, if there are no magic side-effects.

@christian-esken that is true indeed!
Thanks for the pull request - note that I can't merge it in "as is", because we use gerrit for code review - github is just a mirror (the official version is at https://github.com/couchbase/spymemcached).
If you plan to contribute in the future (or even just for this one), it would be great if you could sign the CLA and push it into gerrit.
If not, I can carry it over for you, you can find more about that here: http://www.couchbase.com/wiki/display/couchbase/Contributing+Changes and i'm happy to help with the process if you get stuck :)

@daschl I tried to follow http://www.couchbase.com/wiki/display/couchbase/Contributing+Changes , but got stuck at the very beginning. I tried again in a quiet hour and am still failing with the creation of the account.
The page "http://review.couchbase.org/login/%23%2Fregister%2Fq%2Fstatus%3Aopen" asks to login via Open Id and says "There are many OpenID providers available.". Google is not allowed ("OpenID provider not permitted by site policy."), and the only listed (Yahoo) is not an option for me. So what providers are actually supported?

@christian-esken I personally use UbuntuOne/LaunchPad: https://login.launchpad.net/+openid

Thanks. I will try that.

@daschl Done. I added you as reviewer in Gerrit. I will close this review, please follow progress in http://review.couchbase.org/#/c/58266/ .
Thanks @simonbasle for the LaunchPad hint, as all my other OpenId providers failed. For example Gerrit and StackExchange are also incompatible (see http://lists.freedesktop.org/archives/libreoffice/2015-February/066604.html)

Moved to Gerrit:  http://review.couchbase.org/#/c/58266/ .


chore(main): release audit 1.54.1

:robot: I have created a release beep boop
1.54.1 (2023-09-26)
Bug Fixes

support license string arrays (f01c7cf)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/sandworm-hq/sandworm-audit/releases/tag/audit-v1.54.1 :sunflower:


add docs skeleton for m2 launch

This PR adds the docs skeleton for the new content we want to add to "Prisma Data Platform" docs for the M2 launch according to the proposed structure.

@nikolasburk Had a bit of time today so I ended up finishing out the main sections here for you to review.
I still plan to go back through and revise/change things where needed but figured I'd let you know the first-draft is up in case you wanted to start looking as well.
Also, per a conversation with @luanvdw, what do you think about releasing Accelerate & Platform docs separately from Pulse docs to better focus attention during the upcoming Accelerate release and allow more time for the Pulse revisions to settle down?

Let's make sure we also merge this one in parallel https://github.com/prisma/docs/pull/5112

Hi all, thank you for the amazing effort with these changes! I had a sync with @nikolasburk about merging this PR early ahead of the launch. This will provide us with more time to make incremental changes as we approach the launch in the afternoon.
Can we update the following before merging in;
Communicating Early Access and not Preview, just to avoid confusion. This will be reverted in a small PR later.
Updating the Preview tag to say Early Access

What is Accelerate
Update the Preview words to Early Access. The rest of the sentence can remain the same until we change this back to `preview later on

Getting started
Update Preview to Early Access

Update 4.10.1 to 4.16.1`

FAQ
Under What happens to my Scale plan subscription if I switch to Accelerate?;

Update Preview to Early Access
Remove the "In addition, you can get 6 months of free Accelerate usag..." block about the credits program

@nikolasburk -- I resolved the git conflicts and it's ready to be merged


Live

Test PR

Docs Build status updates of commit 61003a1:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Test PR


Test assertion improvement

Changed log

Using the assertCount to assert the result count is same as expected.

Much clearer, thank you!

Much clearer, thank you!

@mlocati, I glad that you're fast to review and merge!


changelog: fix a small typo in rbac deprecation line

Description
This PR fixes a very small typo in the change logs for RBAC metadata deprecation line which is mistakenly spelled as sourced_metadata.

Commit Message: ****
Additional Description: Fixes a very small typo in the change logs for RBAC metadata deprecation line which is mistakenly spelled as sourced_metadata.
Risk Level: N/A
Testing: N/A
Docs Changes: N/A
Release Notes: N/A

/assign @wbpcode


fix(drift_dev): Deserialization of view triggers

Follow up from https://github.com/simolus3/drift/pull/3190. Fixes another spot where either a DriftTable or DriftView could be stored for a trigger's on entity.
Adds tests for view triggers in the schema/ folder.

Thanks!


Problem of NAN

I encountered a problem of NAN after training for several epochs. I tried to reduce the learning rate to address this issue. However, it worked only for several epochs and the loss value became NAN again. Do you have any experience in addressing this problem?

Hi,
Which task are you training for?  The RMSNorm may help.

Thank you for the reply.


Deal with complete missing sample in ctPLS

@aarmey sorry I forgot how you fixed this error in build before. Can you help me change this again? Thanks!

I don't think you can have hyphens or underscores in the package name. Remove that.


Locks have a race condition

Ok, we have, I think, our first real bug.
TL;DR
If I launch procrastinate_fetch_job quickly twice, I can get 2 jobs that share the same lock.
Proof
$ psql -c 'SELECT * FROM procrastinate_jobs;'
 id | queue_name |           task_name            | lock |   args    | status | scheduled_at | started_at | attempts
----+------------+--------------------------------+------+-----------+--------+--------------+------------+----------
  1 | sleep      | procrastinate_demo.tasks.sleep | yay  | {"i": 20} | todo   |              |            |        0
  2 | sleep      | procrastinate_demo.tasks.sleep | yay  | {"i": 20} | todo   |              |            |        0
(2 rows)

$ psql -c 'SELECT procrastinate_fetch_job(NULL);' & psql -c 'SELECT procrastinate_fetch_job(NULL);'&
[1] 22792
[2] 22793
                                       procrastinate_fetch_job
-----------------------------------------------------------------------------------------------------
 (1,sleep,procrastinate_demo.tasks.sleep,yay,"{""i"": 20}",doing,,"2019-10-27 20:14:12.230384+00",0)
(1 row)

[2]  + 22793 done       psql -c 'SELECT procrastinate_fetch_job(NULL);'
                                       procrastinate_fetch_job
-----------------------------------------------------------------------------------------------------
 (2,sleep,procrastinate_demo.tasks.sleep,yay,"{""i"": 20}",doing,,"2019-10-27 20:14:12.233998+00",0)
(1 row)

[1]  + 22792 done       psql -c 'SELECT procrastinate_fetch_job(NULL);'

The second call should have returned (,,,,,,,,).
For the sake of it, if I put the 2 calls in the same transaction, I DO have the expected result:
$ psql -c 'SELECT * FROM procrastinate_jobs;'
 id | queue_name |           task_name            | lock |   args    | status | scheduled_at | started_at | attempts
----+------------+--------------------------------+------+-----------+--------+--------------+------------+----------
  1 | sleep      | procrastinate_demo.tasks.sleep | yay  | {"i": 20} | todo   |              |            |        0
  2 | sleep      | procrastinate_demo.tasks.sleep | yay  | {"i": 20} | todo   |              |            |        0
(2 rows)

$ psql -c 'SELECT procrastinate_fetch_job(NULL), procrastinate_fetch_job(NULL);'
                                      procrastinate_fetch_job                                       | procrastinate_fetch_job
----------------------------------------------------------------------------------------------------+-------------------------
 (1,sleep,procrastinate_demo.tasks.sleep,yay,"{""i"": 20}",doing,,"2019-10-27 20:17:46.28228+00",0) | (,,,,,,,,)
(1 row)

Leads

When we call FOR UPDATE OF procrastinate_jobs, should we somehow also lock procrastinate_job_locks? But there's no row to lock yet...
Should there be a UNIQUE constraint on procrastinate_job_locks.object? I guess it would help but if we add just that, we'll get a crash, and still not the expected behaviour. Or should we also add a ON CONFLICT DO NOTHING statement? The procedure would probably need quite a refactor, because in this case it needs to not do `UPDATE procrastinate_jobs SET status = 'doing' and return nothing.
Is it because the procrastinate_job_locks is UNLOGGED?

OK, so by adding UNIQUE I get the contraint checked, and thus an exception. Now to see if I can transform the query so that if there's a constraint error, I don't do the update.


Configuration examples for VS Code

There are no details on how to set this up for VS Code.

I tried to set it up, which was relatively easy, but get the error: "Unsupported position encoding (utf-8) received from server Rust Analyzer Language Server". I think this is related to lsp defaulting to utf-16, which can be tracked at vscode-languageserver-node/#1224.
Whatever, the configuration per se is just to add in VSCode's settings.json:
{
    "rust-analyzer.server.path": "/path/to/ra-multiplex",
    ...
}

I don't know If there is a way in the current implementation to specify the lsp to use utf-16 instead of utf-8.

Nvm got it working with a small modification to the code:
diff --git a/src/ext.rs b/src/ext.rs
index e43a724..1627d8b 100644
--- a/src/ext.rs
+++ b/src/ext.rs
@@ -42,7 +42,11 @@ where
                     locale: None,
                     root_path: None,
                     root_uri: None,
-                    capabilities: None,
+                    capabilities: serde_json::json!({
+                        "general": {
+                            "positionEncodings": ["utf-8","utf-32","utf-16"]
+                        }
+                    }).into(),
                     trace: None,
                     workspace_folders: Vec::new(),
                 })

vscode already uses only a single rust-analyzer instance per window, adding ra-multiplex into the loop is probably going to cause you more trouble than it's worth, with how heavy the editor alone is you probably don't want to have multiple windows with the same project open.

@pr2502 That's good advice, thanks.

adding ra-multiplex into the loop is probably going to cause you more trouble than it's worth

FWIW for me it's still useful because I tend to keep my laptop on but open / close different projects throughout the day depending on what I'm working on.
Rust Analyzer takes forever (up to ~2 min) to start each time I open VSCode on some of the larger projects, so keeping ra-multiplex always in background is still very much worth it.


Add Display On/Off Switch and Service Calls

I have added a Display switch and service calls to allow the display to be "powered" on/off from Home Assistant for when you do not want the display on.
This switch just stops the display updating rather than truly powering it off.
All example yaml files and documentation has been updated to detail this.

Nice! I will review it in the next days for the 2023.3.0 version.


Documentation

It's difficult to use this library without documentation.
Can you made one ?

Just examples would be a beginning. Multiple examples.

If you want examples :
`        private OpenRGBClient client;
private bool Available => client != null ? client.Connected : false;
    public override bool Start(string name)
    {
        client = new OpenRGBClient(name: name, autoconnect: false);
        try
        {
            client.Connect();
        } catch (TimeoutException)
        {
            return false;
        }
        SaveCurrentLighting();
        return Available;
    }

    public override void SetLeds(DeviceType type, OpenRGB.NET.Models.Color color)
    {
        if (!Available) return;

        OpenRGB.NET.Models.Color[] openRGBColors;

        foreach (var deviceId in client.GetControllerCount())
        {
            device = client.GetControllerData(deviceId);
            openRGBColors = new OpenRGB.NET.Models.Color[device.Colors.Length];
            for (int i = 0; i < openRGBColors.Length; i++)
                openRGBColors[i] = color;

            client.UpdateLeds(deviceId, openRGBColors);
        }
    }`

Is there a way to know which index in the array maps to which key? By adding a pause after changing the color of each key I found that it changes the keys roughly in columns, and roughly from left to right but not strictly in that order, with the function, cursor etc. keys randomly thrown in between.

I'm not sure what you mean by this. If i understood correctly, there are in general two ways of identifying LEDs:

by their name. Some of these names are standardized. I use a list in my RGB.NET provider here
Using the matrix map. if a zone is of type Matrix, you can use this to figure out the rough positions of the keys. each value in a matrix map corresponds to an index in the Colors array. I also use this for my RGB.NET provider to set the rough positions of LEDs here

Hope that helps.


Ability preview is sometimes incorrect

Example image.

Notice how the Fan Fire icon is highlighted, but the ability description at the bottom is for Close Encounters, the ability above it.

Blamed line of code.

does not convert an icon index to an ability index/branch, which is what PreviewAbility() expects.

This has been confirmed as existing in NPSBD itself, and the "blamed line of code" doesn't seem to have anything to do with it.
The issue likely occurs somewhere in this function.

I can't reproduce this with the latest code. I'm wondering if it was fixed as part of a refactor that just wasn't in the CPS I distributed with.

Probably not, the refactor only touched the ability tagging and _properties events. Let's keep an ear to the ground on this one.

Couldn't replicate this either, and considering this issue hasn't come up again all this time, I'm closing it.


Multisignature submission of NYM tx rejected. Bug?

Goal
I want to register a DID + VERKEY in the ledger without being ENDORSER nor accepting TAA. To do so, I want to delegate submission on a known endorser. In following example, known endorser is a bootstrapped steward on test network
Error description
Im triying to submit a NYM tx in order to register a DID+VERKEY in the ledger as part of a project. I setup a local development network with 4 different nodes distributed in 4 vm, so that each vm has a node.
I successfully tried to submit and register a DID using bootstrapped steward DID (with seed<PHONE_NUMBER>00000000000000Steward1).
However, when I try to submit a NYM tx to register a DID as new non-bootstrapped user I get an error. The process im following is:

Create steward user with did<PHONE_NUMBER>00000000000000Steward1.  Lets call it steward user, which give me:

DID: Th7MpTaRZVRYnPiabds81Y
VERKEY: FYmoFw55GeQH7SRFa37dkx1d2dZ3zUF8ckg7wmL7ofN4

Create a random DID from random seed. Lets call it demo user. For this example, I choose the seed `546fdgjh5d65g41gfd54j4h5df46df5g``which creates:

DID: 14YaxrmCve7TYNKdjs6VaJ
VERKEY: 12w3xyoUjZqDQzhv8KszyEc5zn8P8iV7NF57jHGyWHdG

2.1: Both steward and demo onboard successfully using previous dids so that both DIDs are registered in the ledger.
2.2 The new did user demo wants to register is
Did:    "JWMDX3bMnRF6tu1j2g2a3L",
Verkey: "AYQApRjgZhFMYnccBNjA35Mn9Xzvp6B6G9RHBeSSBm6w"

Now with demo user, I build a NYM transaction and locally sign it. The result of that operation is.

{
	"endorser": "Th7MpTaRZVRYnPiabds81Y",
	"identifier": "14YaxrmCve7TYNKdjs6VaJ",
	"operation": {
		"dest": "JWMDX3bMnRF6tu1j2g2a3L",
		"role": "101",
		"type": "1",
		"verkey": "AYQApRjgZhFMYnccBNjA35Mn9Xzvp6B6G9RHBeSSBm6w"
	},
	"protocolVersion": 2,
	"reqId":<PHONE_NUMBER>147463722,
	"signature": "VzPnhSXQuFeNgEnkkAwqMKcps5Z1DpqThK2vwXCxLAXZLd79gnTNYz58cTyRS2Kuiv8Lv2BPtcBYECon518oaZ6"
}

So far so good.
5. Now I send this payload to steward user (for simplicity, lets forget about how I send it to steward, and whether is encrypted or not). The point is, steward gets the NYM tx data, and signs the transaction using multisig method call C.indy_multiSignRequest(wh, submitterDid, request, cb). The result of multisigning is:
{
	"endorser": "Th7MpTaRZVRYnPiabds81Y",
	"identifier": "14YaxrmCve7TYNKdjs6VaJ",
	"operation": {
		"dest": "JWMDX3bMnRF6tu1j2g2a3L",
		"role": "101",
		"type": "1",
		"verkey": "AYQApRjgZhFMYnccBNjA35Mn9Xzvp6B6G9RHBeSSBm6w"
	},
	"protocolVersion": 2,
	"reqId":<PHONE_NUMBER>147463722,
	"signatures": {
		"14YaxrmCve7TYNKdjs6VaJ": "VzPnhSXQuFeNgEnkkAwqMKcps5Z1DpqThK2vwXCxLAXZLd79gnTNYz58cTyRS2Kuiv8Lv2BPtcBYECon518oaZ6",
		"Th7MpTaRZVRYnPiabds81Y": "55fJbUGYro2S9y5yHHbb3h4yUbAdVhyy1YK9AwLXbu4fVsBtQv7ipZ1mZz5YHX2Rx44H7hUTL9D4sRrGtWKVaDo1"
	}
}

As final step, the steward connects with the pool in order to submit the transaction using the method C.indy_submitRequest(poolHandle, request, cb) and the response from the ledger is:
{
	"identifier": "14YaxrmCve7TYNKdjs6VaJ",
	"op": "REJECT",
	"reqId":<PHONE_NUMBER>147463722,
	"reason": "client request invalid: UnauthorizedClientRequest(\"Rule for this action is: 1 STEWARD signature is required OR 1 TRUSTEE signature is required\\nFailed checks:\\nConstraint: 1 STEWARD signature is required, Error: Endorser must have one of the following roles: {'ENDORSER'}\\nConstraint: 1 TRUSTEE signature is required, Error: Not enough TRUSTEE signatures\",)"
}

Why is this error happening if the request is signed by 1 STEWARD? Arent STEWARDs valid ENDORSERs? Am I missing something else?
Expected result
NYM tx successfully registered in the ledger
My environment:

indy-sdk
libindy v1.15.0
Linux 5.3.0-59-generic #53~18.04.1-Ubuntu  x86_64 x86_64 x86_64 GNU/Linux

Looks like you don't have any signatures from a TRUSTEE; 1 TRUSTEE signature is required, Error: Not enough TRUSTEE signatures

To which network are you writing the transaction?  What are the roles associated with the first two DIDs?

@WadeBarnes im working with a network based on default indy test network, the one is bootstrap automatically, so that as far as I know this are the roles

Did
Role
Seed
Ledger registered?

Th7MpTaRZVRYnPiabds81Y
STEWARD
000000000000000000000000Steward1
Yes (bootstrapped)

14YaxrmCve7TYNKdjs6VaJ
NONE
546fdgjh5d65g41gfd54j4h5df46df5g
Yes (via steward onboarding)

JWMDX3bMnRF6tu1j2g2a3L
NONE

No

My development environment is based on image https://github.com/hyperledger/indy-sdk/blob/master/ci/indy-pool.dockerfile in which I removed supervisord and setup indy-node as main docker container process.

How was Th7MpTaRZVRYnPiabds81Y registered with the network, what was the role defined in the transaction?
You can confirm the role by connecting to your network via the indy-cli and running ledger get-nym did=Th7MpTaRZVRYnPiabds81Y.  The response will confirm role assigned to the DID.

@zerjioang, For development, you may find von-network easier to use.  It has a built in ledger browser, and has a fully containerized indy-cli environment you can use to connect to and query any indy-node based network.

@WadeBarnes after running ledger get-nym did=Th7MpTaRZVRYnPiabds81Y the response I get using indy cli tool is
mywallet:indy> pool connect sandbox
Pool "sandbox" has been connected
pool(sandbox):mywallet:indy> ledger get-nym did=Th7MpTaRZVRYnPiabds81Y
Following NYM has been received.
Metadata:
+------------------------+-----------------+---------------------+------------------+
| Identifier             | Sequence Number | Request ID          | Transaction time |
+------------------------+-----------------+---------------------+------------------+
| LibindyDid111111111111 | 2               |<PHONE_NUMBER>709783274 | -                |
+------------------------+-----------------+---------------------+------------------+
Data:
+------------------------+------------------------+-------------------------+---------+
| Identifier             | Dest                   | Verkey                  | Role    |
+------------------------+------------------------+-------------------------+---------+
| V4SGRU86Z58d6TV7PBUe6f | Th7MpTaRZVRYnPiabds81Y | ~7TYfekw4GUagBnBVCqPjiC | STEWARD |
+------------------------+------------------------+-------------------------+---------+
pool(sandbox):mywallet:indy>

so indy-cli also confirms that did Th7MpTaRZVRYnPiabds81Y has steward role. Right?

Using the indy-cli run ledger get-auth-rule to check the auth-rules for your network.  I think the error may be misleading.  I think you may require a Trustee signature to add an Endorser (role: 101) to the ledger.  Also ensure, your indy-cli's sandbox pool is connected to the same leger as your code (in the off chance it's not).

The bottom line here is the answer to your question "Aren't STEWARDs valid ENDORSERs?" No, they are not.
A while ago the roles were reorganized in a way that Stewards have very little privileges on the network by default and they cannot, as far as I know, be considered an ENDORSER without a code change.  Stewards are now able to manage their own node and see network maintenance info and that is about all.  By default a Steward can add an Endorser to the network, but that privilege is removed on the networks I manage and setup as that is not the intended use of a Steward anymore.
I was able to replicate your issue above using just the indy-cli. To prove that it will work as mentioned in this comment, I then changed the "endorser" to be a valid endorser on the network and got a signature from the Steward, the Endorser, and the Author (unprivileged 'Demo" user), and the transaction was successfully written to the Indicio DemoNet (see results in seq numbers 12-4 here if desired: https://indyscan.indiciotech.io/home/INDICIO_DEMONET2).  This was all done using the default auth-rules that indy ships with.
To raise awareness, I will also mention that the premise for what you are trying to do here seems a bit odd to me.  While I don't doubt that a valid use case could exist for a non-privileged user to be able to add an Endorser to your network (with proper authorization/signatures), it makes more sense for a Trustee (or a steward if you like) to approve and add a new Endorser directly to the network. Just send the DID and Verkey to the Trustee and ask them to add the Endorser. On the MainNets (production networks) that I have helped manage, the Endorsers must sign an Endorser agreement and be approved by a committee before they can be an Endorser, then a Trustee must run the transaction that sends their DID to the ledger if they are approved.  For test ledgers we have a selfserve app that adds endorsers "for free" to allow for organizations to try things out freely on those trial ledgers.

@WadeBarnes @lynnbendixsen thanks for your feedback. I will do the same process as described using a trustee and report the results here. However, if rules have changed, I encounter confusing the message
Rule for this action is: 1 STEWARD signature is required OR 1 TRUSTEE signature is required

so if stewards are not valid endorsers anymore, the error message should be updated.

@zerjioang, That's why I asked you to confirm the Auth Rules of your particular network.  Typically those messages are based on the rules configured for a specific ledger.  It obviously makes it very confusing when it's telling you either a STEWARD signature OR a TRUSTEE signature is required, when in fact it requires a TRUSTEE signature and will not accept the STEWARD signature.

@zerjioang The default Auth rules (which you are likely using) were the cause for the error message quoted in your latest message, so the error message is "accurate", but still confusing.  A Steward or a Trustee must sign the txn that you tried to send.  It is a completely separate issue that since you were also trying to send the txn to the ledger using an unprivileged DID (or "Author"), that an Endorser DID and signature is ALSO required. I am not a fan of the way all of the "error" messages a strung together, but the piece about the "Steward role is not an Endorser" issue is "Error: Endorser must have one of the following roles: {'ENDORSER'}"  Does that make more sense?
To be clear, I agree that the error message is confusing and could be greatly improved upon.  Here I am just trying to help you understand the various pieces of it for future reference.  Hope it helps!

While I reassemble my example to work with proposed new configurations, I  just let you know I was following the proposed method of https://github.com/hyperledger/indy-node/blob/master/design/transaction_endorser.md, just in case someone wants to get the detais of tx endorsement design/methodology.


Check loading state on Home

Looks like when on home and loading state starts something is above it

done


acorn logs --follow requires double ctrl-c to exit

Observed Behavior
It takes sending two abort signals -- i.e. pressing ctrl-c twice -- before acorn logs --follow will exit.
Expected Behavior
acorn logs --follow should exit after a single abort (ctrl-c once)
Version Info
runtime client/server: ff325066680b729307928ad8b51e515e473c02d5 (main at post time)

Just verified that the fix works, but noticed it always spits out an unimportant error level log:
$ acorn logs --follow old-hill
^C
ERRO[0006] error reading websocket: read tcp <IP_ADDRESS>:60594-><IP_ADDRESS>:6550: use of closed network connection

My instinct is to suppress this message. Would there be any objections if I opened a follow up doing that?

The connection can be closed using CTRL + C due to this goroutine. However, there is another concurrent goroutine that also utilizes the same connection. As a result, when the connection is closed, the error is printed from here. If you're interested, I can write a quick fix for it.

If you're interested, I can write a quick fix for it.

@pratikjagrut go for it!

Tested with acorn version v0.8.0-alpha7-98-gbb130866+bb130866
Able to exit logs --follow with since ctrl-c and no error message presented to the user.
 % acorn logs --follow mytestnew
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
myweb1-5f665cf-56wgg: 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
myweb1-5f665cf-56wgg: 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
myweb1-5f665cf-56wgg: /docker-entrypoint.sh: Configuration complete; ready for start up
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: using the "epoll" event method
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: nginx/1.25.1
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14)
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: OS: Linux 5.15.0-1028-aws
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: start worker processes
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: start worker process 29
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: start worker process 30
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: start worker process 31
myweb1-5f665cf-56wgg: 2023/07/17 19:43:16 [notice] 1#1: start worker process 32
myweb1-5f665cf-56wgg: <IP_ADDRESS> - - [17/Jul/2023:19:44:00 +0000] "GET / HTTP/1.1" 200 8 "-" "curl/7.79.1" "<IP_ADDRESS>"
myweb1-5f665cf-56wgg: <IP_ADDRESS> - - [17/Jul/2023:19:44:27 +0000] "GET / HTTP/1.1" 200 8 "-" "curl/7.79.1" "<IP_ADDRESS>"
myweb1-5f665cf-56wgg: <IP_ADDRESS> - - [17/Jul/2023:20:04:01 +0000] "GET / HTTP/1.1" 200 8 "-" "curl/7.79.1" "<IP_ADDRESS>"
myweb1-5f665cf-56wgg: <IP_ADDRESS> - - [17/Jul/2023:20:04:03 +0000] "GET / HTTP/1.1" 200 8 "-" "curl/7.79.1" "<IP_ADDRESS>"
myweb1-5f665cf-56wgg: <IP_ADDRESS> - - [17/Jul/2023:20:04:04 +0000] "GET / HTTP/1.1" 200 8 "-" "curl/7.79.1" "<IP_ADDRESS>"
^C%


chore: update manifests and helm chart for 0.0.7

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, using fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged):
Fixes #
Special notes for your reviewer:

/azp run pr-e2e-azure


:bug: Configuring new Ingress fails

The Ingress configuration is not stored and after reloading the dashboard the configured ingress is lost.

Fixed in latest dashboard


Add additional try in case the env is openstack

Openstack is labeled different for its environment. So i added an additional try with the platform to add openstack as a fallback. Worst case it gets labeled with "Unknown"

Results for SNAFU CI Test

Test
Result
Runtime

snafu/scale_openshift_wrapper
FAIL
00:02:55

Failing on:
14:30:26 ++ kubectl apply -f tests/test_crs/valid_scale_up.yaml
14:30:26 The Benchmark "scale" is invalid: spec.elasticsearch.port: Invalid value: "null": spec.elasticsearch.port in body must be of type integer: "null"

Which has nothing to do with my changes.

Results for SNAFU CI Test

Test
Result
Runtime

snafu/scale_openshift_wrapper
FAIL
00:02:48

Failing on:
14:30:26 ++ kubectl apply -f tests/test_crs/valid_scale_up.yaml
14:30:26 The Benchmark "scale" is invalid: spec.elasticsearch.port: Invalid value: "null": spec.elasticsearch.port in body must be of type integer: "null"

Which has nothing to do with my changes.

@rsevilla87 did you modify something with the port information for the snafu tests?

/rerun all

Results for SNAFU CI Test

Test
Result
Runtime

snafu/scale_openshift_wrapper
PASS
00:12:50


cage source unmount all

Actually, what I've been wanting is:
cage unmount foo as a shortcut to cage source unmount foo
cage mount foo as a shortcut to cage source mount foo
cage unmount as a shortcut to cage source unmount <everything>
cage mount as a shortcut to cage source mount <everything>

( i think cage mount as a command in itself would be confusing, people would run that to get help )

cage mount --all


Add ability to explicitly specify postgres port and passsword

Using the -pass and -port flags, users can now specify custom ports and
passwords without having to override the connection string using the
-postgres parameter.

Codecov Report

Merging #61 into master will increase coverage by 0.03%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master      #61      +/-   ##
==========================================
+ Coverage   52.22%   52.26%   +0.03%
==========================================
  Files          73       73
  Lines        3521     3528       +7
==========================================
+ Hits         1839     1844       +5
- Misses       1669     1670       +1
- Partials       13       14       +1

Impacted Files
Coverage Δ

cmd/tsbs_load_timescaledb/main.go
43.47% <75%> (+3.15%)
:arrow_up:

Continue to review full report at Codecov.

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


Bug #52 still not resolved

Bug #52 still not resolved, refer comment in ticket #52 with sample code to reproduce bug.

Opened by mistake, no bug.


DauxIO throwing 500 error after upgrading nginx server to php 7

I upgraded my nginx server on Digital Ocean to the new ubuntu release which runs PHP 7 and I am now getting an http 500 error when I navigate to my documentation. I checked the nginx logs and I am getting the following error:
2016/07/10 06:36:08 [error] 11785#11785: *7581 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught
 Error: Call to undefined function League\CommonMark\mb_strcut() in phar:///var/www/docs/daux.phar/vendor/leagu
e/commonmark/src/Cursor.php:317

Any help would be greatly appreciated!

I could be wrong, but i think if you do an install php7-mbstring via apt-get should fix the issue.

@JayLancaster That worked thanks! However the documentation links don't point to anything, on reload the new address appears in the address bar but the page just reloads the original landing page, any idea what could be causing this? I no longer get server errors.

Once again, a touch shaky on this, but here is my best attempt.
nano /etc/nginx/sites-available/default
scroll down and you should see the settings for root and index.
for the most part it will be set to /usr/share/nginx/html
How is  your documentation available? is it static pages or a full dump?

I believe it's a full dump meaning the whole DauxIO directory structure is located on the server.

in your docs folder, in config.json
Can you find this section here and check that it mirriors mine?
"live": {
"inherit_index": true,
"clean_urls": true

Yes my config.json reads exactly that.

I have the same directory structure working fine on my local environment which uses Apache so I am thinking it must be an Nginx config issue as that is what the live server is using. Could it be a rewrite issue?

It is definitely a server issue but I am not quite sure what could be wrong, I have a Wordpress site running on the same server with the same server block configs and the links work fine. Any ideas as to why this might be?

Ok so I kind of have it fixed but its still not completely working. I finally figured out that it was a rewrite rule issue and something about going from php 5 to php 7 made support for my old rewrite rule non-existent. I found an older support issue on here about nginx rewrite rules and used it: [(https://github.com/justinwalsh/daux.io/issues/99)]. It works for urls such as mysite.com/Overview however as soon as I navigate to mysite.com/Overview/Subdoc I lose all styling and only content is shown and then when I try click the Overview link to go back I get mysite.com/Overview/Subdoc/Overview. I feel like I am really close, the rewrite rule just needs to be slightly adjusted.
Below is my current rewrite rule in my server block:
'''
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php$1;
}
}
'''
Any help would be awesome!

Sorry been offline for a week or so as my PC died. I noticed your other replies. I take it you fixed the issue now :)

I fixed the 500 level server error but now Im running into a rewrite rule bug, I posted a new issue because the problem description changed.


[Feature] service_level and sb_priority attributes

Fixes issue #192
Changelog

Added service_level EVC attribute to set the service network convergence level, the higher the better
priority has been renamed to sb_priority (southbound priority), ./scripts/001_rename_priority.py can be used to update EVC documents accordingly
priority is no longer supported in the API spec

The service_level is only being set, it'll be used on issue #179
DB script
❯ python scripts/001_rename_priority.py
Rename evc priority as sb_priority updated: 1

❯ python scripts/001_rename_priority.py
Rename evc priority as sb_priority updated: 0

Local tests
I've also explored it locally setting service_level and sb_priority:
{
    "3430a0de7e054b": {
        ...
        "id": "3430a0de7e054b",
        "metadata": {},
        "name": "epl",
        "owner": null,
        "primary_links": [],
        "primary_path": [],
        "queue_id": null,
        "request_time": "2022-09-29T19:40:55",
        "sb_priority": 2000,
        "service_level": 7,
      }
}

Validation on create also works as expected, validating service_level range values:
{
    "code": 400,
    "description": "The request body contains invalid API data. 70 is greater than the maximum of 7 for field service_level.",
    "name": "Bad Request"
}

~/repos/napps master*
❯ sudo ovs-ofctl -O OpenFlow13 dump-flows s1 --rsort=priority
 cookie=0x0, duration=93.935s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=50000,dl_src=ee:ee:ee:ee:ee:02 actions=CONTROLLER:65535
 cookie=0x0, duration=93.931s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=50000,dl_src=ee:ee:ee:ee:ee:03 actions=CONTROLLER:65535
 cookie=0xaa3430a0de7e054b, duration=16.743s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=2000,in_port="s1-eth1" actions=push_vlan:0x88a8,set_field:7763->vlan_vid,output:"s1-
eth3"
 cookie=0xaa3430a0de7e054b, duration=16.742s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=2000,in_port="s1-eth3",dl_vlan=3667 actions=pop_vlan,output:"s1-eth1"
 cookie=0xaa3430a0de7e054b, duration=16.611s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=2000,in_port="s1-eth2",dl_vlan=730 actions=pop_vlan,output:"s1-eth1"
 cookie=0xab00000000000001, duration=95.278s, table=0, n_packets=64, n_bytes=2688, send_flow_rem priority=1000,dl_vlan=3799,dl_type=0x88cc actions=CONTROLLER:65535

e2e test PR https://github.com/amlight/kytos-end-to-end-tests/pull/162, when this PR gets merged e2e should land too to avoid breaking e2e tests


AP18 content

Content of AP18.

Hi @tombentley , how would I add reviewers to this AP?

@tombentley anything I can do to speed up this process?
I start to feel uncomfortable having a PR open for > 1 month where ppl are expected to provide additional feedback.

LGTM

Heads up to @danielezonca @emmanuelbernard @EricWittmann for a review 🙏
Please, feel free to ping me in chat if I can do anything to facilitate it.

@emmanuelbernard can you please have a look at this? 🙏  alternatively can you nominate a delegate so that we can move forward?
Thanks in advance!

I like the decision but here it feels like this is an ADR level decision, not an AP level one.
I'd capture this content as ADR for the effective migration.
And write a shorter future usage focused doc that explains the what services should/could use for their API generation. (less focused on the community migration).
Thoughts?

@emmanuelbernard Thanks a lot for reviewing, appreciated!

I like the decision but here it feels like this is an ADR level decision, not an AP level one.

This proposal was initially submitted as an ADR and got converted into an AP after this comment:
https://github.com/bf2fc6cc711aee1a0c2a/architecture/issues/87#issuecomment-1408771243
I'm personally not fussy about this aspect and am open to suggestions (this is, anyhow, my first proposal to the architecture group and inexperience might show).
If you want me to convert this back into an ADR, that's completely fine for me as soon as @tombentley gives a nudge.
On a side note, I'm sorry to call this out, but I'm afraid to notice that everyone is constantly confusing and mixing up AP with ADR, but I'll file a separate issue to have this tangential discussion.

Let's have a quick chat about it tomorrow at the arch call to clear things up.

On the point of AP vs ADR... FTR based on the original model we had in mind:

If you were recording the decision to do this for a single service (e.g. RHOSAK) then it would be an ADR.
As I understand it, while this proposal uses RHOSAK as an example, you're actually confident enough to be recommending this for other services. I.e. BFF should be the default way of solving this problem, and any service wanting to deviate ought record those reasons in an ADR for that service.
Once the pattern has been proven in several services (nominally 3) you might write a PADR to record the decision that all services SHOULD use this pattern.

The motivation for AP was to not be too quick to generalise the experience of one service (ADR) into a hard and fast rule for all other services to follow (PADR).
So to me we're wanting to extract an AP here. There's two ways we could do that:

Write an ADR for RHOSAK (for which the level of detail you have here is about right) and then summarise that in an ½ page AP which basically says "do like in this ADR for other services".
Just write the AP (which is what you've done in this case). A bit more detail is appropriate in this case since there isn't a more detailed ADR to point to.

Thanks for the write-up @tombentley !
I'll try to wrap up as proposed and we move on from there.

Linked AP18 to ADR91 so people can easily find the long story.
Ready to merge? We have all the needed green checks now as far as I can tell! 🎉

Thanks @andreaTP


Update to bazel5

@amberdixon are we able to merge this and the other other Bazel 5 fix? It looks like a problem with github actions - e.g. the check ran but it didn't ping back with status? https://github.com/bazel-ios/rules_ios/actions/runs/1664400771


Can't Build on iOS

I'm using the package all good in Android, but when I try to use it in iOS I'm stack in step 6.
My project didn't have a MY_PROJECT-bridging-header.h file.

I try creating one, and now I'm getting errors:
Swift Compiler Error -> 'RNVideoProcessing.h' file not found
Any suggestions, please?

I've done all the configuration again following the instructions on this video, and it is finally working. Thanks!.

I've done all the configuration again following the instructions on this video, and it is finally working. Thanks!.

Doesn't work for last version React Native 0.60+


[FLINK-22748] Allow dynamic target topic selection in SQL Kafka sinks

What is the purpose of the change
Allows writing to different Kafka topics based on the topic metadata column value in SQL, and updates the Table API's KafkaDynamicSink to accept a List<String> topics instead of String topic as well as support topic-pattern. The list acts as an allow-list of acceptable values for the topic metadata column. topic-pattern for sinks is a pattern that must match topic metadata column values, or else an error is thrown.

If a single topic is provided, it is used by default for the target topic to produce to
If a list is provided, only that list of topics can be produced to
If a topic pattern is provided, it must match topic metadata column values

Builds on the work in https://github.com/apache/flink/pull/16142 by @SteNicholas
Brief change log

Adds topic as writable metadata
Adds topic-pattern support, mirror source side
Updates Table API Kafka sink to accept List<String> topics instead of String topic, mirroring the source side.
Implements allow-list and match behaviour in DynamicKafkaRecordSerializationSchema
Updates Upsert Kafka Sink to also support reading and writing multiple topics using the topic list

Verifying this change

[x] Tests that the Sink Factory and related machinery works as expected
[x] Tests the various valid and invalid scenarios for topic metadata in DynamicKafkaRecordSerializationSchema

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: yes
The runtime per-record code paths (performance sensitive): yes
Anything that affects deployment or recovery: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? updated documentation

@fapaul do you think you have time to take a look? Or pull in folks who may be better reviewers?

Thanks for your review @AHeise! I added integration tests into KafkaTableITCase.java since there are other Kafka Table Sink and Source IT test cases there, and it seemed like the appropriate place. I'm still working on running these tests locally, as the container setup does not work out of the box with podman. I have podman available but not docker.
Otherwise, I have tried to address your other comments as well.

I'm still working on running these tests locally, as the container setup does not work out of the box with podman. I have podman available but not docker.

Tested KafkaTableITCase.java using GH Codespaces ✅

Friendly ping, do you have time to take a look @AHeise 🙏 ?

LGTM from my side, I'd approve once CI passes. Thank you very much for your contribution!

Thanks for your review @AHeise! I see CI is failing, I'll look into it.

@AHeise CI has passed now: https://github.com/Shopify/flink-connector-kafka/actions/runs/10639144193
Please take a look when you have a moment, thanks!

Friendly ping, @AHeise 🙏

Friendly ping, @AHeise 🙏

I'm running CI one last time and then approve/merge.

Thanks @AHeise !

Thank you for your review. I think we can update https://issues.apache.org/jira/browse/FLINK-22748


Spencer elggren

Description
Climate Code fixes and edit of the read.me

Great work.  I don't know what the failing check means re: cy.yml
Only tiny issue with new funcion "d", should have a more descriptive name but maybe that can be tackled during some refactoring.


Ready for merge.

Merged, will be released as part of v1.1.1


USGS M2M /login-token endpoint support

See https://github.com/allenai/rslearn/issues/100

OK I run it here: https://github.com/allenai/rslearn/actions/runs/12422088241


[FEATURE-REQUEST] Prerecorded audio track

I'd like to be able to pipe a pre-recorded audio track from the server to everyone in the call simultaneously. Ideally, I'd also be able to have the host pause and play it.
Is this possible using the Daily API, either in REST or JS? I think the DailyAudioTrack can do this, but I can't quite tell.

This can be done with custom tracks, however their support is currently limited. DailyAudioTrack can't play custom audio tracks, just yet, but we already have this in our backlog.
In the meantime, until Daily React adds support for custom tracks, you can setup custom track <audio> tags manually. The DailyAudioTrack component can act as a source for inspiration here.


Provide improved Blazor/Razor syntax

Just a suggestion/idea:
Please provide alternative syntaxes for blocks of C# code, placed inside HTML like this:
@for (int i = 1; i <= 30; i++)
{
      <option>@i</option>
}

Visual Studio does a bad job at auto-formatting mixed code (C# and HTML), especially after you install add-ons that add additional formatting.
I believe it is easy and much more elegant to use something similar to angular's attributes, e.g., using a @-sth(...) format:
<option @-for(int i = 1; i <= 30; i++)>@i</option>
<option @-foreach(var name in names)>@name</option>
<option @-if(!string.IsEmptyOrWhitespace(name))>@name</option>
<option @-else()>@name</option>

    One
    Two

This will keep things readable and simple, both for developers and auto-formatters.
Transforming these attributes to normal Razor syntax when you compile them should be straightforward.
Also, allowing developers extend these attributes should be also doable, and that would be even cooler.
I am excited with Blazor, but hearing about brackets inside HTML takes half of my excitement already.
And probably I am not the only one feeling this way.

Thanks for contacting us, @DumboJetEngine.
This is not something we plan to do.

Oh!
So, many down-votes and no explanation for them!
Was it such a bad idea, really?!?!
OK.
I have no idea who are the people that down-voted this (if they are experts, 100% C#-dedicated people or just passers-by), but I really had the impression that many people dealing with this on an every-day basis would like to see this part of the framework and tooling change.
A bad estimation on my part maybe. ;)
Apologies for the backlog noise.

@DumboJetEngine, we don't want to come along as harsh at all. It's just our triage process is quite time constrained, and we sometimes leave comments and move on, not being too much verbose.
The reason we don't want to make this change is that this is completely different from where Razor is at the moment and that would mean introducing a breaking change. There are existing patterns for doing this which the Razor community likes and is used to. We can't break all those scenarios. Neither we can justify spending time on introducing a parallel model of doing essentially something which is possible to do in a different way.
Hope this helps.

@DumboJetEngine You have to take into account that it is very popular project with plenty of messages every day. It is simply impossible to write long answers to every suggestion, especially if something has already been discussed earlier. For your reference here is a similar issue: https://github.com/aspnet/Blazor/issues/960 with 14 down-votes.

Thank you all. :)
I didn't expect any extensive reply initially, but the account of down-votes socked me a bit and made me wonder.


Error: ENOTDIR: not a directory, scandir ..../..../distutils-precedence.pth

OS: MacOS 12.2.1 | Macbook Pro M1
Environment: darwin, node 14.19.0, framework 3.3.0, plugin 6.1.0, SDK 4.3.1
When I attempt to run sls deploy after I follow the setup instructions I get this error.
✖ Stack xxxxxxxxxxxx failed to deploy (2s)
Environment: darwin, node 14.19.0, framework 3.3.0, plugin 6.1.0, SDK 4.3.1
Credentials: Local, "key-collector" profile
Docs:        docs.serverless.com
Support:     forum.serverless.com
Bugs:        github.com/serverless/serverless/issues

Error: ENOTDIR: not a directory, scandir '/Users/......../distutils-precedence.pth'

My virtual environment is using Python3.8.
Folder Structure
Project
--- api.py
--- requirements.txt
--- serverless.yml
api.py
from flask import Flask
app = Flask(__name__)

@app.route("/cats")
def cats():
    return "Cats"

@app.route("/dogs/<id>")
def dog(id):
    return "Dog"

requirements.txt
Flask==2.0.3
Werkzeug==2.0.3

serverless.yml
service: key-collector-image-match

provider:
  name: aws
  runtime: python3.8
  profile: key-collector

plugins:
  - serverless-wsgi
functions:
  api:
    handler: wsgi_handler.handler
    events:
      - http: ANY /
      - http: ANY /{proxy+}

custom:
  wsgi:
    app: api.app

I also noticed that when I run serverless plugin install -n serverless-wsgi it doesn't generate a package.json file.

This is what the folder structure looks like after I run sls deploy

Conda environment was hosed. Removed all of conda references and just using pyenv. Issue resolved.


Colvisibility

Hye,
Do you know if it is possible to get an array of the column hide or show ?  I don't find the issue in the doc.
I want to save the user sélection to load it every time.
Thanks for your answer and great job.
Jules

Tx @Ileouleyuki,
you can use the state option to do so, check this demo out:
http://koalyptus.github.io/TableFilter/persistence.html
Otherwise check the full ColsVisibility API here:
http://koalyptus.github.io/TableFilter/columns-visibility.html
and configuration options here:
https://github.com/koalyptus/TableFilter/wiki/3.4-Columns-visibility
Also have a look to the columns visibility demo:
http://koalyptus.github.io/TableFilter/columns-visibility.html

Great, Wonderful, ... :)
So i use the, i get it with tf.extension('colsVisibility').hiddenCols ... easy :)
It give me what i want,: an array with the hiddenCols.
Thanks for your help koalyptus
You can close the issue


3D Texture camera controls

Add toggleable SceneView-esque camera controls to the 3D texture previewer.

perhaps just controls that clamp the preview-pivot to the preview cube's bounds. Middle-mouse to pan in camera-XY-space.


continuous deployment

When tests pass on a certain branch.
Suggested by @simonsapin on Twitter.
We'd need to review who has what permissions on the repo.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

As the issue isn't user-oriented, reticket to inside.

user-oriented

Why is that the criterion, rather than the scope of the issue (gratipay.com vs. Gratipay as an organization, or cross-repo product questions)?


Adding trace link files from Params repo to here

As per the Chakra forum's consensus, let's move the trace link from param repo to here.
This commit simply moves these files, we will need to follow up with a diff to integrate them.

Can someone merge this?

This looks good to me!

recheck

Is there any update on CLA, @sanrise ?

recheck

Is there any update on CLA, @sanrise ?

something is not right, the github-actions bot says I signed the CLA but the checks are failing for cla-check

Maybe Meta has to sign CLA on behalf of you. Do you have any idea, @srinivas212?

Maybe Meta has to sign CLA on behalf of you. Do you have any idea, @srinivas212?

I also think a member of the wg-chakra group needs to approve this PR. it's not approved yet (check attached image).

The recheck command is currently broken, so you have to manually re-run the check. You should be good to go now.

The PR will break linter and other formatters. @TaekyungHeo  is already working on fixing these issues. This PR is mainly to contribute the code from Meta to MLC repo by Meta employee.


Allow alternative devtools

Sometimes it is usefull to use other than built-in sourcemap options. For example in large projects with 70+ entry points devtool: source-map fails to complete due out of memory.
I've made pull request #52 with easiest way to do it, so you can use it like this:
gg({
  "baseDir": __dirname,
  "productionDevtool": "cheap-source-map"
}).setup(gulp);

or
gg({
  "baseDir": __dirname,
  "productionDevtool": "none"
}).setup(gulp);

I released the patch in 0.11.8 version. I'll investigate the issue and check what can we do about 'out of memory' errors.

Thanks!


[AIRFLOW-2549] GCP DataProc Workflow Template operators report success when jobs fail

Hello,
Here is an ticket related to GCP on Jira:
https://issues.apache.org/jira/browse/AIRFLOW-2549
Love

Could not replicate the problem.
Steps I took:

create Dataproc workflow tomek-flow with two jobs:

hadoop_job - supposed to fail
pig_job - supposed to success

create example DAG with DataprocWorkflowTemplateInstantiateOperator to instantiate tome-flow
wait for output:

[2019-07-18 08:38:25,294] {taskinstance.py:614} INFO - Dependencies all met for <TaskInstance: example_gcp_dataproc_template.instantiate_task 2019-01-01T00:00:00+00:00 [None]>
[2019-07-18 08:38:25,300] {taskinstance.py:614} INFO - Dependencies all met for <TaskInstance: example_gcp_dataproc_template.instantiate_task 2019-01-01T00:00:00+00:00 [None]>
[2019-07-18 08:38:25,300] {taskinstance.py:832} INFO -
--------------------------------------------------------------------------------
[2019-07-18 08:38:25,300] {taskinstance.py:833} INFO - Starting attempt 1 of 1
[2019-07-18 08:38:25,300] {taskinstance.py:834} INFO -
--------------------------------------------------------------------------------
[2019-07-18 08:38:25,301] {taskinstance.py:853} INFO - Executing <Task(DataprocWorkflowTemplateInstantiateOperator): instantiate_task> on 2019-01-01T00:00:00+00:00
[2019-07-18 08:38:25,318] {dataproc_operator.py:1098} INFO - Instantiating Template: tomek-flow
[2019-07-18 08:38:25,318] {gcp_api_base_hook.py:98} INFO - Getting connection using `google.auth.default()` since no key file is defined for hook.
[2019-07-18 08:38:25,325] {discovery.py:272} INFO - URL being requested: GET https://www.googleapis.com/discovery/v1/apis/dataproc/v1beta2/rest
[2019-07-18 08:38:25,644] {discovery.py:873} INFO - URL being requested: POST https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/workflowTemplates/tomek-flow:instantiate?alt=json
[2019-07-18 08:38:27,613] {gcp_api_base_hook.py:98} INFO - Getting connection using `google.auth.default()` since no key file is defined for hook.
[2019-07-18 08:38:27,622] {discovery.py:272} INFO - URL being requested: GET https://www.googleapis.com/discovery/v1/apis/dataproc/v1beta2/rest
[2019-07-18 08:38:27,900] {gcp_dataproc_hook.py:363} INFO - Waiting for Dataproc Operation projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c to finish
[2019-07-18 08:38:37,879] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:38:48,782] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:38:59,586] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:39:09,866] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:39:20,153] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:39:30,731] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:39:41,195] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:39:52,479] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:40:02,884] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:40:13,142] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:40:23,924] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:40:34,642] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:40:44,928] {discovery.py:873} INFO - URL being requested: GET https://dataproc.googleapis.com/v1beta2/projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c?alt=json
[2019-07-18 08:40:45,209] {gcp_dataproc_hook.py:389} WARNING - Dataproc Operation projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c failed with error: Step 'hadoop_job' (hadoop_job-a342p4tbavep6) failed
[2019-07-18 08:40:45,210] {taskinstance.py:1045} ERROR - Google Dataproc Operation projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c failed: Step 'hadoop_job' (hadoop_job-a342p4tbavep6) failed
Traceback (most recent call last):
  File "/workspace/airflow/models/taskinstance.py", line 920, in _run_raw_task
    result = task_copy.execute(context=context)
  File "/workspace/airflow/contrib/operators/dataproc_operator.py", line 66, in execute
    self.hook.wait(self.start())
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 497, in wait
    submitted.wait_for_done()
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 373, in wait_for_done
    if self._check_done():
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 390, in _check_done
    self._raise_error()
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 399, in _raise_error
    (self.operation_name, self.operation['error']['message']))
Exception: Google Dataproc Operation projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c failed: Step 'hadoop_job' (hadoop_job-a342p4tbavep6) failed
[2019-07-18 08:40:45,232] {taskinstance.py:1076} INFO - Marking task as FAILED.
Traceback (most recent call last):
  File "/root/.virtualenvs/airflow36/bin/airflow", line 7, in <module>
    exec(compile(f.read(), __file__, 'exec'))
  File "/workspace/airflow/bin/airflow", line 32, in <module>
    args.func(args)
  File "/workspace/airflow/utils/cli.py", line 73, in wrapper
    return f(*args, **kwargs)
  File "/workspace/airflow/bin/cli.py", line 685, in test
    ti.run(ignore_task_deps=True, ignore_ti_state=True, test_mode=True)
  File "/workspace/airflow/utils/db.py", line 69, in wrapper
    return func(*args, **kwargs)
  File "/workspace/airflow/models/taskinstance.py", line 1007, in run
    session=session)
  File "/workspace/airflow/utils/db.py", line 65, in wrapper
    return func(*args, **kwargs)
  File "/workspace/airflow/models/taskinstance.py", line 920, in _run_raw_task
    result = task_copy.execute(context=context)
  File "/workspace/airflow/contrib/operators/dataproc_operator.py", line 66, in execute
    self.hook.wait(self.start())
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 497, in wait
    submitted.wait_for_done()
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 373, in wait_for_done
    if self._check_done():
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 390, in _check_done
    self._raise_error()
  File "/workspace/airflow/contrib/hooks/gcp_dataproc_hook.py", line 399, in _raise_error
    (self.operation_name, self.operation['error']['message']))
Exception: Google Dataproc Operation projects/polidea-airflow/regions/global/operations/c0e2c4b0-1408-3976-a139-cb1b32782d1c failed: Step 'hadoop_job' (hadoop_job-a342p4tbavep6) failed

Last line contains information about the workflow's failure.

Can you write this information in Jira and call me? I will then close the application.


Resize cursor appears outside of bounds of window

Sorry to raise another issue...
The resize cursor appears outside of the bounds of window e.g.

This is non standard UI design and confuses users who are trying to resize windowjs windows.
More seriously it can cause the mousemove and other events to be sent to html elements outside the window. This sometimes causes weird unwanted interactions. For example the resizing of a window sometimes breaks where the window is stuck in resize mode even though the cursor is free of the window edge area and interacting with other components. Very hard to get out of this situation.

This is due to the resize-handle elements. I shrinked them to 3px. This can later also be edited in the css file.


Error running using redis CLI

Steps to reproduce
redis-cli -p 7379
Expected output
The expected output when the above set of commands (maybe when run on Redis)
Should run as expected like earlier

Observed output
The observed output when the above set of commands when run on DiceDB

@JyotinderSingh @lucifercr07 this is happening due to https://github.com/DiceDB/dice/pull/993
pls revert it to fix this

@lucifercr07 can you pls revert #993 back as it is still creating issue at local environment running the dicedb server?

do we have a fix for this yet?
i'm still unable to run this locally with
redis-cli -p 7379

@tejasa97 can you please try with https://github.com/DiceDB/dicedb-cli, meanwhile will look into this.

will do. thanks

Hi @tejasa97, @shashi-sah2003, for know if dicedb-cli does not work for you, you can comment out the following lines in eval.go.
	// case Docs:
	// 	return evalCommandDocs(args[1:])

Hi @tejasa97, @shashi-sah2003, for now if dicedb-cli does not work for you, you can comment out the following lines in eval.go.
	case Docs:
 	       return evalCommandDocs(args[1:])

yeah it's working now

Closing, merged as part of #1312


[qcheck-stm] Incorrect runnable scenario on normal behaviour when function could have raised an exception

To reproduce add the following declaration to plugins/qcheck-stm/test/array.ml:
let get a i = get a (i+1)

dune build @launchtests will give you something like:
Messages for test Array STM tests:

Gospel specification violation in function get

  File "array.mli", line 13, characters 12-37:
    a = List.nth t.contents i

when executing the following sequence of operations:

  open Array
  let protect f = try Ok (f ()) with e -> Error e
  let sut = make 16 'a'
  let _ = protect (fun () -> fill sut 3 5 '\219')
  (* returned Ok (()) *)
  let r = protect (fun () -> get sut 2)
  assert (r = 'a')
  (* returned Ok ('\219') *)

We would have expected:
assert (r = Ok 'a')

The generated code doesn't tell the runtime when a returned value could have been an exception.
Back in the days, I used (string, res) either type to encode whether it is an exception or a value, but in fact, we need three cases:

value from a function without exceptional behaviour
value from a function with an exceptional behaviour
exception

And then adapt pp_expected accordingly


fix(action): update github release action - stable

Modify the release action to trigger on push to stable branch

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Delete button missing in CP after installing Runway

Description
When I install Runway I'm somehow unable to delete any entries, taxonomies, or assets. The delete buttons are removed from tables and action dropdown. I can still delete blueprints and fieldsets.
Steps to reproduce
CP without Runway installed:

CP with Runway installed:

If I uninstall Runway the delete buttons come back. I have tried different combinations of Runway and Statamic versions, but they all give the same result.
Environment
Statamic 3.2.4 Solo
Laravel 8.61.0
PHP 7.4.12
doublethreedigital/runway 2.1.21

Huh, that's not very helpful, is it?

Oh, that was fast. Fix works perfectly. Thanks!

No worries - I'll tag a proper release shortly!

Here we go... released in v2.1.22


Failed to connect No route to host

I am trying to use tuya-convert to flash some Novostella smart bulbs.
I am using Kali linux on a raspberry pi2 with a usb wifi dongle.
I successfully installed the intermediate firmware on all three in succession.
After doing that, I went to check each bulb with curl using:
curl http://<IP_ADDRESS>
The curl command retreived the buld info for 2 of the 3 bulbs. But one got the following error:
curl: (7) Failed to connect to <IP_ADDRESS> port 80: No route to host
For the two that successfully pulled the bulb info, I was able to flash tasmota.
But I continue to get the No root to host on the third bulb.
This is the info from the intermediate flash for the bulb:
======================================================
Starting smart config pairing procedure
Waiting for the device to install the intermediate firmware
Put device in EZ config mode (blinking fast)
Sending SSID                  vtrust-flash
Sending wifiPassword
Sending token                 00000000
Sending secret                0101
...............
SmartConfig complete.
Resending SmartConfig Packets
...............................................
IoT-device is online with ip <IP_ADDRESS>
Fetching firmware backup
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1024k  100 1024k    0     0  29475      0  0:00:35  0:00:35 --:--:-- 28733
curl: Saved to filename 'firmware-a1140d.bin'
======================================================
Getting Info from IoT-device
VTRUST-FLASH 1.2
(c) VTRUST GMBH https://www.vtrust.de/35c3/
READ FLASH: http://<IP_ADDRESS>/backup
ChipID: a1140d
MAC: BC:DD:C2:A1:14:0D
BootVersion: 7
BootMode: normal
FlashMode: 1M QIO @ 40MHz
FlashChipId: 1440c8
FlashChipRealSize: 1024K
Active Userspace: user2 0x81000
======================================================

Any suggestions on how to solve this problem? Or have I bricked the bulb?

can you provide a little more info on how I would go about doing this?

Let me see if I follow you, you flashed three devices, and the log you posted is from one of the two that was successful, but one of the three did not get that far. Is that right?
Since the other two worked, it may have just been a fluke. Try restarting the process but instead of putting the device into pairing mode and connecting a phone, just unplug and plug the device back in.

Not exactly. All three bulb got thru the intermediate flash. All three produced summary information like that above.  What is above is from the bulb that got past the intermediate flash, but which does not respond when I attempt the final flash.
I too find it perplexing that I was able to flash two of the three bulbs but not this other one.
I have already tried several times to do the flash. I unplugged the bulb and retried 2 or 3 times. I rebooted the rpi and tried again. Every time I get the same Failed to connect No route to host error message.

Any news on this @pudah? Have you tried plugging the device back in and looking for a vtrust-recovery SSID?

Closing due to inactivity, feel free to reopen if this is still an issue


Adding new location layer plugin constructor for options and default engine

Resolves #616
Still need to add tests
cc @LukasPaczos @danesfeder

Related to https://github.com/mapbox/mapbox-android-demo/pull/832

Not positive, but I think the test I added is satisfactory for testing the new constructor. If not, let me know 🙇

Ready for another review @LukasPaczos 🙇


feat(aws-eventbridge-kinesisstreams) created new construct

Issue #289, if available:
Description of changes:
-Created new construct for aws-eventbridge-kinesisstreams
-Created wrapper in aws-events-rule-kinesisstreams to support new construct
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 99b6b62cce4d05f4c29dda0bc4dc48b94c1e8b1e
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: abf1bc8164b8f89e4e24c348830b6716e203add0
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 666e49a10c21545ee516248cc4adc2540ac027dc
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 1306f8784cdbe58ecbf8a02c71a830fc3d20b476
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 32fd42077c29290bfa2d1626d5de66180669b92e
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 0f376897f186aec36994bf20c53521b74a54ad55
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 107702a5ed17187c48207d0bd6a440416d127abd
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: ea5b6fe822761616c93a838d0d04af6ae794d70f
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


FT-94 # Subforms have their own submit button

Added angular binding to hide submit button on sub forms

LGTM 👍


Feat(Query): Oss Bucket Allows Put Action For All Principals for Alicloud Terraform

Proposed Changes

Query: Oss Bucket Allows Put Action For All Principals for Alicloud Terraform

I submit this contribution under the Apache-2.0 license.

Checkmarx AST – Scan Summary & Details – 6922df67-9b60-4d75-8a86-05c41d8dafbc
Fixed Issues

Severity
Issue
File / Package
Scan Engine

HIGH
ALB Listening on HTTP
/assets/queries/cloudFormation/aws/alb_listening_on_http/test/positive3.yaml: 8
CxKICS


Do not update pointing values if they are missing - [merged]

In GitLab by @wtbarnes on Oct 21, 2021, 11:22
Merges pointing-table-missing-vals -> master
This fixes a bug where, if the pointing values were missing from the pointing table, they were filled in as nans in the returned map.

In GitLab by @wtbarnes on Oct 21, 2021, 11:23
This should be backported to the 0.5 branch as well

In GitLab by @wtbarnes on Oct 21, 2021, 11:24
added 1 commit
f858b5cd - changelog
Compare with previous version

approved this merge request

In GitLab by @codecov on Oct 21, 2021, 11:33
Codecov Report

Merging #120 (f858b5c) into master (9c08605) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
+ Coverage   97.26%   97.28%   +0.02%
==========================================
  Files          15       15
  Lines         475      479       +4
==========================================
+ Hits          462      466       +4
  Misses         13       13

Impacted Files
Coverage Δ

aiapy/calibrate/meta.py
100.00% <100.00%> (ø)

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 9c08605...f858b5c. Read the comment docs.

In GitLab by @wtbarnes on Oct 21, 2021, 11:44
mentioned in commit 8d4ba6a082e80a530daca2c5e6a0f536268fabaa

In GitLab by @wtbarnes on Oct 21, 2021, 11:29
enabled an automatic merge when the pipeline for f858b5cdd2ce5b32f705c5d62e72e4ff8f4a6627 succeeds


Cache and reuse generated cubic gradient drawables

I doubt this will make any significant performance improvement since the gradients aren't generated very often, but we use this internally and just wanted to contribute back in case you think it'd be useful!


Way too many Interaction objects

In migrating the data for Interactions, I'm seeing a lot more objects than I expected. It's possible that back when the Proposals were being removed every night and rebuilt, the Interactions weren't being cleaned up, so there are thousands of orphaned Interaction objects. I'm 99% sure that's what's happened. They should be cleaned up.

Confirmed - there are FAR too many. 172000 in fact.

Cleaned up, DB is OK now, but the relation should have a dependent: :delete in it somewhere so I'll leave this open.


Packet timestamp mismatch on a calculator receiving from stream "free_memory"

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
Yes
OS Platform and Distribution
MacOS
Mobile device if the issue happens on mobile device
No response
Browser and version if the issue happens on browser
No response
Programming Language and version
Javascript
MediaPipe version
0.10.3
Bazel version
No response
Solution
ImageSegmenter
Android Studio, NDK, SDK versions (if issue is related to building in Android environment)
No response
Xcode & Tulsi version (if issue is related to building for iOS)
No response
Describe the actual behavior
I am receiving user reports with this error, but am unable to reproduce this locally. Any help with debug steps would be much appreciated!

We are using the `segmentForVideo` API with `runningMode="VIDEO"`. We pass in a `performance.now()` for the timestamp.

Here's the error below:

Adding Image to stream image_in was
not ok: INVALID ARGUMENT: Graph has errors:
Packet timestamp mismatch on a calculator receiving from stream
"free memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but
received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that
some InputStreamHandlers allow timestamps that are not strictly
monotonically increasing. See for example the ImmediateInputStreamHandler
class comment.
[type.googleapis.com/mediapipe.StatusList='\n\xed\x02\x08\x03\x12\xe8\x02Pac
ket timestamp mismatch on a calculator receiving from stream
\"free memory\". Current minimum expected timestamp is<PHONE_NUMBER>1 but
received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that
some InputStreamHandlers allow timestamps that are not strictly
monotonically increasing. See for example the ImmediateInputStreamHandler
class comment.']
=== Source Location Trace:
===
third_party/mediapipe/framework/input stream manager.cc:139

I'm noticing that each error is always 1 off. Here are several more errors:
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 07, 2023 6:28:45
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 5084001 but received 5084000. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 5084001 but received 5084000. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 07, 2023 2:51:12
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 60499001 but received 60499000. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 60499001 but received 60499000. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 07, 2023 2:15:30
Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER> but received<PHONE_NUMBER>. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER> but received<PHONE_NUMBER>. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 07, 2023 1:48:32
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 07, 2023 1:18:48
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER> but received<PHONE_NUMBER>. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER> but received<PHONE_NUMBER>. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 06, 2023 23:22:19
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER> but received<PHONE_NUMBER>. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER> but received<PHONE_NUMBER>. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 06, 2023 22:58:36
Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 06, 2023 22:01:17
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok, CalculatorGraph::Run() failed in Run: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed
September 06, 2023 18:29:25
 Graph has errors: Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is<PHONE_NUMBER>1 but received<PHONE_NUMBER>0. Are you using a custom InputStreamHandler? Note that some InputStre

### Describe the expected behaviour

```shell
Help in debugging and/or work arounds would be great (e.g. would the `segment` API with `runningMode="IMAGE"` have the same problem potentially with the `FREE_MEMORY_STREAM`?).

Any help or hints would be great thanks.

Standalone code/steps you may have used to try to get what you need
I don't have a repro yet unfortunately. Just these logs

Other info / Complete Logs
No response

Similar to issue #4654

Hi @spennihana,
Could you kindly confirm whether you are still seeking a resolution for this issue? According to the comment provided here, it appears that the issue has been resolved on your end.
If there are no longer any issues from your perspective, may we proceed to close the matter and mark it as resolved?
Thank you!

I am seeing the same problem. The other ticket said they resolved it by using IMAGE mode instead of VIDEO mode, but when I do that it tells me I must use VIDEO mode (I am sending it a webcam stream). I can get a frame or two at times. But I am getting timestamps with values such as 0 and 1.
 The values are different, (e.g. 1.53 and 1.59) but after truncating to an int the difference is less than 1. (This is based on a call seeming to work if the previous time was 0.93 -> 1.32, but then the next fails with 1.32 -> 1.75.)  This is just conjecture however. I have tried only calling once every second and it still fails, so this might be a red herring.
Unhandled Runtime Error
Error: Encountered multiple errors: Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok: $Graph has errors:
Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 1 but received 0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment., WaitUntilIdle failed: $CalculatorGraph::Run() failed in Run:
Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 1 but received 0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed

Note printing out the timestamp gives big numbers, not 0 and 1. So confusing, but going to try some more ideas later and try to find some other sample code. (I really want to try the holistic detector - I want arms, fingers, and facial expressions. https://developers.google.com/mediapipe/solutions/vision/holistic_landmarker says "coming soon".)

Any update?

Have the same issue for a while now. Can confirm it happens on Android. Seeing this on our Sentry dashboard a few times for a few users. Any update?

I encountered this problem

I am seeing the same problem. The other ticket said they resolved it by using IMAGE mode instead of VIDEO mode, but when I do that it tells me I must use VIDEO mode (I am sending it a webcam stream). I can get a frame or two at times. But I am getting timestamps with values such as 0 and 1.
 The values are different, (e.g. 1.53 and 1.59) but after truncating to an int the difference is less than 1. (This is based on a call seeming to work if the previous time was 0.93 -> 1.32, but then the next fails with 1.32 -> 1.75.) This is just conjecture however. I have tried only calling once every second and it still fails, so this might be a red herring.
Unhandled Runtime Error
Error: Encountered multiple errors: Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok: $Graph has errors:
Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 1 but received 0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment., WaitUntilIdle failed: $CalculatorGraph::Run() failed in Run:
Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 1 but received 0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed

Note printing out the timestamp gives big numbers, not 0 and 1. So confusing, but going to try some more ideas later and try to find some other sample code. (I really want to try the holistic detector - I want arms, fingers, and facial expressions. https://developers.google.com/mediapipe/solutions/vision/holistic_landmarker says "coming soon".)

I ran into this problem earlier and found out the issue.
The timestamp in VideoFrame object is in macrosecond, while the segmentForVideo API takes millisecond timestamps.
I solved my issue with
      const timestamp = Math.floor(
        videoFrame.timestamp / MICROSEC_PER_MILLISEC
      ); // in milliseconds


Add docker compose as a version manager

Motivation
Many developers working on complex projects rely on Docker Compose to set up their development environments. However, it is not always feasible to use VS Code Dev Containers due to their limited functionality and lack of compatibility with custom workflows. To address this limitation, I have implemented a Docker Compose version manager for the Ruby LSP VS Code extension. This change allows developers to use the LSP server seamlessly within their existing Docker Compose setups, including setups enhanced with tools like Mutagen or even "dip". This change aims to improve compatibility and flexibility for developers using diverse development environments.
This change should also solve https://github.com/Shopify/ruby-lsp/issues/2223
Implementation
I had to make several significant changes:

Process Execution: To retrieve Ruby information, I replaced the use of exec with spawn, passing a script for execution. This change was made to avoid issues with escaping and to address various problems with container entrypoint implementations.

Enhanced Manager Functionality: Since commands like bundle install, Rails generators, and others need to be executed inside Docker Compose, the manager object now has expanded functionality and is available within the Ruby class.

URI Converters: I implemented uriConverters methods (code2Protocol and protocol2Code) to map paths between the local file system and the container. I also applied the converter logic in relevant parts of the code that I was able to identify.

Docker Compose Configuration Parsing: I added automatic parsing of the Docker Compose configuration. Initially, path mapping was intended to be configured manually, but I found it straightforward to extract this information from the configuration itself.

Bonus Features:

Added the ability to select a Docker Compose service via the UI and save it in Workspace settings.
Included parsing for Mutagen configurations, which is particularly useful for environments running on remote servers.

I did not check the Sorbet extension or others that rely on process.env. They will not work, obviously.
Automated Tests
I updated all the existing tests and added a couple of new ones. If the proposed changes are approved, I will add sufficient new tests to cover the new functionality.
Manual Tests
I tested the extension locally on macOS using both Docker Compose and Mutagen Compose. Additionally, I verified compatibility with rvm and shadowenv.
To test the functionality, you can use a similar docker-compose.yml configuration:
services:
  backend:
    build:
      context: "."
    volumes:
      - .:/app
      - bundle:/usr/local/bundle

volumes:
  bundle:

x-mutagen:
  sync:
    bundle:
      alpha: "volume://bundle"
      beta: "../bundle/myapp"
      mode: "one-way-replica"

I have signed the CLA!


i18n(zh-cn): Update routing.mdx

Description (required)
Update routing.mdx
Related issues & labels (optional)

#8941
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
guides/routing.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.