Transaction failing due to error "The service is temporarily unavailable. Please retry with exponential backoff."

Environment details

OS: Hosting on a Cloud Run
.NET version: 6.0
Package name and version: Google.Cloud.Firestore from Google LLC 3.4.0

Steps to reproduce
Sadly no steps.
Description
A couple of weeks ago, I have started to receive errors with Firestore transactions with the following message:
The referenced transaction has expired or is no longer valid. (at Google.Api.Gax.Grpc.ApiCallRetryExtensions.b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n at Google.Cloud.Firestore.WriteBatch.CommitAsync(ByteString transactionId, CancellationToken cancellationToken)\n at Google.Cloud.Firestore.FirestoreDb.RunTransactionAsync[T](Func 2 callback, TransactionOptions options, CancellationToken cancellationToken)\n at Google.Cloud.Firestore.FirestoreDb.RunTransactionAsync[T](Func 2 callback, TransactionOptions options, CancellationToken cancellationToken))
I don't think there is a problem in the code, since some transactions that fail are pretty simple and have not been modified in a long time. I also have seen that these failures occur during small periods of time (see times below), which makes me think that it is something related to the moment of the request/the availability of the service.
2024-04-20 05:21:24.737 CEST
2024-04-20 06:18:13.679 CEST
2024-04-20 16:01:29.846 CEST
2024-04-20 16:01:43.408 CEST
2024-04-20 16:01:57.471 CEST
2024-04-20 16:02:31.865 CEST
2024-04-20 16:02:57.235 CEST
We have activated the Audit logs and have seen that transactions are failing due to this error:
The service is temporarily unavailable. Please retry with exponential backoff.
After that, the transaction retries but fails due to the previous error:
The referenced transaction has expired or is no longer valid.
The first error occurs very often, what could be causing this issue? Could it be something related to the availability of Firestore, if so, is there any way to upgrade the Firestore to sustain more movement?
Errors "The referenced transaction has expired or is no longer valid." catched by the server:

Errors "The service is temporarily unavailable. Please retry with exponential backoff." catched by the Audit logs:

Stacktrace from today (2024-04-30 05:02:49.338 CEST):
"Message": "Status(StatusCode=\"InvalidArgument\", Detail=\"The referenced transaction has expired or is no longer valid.\")",     "Data": {},     "InnerException": null,     "HelpLink": null,     "Source": "System.Private.CoreLib",     "HResult": -2146233088,     "StackTrace": "   at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass0_0 2.<<WithRetry>b__0>d.MoveNext()\n--- End of stack trace from previous location ---\n   at Google.Cloud.Firestore.WriteBatch.CommitAsync(ByteString transactionId, CancellationToken cancellationToken)\n   at Google.Cloud.Firestore.FirestoreDb.RunTransactionAsync[T](Func 2 callback, TransactionOptions options, CancellationToken cancellationToken)\n   at Google.Cloud.Firestore.FirestoreDb.RunTransactionAsync[T](Func 2 callback, TransactionOptions options, CancellationToken cancellationToken)"
On another topic, we have experienced a ton of errors, a total of 1180, on 27-04-2024 between 7:00 am and 8:00 am CEST. The error was "Error connecting to subchannel." and it happened when trying to read a document. I know it is not the topic of the issue, but I am not sure if it is related to the problem. It looks like a Firestore was failing on that time but I don't know where I can check the status of Firestore, since there is no Firestore on the status page (https://status.firebase.google.com/).
Thank you in advance.

The Firestore status is on the Cloud dashboard at https://status.cloud.google.com/ - but there's no sign of an outage there.
I wonder whether there's some intermittent connectivity issue between your code and GCP - could you give more context about:

Where your code is running
What .NET platform you're using
What authentication credentials you're using
What library version / versions you're using

(If you're able to provide a complete console app that demonstrates the problem at least occasionally, that would be really helpful so that I could try to reproduce it myself.)
Additionally, if you're able to add your own local logs to record when you start using each transaction ID, it would be interesting to know how much time elapses between that and the failure.
My guess is that eventually you'll need to talk to Firestore support - the maintainers of this repository are only responsible for client libraries, and these all sound like server-side errors which I suspect aren't related to the client libraries themselves, but the more information we can collect before then, the better.

Thanks for the quick response! I am trying to create a small sample project to reproduce the error, but I haven't had luck yet.
Meanwhile I am looking the Audit logs to try to undestand what is happening and located one of these errors in order to find the time elapses you commented.
I have found this error in which the transaction opens at 44.187, fetches documents on 44.206, fails to commit the changes due to "The service is temporarily unavailable. Please retry with exponential backoff." error at 44.236, and then fails the commit again with the error "The referenced transaction has expired or is no longer valid." at 49.303. Between both commits there is no movement of that transaction, but 3 other transactions are opened and completed successfully.
Does it make sense? Why does the read work but not the commit? How does the library behaves when getting the "The service is temporarily unavailable. Please retry with exponential backoff." error? At this point any guidance is apreciated.
Just to clearify the logs where filtered by the transaction id and where also showing Begin transaction methods, since those are not identified by the transaction id (which I found strange).

Thank you again.

Hmm... I'd expect FirestoreDb.RunTransactionAsync to rerun all of the user code in a new transaction. The logic here did change relatively recently (in #11564). You might want to try downgrading Google.Cloud.Firestore to version 3.4.0 (which didn't include the change). We previously never actually backed off (there was an unused backoff variable). It's unclear whether that's actually relevant here though.
Another possibility is that what you're seeing is the purely-internal retry for Commit, within Google.Cloud.Firestore.V1 - which we should probably disable, in order to retry the whole transaction without retrying the Commit call itself. I wonder whether that's actually the problem.
Can you add your own logging that will tell use whether your user code is being called multiple times?
For the logs you've shown, is this with lots of requests coming in, so some of these could just be completely concurrent?  Really appreciating the help. I will add the log in the transaction logic and keep an eye on it.
Also, just to clarify I am not fully updated on the Google.Cloud.Firestore version, I am currently on the version 3.4.0, which you asked me to downgrade. I was thinking on updating to the latest to see if it has something to do with the problem, but I wanted to collect as much data as posible before doing so.
I will get back to you with the data once I got it.

Ah, interesting - sorry, I stupidly didn't check the version you included in the first comment. That's good to know. Will be interested to see what happens with the extra logging. It might be worth sticking to the old (3.4.0) version for now, just to avoid changing too much at a time, but we'll see.
Do your logs show the status codes for the two failures, by the way? (I wonder whether we're not actually doing any of the "whole transaction" retry, if Commit is retrying internally and ending up with an invalid transaction reference. I don't know how long transaction references normally stay valid for.)

No problem. I actually have the codes:
The service is temporarily unavailable. Please retry with exponential backoff. -> Code: 14
The referenced transaction has expired or is no longer valid. -> Code: 3

Regarding the transaction times, I understood that the transaction is valid during 270 seconds. In the documentation it says that "270 seconds, with a 60-second idle expiration time" (https://firebase.google.com/docs/firestore/quotas#writes_and_transactions), which creates me more doubts on why the transaction expires.

For the codes (from code.proto): 14=UNAVAILABLE, 3=INVALID_ARGUMENT - which makes sense.
The default retry configuration for commit will time out after a minute - well before the 270 seconds, but I guess it's feasible to hit the idle expiration time.
Is it possible that the logs for "the referenced transaction has expired" are actually from a transaction that started 270 or 60 seconds earlier? It would be easy to miss that in busy logs...
(We'll get there eventually...)

As you said, it is very dificult to know the begining of a transaction since there are a lot going on, and the log does not provide a transaction id for the BeginTransaction method. I asumed that it would be the one closer to the Reading of the documents but I could be wrong.
I hope that with the added log in the transaction logic, I will be able to detect exactly where it starts.
On another topic, I have been thinking that the retry took to much time and the transaction expired before being able to retry. Is there something else that could be invalidating it?

On another topic, I have been thinking that the retry took to much time and the transaction expired before being able to retry. Is there something else that could be invalidating it?

When you say "the retry took too much time" do you mean your code within the retry? (If you can tell me a bit more about what you're doing, I'll try to reproduce this myself.)

Is there something else that could be invalidating it?

Not that I know of - but that's really not my area of expertise :(

I meant more the backoff time that the package is giving to Firestore to respond.

Right. If it is taking more than a minute, that's definitely a bug. I suspect it's not, but until we can see reasonably definitive logs for a single transaction, it'll be hard to say.
One thing you could do to add more logging is to set an ILogger in FirestoreDbBuilder when creating your FirestoreDb. For example:
var loggerFactory = LoggerFactory.Create(builder =>
{
    builder.AddSimpleConsole();
    builder.SetMinimumLevel(LogLevel.Trace);
});

var db = new FirestoreDbBuilder
{
    Logger = loggerFactory.CreateLogger("Firestore"),
    ProjectId = "..."
}.Build();

(You might want to use Google.Cloud.Logging.Console as a console log formatter to get structured logs.)
That way you'll see the underlying API calls being logged, which could help.

Good morning! Sorry for the late reply. I have more details on the timing of the transaction, one example:
2024-04-30 23:30:22.333 -> [Server Log] Request made (HTTP post)
2024-04-30 23:30:22.441 -> [Audit Log] Potential BeginTransaction
2024-04-30 23:30:22.448 -> [Audit Log] Transaction Get
2024-04-30 23:30:22.469 -> [Custom Log] Log in transaction internal logic
2024-04-30 23:30:22.579 -> [Audit Log] Transaction first error (The service is temporarily unavailable. Please retry with exponential backoff.)
2024-04-30 23:30:22.663 -> [Audit Log] Transaction second error (The referenced transaction has expired or is no longer valid.)
2024-04-30 23:30:22.684 -> [Custom Log] Server detects the error and logs it
The logic is only excetued once and all the operation takes less than a second. Does this give you any valuable data?
I also tested the transaction logic and executes in a second or less.
I will also try to add the logs you commented, but aren't those like the Audit Logs?

I will also try to add the logs you commented, but aren't those like the Audit Logs?

The audit logs are recorded server-side. The logs I've shown are client-side logging.

The logic is only excetued once and all the operation takes less than a second. Does this give you any valuable data?

Well, it strongly suggests that the transaction hasn't actually "expired" - but probably just become invalid due to being used in a commit that failed for the internal error.
I think I should be able to write a sample that disables the "internal" retry configuration, if you'd be able to test that. It'll be later today or maybe even tomorrow though due to the other things I've got on. If that works, I can fairly easily change the code to do that by default.

When you say:

I think I should be able to write a sample that disables the "internal" retry configuration
Does it mean removing the retry completely? Or just the retry without reexecuting the logic? I would like to keep the retry, since I prefer not having to prompt the client with a retry message.

I don't feel very comfortable testing things on production (where I have these errors), but if you can create that sample I would likely test it on my other environments before putting it on production, which would delay the results.
I also think, you mentioned that the new version of the package did retry with backoff. Should I try upgrading to see if the problem is there?

Does it mean removing the retry completely?

No, just the "inner" retry which will make a second Commit RPC if the first fails - but that's a bug, I believe. Basically the retry should be "of the whole transaction", an "outer" retry.
My change would still have the "outer" retry... which I believe isn't actually being used at all, because the failure we end up with from the "inner" retry is a non-outer-retriable one, basically.
However (there are lots of layers to this) it looks like the "outer" retry still wouldn't end up firing, because the very first RPC error is UNAVAILABLE, which isn't deemed retriable. Basically I suspect it would fail with the initial "The service is temporarily unavailable".
I'll need to talk to colleagues about whether the "outer" retry should actually retry the whole transaction on UNAVAILABLE.

I don't feel very comfortable testing things on production (where I have these errors), but if you can create that sample I would likely test it on my other environments before putting it on production, which would delay the results.

I completely understand not wanting to test in production - but we really need some way of being able to reproduce the problem in a test environment. Have you been able to reproduce in an isolated way at all?

I also think, you mentioned that the new version of the package did retry with backoff. Should I try upgrading to see if the problem is there?

You could do so, but given the logs we've seen so far, I don't think that would have any impact.

Looking at some internal design docs, it looks like the "outer" retry should be happening on more status codes, including both UNAVAILABLE and RESOURCE_EXHAUSTED.
So I think the fix should be:

Disable inner Commit retries (and possibly other RPCs)
Retry on more status codes in the outer retry

That's easy to implement - I just wish I had a good way of reproducing the current issue you're seeing so that I could be more confident that it'll fix the issue.
 (I could easily write code to just execute one transaction per second for hours at a time, but I don't know how representative that would be.)

I haven't had the luck to reproduce it yet, I am starting to focus more on simplifing the transaction logic and analysing the logs. But I have some data on the proportion of transactions that are failing in this way.
Some examples closing on the time interval (from the 2024-04-30):
Period of 5 minutes: 1.27%

Time = 11:30:00 pm
Transactions opened = 392
Errors = 5

Period of 1 minute: 3.37%

Time = 11:32:00 pm
Transactions opened = 89
Errors = 3

Period of 30 seconds: 5.12%

Time = 11:32:00 pm
Transactions opened = 39
Errors = 2

Period of 10 seconds: 12.5%

Time = 11:32:10 pm
Transactions opened = 16
Errors = 2

Generally speaking on the last 2 days there has been 202.467 transactions of which 10 have failed.

Thanks, that's helpful. Can I check which region your code is running in? That may be relevant. (It's odd that you're getting that many failures at all, to be honest, even leaving aside the retry issue.)
It does sound like it should be pretty clear if we fix it.

The region is us-central1.
Btw, on the previous message I only counted the transactions that failed with the retry error causing "The referenced transaction has expired or is no longer valid.". But the Audit Logs, in the same period of time than before, have catched ~30 errors of "The service is temporarily unavailable. Please retry with exponential backoff." of which 10 didn't recover. I really don't know if that is an expectable amount of fails.

I really don't know if that is an expectable amount of fails.

Me either - but at least there are enough that we should be able to tell that the retry is working, when we've fixed it. Thanks for your patience while we get to the bottom of this.

I'm pretty certain the fix in #12684 will fix this. I'll do a new new release tomorrow.

Thank you! I will try it as soon as it is live. Will you create a new version in the NuGet packages?

Yes, that's what I meant.

Version 3.7.0 has just been released. (It may take a while to get indexed by nuget.org.) Please do let us know if you still see problems (or, conversely, let us know if it's resolved as we expect!).

Hey @jskeet!
Just so you know we have been testing this week the update on our development branch, and now, we have already push it to production. So far so good, I will keep you updated.

So glad to hear that! Thanks for letting me know :)

Hey @jskeet !
Just wanting to let you know that it looks like the error is not occurring anymore, so nice fix!
I still see errors of "The service is temporarily unavailable. Please retry with exponential backoff." on the audit logs, ~15 a day, and I think that is something related on the Firestore end, but for now it is a more or less acceptable rate.
Thank you again, you were very helpfull.


migrate to SvelteKit

I'm not really happy with SvelteKit. Maybe astro.js?

If you are okay with using Vue I would be glad to help you with the website & documentation :)
You can check out https://docs.rainmeter.net as an example of my work, i've updated the design back in 2017 and I think it still holds up pretty well 😉
I would either recommend Vitepress or Nuxt Content. Vitepress is currently one of the most-used frameworks for documentation websites (made by the Vue/Vite team itself), while Nuxt is much more flexible regarding customization & layout of the website but requires a bit more configuration.

First of all, wow - thank you! Your help would be a huge asset!
I've been experimenting with ideas for the new website: what to include, how to structure it, and so on. There's still a bit of "pondering" to be done.
But getting the documentation up on docs.versatiles.org has become essential. I agree that Vitepress would be an excellent choice.
Do you need any information to get started? We could set up a call to go over any open questions, or if it's easier, you could start with a prototype and we can refine it from there... however you like.
Thanks again for your offer!

I'm fine with preparing a prototype first - if you want we could have a chat, hit me up via email<EMAIL_ADDRESS>and we can work it out from there.
Should we keep this topic in this ticket or move it to another ticket?
Also should the documentation be a seperate repo from the website? Or is it fine that it might get merged into the website repo instead?

Here's a rough draft of the sitemap / structure i've made today - nothing fancy but i've kinda wanted to figure out where stuff should go :)
Feedback welcome ❤

Guide

Introduction - Short introduction of the project + info about web maps
Getting Started - Quick start guide using it with MapLibreGL JS
Generate your own tiles - Guide on how to generate your own tiles (whole world or region)
Customize your maps - Guide setting up the frontend and styling the map
Deploy your own server/tiles - Deeper info about setting up a tileserver with nginx, caching, cdn, + other platforms like google cloud
Use your maps - Guide on how to use the maps in your own projects

Docs

Overview - Similar to current overview but with explanation of each of the modules
Modules - Deeper dive into each module with additional API / Reference information

Generator
Server
Network
Frontend

Tile Container (.versatiles) - Info about Container & Specification

Examples - Self-explanatory

Resources

Blog - Optional, might be useful to inform users about news around the project but isn't really a priority right now
Roadmap - Might be useful to state the current status of the software + link to github project board
Release Notes - Can be just a collection of all links of the Github releases/changelogs
Community - Links to other platforms like Matrix/Discord/etc... + community-made stuff like plugins or implementations
Showcase - Self-explanatory
About Us

Team - Low priority for now, just here to know where to place it later on
Philosopy - Low priority for now, just here to know where to place it later on


Design GA4 Marketing Report

Type: Report reports (because they need long term)
Dimensions:

filter by exhibition

Metrics:

landing page views
page views
sessions
users
return users

When set up, slack analytics-club who are looking for ways to use GA4 better (can report landing page views and page views by url using reports)


Added a card in Text Formatting - Text Tune

Fixes Issue
Closes #2197
Changes proposed
Screenshots
Note to reviewers

@Anmol-Baranwal @CBID2 @rupali-codes

Hi @Anmol-Baranwal thank you for the reply. So, should i create a new subcategory Text Formatting inside the Other category?

@Anmol-Baranwal  I have fixed the issues and added the subcategory properly. Please kindly check this PR thank you.


Zoom issue when passing styles to GoogleLayers

Greetings,
I have the following working code which works fine:
import { Map, ZoomControl } from 'react-leaflet'
import { GoogleLayer} from 'react-leaflet-google';

export class MapContainer extends React.Component {
  (...)
  render() {
    return (
      <Map id="map" ref={this.mapRef} zoomControl={false}>
        <ZoomControl position="bottomright" />
        <GoogleLayer
          googlekey={my_key}
          maptype='ROADMAP'
        />
      </Map>
    );
  }
}

However, when I try to create a GoogleLayer with only labels like this:
import { Map, ZoomControl } from 'react-leaflet'
import { GoogleLayer} from 'react-leaflet-google';

export class MapContainer extends React.Component {
  (...)
  render() {
    return (
      <Map id="map" ref={this.mapRef} zoomControl={false}>
        <ZoomControl position="bottomright" />
        <GoogleLayer
          googlekey={my_key}
          maptype='ROADMAP'
          styles ={[
            {elementType: 'all', stylers: [{visibility: 'off'}]},
            {elementType: 'labels', stylers: [{visibility: 'on'}]},
          ]}
        />
      </Map>
    );
  }
}

I run into a problem with the zoom. After zooming out, and then zooming in again, I end up with a mix of labels from the previous zoom and the new one:

This clears out, after I do one or two more zoom ins
I'm using
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Anyone experienced this before?
Thank you!
EDIT:
This is reproducible event if I try disabling only landscape features:
styles ={[
     {featureType:"landscape", stylers: [{visibility: 'off'}]},
]}

Hi @aqueiros, very interesting.
Have you try it, without using react-leaflet? just leaflet and google maps

@Charmatzis I was holding on until I did a bit more testing, but It looks like I worked around it by setting  keepBuffer to 0
<GoogleLayer
     googlekey={my_key}
     maptype='ROADMAP'
     styles ={[
       {featureType:"landscape", stylers: [{visibility: 'off'}]},
     ]}
     keepBuffer={0}
/>


updated ffi and ref

Without this update it fails to build on node 4.

Thanks! :+1:

Could we get a version bump and npm publish for this?

We sure can @mihail-stanchev, I'll get to it in the next day.

Thanks!


(IDEA/REQUEST) Possible consistancy for Face Reenactment and better animation

I was searching through github to find solutions for face animation and the consistancy od face resemblence and I found that project DreamTalk was made with Alibaba contribution so maybe it is technology used in their project EMO: DreamTalk

and it is based on this program: PIRender
and it uses this program: Deep3DFaceRecon
also this script was used for audio driven movements by PIRender: StyleGestures
In their samples we can observe face consistancy and random head movements (maybe we could have option of random movements or video driving movements?).

So it is audio driven and it generates random movements of the body and also make "realistic" face movement. I think that's what we need. Maybe we can learn/implement it to achive similar face animations?
When I tried face reenactment of Moore-AnimateAnyone I saw many deformations of the face and also flickering, so maybe those solutions could help reduce it and make it more consistancy?

Thank you very much for your suggestion. The stability and consistency of generated videos is indeed a difficult research point. Combined with 3D modeling ideas, I personally feel that it is beneficial to the stability of facial and head movements. At the same time, combining prior generated frames will also help inter-frame consistency. We are currently trying more optimization solutions, which may have better results.


ci: refactor web deploy pipeline

move deploy functionality to release
replace az storage command with az copy ADO task

Examples:
Build
Release
AB#17779

Nice, the new task/job in AzDO looks good. :+1:


bump dependencies to latest version and minor updates to documentation

I updated dependencies to their latest versions to prevent dependency resolution issues. I also made some minor changes to the documentation, including making it more consistent and fixing a few typos.

Thanks for your contributions, I'll be reviewing the changes soon 👍

@all-contributors please add @kollinmurphy for his work on doc and code


Outdated sentence

See https://github.com/dotnet/docs/pull/18470#discussion_r426755917

Thanks for noting this @Youssef1313
Do you want to create a PR for this?

I'd leave it to someone who knows the correct and most updated info
On Tue, May 19, 2020, 4:36 PM Bill Wagner<EMAIL_ADDRESS>wrote:

Thanks for noting this @Youssef1313 https://github.com/Youssef1313
Do you want to create a PR for this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/docs/issues/18483#issuecomment-630861919, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPFR3FCN5OZKZ74JRHRCRTRSKKPRANCNFSM4NEIIZJA
.


Add a list method to the KVStore class.

Was goofing off in the package layer and found utility in this:

The more people build real things in packages, the more they'll need the ability to store app data
This is a small change that adds a way to treat the KV store as a list of KV Pairs that you can set; e.g. dynamic user settings for the package or some external app that's using Steamship as a data store.

tests green against staging; merging


CI: Verify is failing because it doesn't know about the ESXi provider

https://circleci.com/gh/clong/DetectionLab/615?utm_campaign=workflow-failed&utm_medium=email&utm_source=notification

Should be fixed now


Payment processor crashes

/home/aayanl/z-nomp/node_modules/async/dist/async.js:985
        if (fn === null) throw new Error("Callback was already called.");
                               ^
Error: Callback was already called.
    at /home/aayanl/z-nomp/node_modules/async/dist/async.js:985:32
    at /home/aayanl/z-nomp/node_modules/async/dist/async.js:3850:13
    at apply (/home/aayanl/z-nomp/node_modules/async/dist/async.js:41:25)
    at /home/aayanl/z-nomp/node_modules/async/dist/async.js:76:12
    at /home/aayanl/z-nomp/libs/paymentProcessor.js:98:21
    at itemFinished (/home/aayanl/z-nomp/node_modules/stratum-pool/lib/daemon.js:155:36)
    at /home/aayanl/z-nomp/node_modules/stratum-pool/lib/daemon.js:169:17
    at parseJson (/home/aayanl/z-nomp/node_modules/stratum-pool/lib/daemon.js:85:17)
    at IncomingMessage.<anonymous> (/home/aayanl/z-nomp/node_modules/stratum-pool/lib/daemon.js:95:17)
    at IncomingMessage.emit (events.js:129:20)
2016-11-20 12:19:24 [Master]	[Payment Processor] Payment processor died, spawning replacement...

Payment Processing in zclassic.json
"paymentProcessing": {
        "enabled": true,
        "paymentInterval": 20,
        "minimumPayment": 0.2,
        "daemon": {
            "host": "<IP_ADDRESS>",
            "port": 8000,
            "user": "aayan",
            "password": "hardrat"
        }
    }

https://github.com/zone117x/node-open-mining-portal/issues/470 Doing that did the trick, should Z-Nomp also use those dependency versions?

Ah looks like I need to refactor that code. Compatibility with 0.10x broke with the use of bitcoinjs-lib and nan due to some API changes. I'll have a deeper look when I get home tonight.

I've rewritten some code and it's working locally. I'll push to master in a day or two when I finish testing.

I have a block explorer for testnet running if you need to verify if things are going through http://<IP_ADDRESS>/testnet/index.php

See #5

Hey there, I have a doubt with the payment process since, when using a version of the payments process I can do them but zec does not work, however the 3 others yes (zdash, zclassic, komodo), when changing the "file "To another version, the 4 pool starts but there is no such payment process.  server mexpool.ddns.net:8080

/home/dimi/z-nomp/libs/paymentProcessor.js:172
for (var i = 0, len = result[0].response.length; i < len; i++) {
^
TypeError: Cannot read property 'length' of null
at /home/dimi/z-nomp/libs/paymentProcessor.js:172:57
at /home/dimi/z-nomp/node_modules/stratum-pool/lib/daemon.js:175:17
at /home/dimi/z-nomp/node_modules/async/dist/async.js:359:16
at iteratorCallback (/home/dimi/z-nomp/node_modules/async/dist/async.js:935:13)
at /home/dimi/z-nomp/node_modules/async/dist/async.js:843:16
at itemFinished (/home/dimi/z-nomp/node_modules/stratum-pool/lib/daemon.js:157:17)
at /home/dimi/z-nomp/node_modules/stratum-pool/lib/daemon.js:169:17
at parseJson (/home/dimi/z-nomp/node_modules/stratum-pool/lib/daemon.js:85:17)
at IncomingMessage. (/home/dimi/z-nomp/node_modules/stratum-pool/lib/daemon.js:95:17)
at emitNone (events.js:91:20)
2017-03-07 08:05:48 [Master]    [Payment Processor] Payment processor died, spawning replacement...


Medium term changes

[ ] Add a second global map that is split by continent (@samclifford).
[ ] Make NAs be informative (can be short term if someone has a speedy fix @jhellewell14 @pearsonca)

Plotly dropdown menu that defaults to world but allows you to select a specific continent? Leaflet that gives you ability to scroll and zoom as desired with mouse over boxes containing CIs?
Get Outlook for Androidhttps://aka.ms/ghei36

From: Sam Abbott<EMAIL_ADDRESS>Sent: Wednesday, April 1, 2020 10:50:57 PM
To: epiforecasts/covid<EMAIL_ADDRESS>Cc: Samuel Clifford<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: [epiforecasts/covid] Medium term changes (#15)

*** This Message originated outside LSHTM ***

Add a second global map that is split by continent (@samcliffordhttps://github.com/samclifford).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/epiforecasts/covid/issues/15, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAFBSENCHGLOI7LDWV47CRTRKOZMDANCNFSM4LZTSVGA.


Culture link on Aragon.org job offers seems broken

I dunno if it is actually an issue seems it is present on archive pages, but I just tried to use the search box to look for that culture page and just found these broken links:
https://wiki.aragon.org/archive/jobs/exec-assistant/
(seems to be happening on every job offer page like this)

cc @Smokyish, is there a way for us to remove archived links from being indexed in the wiki's search?

Not related to the documentation site, and the wiki has been restructured with various pages being in archive (for example, the mentioned page is now available again in the wiki).


Running Myrtille with more than one Session Host

I'm trying to understand how Myrtille works. I have the following RDS scenario: I have 1 VM with the Broker and the Licenses 2 Session Host VMs, the question is how will Myrtille access the session of one of these hosts, how will Myrtille choose a host? Or is this the Broker's responsibility?

It's the broker responsibility. Myrtille doesn't do any load balancing, it just connect an rdp client (wfreerdp) to the address entered into the login page.
If the address is a Session Host server, it connects it directly; if it's a Connection Broker, the broker will redirect the connection to the appropriate host into the RDS farm (https://technet.microsoft.com/en-us/library/cc772245(v=ws.11).aspx).


Authentication Example

Ignite has some awesome examples but one thing missing for me is how to manage login (auth) flow. It would be great to see examples built using this project template.
Some of the common problems i have faced in most apps include:

Auth token is stored but how is it used for API requests
How to route when a user is not logged in
How to manage the refresh token e.g. when to fire it, how to buffer the request etc.

This request may be out of scope, i just feel these are very common tasks that could be shown and very helpful.

@derekgreenberg will be putting together a post/guide for us!

Hi @skellock @derekgreenberg,
When do you expect to have this post/guide ready?

I'm not sure.  It's certainly a popular question.

@derekgreenberg ping

bump

kapow

want this too! would be especially nice if there was an example using jwt.. something like this
https://github.com/joshgeller/react-native-jwt

@skellock , does the "kapow" mean someone came up with some documentation? Where would that be?
Assuming it's not ready yet, I'm looking through the following articles to try and make something work as seamlessly as possible with the ignite boilerplate:
http://blog.slatepeak.com/build-a-react-redux-app-with-json-web-token-jwt-authentication/
https://www.theodo.fr/blog/2017/03/how-to-create-an-authentication-system-and-a-persistent-user-session-with-react-native/
https://medium.com/@alexmngn/the-essential-boilerplate-to-authenticate-users-on-your-react-native-app-f7a8e0e04a42
The first one has a higher order component that allows for "protected" screens and "public" screens so the user is prompted for a login if they are trying to access protected content (and not signed in), and if not wrapped, then don't try to authenticate. I'm not 100% sure how this would integrate yet with react-native-navigation.
The third one specifically goes over a neat idea on how to deal with keeping the tokens refreshed. In the past I would have a complex fetch() wrapper that would try to refresh the token if the server said it was expired, then try the request again. This other way does the refreshing in the background and pays attention to the expiration date to make it automagic.

@skellock , @derekgreenberg  is this example done? I've looked through ignite-example-login and that doesn't seem to have anything that handles JWT tokens (storing, adding to headers, refreshing), for example.

One thing that also needs to be considered is if the server end returns a JWT-related auth error (ie invalid token), there should be something globally at the api error to handle this, rather than have code in each/every saga action.

I dare say 2.0 release doesn't include it, too ?

@trda In my Ignite JHipster boilerplate, I have a JWT authentication option.  It usually expects a JHipster server backend, but the logic should still apply.  Just a quick summary of how it works:
Link to sample app repo: https://github.com/ruddell/IgniteJhipsterSampleApp

StartupSagas loads the token if present

If token is present, gets account information and sets API auth header

DrawerContent shows different options based on authentication

If not authenticated, show links to Login, Register, Forgot PW
If authenticated, show links to Settings, Logout

LoginScreen contains the login form (from Ignite v1)
Sagas/index.js links LoginRedux actions to LoginSagas
LoginSagas.login calls the API endpoint which returns a JWT token if credentials are valid
This token is added as a header in Api.js
Any sagas calling APIs that require authentication are wrapped in the CallApi saga that will show the login screen if a 401 error happens (token expired)

If not re-authenticated, cancel the request
If re-authenticated, retry the request with the new JWT Token
I got this concept from this apisauce issue.

Somebody has an example from authentication flow with ignite bowser, I'm try to use this flow https://reactnavigation.org/docs/en/auth-flow.html but, not working it.
I'm relative new using ignite and I don't have much idea that how can I it
Please somebody that help me

+1

+1 JWT auth

+1

Hi,
I found some login example, hope it helps: https://pietrzakadrian.com/blog/react-native-authentication-flow-with-mobx-state-tree


Use intersection types to allow strong typing of jasmine Spys

Hey nice project!
I was working on something similar was looking for something open source and found this. I found that you can tighten up the typing by defining an intersection type return on the create method. eg
export class MockFactory {
    /**
     * create a mock object that has the identical interface with the class you passed in
     */
    public static create<T extends object>(blueprint: Type<T> | T): Proxy<T> & {[M in keyof T]: jasmine.Spy} {

It allows you to do
mockClass1Instance = MockFactory.create(Class1);
mockClass1Instance.publicMethod.and.returnValue(999);

Without having to type cast mockClass1Instance.publicMethod as jasmine.Spy
Hope it helps!

Thanks for the input!
One potential problem with the intersection is that [M in keyof T]: jasmine.Spy will also include the members that are not functions. In that case, there are no spies behind them.
class RealClass {
    public  someProperty: number;
}

mockingClass = MockFactory.create(RealClass)

// with intersection
mockingClass.someProperty.and.return(42); // runtime error, 'and' does not exist on undefined

I'll play with it this weekend and see if I can add spies to the non-function members of the class. I feel spyOnProperty is a right direction to go but I still haven't come up with a solution. Please let me know if you have any new findings.
Thanks again!

Ah good point about properties, however I think you're on to something with the spyOnProperty

#2 added typing to function, getter, and setter spies under a _spy facade


Rename system_chaining to system_piping

Objective

Describe the objective or issue this PR addresses.
Fixed #6225

Solution

Bulk rename system_chaining to system_piping

related to #6230

Better impl at #6230

I still appreciate it :) I ended up tackling this sooner than I expected when opening the issue.


[TASK] Upgrade to PHPStan 2.x and Rector 2.x

Also add some more return type declarations as added by the new Rector version.

coverage: 38.583%. remained the same
when pulling 01c6f866efdd7ce8eaa1dec266027ad5a90b5bf7 on task/update-rector-phpstan
into 428a2ebc841a58e298782148bbc4cc34faa9eca6 on main.

For this change, we'll need to drop support for PHP < 7.4 first.

For this change, we'll need to drop support for PHP < 7.4 first.

PHP 7.4 just becomes a dev requirement, not a minimum requirement for the package.  Ideally we can find a way of running the versions of the tools compatible with the version contraints.  Oh, Composer.  It's what it's there for.

I removed the non-applicable commit message that was separately done with #778.


Write blog post about transitioning into the manager role

Here is my draft, feel free to edit and give feedback. @daniel-coleman-1 @mcharg @cvojslavek https://teams.microsoft.com/l/file/718889AC-D36D-4A71-98F1-0292C10671E5?tenantId=0693b5ba-4b18-4d7b-9341-f32f400a5494&fileType=docx&objectUrl=https%3A%2F%2Fdoimspp.sharepoint.com%2Fsites%2FNRRD%2FShared Documents%2FGeneral%2FBlog%2FTransition to<EMAIL_ADDRESS>

@Maroyafaied Looks good!  I made a few edits.

@mcharg Thanks, I changed some of the titles to the paragraph, feel free to give suggestions on that. @lpgoldstein @cthomasONRR feel free to review as well. Thanks

@Maroyafaied I just tweaked them to all use the same verb construction.

@Maroyafaied One thing you might want to add is a strong closing statement after the list of advice.

@mcharg Thanks, that's a good point. I'll come up with something.

@Maroyafaied You make it all sound so easy despite having a challenging and successful year at the same time. I just made a few grammatical edits. The new manager list is helpful for everyone too.

I think this is two blog posts. "Stepping out of my comfort zone" and "Eight Pieces of Advice for New Managers"
I think @Maroyafaied you could end the "Getting and giving feedback and support" with a paragraph about how you learned and grew in the role, adapted and made changes in perspective, etc, and have an eight-piece list of advice for a new manager in the next post (shameless plug).  Essentially the closing paragraph but tied in with a plug for the list.
If in "My advice to a new manager" you gave two or three short anecdotal examples per bullet point you'd probably add 300-500 words. That makes the section sizable enough for its own post, easily digestible and in list format.
@lpgoldstein @cthomasONRR @mcharg what do you think?

@daniel-coleman-1 Thanks for your suggestion, I probably won't have time to write a 2nd blog post so I will work next week on adding a paragraph to transition into the advice section better and a paragraph as a closing statement.

I added 2 paragraphs if anyone wants to review. Thanks

@Maroyafaied I just reviewed and only made grammar/spelling/syntax edits. I loved getting insight into your past year.

@Maroyafaied made a few edits.  Looks good!

@Maroyafaied Looks good.  I dropped the new paragraphs into Hemingway and clarified a few sentences that were coming back as very hard to read.

Closing this and will create a PR.


Make release templates not consume args

implements part of https://github.com/godotengine/godot-proposals/issues/4815

The proposal link is invalid.

I fixed the link by the way, also touched up the gip.

I think some templates still have to parse the command line for legit development-time reasons. Namely, at least Android (and maybe iOS, too) belongs to that group.
I like the idea of a binary shipped with a game not parsing args (maybe some?), but maybe what this PR does should affect non-debug builds instead of non-tools builds.

What is the define for that? Sounds interesting. Then i should be able to remove the movie writer args in the release too!

See https://github.com/godotengine/godot-proposals/issues/4815#issuecomment-1537633766. This is definitely a breaking change and should not be merged as-is.


Add gawk as a dependency (latest stable rvm requires it for 2.0.0-p195)

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


Added js tab in the code editor

Pull Request for Issue #264
Title
Added a tab in the code editor for the users to add javascript code to their work
Description
Users can add javascript code in the code editor and view the changes in real-time. On sharing, the javascript code gets copied to the text area along with the HTML code snippet.
Related Issues
N.A.
Changes Made
Updated the code editor file and added tabs similar to what we have done in the posts section.
Checklist

[x] I have tested the changes locally
[ ] Documentation has been updated (if necessary)
[ ] Changes are backward-compatible

Screenshots (if applicable)
N.A.
Additional Notes
N.A.
Footer

I have updated the code to make the buttons responsive

resolve errors

Updated the code accordingly. Thanks for notifying me. Apologies for the delay.


Documention about how to run a vm from the result of image-builder

hey, i m using the osbuilder  to build some cloud img that can boot a vm, i found that
thery are lack of the doucmention about using the result of image-builder...
Describe the solution you'd like
tell us an demo qemu command that can boot a instance. (use systemd)

Hi @berlinsaint - this issues seems to have "falled through the cracks" I'm afraid. I'm not 100% clear what you are asking for but it sounds like you want to run "Kata without Kata"? :smile: Out of interest, why are you trying to do this?
This is all rather "out of scope" for the project, however if you really want to do this, you could extract the qemu args from the log file:
level=info msg="launching /usr/bin/qemu-system-x86_64 with: [-name sandbox-foo -uuid ...

Obviously, this is going to be very Kata option-specific and hypervisor specific (and potentially architecture specific too).
The developer guide already explains how to install a custom osbuilder-generated image for Kata to use:

https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#install-the-rootfs-image

Regarding systemd inside the guest image, that is not something we are planning to support (https://github.com/kata-containers/runtime/issues/2854).
If this gives you what you need, are you happy to close this issue?


More custom rand updates

Changes

animal
app
color
file
game
internet
time

Again, did not change the add lookup functions.

This can merged when ready, will be a bit before I get time for another batch.

This can merged when ready, will be a bit before I get time for another batch.


Reland "Android Q transition by default (#82670)"

Reland #82670 , revert #88394 , fix #88393 . /cc @HansMuller @jmagman
Still waiting for website's instructure to be stable until submit a breaking change note.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

Let me know if I should run extra tests during the pre-submit.

Unfortunately this caused some unexpected golden image failures on internal tests, i.e. not just failures that were obviously due to the route change animation. We're going to have to revert again.


Integration between AM:V and dry-schema

I made something like this to  automatically import dry-schema (contract) from my Custom class to a Rails model, so every tool (gem) that require model validation automatically use schema
class Vehicle < ApplicationRecord
  validates_with CustomValidator, type: :vehicle
end

class CustomValidator < ActiveModel::Validator
  include Namespace::Import[
    vehicle_contract: 'vehicles.contracts.new',
  ]

  def validate(record)
    validator = case options[:type]
                when :vehicle then vehicle_contract.(record.attributes)
                end

    unless validator.success?
      validator.errors.to_h.each do |key, errors|
        errors.each do |error|
          record.errors[key] << error
        end
      end
    end
  end
end

>> v = Vehicle.new
>> v.valid?
=> false
>> v.errors
=> #<ActiveModel::Errors:0x000055bae1ce8500 @base=#<Vehicle id: nil, company_id: nil, vin: nil, created_at: nil, updated_at: nil, deleted_at: nil, leaser: nil, leasing_end: nil, bik: nil, cost: nil, plate: nil, data: nil, rental_price: nil, vehicle_category_id: nil, retribution_price: nil, gearbox: "auto", vehicle_brand_id: nil, engine: "Petrol", fuel: "Petrol">, @messages={:company=>["must exist"], :vehicle_category=>["must exist"], :vehicle_brand=>["must exist"], :company_id=>["must be filled"], :vehicle_category_id=>["must be filled"], :vehicle_brand_id=>["must be filled"], :vin=>["must be filled"], :plate=>["must be filled"], :leaser=>["must be filled"], :leasing_end=>["must be filled"], :bik=>["must be filled"], :cost=>["must be filled"], :rental_price=>["must be filled"], :retribution_price=>["must be filled"]}, @details={:company=>[{:error=>:blank}], :vehicle_category=>[{:error=>:blank}], :vehicle_brand=>[{:error=>:blank}]}>>>

Works like a charm, so maybe will be useful for someone, plus I think It's quire easy to add to dry-rails itself.

Thanks for sharing this. I can see how this could be handy but the plan is actually to have "form objects" rather than using AR validation.
In the future please start a thread on our forum with a feature proposal rather than reporting an issue. We use issues for bug reports and approved feature requests only.

@solnic it’s useful in many cases so adding this to maybe a documentation will save a lot of people time.

@gotar it's not in line with the concept of validating data before passing to models, because of this it cannot be even documented, despite being handy in some cases. I'm not saying it's inherently wrong to handle validation like that, we just shouldn't document how to do something that doesn't follow architectural patterns we've been promoting for few years now.


TEB Steering output oscillate

I was plotting out the cmd_vel.angular.z message from the TEB planner.  How do I prevent the steering from oscillating?  This happens both as rotational velocity and steer angle setting in TEB.

I might observed a similar behavior on my Ackermann drive robot. Though haven’t plot the value from cmd_vel as I thought the oscillation might be caused because of the poor tuned PID values of steering control. This could well be the same issue,

I have the same issue with translation velocities, it oscillate between 0 and the max vel that i set, i used the same setup in simulation and it was not the case.

These are usually examples of poor tuning. What set of parameters are you using?

I also have a similar situation recently when I test with a mars rover with Ackermann drive. The cmd_vel oscillation should not be an issue because when the robot's moving direction changes, the angular z will be change sign directly.
However, when the robot makes an "r" movement, the Ackermann steering seems will not take the  acc_lim_theta into consideration, maybe because there is also very little translational velocity. Then if the robot needs to move back and forth several times to adjust its pose, the steering wheel will oscillate dramatically.
Currently, I am not sure how to solve this problem. In stage simulation, it seems smooth just because there is no real mechanism. It is really appreciated that someone could provide a patch for this issue.

it seemed that i met the same situation, wondering if u solved it.


"Dealu Bisericii", "Dealu Tolcesii" are listed in the drop-down menu

Description:
When user writes "Dealu Bisericii" and "Dealu Tolcesii" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Dealu Bisericii"

Expected results
The location appears in the drop-down menu as "Sat Dealu Bisericii, ARGEȘ (Uda)"

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Dealu Tolcesii"

Expected results
The location appears in the drop-down menu as "Sat Dealu Tolcesii, ARGEȘ (Uda)"


Add clarification about when instance_vars can be called

I believe this is in line with this forum post. This would have saved me some confused debugging as to why I kept getting an empty list!

Related: https://github.com/crystal-lang/crystal/issues/10662

A code example would help to convey the meaning.


Rename handler functions: Update -> Edit

This change makes more consistent naming for function which are handling PATCH methods.

@petracihalova it needed to change also names of test function + 1 struct,
thanks all for review


How to auto insert qdq in shortcut branch of network with residual structure ?

I see you define some rules to align scale settings and batch rename module(from torch.nn. to quant_nn.), very good design !
Now if I donot modify the forward code, I try to use torch.fx to replace [operator.add, torch.add, "add"] (as call_function) to call_module  (I custom a nn.module which include  residual_quantizer
self.residual_quantizer = quant_nn.TensorQuantizer(quant_nn.QuantConv2d.default_quant_desc_input)
)
How to auto insert qdq in shortcut branch of network with residual structure,
Can you give me some advice or other method,  Ths ?

We will working on this feature if we got a chance.

Thanks, Now I have solve it， closed


The question of proguard

Hello,
In proguard-rules.txt, I see this rule
-keep class **$$ViewBinder { *; }
My question : What is the meaning of this rule?

It keeps the generated classes from being stripped.


unplugin-vue-i18n : [vite:load-fallback] Could not load vue-i18n/dist/vue-i18n.runtime.esm-bundler.js

Reporting a bug?
Error message returned while doing a vite build on the project :
https://stackblitz.com/edit/vitejs-vite-elfdtq?file=package.json
The aim is to be able to use vue-i18n with Vite with Vue^2.7
[vite:load-fallback] Could not load vue-i18n/dist/vue-i18n.runtime.esm-bundler.js (imported by src/main.js): ENOENT: no such file or directory
Expected behavior
the project should build propely
Reproduction
https://stackblitz.com/edit/vitejs-vite-elfdtq?file=package.json
Issue Package
unplugin-vue-i18n
System Info
nodejs

Screenshot
No response
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the README
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.

Thank you for your reporting!
In Vue 2.7, We need to support for vue-i18n-bridge, so as  well as vite-plugin-vue-i18n

I've just fixed in unplugin-vue-i18n v0.6.2
Please check it !
Thanks!

I used runtimeOnly: false as workaround in between,
So after removing this workaround, it build correctly, great ! Thanks !


Add Uganda Management Institute domain

What is the university's official website URL?
https://umi.ac.ug/
A URL of a page on the official website where a long-term (>1 year) IT-related course is offered by the university

https://umi.ac.ug/index.php/courses
On the left side menu click PGD
Click any of these courses (DITE, DISM)on the left side menu

@3Nakajugo First stage of verification passed, official domain is umi.ac.ug as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@3Nakajugo Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Background events

Do you want to request a feature or report a bug?
request a feature / get informed
Is it possible to have background events (as in fullcalendar) with RBC in any way?
We have a case where we need to have appointments but show other type of bookings in the background as colored cells.
If it's not possible, I could try implementing it and create a PR.

I see https://github.com/intljusticemission/react-big-calendar/issues/115, I guess there are no advancements regarding this since that time?

there have been a few short efforts by folks but nothing got finished. We are still happy to consider a PR if you want to add it 👍

What do you think about this simple solution?

Determine if background event with an accessor
If so, force set css to

  left: 0;
  width:100%; /* +10px, as I see covers a column completely */
  pointer-events: none;
  position: relative;
  z-index: -500;

+1

You could style the events with an alpha of 0.5

then you could set a background color that shows a difference, that way you could fake it


Add return type to GetRawFileOrLFS and GetRawFile

Document return type for the endpoints that fetch specific files from a repository. This allows the swagger generated code to read the returned data.

While the interface is now working and getting the file content, I seem to be getting an error
... is not supported by the TextConsumer, can be resolved by supporting TextUnmarshaler interface"}
I'll convert this to draft as I investigate the cause.

I've found a potential issue here. Not with the fix but what it entails. Currently, the swagger generated code doesn't have ability to consume the Body since it's not parsed. By adding the return type to file, it's possible to pass the writer that then can consume the Body.
Swagger generated code uses returned mime-type to determine the type of consumer it allocates. So for text/plain mime, it allocates TextConsumer. Then this complains as above unless there is a trivial TextUnmarshaller() . This means that it may be possible to fix these weird issues by hardcoding "application/octet-stream" as the file type instead of trying to detect it in the Gitea's GetRawFile() endpoints. I'll try that tomorrow.

@AdamMajer If you want to wait with merging, please put PR into draft status :)

It's OK to get this merged. The other problem here is with go-swagger and mime-type combinations. It should be addressed elsewhere.


Refine Top SQL

Fix some ux bugs.
Fix Top SQL config privilege

Codecov Report

Merging #1129 (ef03328) into master (d932c3a) will decrease coverage by 5.24%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1129      +/-   ##
==========================================
- Coverage   28.25%   23.00%   -5.25%
==========================================
  Files         227      103     -124
  Lines       12841    10028    -2813
  Branches      647        0     -647
==========================================
- Hits         3628     2307    -1321
+ Misses       9063     7571    -1492
  Partials      150      150

Flag
Coverage Δ

be_integration_test_latest
6.88% <ø> (ø)

be_integration_test_v4.0.1
6.88% <ø> (ø)

be_unit_test
23.99% <ø> (-0.02%)
:arrow_down:

e2e_test
?

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

Impacted Files
Coverage Δ

pkg/tidb/proxy.go
77.98% <0.00%> (-0.63%)
:arrow_down:

...lib/apps/Overview/components/RecentSlowQueries.tsx

ui/lib/apps/SearchLogs/index.meta.ts

ui/lib/utils/auth.ts

.../lib/apps/SlowQuery/pages/Detail/DetailTabTime.tsx

ui/lib/utils/authSSO.ts

ui/dashboardApp/index.ts

ui/dashboardApp/layout/main/Sider/Banner.tsx

ui/lib/components/TimeRangeSelector/index.tsx

ui/lib/apps/QueryEditor/index.meta.ts

... and 115 more

Continue to review full report at Codecov.

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

/merge


And Dockerfile

Work In Progress...

Coverage remained the same at 49.185% when pulling c9c4f5bc8b5699525bfdd692b190d363c1b6fcbb on dockerfile into aa1a18baab70b793f88c48f6cda7a4bbe8f1864b on master.

Coverage remained the same at 49.49% when pulling e4729f7eaaf12083ce8bf812a0f1c8caafd36f60 on dockerfile into b3d9a7426194510d9f183c671d18066c5e17ed30 on master.


doc: server: update method documentation

This patch updates the documentation for Server.run_coroutine_sync() and Server.run_function_async()

Codecov Report
Patch coverage has no change and project coverage change: -0.22 :warning:

Comparison is base (4422dc8) 68.54% compared to head (dfc94ce) 68.33%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #352      +/-   ##
==========================================
- Coverage   68.54%   68.33%   -0.22%
==========================================
  Files          68       68
  Lines        5163     5163
  Branches     1163     1163
==========================================
- Hits         3539     3528      -11
- Misses       1349     1359      +10
- Partials      275      276       +1

Impacted Files
Coverage Δ

lona/server.py
68.80% <ø> (ø)

lona/command_line/collect_static.py
59.61% <0.00%> (-19.24%)
:arrow_down:

lona/view_runtime.py
79.20% <0.00%> (-0.29%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Alignment of Text

Problem description
Currently, there is misalignment in the text.
Requirements
Need to align the text in the Status Tab.
Definition of done
Text is aligned and start at same line vertically.

This ticket was closed on May 4th


Added MapRotation sample for UWP (VBNet and C#)

Added Rotate map sample to the UWP

@katydalton please review

https://github.com/Esri/arcgis-runtime-samples-dotnet/issues/128


Add support for .NETStandard

Please create and publish packages for the .NET Platform Standard (netstandard1.0).

Will do that.

Are you using VS 2015 with Update 3? There should already be an option to convert the project to netstandard1.x in the project settings.

Yes, I'm running Update 3. Must of the code is already changed to NET core (dotnet branch) and packages seems to work for netstandard1.0, but there are a couple of minor things still to do (build script, versioning, etc.).


Error Message when opening NativeScript, tried having app address but it doesn't open.

Describe the bug
when opening the preview the NativeScripts says oops, something went wrong....no need to close the app. Just fix the following error the app will sync automatically and then it says "The application quit unexpectedly".
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-utgu3v52
Steps to reproduce
Scan QR Code on iphone
Expected behavior
preview app but instead the error pops up.
Screen Recording / Screenshot
This a a ton of work for a simple "report issue"
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 131
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 86568986,
  "usedJSHeapSize": 81523562,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = Originator
Chat ID = 5b4b1df4809b

Additional context
No response

I also had this error when playing around with Native, didn't figure it out and went to React instead to build the "Mobile" version.

Seems to be a recurring issue with quite a few of us. Is there an official guide on how to use Native Script with Bolt?


Bump nokogiri from 1.11.4 to 1.13.4

Bumps nokogiri from 1.11.4 to 1.13.4.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: nokogiri
dependency-type: indirect
...

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>

Reviewed and approved.

Merging approved.


replace tangle with Build and a Makefile

Let me know if you'll have nitpicks.
@msaxena2 Let me know if you want to keep something from 986217c
$ ./Build help

    usage:
       ./Build                  Build the definitions and kompile them
       ./Build defn             Only detangle the definitions
       ./Build test <test.json> krun the test file and check that it succeeds
       ./Build test <expr>      Use find to locate a test file in tests/tests-develop/VMTests/

@nishantjr This looks great! I think we don't need anything from the old stuff.


This repo should be monorepo

There is really no benefit in having this as a bundle of several independent repos.
React, Este, Babel, and the others are mono repos for a good reason.
It would ease your work.

https://github.com/babel/babel/blob/master/doc/design/monorepo.md
http://danluu.com/monorepo/

Yes, redux-storage and all it's official addons might be a monorepo. But as a manyrepo it's also not that difficult the handle - at the moment.


Import Error with psutil._common

First of all, thank you for putting so much time and effort for making this. I was almost going to attempt doing this (probably a much simpler version since I'm pretty newbie with coding).
I believe I've done all the required setting up, I've changed the directories to suit mine etc.
When I was trying to run drive_manager.py, below error came up:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/txny/chia_plot_manager/chianas/drive_manager.py", line 68, in <module>
    from psutil._common import bytes2human
ImportError: cannot import name 'bytes2human' from 'psutil._common' (/usr/lib/python3/dist-packages/psutil/_common.py)

Any ideas? I do have psutil installed.

That generally happens when you have the wrong version of psutil installed. You can check by doing the following:
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
>>> psutil.__version__
'5.8.0'
>>>

Did this take care of your problem?

Sorry for delayed response, been away from home last couple of days. Yes
that has solved the psutil issue! Thank you for your help again.
On Mon, 26 Apr 2021 at 4:23 am, rjsears @.***> wrote:

Did this take care of your problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rjsears/chia_plot_manager/issues/29#issuecomment-826367676,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFYUVFVM52Q4TKIPOEWSAOTTKRM3HANCNFSM43OOZXZQ
.

Awesome! Thanks


Misspelling

https://github.com/rubenillodo/windows-iana/blob/5b9151f70b85ef2f714d7c5fcb4deaf554794095/windowsZones.json#L93
Alaskan -> Alaska

In the source file we use to get all the Windows zones, it appears as Alaskan, sorry. 😞


Move the clearly-defined client to a new "clients" directory

To have a place where more upcoming API clients can be grouped.
Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

FYI @MarcelBochtler.


Plugin fails to build on cordova<EMAIL_ADDRESS>

Hi,
I updated the project to newest ios cordova (4.1.0).
When building the project i get an error:

/Users/Me/Projects/project/platforms/ios/ App/Plugins/org.transistorsoft.cordova.plugin.background.fetch/CDVBackgroundFetch.m:8:9: fatal error: 'Cordova/CDVJSON.h' file not found
#import <Cordova/CDVJSON.h>
** BUILD FAILED **
The following build commands failed:
CompileC build/App\ App.build/Debug-iphonesimulator/App\ App.build/Objects-normal/i386/CDVBackgroundFetch.o Project\ App/Plugins/org.transistorsoft.cordova.plugin.background.fetch/CDVBackgroundFetch.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
ERROR building one of the platforms: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/Me/Projects/project/platforms/ios/cordova/build-debug.xcconfig,-project,Project App.xcodeproj,ARCHS=i386,-target,Project App,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/Me/Projects/project/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/Me/Projects/project/platforms/ios/build/sharedpch
You may not have the required environment or OS to build this project
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/Me/Projects/project/platforms/ios/cordova/build-debug.xcconfig,-project,Project App.xcodeproj,ARCHS=i386,-target,Project App,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/Me/Projects/project/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/Me/Projects/project/platforms/ios/build/sharedpch

Removing the plugin makes the build successful.
Thanks
Pawel

CDVJSON is probably obsolete in latest Cordova.  The plugin hasn't been touched in a long time.  If you'd like to fix it, send me a pull-request.

As far as I can tell the plugin doesn't actually use CDVJSON - is that correct @christocracy? In that case isn't it simply a question of removing said include?
Never once wrote any Objective-C so I honestly have no idea how it works - I just did a ctrl+f search

@Jacse, @christocracy I commented out the "#import <Cordova/CDVJSON.h>" in CDVBackgroundFetch.m and after that project was built correctly. I haven't tested if everything is working fine yet.

I have commented but now it return me a lot of bugs more, no body using google maps this days?

What?
On Thursday, July 14, 2016, braianj<EMAIL_ADDRESS>wrote:

I have commented but now it return me a lot of bugs more, no body using
google maps this days?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/christocracy/cordova-plugin-background-fetch/issues/28#issuecomment-232802667,
or mute the thread
https://github.com/notifications/unsubscribe/AAA6l88FscYbVmp9HjKzcgjriz-XNH63ks5qVq6_gaJpZM4Hq1FW
.

--
Snet form Gmail Mobile

Since you said that "The plugin hasn't been touched in a long time".
I just install plugin as last week and it can build the project
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:24:30: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
    self.pluginLayer.webView = self.webView;
                             ^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:28:45: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
    self.pluginScrollView.debugView.webView = self.webView;
                                            ^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:34:30: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
    self.pluginLayer.webView = self.webView;
                             ^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:167:30: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
        self.mapCtrl.webView = self.webView;
                             ^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:176:59: error: no known instance method for selector 'initWithWebView:'
        Map *mapClass = [[NSClassFromString(@"Map")alloc] initWithWebView:self.webView];
                                                          ^~~~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:186:38: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
            self.pluginLayer.webView = self.webView;
                                     ^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:245:68: error: no known instance method for selector 'initWithWebView:'
                pluginClass = [[NSClassFromString(className)alloc] initWithWebView:self.webView];
                                                                   ^~~~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:321:19: error: no visible @interface for 'UIView' declares the selector 'stringByEvaluatingJavaScriptFromString:'
    [self.webView stringByEvaluatingJavaScriptFromString:jsString];
     ~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:404:34: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
        self.pluginLayer.webView = self.webView;
                                 ^ ~~~~~~~~~~~~
6 warnings and 3 errors generated.

** BUILD FAILED **

The following build commands failed:
	CompileC build/proyect_app.build/Debug-iphonesimulator/proyect_app.build/Objects-normal/i386/GoogleMaps.o proyect_app/Plugins/plugin.google.maps/GoogleMaps.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/proyect_app/platforms/ios/cordova/build-debug.xcconfig,-project,proyect_app.xcodeproj,ARCHS=i386,-target,proyect_app,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/proyect_app/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/proyect_app/platforms/ios/build/sharedpch

Are you sure you're commenting at the right place?  This is
cordova-plugin-background-fetch.
I see no errors referencing this plugin.
Maybe you need to go talk to plugin.google.maps/GoogleMaps
On Thursday, July 14, 2016, braianj<EMAIL_ADDRESS>wrote:

Since you said that "The plugin hasn't been touched in a long time".
I just install plugin as last week and it can build the project
/proyect_app/platforms/ios/proyect_app/Plugins/.m:24:30: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
self.pluginLayer.webView = self.webView;
^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:28:45: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
self.pluginScrollView.debugView.webView = self.webView;
^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:34:30: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
self.pluginLayer.webView = self.webView;
^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:167:30: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
self.mapCtrl.webView = self.webView;
^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:176:59: error: no known instance method for selector 'initWithWebView:'
Map *mapClass = [[NSClassFromString(@"Map")alloc] initWithWebView:self.webView];
^~~~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:186:38: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
self.pluginLayer.webView = self.webView;
^ ~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:245:68: error: no known instance method for selector 'initWithWebView:'
pluginClass = [[NSClassFromString(className)alloc] initWithWebView:self.webView];
^~~~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:321:19: error: no visible @interface for 'UIView' declares the selector 'stringByEvaluatingJavaScriptFromString:'
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/proyect_app/platforms/ios/proyect_app/Plugins/plugin.google.maps/GoogleMaps.m:404:34: warning: incompatible pointer types assigning to 'UIWebView *' from 'UIView *' [-Wincompatible-pointer-types]
self.pluginLayer.webView = self.webView;
^ ~~~~~~~~~~~~
6 warnings and 3 errors generated.
** BUILD FAILED **
The following build commands failed:
CompileC build/proyect_app.build/Debug-iphonesimulator/proyect_app.build/Objects-normal/i386/GoogleMaps.o proyect_app/Plugins/plugin.google.maps/GoogleMaps.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/proyect_app/platforms/ios/cordova/build-debug.xcconfig,-project,proyect_app.xcodeproj,ARCHS=i386,-target,proyect_app,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/proyect_app/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/proyect_app/platforms/ios/build/sharedpch
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/christocracy/cordova-plugin-background-fetch/issues/28#issuecomment-232804037,
or mute the thread
https://github.com/notifications/unsubscribe/AAA6l-iFLbtXwoV8NtOxc0QPNBjFhpzEks5qVrAggaJpZM4Hq1FW
.

--
Snet form Gmail Mobile

@christocracy sorry about that, that's why erase those comments. Sorry again


Issue with error handling for GridFS readable stream

This is loosely related to issue #579.
When using openDownloadableStream() in gridFS, then feeding the resource to fread, the GridFS StreamWrapper catches exceptions then triggers errors in stream_read(). Then rather than re-throwing the error, it returns false.
That means that something like
while ( !feof( $stream ) )
  echo fread( $stream, 8192 );

seems to create an infinite loop in the case of an exception such as  MongoDB\GridFS\Exception\CorruptFileException: Chunk not found for index "0". (Setting aside the separate issue of why that exception was hitting in the first place.)
The error is logged, but the execution goes right back to the loop. Now that I know about this, I suppose I could fix it by assigning the results of fread() then breaking out of the loop if the result is ever empty while feof() is still false, but this was surprising to me. Is there some better way to handle this? I might have expected for the exception to be re-thrown after the error was logged, in which case I would have caught it and handled it myself.

Actually, I'm having trouble actually simulating this error. I have the 500,000 error logs for one request to suggest something is going wrong, but I'm not sure the issue is exactly what I've described.

Here was my code to work around this issue for now, but it obviously isn't ideal:
while ( !feof( $stream ) ) {
  $result = fread( $stream, 8192 );
  if( !$result && !feof( $stream ) ) {
    throw new Exception( "Error reading data from store" );
  }
  echo $result;
}

The error is logged, but the execution goes right back to the loop.

When you say the error is logged, are you referring to your application logging the E_USER_WARNING emitted by trigger_error() (see: StreamWrapper::stream_read() for context)?
When implementing GridFS, I tried to follow PHP's StreamWrapper guidelines to the letter. Unfortunately, it's doesn't provide guidance on exposing exceptions, since standard IO functions (e.g. fopen, fread) have their own error-reporting convention (returning boolean false) and generally aren't expected to throw.
Our internal behavior of catching exceptions and triggering errors was influenced by the AWS SDK, which does the same for many StreamWrapper methods. That said, its stream_read() does not capture exceptions and return false but simply delegates to a PSR method. If we jump over to the Psr\Http\Message\StreamInterface::read() method, it looks like that method will either return a string or throw a RuntimeException. We can look at GuzzleHttp\Psr7\Stream::read() for implementation details.
I'm not convinced that simply changing some of our StreamWrapper methods to start throwing is the correct fix, but I'm open to keeping a dialog open for ways that we can improve this. One idea might be allowing users to register a callable with the Bucket so users can have more control over exception handling. This might allow them to perform their own logging directly, or force the StreamWrapper to throw. I've opened PHPLIB-426 to track this.
The code you shared in https://github.com/mongodb/mongo-php-library/issues/608#issuecomment-485976263 does look correct, although I'd suggest using a strict comparison for $result === false instead of !$result. While I wouldn't expect the GridFS stream wrapper to return an empty string via fread() under normal circumstances, it also isn't technically an error. This certainly applies to other stream wrappers beyond GridFS as well.
Rather than work with stream functions directly, you use also use Bucket::downloadToStream() to write the entire GridFS stream directly to stdout. You can use the STDOUT constant from a CLI environment or open php://stdout from other SAPIs (as described in Input/output streams).
As a side note, I noticed that a few Bucket methods that rely on stream_copy_to_stream() (including downloadToStream()) do not currently check for a false return value to indicate an error. Since these methods are well outside of the StreamWrapper API, we can easily throw an exception instead of relying on users to notice a logged E_USER_WARNING. I've opened PHPLIB-425 to address this.

When you say the error is logged, are you referring to your application logging the E_USER_WARNING emitted by trigger_error() (see: StreamWrapper::stream_read() for context)?

Correct. we are logging the E_USER_WARNING error.

That said, its stream_read() does not capture exceptions and return false but simply delegates to a PSR method. If we jump over to the Psr\Http\Message\StreamInterface::read() method, it looks like that method will either return a string or throw a RuntimeException. We can look at GuzzleHttp\Psr7\Stream::read() for implementation details.
I'm not convinced that simply changing some of our StreamWrapper methods to start throwing is the correct fix, but I'm open to keeping a dialog open for ways that we can improve this.

While I'm not sure that throwing a Runtime Exception is correct, that would have prevented the infinite loop we saw.

The code you shared in #608 (comment) does look correct, although I'd suggest using a strict comparison for $result === false instead of !$result. While I wouldn't expect the GridFS stream wrapper to return an empty string via fread() under normal circumstances, it also isn't technically an error. This certainly applies to other stream wrappers beyond GridFS as well.

I actually tried the strict comparison first, but it didn't seem to work. Somewhere in fread it seems that the false returned by stream_read() was getting converted to an empty string, hence the loose comparison.
Another change that might fix this, but that might well not be correct: if stream_eof() were to return true after such an error, that might solve the problem. For an exception, I'm not sure what is strictly correct for eof, but surely in the case of such an error, the user will never want to read anything else from the stream.

I actually tried the strict comparison first, but it didn't seem to work. Somewhere in fread it seems that the false returned by stream_read() was getting converted to an empty string, hence the loose comparison.

If you're able to share a script that initializes fs.files and fs.chunks collections and can reproduce this, I'd be very interested to take a look and investigate that further.
AFAIK, stream_read() may return an empty string if called on a writable stream. That logic dates back to https://github.com/mongodb/mongo-php-library/commit/63c2313f4a39529a26930cdd9157d86f7fc1dddf) and is similar to how we return 0 when attempting to write to a readable stream. But based on the PHP.net docs for stream_read(), it seems as if empty string and false return values are treated interchangeably. I'd need to look more into how fread() infers a read failure and decides to return false for its own return value.

Another change that might fix this, but that might well not be correct: if stream_eof() were to return true after such an error, that might solve the problem. For an exception, I'm not sure what is strictly correct for eof, but surely in the case of such an error, the user will never want to read anything else from the stream.

That's a great suggestion. I've opened PHPLIB-427 to track that.

I actually tried the strict comparison first, but it didn't seem to work. Somewhere in fread it seems that the false returned by stream_read() was getting converted to an empty string, hence the loose comparison.

If you're able to share a script that initializes fs.files and fs.chunks collections and can reproduce this, I'd be very interested to take a look and investigate that further.

I don't have a script that works in that way. Rather, to test this, I just added the following line at the beginning of readBytes() in ReadableStream:
throw \MongoDB\GridFS\Exception\CorruptFileException::missingChunk(0);

Then I captured the result of fread, and inspected it; it was an empty string, despite the fact that stream_read() presumably returned false after capturing the exception.

That's a great suggestion. I've opened PHPLIB-427 to track that.

Sounds good!

Going to close this issue, but please follow PHPLIB-427 for any updates.

Hey!
"MongoDB\GridFS\Exception\CorruptFileException: Chunk not found for index "0". (Setting aside the separate issue of why that exception was hitting in the first place.)"
Could you find the reason why this issue was hitting in the first place?

Per https://github.com/mongodb/mongo-php-library/pull/1224#discussion_r1470035208, I believe this was ultimately addressed by PHPLIB-592 in PHPLIB 1.11, when we switched to throwing exceptions in the stream wrapper instead of emitting warnings. With that in mind, no work should be required for PHPLIB-427 (the original ticket spawned from this thread).


Fix: add a portfolio website

Hey i would like to work on this issue @navinkumar-k-015  can u pls assign to me


Control-click fails after a few hours of Sierra

I've got Karababiner-elements installed on a 12" macbook 10.12.1 Beta (16B2327e)
My confirmation is below.
After 2-3 hours of use, I can no longer right-click to raise the contextual menu, or Command-Click to get links to open in a new window.
Restarting Karabiner-elements resolves the issue.
Which logs would be good to include in this ticket?
$ cat ~/.karabiner.d/configuration/karabiner.json
{
    "profiles": [
        {
            "name": "Default profile",
            "selected": true,
            "simple_modifications": {
                "right_option": "keypad_enter"
            }
        }
    ]
}

Found the log.. all I see at this point in ~/.karabiner.d/log/console_user_server_log.txt is:
[2016-09-26 10:18:45.072] [console_user_server] [info] version 0.90.41
[2016-09-26 10:18:46.661] [console_user_server] [info] grabber_client_ is connected
[2016-09-26 10:18:46.666] [console_user_server] [info] configuration_core_ was loaded.
[2016-09-26 10:18:47.669] [console_user_server] [info] system_preferences::values is updated.

Also seeing this on MacBook Pro (Retina, 13-inch, Early 2015) running 10.12.
Similar logs here:
[2016-09-22 11:19:03.042] [console_user_server] [info] version 0.90.37
[2016-09-22 11:19:04.178] [console_user_server] [info] grabber_client_ is connected
[2016-09-22 11:19:04.179] [console_user_server] [info] configuration_core_ was loaded.
[2016-09-22 11:19:05.236] [console_user_server] [info] system_preferences::values is updated.

Same problem (also showing itself in me not being able to Shift- or CMD-select multiple files in Finder) here on MacBook Pro (Retina, 13-inch, Late 2013) running macOS 10.12 and Karabiner-Elements 0.90.44. Moreover, I was using the accessibility option to zoom the entire display by scrolling while pressing the Option key. This stops working consistently as soon as Karabiner-Elements finishes launching and re-starts working when I quit it.

This doesn't seem to be a problem anymore. Probably closed when https://github.com/tekezo/Karabiner-Elements/issues/169#issuecomment-257078692 was.


man tmp files (pipe files) created and not deleted

I am running mssql-cli in a bash script in ubuntu and see hundreds of /tmp/foo files left lying around where foo is like
clr-debug-pipe-29415-136842019-out
clr-debug-pipe-29415-136842019-in
They are FIFO pipes I think, created by CLR.

Thanks for reporting this. Can you try setting the following environment variable, and seeing if that prevents the temp files from being created?
export COMPlus_EnableDiagnostics=0
If that works, we can roll that into the mssql-cli bootstrap/startup as a permanent fix.

I can confirm that COMPlus_EnableDiagnostics=0 works preventing clr-debug-pipe files of being created, but it does not prevent *.tmp files. It actually triggered and incident today (full usage of tmp partition) because of these *.tmp files. Is there anyway of preventing these as well?

@sethcenterbar I actually had to come up with a cron job to remove all tmp files but the most recent, which might be still being written.

Certainly not an ideal scenario. I'm assuming this is just a problem on
linux?
On Thu, Jul 30, 2020 at 11:55 AM Bruno Oliveira<EMAIL_ADDRESS>wrote:

@sethcenterbar https://github.com/sethcenterbar I actually had to come
up with a cron job to remove all tmp files but the most recent, which might
be still being written.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dbcli/mssql-cli/issues/460#issuecomment-666483458,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB54DXU4NSBGEE4DZODF64TR6GJXRANCNFSM4MNXAJNQ
.

Got bit by this too, after a quick investigation with strace I found that these pesky tmp files are created by MicrosoftSqlToolsServiceLayer. I see a lot of open("tmpXXXXXX.tmp") with corresponding close and unlink. But unlink is sometimes missing (while close is present), which cause our problem here.
I do not have the dotnet skills to debug further, and upstream seems to be dead.


Fix dependency versioning

The recent changes to slog-scope v4.1.0 require 2018 edition-style macros support, which was added in slog 2.4.  This can cause compile errors on projcts pinned to older versions of slog.

Hi @mthebridge Thank you. I've sent you invites on crates.io and github. Please help me release this out and possibly in the future in similiar matters. I need a bus factor +1 one here. :)

@dpc Sure, happy to help - though I am also going away for the holiday period tomorrow.  It looks like what needs doing is a 4.1.1 release, and then yank the 4.1.0 from crates.io so that the build breaks can't happen.  Is that something you're OK for me to do?

Full steam ahead. :)


Incorrect parsing of attester slashing indices in relay

This is more of an issue with the flashbots relay than mev-boost itself, but in lieu of another repo to open an issue on I'm opening it here.
On the Lighthouse Discord we had a user report a block proposal failure using mev-boost:

Aug 11 22:54:36.902 ERRO Error whilst producing a blinded block, cannot fallback because the block was signed, error: "All endpoints failed http://localhost:5952/ => RequestFailed(Irrecoverable("Error from beacon node when publishing block: ServerMessage(ErrorMessage { code: 500, message: \"INTERNAL_SERVER_ERROR: Blind block proposal failed: Builder(ServerMessage(ErrorMessage { code: 400, message: \\\"json: cannot unmarshal string into Go struct field IndexedAttestation.message.body.attester_slashings.attestation_1.attesting_indices of type uint64\\\", stacktraces: [] }))\", stacktraces: [] })"))", service: block

Source: https://discord.com/channels/605577013327167508/605577013331361793/1007508047586926682.
I believe this indicates that the relay is trying to deserialize the attesting_indices of the attester slashing as a JSON number rather than a bignum string (the canonical representation that Lighthouse uses). Beacon nodes will always encode validator indices as quoted bignums, see e.g. https://ethereum.github.io/beacon-APIs/#/Beacon/getPoolAttesterSlashings.
This means that all blocks containing attester slashings will fail when the beacon node attempts to publish them, a rather significant liveness failure. Thankfully I think it should be easy to fix, the relay should fix its parsing of attesting_indices for the POST /eth/v1/builder/blinded_blocks endpoint.

Apologies, this is a duplicate of https://github.com/flashbots/go-boost-utils/issues/18 and seems to be fixed in the most recent versions of mev-boost and the relay.

The user claimed to be running https://github.com/flashbots/mev-boost/commit/e83a51b0970461c48b348d5dab3334115db044b0, which would seem to include the fix? My Go-fu isn't strong enough to determine whether we should expect the fix to already be included in that commit. Or maybe it is the relay that's out of date?

Reopened until confirmed

The version of mev-boost ran did not contain the fixes. Closing.


searchKnn return wrong neighbor on toy example

Hello,
I have created some simple toy example, and was surprised from the NN i got from hnswlib.
The data i was using is : taking 5 random vectors with L1 norm of 1, duplicating each of them 100 times and adding into hnsw index.
In the next step i choose one of the 5 vectors as input to searchKnn, and i expect to get one of the duplicates version of this vector as first NN.
However, it isn't the case : when i query with vector 3 the first NN is one of the duplicates of vector 0.
Notes :

the behaviour on mac & linux is different (on mac this test succeed)
if i add some small random noise to each vector before adding to the index the test succeed.

Can someone explain this phenomenon ?
TEST_F(TestSuite, KNN) {
    int DIM = 256;
    int N = 5;
    int MULTIPLY = 100;

    std::shared_ptr<hnswlib::SpaceInterface<float>> space;
    space.reset(new hnswlib::InnerProductSpace(DIM));
    std::shared_ptr<hnswlib::HierarchicalNSW<float>> index;
    index.reset(new hnswlib::HierarchicalNSW<float>(space.get(), 100000, 16, 200));

    // create random data
    std::vector<std::vector<float>> dataset;
    for (int i = 0; i < N; i++) {
        // generate random vector
        std::vector<float> p(DIM);
        for (std::vector<float>::iterator it = p.begin(); it != p.end(); it++) {
            *it = RandomFloat(0.1);
        }
        // normalize vector again
        float norm = 0.0;
        for (auto x : p) norm += x*x;
        norm = sqrt(norm);
        for (int i=0; i < p.size(); i++) {
            p[i] /= norm;
        }
        dataset.push_back(p);

        for (int j = 0; j < MULTIPLY; j++) {
            index->addPoint(reinterpret_cast<const char*>(dataset[i].data()), i*MULTIPLY + j);
        }
    }
    // query with the same data
    for (int i = 0; i < N; i++) {
        std::priority_queue<std::pair<float, hnswlib::labeltype>> knn_result = index->searchKnn(
                reinterpret_cast<const char*>(dataset[i].data()), 1);
        std::pair<int, float> neighbor(knn_result.top().second, knn_result.top().first);
        std::cout << i << " --> " << neighbor.first << ", distance=" << neighbor.second << std::endl;
        EXPECT_TRUE(neighbor.first >= i*MULTIPLY and neighbor.first < (i+1)*MULTIPLY);
    }
}

output i got (failure on the last query):
0 --> 6, distance=3.57628e-07
1 --> 108, distance=2.38419e-07
2 --> 201, distance=1.19209e-07
3 --> 6, distance=1.01034

This is due to data duplication. The number of links per element is fixed, so all links end up connecting to the same type of elements effectively creating a highly disconnected graph. This is mitigated by multi-layer structure, but it is very far from being perfect.
Probably it is time to fix this. One thing we can try is to limit the connections in the heuristic that look like duplicates (it can be a space parameter, I think something like this was discussed before).

This is due to data duplication. The number of links per element is fixed, so all links end up connecting to the same type of elements effectively creating a highly disconnected graph. This is mitigated by multi-layer structure, but it is very far from being perfect.
Probably it is time to fix this. One thing we can try is to limit the connections in the heuristic that look like duplicates (it can be a space parameter, I think something like this was discussed before).

Thank you for the response.
Do you have any idea why i get different results on linux & mac ?
On mac the test succeed, while on linux it fails.

I think they have different number generators/concurrency. So, probably, when you change the random_seed, the results will be different.
I think we will be able to fix it in near future.


Open vscode://file/path/to/project/ URLs properly on Windows - fixes #20290

Opening vscode://file/c/path/to/project/or/file.txt will no longer fail on Windows.
Tested using multiple drive letters and file/folder paths.

Hi @jordanmkasla2009, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

Hi @jordanmkasla2009, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, MSBOT;

Related to #20290

Thanks @jordanmkasla2009 !


Add bash scripts to smooth Rsc development

Hey can I work upon it?

What kind of scripts were you thinking of?

I was going through the documentation. Is that document updated??

Which document?

Gettingstarted.md

We already have the stuff in gettingstarted.md. I will update this ticket later regarding what we need, thanks!

Well, there are many issues . Can I start with some . All of them have been labelled. So, which issues should I deal with at first?