Tables get registered twice sometimes

Some table metadata is duplicated. You can find what tables with this query:
select u.id, u.username, t.min, t.max, t.diff, t.name, t.c, t.di from users u, (select count(1) c, min(updated_at) min, max(updated_at) max, max(updated_at) - min(updated_at) as diff, name, array_agg(data_import_id) di, user_id from user_tables where updated_at > '2014-8-01' group by name, user_id having count(1) > 1 limit 1000) t where u.id = t.user_id order by max desc;

It looks like it's because of ghost tables: duplication begun after ghost tables activation, and duplicated tables have (also) been registered with ghost table mechanism.
We've found a probable race condition when ghost tables are created: CartoDB saves the new "real table" without checking whether table already exists, so if a table is returned by search_for_cartodbfied_tables method (that only returns unregistered tables indeed) and it's registered by, for example, the importer before ghost tables registration it will be registered twice.
The same can happen in the opposite direction: importer might register a table that has already been registered by ghost tables. In that case importer should update table metadata with data_import_id.
So, needed changes:

[ ] Ghost tables: check for existence just before saving a new instance. Don't save if it exists.
[ ] Normal table registration: check for existence before saving a new instance. If it already exists, update with new values.
[ ] Clean duplicated data.
[ ] Create a db constraint that avoids duplication.

cc @javisantana @Kartones

Create a db constraint that avoids duplication.

related to this I'd think what to do with the current already duplicated tables.

The only issue I see here is:

Ghost tables: check for existence just before saving a new instance. Don't save if it exists.
How do we know is the same table the one that just appeared? Will we just trust is the same ghost tables is going to register? or should we do some simple column names check to see if it at least looks the same?

Apart from that +1, it is not the first race condition of importer + ghost tables working side by side, but if can be solved easily, perfect.

@santana: I'll think about it deeper later, but...

for those that have data_import_id in a duplication it seems clear that row is better and the other one, created by ghost table registration, should've never existed.
for those that haven't data_import_id I'd merge rows, probably just overriding older with newer and removing the older row. Some of the tables are from team members, I'll check with them first.

@Kartones: don't you think we can just trust table name? Since it's a PostgreSQL physical name the only way it can be different is if table was imported, renamed and user imported/created a new one with the same before first one was found, which seems quite unlikely. I think a column check isn't too useful, since two tables with the same name, created very closely in time, are likely to have the same structure.

Yes, is an unlikely scenario, I was jus thinking (perhaps too quickly) about something like trying to import multiple times the same "test.csv" file "at once" while renaming an existing table to "test" also, or things like that, but is true it is more intentional screwing that normal usage, so for the time being just forget it.

@Kartones : just realised table oid is stored at user_tables, I think that's a value we can certainly trust, isn't it? I've updated the test query, it's the same for current duplicated tables (adding oid to grouping doesn't add new rows).

there are other cases that you will find: same oid with different name and same name with different oid. Maybe this help you to create the migration

@javisantana I'm pretty sure we did a wrong problem statement (and obviously the proposed solution). I haven't been able to reproduce the problem because table.validate checks for uniqueness of (user_id, table_name). It's a race condition with validate and save, and the only actual solution for that would be adding the constraint and catching the error. Nevertheless, after taking a look at the (incredibly useful) debug information of ghost tables at Rollbar, I've seen registration is enqueued multiple times for the same user. Example (faked name):
2015-02-11 04:47 am	que05.useb.cartodb.net	registering table dolphin_kisses
2015-02-11 04:47 am	que04.useb.cartodb.net	registering table dolphin_kisses

So we're enqueuing this multiple times. When I talked to you you said the intent was running this when a user enters the dashboard, but it's not what this is actually doing.
In ./app/controllers/api/application_controller.rb there's this code:
def check_ghost_tables
  params[:controller] == "api/json/visualizations" and params[:action] == "index"
end

...

if check_ghost_tables && current_user.search_for_modified_table_names
  if !current_user.link_ghost_tables_working
    ::Resque.enqueue(::Resque::UserJobs::SyncTables::LinkGhostTables, current_user.id)

BUT that file is not the controller + action of the /dashboard request, but the api. For example, requesting the dashboard makes two requests to that endpoint, which is also used for many other things as tag searchs and so on, so this is really likely to trigger multiple parallel ghost linking requests, thus increasing the chance of race conditions.
SO I propose moving that intent from ./app/controllers/api/application_controller.rb to ./app/controllers/admin/visualizations_controller.rb, which is the controller of the page instead of using the controller of the API. Maybe it'd be useful to create the constraint and catch the error as well, but I'm pretty sure this change will almost vanish this issue.
@Kartones , what do you think?

Agreed, I'd put it as a before_filter only on some actions we want.
But I advise you, the main method will still get called twice, as grabbing many things means same action, different parameters. I would also add more restrictions like "only if listing vis or tables" (but not tags, for example) <- Blind example without looking at which two requests are done

Currently requesting /dashboard page only triggers that method once. Keep in mind that's the page load method, not any API endpoint. Indeed Admin::VisualizationsController#index returns html, I don't think there's any additional call to that method.

Sorry, right, didn't saw it was the vis controller from /admin/, not from
/api/
Fine then!

FYI: no new duplicated tables since this fix, so I'll do #2213 ASAP.


Are there any plans on using SpaCy instead of NLTK?

Currently NLTK is used for parsing the named entities. Some of the latest solutions use SpaCy as it has good performance and supports multiple languages.

@Guidofaassen  thank you for your request. Indeed comparing SpaCy and NLTK makes sense. We might also investigate Weaviate.
What is your concrete usecase? If you specify your expectations I'd keep this issue open otherwise i'll close it and label it as a question

Please also note that we are using google discussion now so we could continue this topic there.

No specific use case, just improving the performance of the entire product & adding languages. SpaCy has more recent models (with transformers, like BERT) and they also have support for other languages, like Dutch. NLTK does not have this option.


How to install this plugin for Meteor cordova project?

Hello,
I need to add your plugin to a Meteor project, but "Meteor add cordova:..." doesn't accept a --variable parameter.
My idea was to manually add the ANDROID_API_KEY to the plugin.xml-file. But what do I need to change so the plugin doesn't expect a variable?

I wanted to post this for anybody looking to get this plugin working with meteor and crosswalk.
Crosswalk merged the fix to allow 'xwalkZOrderOnTop' preference being set, with this commit https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/commit/985d6f5518ca5223ad00fe1ad5da899c607b6105
So if you want to use cordova-plugin-googlemaps with meteor and crosswalk, you need to install crosswalk from at least that commit or newer.
Then add this to your mobile-config.js
App.setPreference('xwalkZOrderOnTop', true);
Also, I am using the latest commit of cordova-plugin-googlemaps.
Final thing is modifying the AndroidManifest.xml just as described in the crosswalk how to tutorial step #5..
https://github.com/mapsplugin/cordova-plugin-googlemaps/wiki/Tutorial-for-CrossWalk-Webview-Plugin-(Android)
Meteor doesn't replace the AndroidManifest.xml if it already exists so you can edit it (change "Black" to "Translucent") and rebuild and you should now be able to see the map finally! If anybody knows of a better, less hackish way to do this, that works with clean build, let me know please.
Oh, and if using ionic/meteoric, note the ionic fixes/workarounds listed under troubleshooting and tips. Essentially the side menus aren't made transparent by the map because they aren't part of parent node, so you have to figure a method to handle side menu visibility when using the map.
Good luck! The speed difference is huge and having this work with crosswalk was a deal breaker... now back to the less frustrating stuff :)

Yeah, I was on that commit inside of the comments :)
Thanks for the howto!
        <preference name="xwalkZOrderOnTop" value="true" />

Yeah Hirbod. I wouldn't have figured it out without all of your hard work. Thanks :)


fix translations

use _t function for field labels and add en and de yml files

@xini  is this necessary after 5.1.0? Does your patch in 5.1.0 use _t() within fieldLabel() now? I never fully understood it. I really don't want to replace all fieldLabel() calls with _t() unless I absolutely have to 😅

Yes, this is necessary.

5.1 only solves the issue of translations not being discovered in themes and db fields
fieldLabel() and the config field_labels is just fallback if no custom label via _t() is set for a field. It should now be used in custom code.

I didn't go down that route of completely changing how labels and translations work in Silverstripe. Too much pain and resistance.
Also, because fieldLabel() is meant as a fallback, the static is kind of obsolete. better define the label on the field and then translate it.
If you want, we can create a PR for SS for an integration of _t() in fieldLabels(), but I think it will be tricky. For example, where do you add in the static field_labels definitions in the translation tree? Which one has precedence in what case?

Also, this moves the definition of the labels from the actual object to the extensions, so that you don't have to translate for every object type. (with the old way, you had to translate all fields for CTAs, MenuItems, Targets, etc individually.)


Missing file: scripts/do_all.sh

Hi,
I was wondering when you would release the do_all.sh and test.sh file?

Hi,
I was wondering when you would release the do_all.sh and test.sh file?

Within a week, every file will be uploaded.

Hey, is there an update on this?
Also, are you planning to upload ops module as called in the dataset.py
from ops.io import load_proposal_file
from ops.utils import temporal_iou

Hey, is there an update on this?
Also, are you planning to upload ops module as called in the dataset.py
from ops.io import load_proposal_file
from ops.utils import temporal_iou

A little busy with other submissions, will update everything on 20th August.

Hey, is there an update on this?
Also, are you planning to upload ops module as called in the dataset.py
from ops.io import load_proposal_file
from ops.utils import temporal_iou

We are lagging due to other submission deadlines, everything will be uploaded on 20th August.


Added standard .gitattributes file

Looks like some robot thought this would be a good idea.

sigh

Ah so the helpful bot's identity has been revealed! lol :P

Don't know what you're talking about... :P


Email confirmation

When creating a new user or registering, the new user should have n hours to sign-in and confirm registration.
This can be done by issuing a 'confirm-token' which will then prompt for password entry.

Current random password is generated as 15 chars which is sufficient for most cases. Resetting must pass validation.


I should be able to request BTC from a counterparty

Utilizing transclusion would be ideal here, but it's harder, and may depend on ongoing work being done for Grid/software distribution.
For now, a simple relative link with query parameters, e.g. /~btc?pay=~wolref-podlex&curr=usd&value=20&note=cash%20rules%20everything%20around%20me
If I were to press the "Request" button, it would take me to a screen that looks like the one where we're paying someone, but with a "Copy Link" button as the primary action. Copying that link generates a URL like the one shown above that will prefill into the opener's wallet.

A simple design using our existing invoicing form now exists:

Essentially, a new "Request" button on the primary balance card UI should prompt the filling of a form including the recipient of the Request, the amount of a request, and an additional note, if needed. At the end of the Request flow, one may copy the request reference, to use in other Urbit apps, or simply close the interface to resume normal wallet usage

What's the progress on this feature?


First install; GUI doesn't start

First install.  Followed recipe.  Invoked run_keybase.
GUI doesn't start.  Squirrel said it did, but it didn't.
Performed sudo cp /dev/null /opt/keybase/crypto_squirrel.txt followed by run_keybase again.  No meaningful change.
my log id: 372e75b82fd8d0fc8954811c

Hi @daveloyall! Your error is:
1 /opt/keybase/Keybase: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory

Which distro/version are you on?

I'll install the gconf library, thanks!
The error that I'm reporting is that the run_keybase script reports that the GUI started, but it didn't.


Risky version pins

Description
This module seems to put its users at risk from breaking changes that result from major version bumps in its dependencies.

[x] ✋ I have searched the open/closed issues and my issue is not listed.

⚠ Note
Before you submit an issue, please perform the following first:

Remove the local .terraform directory (! ONLY if state is stored remotely, which hopefully you are following that best practice!): rm -rf .terraform/
Re-initialize the project root to pull down modules: terraform init
Re-attempt your terraform plan or apply and check if the issue still persists

Versions

Module version [Required]: 6.3.0

Terraform version:
~> 2.0

Provider version(s):
6.0 for AWS

Reproduction Code [Required]
Steps to reproduce the behavior:
You will need a time machine. The risk exists but there is no Terraform 2.0 nor any AWS provider plugin 6.0
Expected behavior
When there is a breaking change, this module defends against it.
Actual behavior
You will need a time machine. The risk exists but there is no Terraform 2.0 nor any AWS provider plugin 6.0
Major version changes can result in any outcome; it is Undefined Behavior.
However it is quite likely that AWS will release a version 6 plugin, and it's hard to know whether the breaking change from that release will have a business critical impact.
Additional context
I opened https://github.com/terraform-aws-modules/terraform-aws-rds/pull/518 that was closed unmerged. I'm opening this to track the won't fix status and to collect upvotes if people do want to request it.

I'm curious to understand why you feel that the module needs to provide this restriction as opposed to users specifying their pinned versions?
From our perspective, we are specifying the minimum required version requirements for the module - which, if I understand correctly, is what most projects follow as well.

If dependencies are specified too loosely, you will inevitably be bitten by version promiscuity (assuming compatibility with more future versions than is reasonable)

— https://semver.org/
I see it as good software engineering practice.

It's good to defend in depth against major version bumps, but: if you fix all your code to work with the provider's new major version, and it applies cleanly, you might incorrectly assume that everything still works.
And then you find out that your snapshots aren't encrypted, or something, and you weep.

I see it as good software engineering practice.

I don't disagree with this as a whole - but why is that our responsibility and not the users? Said differently, even if we do as you are suggesting here, users are not protected if they do not pin versions in their implementation. We aim to follow semver as much as possible, in our interpretation as it applies to Terraform, but we are still human and humans can make mistakes which is why we always recommend users to pin the versions of the resources/modules/providers that they are utilizing

It's good to defend in depth against major version bumps, but: if you fix all your code to work with the provider's new major version, and it applies cleanly, you might incorrectly assume that everything still works.
And then you find out that your snapshots aren't encrypted, or something, and you weep.

I disagree here and think this is a flawed approach to Terraform - you evaluate the plan before letting Terraform apply. If you are not evaluating the changes that Terraform is proposing, making module authors pin versions isn't going to solve anything here
The common denominator is that users need to pin their version requirements in their implementation and evaluate the changes prior to letting Terraform apply them


what is "for semantic compatibility" means?

Dear author:
I see
SSL_library_init();
SSL_load_error_strings();
in the file tlssimple.c
what is the comment "dummy functions ... for semantic compatibility only" means?

These are function that do absolutely nothing, just to be able to compile simple examples written for libssl. You don't need to call them in newly written code.


In Public: after clearing the browser cache the Datastream assets throw an error

After clearing the browser cookies/cache in Firefox, accessing the existing “Streaming Data Asset demo” asset throws an error:
"Application error: a client-side exception has occurred (see the browser console for more information)."
BackgroundUpdate: _reasonsToNotScheduleUpdates: Failed to check for Maintenance Service Registry Key: [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIUpdateProcessor.getServiceRegKeyExists]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "JS frame :: resource://gre/modules/BackgroundUpdate.jsm :: _reasonsToNotScheduleUpdates :: line 255"  data: no] BackgroundUpdate.jsm:257
Failed to register/update a ServiceWorker for scope ‘https://ethereumprice.org/’: Load failed with status 404 for script ‘https://ethereumprice.org/sw.js’.
If I then play the role of Publisher and publish a Dataset, then I can view the “Streaming Data Asset demo” with no error.
Haven’t tried this in Brave/Chrome, please test.
This could be related to Issue 31.

See comment in Issue 31, "...turn off Local Storage".

The ‘application error’ is now being caught. Setting to testing.
This has revealed the underlying fault, see issue #46..


Optionally, use multiprocessing instead of gevent

I discovered that when trying to use django-collectfaster with django-storages and a boto3 backend (NB: not plain old boto but boto3) that the first few files are copied successfully, followed by the remainder of them complaining about:
LoopExit: ('This operation would block forever', <Hub at 0x... select pending=0 ref=0>)
Wed Mar 29 18:21:28 2017 <Greenlet at 0x...: <bound method Command.gevent_worker of <collectfaster.management.commands.collectstatic.Command object at 0x...>>> failed with LoopExit

It seems as though boto3 uses threads to do multi-part transfers by default and this conflicts with the gevent workers in some way.
FWIW, django-storages presently recommends using their boto3 backend over the older boto-based backend
Thoughts/feelings?

Related: https://boto3.readthedocs.io/en/latest/guide/resources.html#multithreading

Thanks for your feedback! We will look at this topic this week.

@chschuermann @melbic thanks guys


Update MQTT.js to latest

Description
As it stands, main branch package refers to v5.9.1
5.10.1 is now current, has many more downloads in the NPM stats that the 5.9.1 we have in the un tagged main branch
Perhaps worth an update before 2.10 release?
Epic/Story
No response

@hardillb - for your consideration

I don't see why not, the comments on the release notes look good.


Adding ObservableDisposable

Hej,
this PR adds the class ObservableDisposable, which allows to observe when the disposable will be disposed.
This comes in handy when you want to end streams if the parent object is disposed.
I use it in serveral of my projects and want to share it, albeit the implementation might not be perfect. (I am also here to learn 😄)
Example:
private ObservableDisposable observableDisposable = new();

IObservbale<T1> oldObservable = ... ;
IObservbale<T2> newObservable = oldObservable
	.TakeUntil(this.observableDisposable)
	.Select(t1 => */ read data /*)
	.Publish()
	.RefCount(

public void Dispose() => this.observableDisposable.Dispose()

@dotnet-policy-service agree

@nilsauf Just in case the utility of this PR is found to be not broad enough for an addition to the API, you could rework this into a TakeUntil(CancellationToken ct)-operator that'll complete the upstream source whenever the CancellationToken signals its cancellation. In combination with the already existing CancellationDisposable, this would do what you need (I guess) and its utility might be considered a bit broader (also just a feeling).

@idg10 Thank you! As a consumer of this package for some years now, I appreciate this valuable insights. This is so interesting 😊
Well, this code looks like it is consuming Rx because it always was 😉 I will refactor it with your suggestions.
I mostly use it with EventPattern Observables (from external "old-fashioned" events) and in front of Publish().RefCount(). Since the EventPattern Observables will never send a OnComplete,  I want to complete it myself.
I hope the following snippet will clarify my use case, I think it is very clean this way.
public class ExampleClass : IDisposable
{
    private readonly IObservable<T2> exampleStream;
    private readonly ObservableDisposable observableDisposable = new();

    public ExampleClass(IObservable<T1> eventStream)
    {
        exampleStream = eventStream
            .TakeUntil(this.observableDisposable)
	    .Select(t1 => */ read data /*)
	    .Publish()
	    .RefCount();
    }

    public IObservable<T2> Observe() => this.exampleStream;

    public void Dispose() => this.observableDisposable.Dispose()
}

I will address your other points in their own comment threads.
@danielcweber Your suggestion to my use case is also very nice. I would love to add this operator, if it is considered in favor of ObservableDisposable.

If this is the usage model, then I think @danielcweber's suggestion is an improvement over the ObservableDisposable concept.
The reason I prefer it is that your usage model is an adaptation of an existing IObservable<T>: you have an IObservable<T> going in and an IObservable<T> coming out. This sort of thing is normally modelled as an operator in Rx, so this looks like it might be the right way to handle this particular scenario.
I apologise for the ramble that follows, but if we're introducing something new, I think it's really important to consider all the options. So I wanted to think about a few other ways we could approach this, so we can be confident that a) there isn't already a better way to solve this problem and b) that we've got the best solution.
I briefly wondered if it should be called TakeUntilCancelled, but TakeUntil already offers a few overloads that accept different kinds of temporal condition, so adding one more seems reasonable. Currently, TakeUntil can use a DateTimeOffset, or a predicate that inspects each object emerging from the source, or some other IObservable<T>. So the idea of adding an overload that accepts a CancellationToken doesn't seem like a huge leap.
Two other options have occurred to me.
One is that we could model this as a Subject, e.g. we could introduce a CancellableSubject<T>. With the initial design I was slightly uneasy about a Disposable implementing IObservable<T>. A Subject seems like a better way to approach it, because your use case is basically forwarding values from some underlying source, but with some additional behaviour around how that is done. My main worry with this, though, is that since SubjectBase<T> already implements IDisposable, the usage model might not be obvious - people might expect to be able to cancel the subject with Dispose, but that actually causes all further calls to OnXxx to throw an ObjectDisposedException.
The second is that we could define AsObservable extension methods for CancellationToken. Just like we have AsObservable extensions for Task, we could define them for CancellationToken.  But I'm not sure exactly what the design would look like. To be useful for the TakeUntil scenario you need to be able to produce a single value upon cancellation (because TakeUntil ignores a source that completes without producing a value). So you might want to be able to write ct.AsObservable(Unit.Default). But perhaps it should be able to take any observable, so maybe you'd want to be able to write ct.AsObservable(Observable.Return(Unit.Default)). I don't think I like the idea of a zero-args ct.AsObservable() that just produces a single Unit, because it doesn't seem obvious to me that that's what it would do.
I have one nagging doubt about the whole concept for this though (regardless exactly how we would present it in the API).
Seeing your usage model, this reminds me of things Rx already does to ensure that we don't emit notifications after unsubscription. When Dispose is called on a subscription, we 'quench' all further notifications by putting the subscription into a state where it will not call any more methods on the subscriber's IObserver<T>. (We do this before tearing down everything inside the subscription, and it prevents spurious further notifications emerging while we shut things down.)
So I'm getting a feeling of "don't we already have this mechanism?" I feels like it might be one of those situations where there's a slightly different way of solving the problem that avoids needing this new mechanism entirely.
The thing you're looking to achieve here is a consumer-side thing: essentially you're saying "I no longer wish to hear from this source". But you're modelling it as an IObservable<T>. I tend to think about observables as being a potential stream of values, and a subscription as being one particular realisation of that potential. So it feels slightly weird to have an observable change its state just because a consumer is now done with it. That feels like it's a subscription concern, not an observable concern.
E.g., think about Observable.Timer. When you create one of those, you don't actually start a timer. You build a description of a timer, and it's only when you subscribe that an actual timer comes into existence.  And each subscriber gets to say individually "I'm done now, thanks." If you want to share you can use Publish but the standard semantics are that each subscription has its own lifetime.
So having an observable that can be put into a state where all further new subscriptions instantly get unsubscribed makes me slightly uneasy. Now admittedly there's a precedent: this is precisely what AsyncSubject<T> does, which would be a point in favour of modelling this idea as a CancellableSubject I suppose. And actually, thinking about it, the TakeUntil overload that takes a DateTimeOffset already has this characteristic: once the specified time has passed, all subsequent subscriptions to that source will get no elements. So there is a precedent there.
So right now, I'm still leaning towards TakeUntil as the answer.

Yes, I also prefer the new TakeUntil operator now.
Actually CancellationDisposable is doing the same as my original proposal, just not as IObservable. And I think the new operator could be used in much more scenarios.
Thank you both for your ideas and insight into this library!
I will close this PR and open an issue about the new TakeUntil operator, to discuss details about it.


popup: repurpose fitPopupWindow

fixes #120
It looked like fixing all layouts to support a smaller size (due to the window frame) would have been much more work, which we don't want to let that block the first release.
This makes the popup enlarge itself to fit the original UI.
My reading of the Chrome extension API https://developer.chrome.com/docs/extensions/reference/windows/#method-create unfortunately concludes that there is no way to open the popup at the right size in the first place, because you can only specify the "outer" width/height, and it's not known how thick the frame will be.
Within the code there's a fitPopupWindow that seems to serve this purpose already. This function isn't currently in use. I've repurposed it for use with openCurrentRouteInPersistentPopup.
A screenshot of the larger window:

see how it's 383 x 629 <- from 375 x 600

huh, must be some difference, I'm using Google's build of Chrome. But it seems not worse in chromium fortunately


Fixes

L106 - Use the standard header as per the documentation: https://discord.com/developers/docs/topics/rate-limits#header-format-rate-limit-header-examples - this will provide better compatibility with other proxy solutions + Discord itself.
Sidenote: your ratelimiting implementation has the chance of getting you banned from services with anti-abuse since it lets you hit the ratelimit first before taking action on it.
L149-154 - Consistent return values
L160-163 - Actually catch a possible error

Thank you for the fixes!
I'll look into fixing the ratelimiting.


Implement 486

Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Bug fix

What is the current behavior? (You can also link to an open issue here)
#486

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:
same changes as #486

Coverage increased (+0.2%) to 87.666% when pulling 7bd84cf69e1c9025278849701cd91c622ef5a2d7 on lionel-bijaoui:lb_implement_486 into 02055ecb570157bf2c3d5c5fe4fc1a248b8eb2b8 on vue-generators:v3.


feat: LangChain updates

Closes: #230
Contributes: #223 (allow streaming via adapter)
Contributes: #219 (handle streaming)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

119 of 131 (90.84%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 96.799%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/genai/extensions/langchain/utils.py
23
35
65.71%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
2661

Relevant Lines:
2749

💛  - Coveralls


Lacks the 'cancel' button when import opml

Correct, right now it's all or nothing. I'd like to build out this functionality in the future, but for now it's minimal viable product.

Added, this will be included in the next release


Non maximum suppression

I added non_maximum_suppression method.
I think there is room for discussion.

non_maximum_suppression or suppress_bbox
Currently, methods related to bbox are named as <verb>_bbox. In this manner, the name of this method should be suppress_bbox. However the behaviour of this method is well known as non_maximum_suppression.
adding score argument or not
Currently, this method do not take score argument. It assumes given bbox is sorted in descending order.

Thank you!
LGTM


Week 2 and 3 tasks completed.

Please remove the "Merge branch 'gajabaar:main' into main" commit

also looks like you have two pull requests open?


Force Crawling of TurboTax Free File Edition

not tested

This doesn't look good to me. I don't think a hard coded string for an edge case like this is a good choice.

This doesn't look good to me. I don't think a hardcoded string to fix an edge case like this is a good choice.

Yes, I agree wit this. We can't have this in the code.


HAP device not showing in scanning results

It used to work, then I took a pause of about two weeks. Now, when I try to find the device it doesn't appear in the list, although the HAT simulator displays it. I am using the latest HomeKitDemo version. Any ideas please ?

Also, I tried resetting the HomeKit database on the phone multiple times.

@lucicop which accessory are you trying to use with? HomeKit Accessory Simulator?

No,  I forgot to mention it works with those in the simulator. It's a real device, one having lightbulb service configured.

@lucicop If it's a BLE accessory, please check the advertisement data is correct (especially the status flag). iOS 8.3 enforces the requirement for status flag, accessory with incorrect flag will be filtered out from scan result.

Yes, it's a BLE accessory. So that might be the reason it works in HAT, but not in iOS?

@lucicop I don't know if HAT has been updated accordingly with the changes in iOS 8.3, that might be the case. For accessory to be discoverable, the make sure the flag is set to 0x01

I'll try this right away, thanks for pointing it out !

Yep, now it works ! Thank you so much !

@lucicop :) Remember to update the accessory with latest MFi spec changes :)

Yeah, I kind of missed the status flag :)


Show exact Printing Progress

Show the exact printing progress (in percent) instead of the currently working indicator.
Maybe a circular progressbar around the print button.
For many people printing the list of people may take some time.

Feature was implemented and is available in branch feature/print_progress
Printing is too fast to see an effect here. So this feature isn't merged into master at the moment.


updated user friendly doc

Doc which easy for user to read and understand

Fixes #...
updated the doc
Please check the following:

[x] Do the tests still pass?[^1]
[x] Does the code comply with the style guide?

[x] Run make lint from the Wagtail root.

[x] For Python changes: Have you added tests to cover the new/fixed behaviour?
[x] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[x] Please list the exact browser and operating system versions you tested:
[x] Please list which assistive technologies [^3] you tested:

[x] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

starting my contibution on Django site

starting my contibution on Django site

pass

Thank you sir, ok i guess this is the most optimised pages.
Sir wanted to contribute in wagtail org can u plz suggest thing's in repo i
should work on.
On Fri, 17 Mar, 2023, 2:31 am LB (Ben Johnston), @.***>
wrote:

@Rohitrky2021 https://github.com/Rohitrky2021 sorry but this doesn't
seem right, it looks like the content has been completely reworked and many
sentences don't really make sense now. All formatting and links have been
lost.
Can I ask that you create a new issue that explains where you think this
page needs to be improved.
A complete rewrite of this page will require some discussion first.
—
Reply to this email directly, view it on GitHub
https://github.com/wagtail/wagtail/pull/10236#issuecomment-1472733431,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYNILUUW7XEDNBUFPF5FFCLW4N5TJANCNFSM6AAAAAAV5VZZR4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks @Rohitrky2021  I might close this for now then if that is ok.
In the meantime we have a guide written up here about how to get towards your first contribution, it also talks about other non-core repos that may be good to look at as well.
https://github.com/wagtail/wagtail/issues/10070
I know it can be tricky to find what to help with at first but hopefully that guide gets you some of the way there.


Cannot Rotate the Screen

Cannot rotate the screen
I recently find that transforming/rotating the screen/monitor by any degree (e.g. 90, 180) is not possible.
I have used hyprctl, hyprland.config and wdisplays to do it and none of them works.
Hyprcrtl returns Ok but nothing happens.
I tried to read the log, it seems that the manager did not receive the transform command.
For example, if I try transform 1, the log output is still transform 0.
Perhaps issues with hyprland itself?
I have tried it on swaywm / gnome wayland and nothing wrong happened. It seems not an issue with wlroots.
Anyone meets the same problem?


Bug #18469: fix Link::serialize method

Q
A

Is bugfix?  ✔

New feature? ❌

Breaks BC? ❌

Fixed issues
#18469

Hi, I applied the fix proposed above with some unit tests. Hope it helps

It is only me, or these test do not have sense at all? :P

Heh, yes, this is what I thought as well, so I had to go through the code again.
@ggh2e3 could you refactor the tests to not confuse? For example this looks like a config for a single object so the expected result is weird.

Yep, I can refactor the tests to avoid confusion.

@bizley is it fine now?

👍


Show create table statement is not working for delta lake tables

Greetings,
We have a mix of parquet tables and delta tables. we have observed that "Show create table $table_name" is not working for delta tables.
We have a process to replicate all the table schemas to another environment and this is failing for delta tables with below error:
Is there any workaround to extract the create table statements for delta tables?
Error: SHOW CREATE TABLE is not supported for v2 tables.
org.apache.spark.sql.execution.datasources.v2.DataSourceV2Strategy.apply(DataSourceV2Strategy.scala:350)
org.apache.spark.sql.catalyst.planning.QueryPlanner.$anonfun$plan$1(QueryPlanner.scala:63)
scala.collection.Iterator$$anon$11.nextCur(Iterator.scala:484)
scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:490)
scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:489)
org.apache.spark.sql.catalyst.planning.QueryPlanner.plan(QueryPlanner.scala:93)
org.apache.spark.sql.execution.SparkStrategies.plan(SparkStrategies.scala:68)
org.apache.spark.sql.catalyst.planning.QueryPlanner.$anonfun$plan$3(QueryPlanner.scala:78)
scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:162)
scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:162)

Closing this as a duplicate of #1032. It would be great if you can post your comment in that ticket.

Ho there,
I'm trying to patch my system with this solution bit O don't know how to. Anybody can help me?. Thanls on advance


Doesn't work in vscode 1.37

Hi! Thank you for the extension. Unfortunately, I couldn't get it working as it described in the README file. The "Install and start using" method does not seem to work. I use the latest version of VSCODE and tested the extension on twig, html, vue files but it didn't work.
This is what I've done to make it work. Copied all snippets from this repository and pasted them here Preferences: Configure user snippets > twig. Please, have a look.
Version: 1.37.0
Commit: 036a6b1d3ac84e5ca96a17a44e63a87971f8fcc8
Date: 2019-08-08T01:24:14.598Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 4.15.0-34-generic

Hello there,
Maybe it's a compatibility issue with some of your other extensions or settings.
Could you provide me a list of extensions you are using and settings.json file?
Screenshot of extensions will do as well so you don't have to copy and paste all of theme here.

Hi, I find this issue since im facing a same bug. I tried to disable some of installed plugins and after i disabled a css sinppets, which is ecmel.vscode-html-css, and your extension worked.
Hopefully this may provide clues.


feat(Tag): modify boderColor and add ellipsis for Tag

Summary
弱化 Tag 组件的边框颜色并增加标签内容溢出自动显示省略号功能
Solution Description
通过调整透明度来弱化边框颜色

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.wdy01684395 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


new_local_repository does not respect 'includes' attribute

suppose you want to link against the system jni headers on a Mac that might be a WORKSPACE entry of:
new_local_repository(
    name = "jni-local",
    build_file = "BUILD.extjni",
    path = "/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/include",
)
bind(
    name = "jni",
    actual = "@jni-local//:headers",
)
---
BUILD.extjni of:

genrule(
    name = "empty",
    outs = ["empty.cc"],
    cmd = "echo -n 'void external_jdk_empty(){}' > $@",
)
cc_library(
    name = "headers",
    srcs = [":empty"],
    hdrs = glob(["**/*.h"]),
    includes = [
        ".",
        "darwin",
    ],
    visibility = ["//visibility:public"],
)

When you try and compile a file which has #include <jni.h>:
ERROR: jni/BUILD:10:1: undeclared inclusion(s) in rule '//jni:libreverse.so':
this rule is missing dependency declarations for the following files included by 'jni/Reverse.cpp':
  '/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/include/jni.h'
  '/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/include/darwin/jni_md.h'.

that was supposed to be include jni.h with angle brackets.

Not sure I agree using the example above: bazel build //external:jni
ERROR: /private/var/tmp/_bazel_pbethe/d03eb8f816153c36c4229eeab3f690b4/.external-repository/jni-local/BUILD:12:12: error globbing [**/*.h]: /private/var/tmp/_bazel_pbethe/d03eb8f816153c36c4229eeab3f690b4/.external-repository/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/external/jni-local/darwin (Too many levels of symbolic links).
ERROR: /Users/pbethe/School/Bridge/WORKSPACE:7:1: Target '@jni-local//:headers' contains an error and its package is in error and referenced by '//external:jni'.

I think this can be worked around with more judicious globbing until https://github.com/google/bazel/issues/87 is fixed.


Copy passed in styles/props onto div

I also did a bit of formatting which made the diff messy.
This lets you do stuff like <FitText style={{marginBottom: '1.5rem'}}>Some text</FitText>

@KyleAMathews I created a new PR #7 where I remove the div and use directly the children element (modifying only the font-size style).
Please take a look at it, and let me know if that PR resolve the same issue.

Closed in lieu of #7


ExchGwQuoine needs some adjustment

It seems that Quoine has quite a restrictive policy for anonymous querying, 4s interval is definitely too short and almost all queries fail with
HTTP Error 429: Too Many Requests

This issue has been a headache to me. Although in their official website it mentions
"API users should not make more than 300 requests per 5 minute. Requests go beyond the limit will return with a 429 status"
but it looks like the actual rate is lower than that.
Any actual experience of how many requests the user can send?

I suppose, 300req/5min is only allowed for registered users with valid API key...

 ExchGwQuoine needs some adjustment

I inquired the exchange and they replied with valid timeframe the application exceeded the usage limit. Now, the issue has been resolved. Please upgrade to the latest version.


Added some @since 5.0.0 tags

I have reviewed the what's new file and added some @since 5.0.0 tags wherever I could.
I have also fixed some glTF extension comments for extensions that are now merged into the Khronos repo.

tsdoc doesn't support the @since tag...
https://tsdoc.org/

Following up on this - we had this discussion (where i had the same answer) https://forum.babylonjs.com/t/since-tag-versioning/14393
I wonder why it passed back then. I'll have to investigate that.

That's strange because it works for this class WebXRDomOverlay: https://doc.babylonjs.com/typedoc/classes/babylon.webxrdomoverlay

Ah, I think I know: it's supported only for methods and classes, and it fails for properties.


Update README.md

update readme

Why todo ideas placed into README.md not TODO.md?

Now it looks much better. But why repository does not have README.md at all?

sdfgdsfgd

qq


[chore] Update Dependencies for java and Java Script sample apps

Description:
Updates Java sample app (auto) and JavaScript sample app dependencies - downgrading the node-fetch to use 2.x because of the breaking changes. version 2 can still be used as the bug fixes will continue to be published for v2
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can you also add a dependabot ignore for node-fetch major version?

Great idea, added it


Add compound prediction mode variants for drl=2 and drl=3.

Does this impact metrics? If so, AWCY incoming?

Also, this seems to depend on #2237? There's a lot of overlap, at least. Is that correct?

No, #2237 is the one that impacts metrics.

Coverage decreased (-0.002%) to 82.594% when pulling a8119e60e8629bd21ec093b8077a5acac1a81900 on tdaede:near0 into 8cfe6672b74e0d148d25d08702c55b94a50818ac on xiph:master.


Connecting forever after installation

After installation, the system try to restart but then the status stays on connecting state.

Is this happening consistently in several notebooks or is it a one-off thing? In other words, can you reproduce this and in that case, can you share a notebook with the problem you are describing? Thanks!

It get hangs while Solving environment after creating Conda env.  This issue is persistence. @jaimergp

Can you use mamba instead of conda in your command?

Also get this warning in Condacolab installation logs.
WARNING:
You currently have a PYTHONPATH environment variable set. This may cause
unexpected behavior when running the Python interpreter in Mambaforge.
For best results, please verify that your PYTHONPATH only points to
directories of packages that are compatible with the Python interpreter
in Mambaforge: /usr/local

Hi all,
Here is an example that I have always been able to repeat the error.
https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb
Cheers
Owais Ahmad @.***> 于2023年6月19日周一 21:34写道：

Also get this warning in Condacolab installation logs.
WARNING:
You currently have a PYTHONPATH environment variable set. This may cause
unexpected behavior when running the Python interpreter in Mambaforge.
For best results, please verify that your PYTHONPATH only points to
directories of packages that are compatible with the Python interpreter
in Mambaforge: /usr/local
—
Reply to this email directly, view it on GitHub
https://github.com/conda-incubator/condacolab/issues/57#issuecomment-1597024222,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASBF26PSPUC5M2LZ5JNV6S3XMA2MZANCNFSM6AAAAAAZK4TERU
.
You are receiving this because you authored the thread.Message ID:
@.***>

I would rewrite the install code as follows for better performance:
        !wget https://github.com/ccsb-scripps/AutoDock-Vina/releases/download/v1.2.0/vina_1.2.0_linux_x86_64 -O vina
        !chmod u+x vina

        !pip install condacolab
        import condacolab
        condacolab.install_mambaforge()  # includes mamba
        !mamba install -c conda-forge -c bioconda mgltools=1.5.7 biopython=1.78 \
        openbabel=3.1.0 plip=2.2.2 zlib=1.2.11 xlsxwriter=3.0.3
        !pip install py3Dmol==2.0.0.post2 pybel==0.15.5 rdkit-pypi==2022.3.5

The problem with your notebook is that it silently ignores errors (and puts stdout in a log, so you don't see things as they happen). Your mamba code fails because colab runs now on Python 3.10 and those package versions are not available for this Python release:
The following packages are incompatible
├─ biopython 1.78**  is uninstallable because there are no viable options
│  ├─ biopython 1.78 would require
│  │  └─ python >=3.6,<3.7.0a0 , which conflicts with any installable versions previously reported;
│  ├─ biopython 1.78 would require
│  │  └─ python >=3.7,<3.8.0a0 , which conflicts with any installable versions previously reported;
│  ├─ biopython 1.78 would require
│  │  └─ python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported;
│  └─ biopython 1.78 would require
│     └─ python >=3.9,<3.10.0a0 , which conflicts with any installable versions previously reported;
├─ openbabel 3.1.0**  is uninstallable because there are no viable options
│  ├─ openbabel 3.1.0 would require
│  │  └─ python >=3.6,<3.7.0a0 , which conflicts with any installable versions previously reported;
│  ├─ openbabel 3.1.0 would require
│  │  └─ python >=3.7,<3.8.0a0 , which conflicts with any installable versions previously reported;
│  └─ openbabel 3.1.0 would require
│     └─ python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported;
└─ zlib 1.2.11**  is requested and can be installed.

I should have looked at the log. It helps a lot, thanks!
jaimergp @.***> 于2023年6月20日周二 17:17写道：

The problem with your notebook is that it silently ignores errors (and
puts stdout in a log, so you don't see things as they happen). Your mamba
code fails because colab runs now on Python 3.10 and those package versions
are not available for this Python release:
The following packages are incompatible
├─ biopython 1.78**  is uninstallable because there are no viable options
│  ├─ biopython 1.78 would require
│  │  └─ python >=3.6,<3.7.0a0 , which conflicts with any installable versions previously reported;
│  ├─ biopython 1.78 would require
│  │  └─ python >=3.7,<3.8.0a0 , which conflicts with any installable versions previously reported;
│  ├─ biopython 1.78 would require
│  │  └─ python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported;
│  └─ biopython 1.78 would require
│     └─ python >=3.9,<3.10.0a0 , which conflicts with any installable versions previously reported;
├─ openbabel 3.1.0**  is uninstallable because there are no viable options
│  ├─ openbabel 3.1.0 would require
│  │  └─ python >=3.6,<3.7.0a0 , which conflicts with any installable versions previously reported;
│  ├─ openbabel 3.1.0 would require
│  │  └─ python >=3.7,<3.8.0a0 , which conflicts with any installable versions previously reported;
│  └─ openbabel 3.1.0 would require
│     └─ python >=3.8,<3.9.0a0 , which conflicts with any installable versions previously reported;
└─ zlib 1.2.11**  is requested and can be installed.
—
Reply to this email directly, view it on GitHub
https://github.com/conda-incubator/condacolab/issues/57#issuecomment-1598242499,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASBF26KGVIOMBKD575U5AW3XMFFBDANCNFSM6AAAAAAZK4TERU
.
You are receiving this because you authored the thread.Message ID:
@.***>

In case anyone else has this issue, for me it was because of Installing directly from the git Main branch.
When I installed the package instead from pypi there were no issues.


Fix time-until-waiting metric.

Changes proposed in this PR

We need to detach the timer so that we don't count waiting excessively for synthetic pods. We'll count each state revisit, not the first one where the pod shows as there.

Why are we making these changes?
Make the metric correct.

Will merge when green


Document where to put postgres.conf file

Right now there's no clue in docs on how to configure Postgres.
Although it would be nice to have an environment variable to apply configuration, at least we should have properly documented where postgres.conf file should be located.
People gets confused with this.

+1

+1

So add something like the following  to the docs on the Docker Hub?
$ docker run -d -v /my/pg.conf:/usr/share/postgresql/postgresql.conf.sample postgres

The biggest problem with this is that after first start, this file not will be used again and any changes would not be reflected in restarts of the container.
I think the workarounds in the linked stack-overflow issue seem pretty solid. -c arguments are my preferred way for simple adjustments to config: docker run -d postgres -c shared_buffers=256MB.
You can even just tell postgres where the config file is located and build an image with the new config built in:
FROM postgres:9.6
COPY pg.conf /etc/postgresql/postgresql.conf
CMD ["-c", "config_file=/etc/postgresql/postgresql.conf"]

$ # after building:
$ docker run -d \
	-v ./path/to/pg-data/:/var/lib/postgresql/data/ \
	-e POSTGRES_USER=postgres \
	-e POSTGRES_PASSWORD=s3cret \
	--name postgres \
	custom-postgres

Or you can bind-mount in a config and do it all on the docker cli:
$ docker run -d \
	-v ./path/to/postgres-conf/:/etc/postgresql/ \
	-v ./path/to/pg-data/:/var/lib/postgresql/data/ \
	-e POSTGRES_USER=postgres \
	-e POSTGRES_PASSWORD=s3cret \
	--name postgres \
	postgres:9.6 -c config_file=/etc/postgresql/postgresql.conf

In 17.06 it should be possible to do this using config objects.

@yosifkit
I tried the following and it works perfectly fine.

You can even just tell postgres where the config file is located and build an image with the new config built in:
FROM postgres:9.6
COPY pg.conf /etc/postgresql/postgresql.conf
CMD ["-c", "config_file=/etc/postgresql/postgresql.conf"]

But I am having a hard time understanding why this CMD is not overriding the CMD in the parent image.
The parent image contains this:
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 5432
CMD ["postgres"]

and the docker-entrypoint.sh just does exec $@ at the end.
Can you please explain?

@iabtyagi the magic happens here: if CMD starts with a -, postgres is prepended.
There are a couple of interesting Bash features here:

${1:0:1} returns the first char of $1 [1]
set -- postgres $@ reassigns $1, $2, etc. to postgres, followed by the original arguments ($@) [2]

[1] https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
[2] https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html

@dhinus  Great! Thanks. Totally missed that part of the script. Thanks for explaining the ${1:0:1} and set, I wasn't aware of these features.

im still not sure how to add the custom config file!

@Haythamamin you can find an example at https://hub.docker.com/_/postgres#database-configuration
$ # run postgres with custom config
$ docker run -d --name some-postgres -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf postgres

@Haythamamin you can find an example at https://hub.docker.com/_/postgres#database-configuration
$ # run postgres with custom config
$ docker run -d --name some-postgres -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf postgres

@dhinus you missed a part of the example:
docker run -d --name some-postgres -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf postgres -c 'config_file=/etc/postgresql/postgresql.conf'

@vesnikos you're right, thanks. I have updated my previous comment!

I tried adding -c config_file=/etc/postgresql/postgresql.conf to CMD in the Dockerfile. It changed config file successfuly. However remote access to container db no longer works.

@germansokolov13 make sure your mounted config file has this option:
listen_addresses = '*'

That's there in the default config file that gets created by postgres, but it may not be there in yours. Here's the full list of things that are uncommented in the default config file:
listen_addresses = '*'
max_connections = 100
shared_buffers = 128MB
dynamic_shared_memory_type = posix
max_wal_size = 1GB
min_wal_size = 80MB
log_timezone = 'Etc/UTC'
datestyle = 'iso, mdy'
timezone = 'Etc/UTC'
lc_messages = 'en_US.utf8'
lc_monetary = 'en_US.utf8'
lc_numeric = 'en_US.utf8'
lc_time = 'en_US.utf8'
default_text_search_config = 'pg_catalog.english'


Incorrect gas price: Estimated gas price: 3.2 gwei

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
No response
What command(s) is the bug in?
No response
Operating System
None
Describe the bug
I am trying to deploy a simple contract on Arbitrum using foundry but gas price is incorrectly calculated.
Chain 42161

Estimated gas price: 3.2 gwei

Estimated total gas used for script: 21628032

Estimated amount required: 0.0692097024 ETH

This is a duplicate of many gas estimation issues—We cannot accurately estimate gas for L2s at this point in time. Will close to avoid duplicates—sorry!

Hey @Evalir I believe that the problem here is not L2 semantics but just incorrect priority fee estimation.
Gas estimation may be difficult for L2s with unusual semantics like Optimism. However, currently, gas is estimated incorrectly for all chains where gas prices are just low. For example, for script running on Arbitrum, gas prices will always be estimated as ~3.2 gwei. However, actual gas price required is usually around 0.1 gwei.
This happens because gas estimations are done by using default ethers-rs eip1159 estimator. https://github.com/foundry-rs/foundry/blob/d4e6b43ea694f31ef2915e75d81c3308479ef8fd/crates/common/src/provider.rs#L280-L290
The code for default estimator can be found here https://github.com/gakonst/ethers-rs/blob/f0e5b194f09c533feb10d1a686ddb9e5946ec107/ethers-core/src/utils/mod.rs#L500.
The problem lies in this snippet:
  let max_priority_fee_per_gas =
      if base_fee_per_gas < U256::from(EIP1559_FEE_ESTIMATION_PRIORITY_FEE_TRIGGER) {
          U256::from(EIP1559_FEE_ESTIMATION_DEFAULT_PRIORITY_FEE)
      } else {
          std::cmp::max(
              estimate_priority_fee(rewards),
              U256::from(EIP1559_FEE_ESTIMATION_DEFAULT_PRIORITY_FEE),
          )
      };

EIP1559_FEE_ESTIMATION_PRIORITY_FEE_TRIGGER is 100 gwei and for EIP1559_FEE_ESTIMATION_DEFAULT_PRIORITY_FEE is 3 gwei.
So, basically, if base fee per gas is less than 100 gwei, the priority fee will be set to 3 gwei. This may be fine for Ethereum, but it is incorrect for chains with base gas price always being below 1 gwei (or even below 0.0000001 gwei on Base).
I think that replacing default estimator with some custom more flexible solution can help here.


Payment/UnifiedOrder does not support serialize or create by array

In some cases, we will use the same out_trade_no for different scene, but wechat forbid reuse a same out_trade_no to make a new UnifiedOrder.

@0i

“out_trade_no” and “transaction_id”, as are the unique ID, so, out_trade_no not have the same, if you have the demand, please consider doing a correspondence between the database table.

@acabin 是否能看明白中文？


Question reg design of TrustManager

hello,
first of all, thanks a lot for creating this library. I am using it in my personal projects.
However, I've a question.
Why are we creating a new trust manager for each hostname? Can't we have a single trust manager which takes care of all the hosts?
I am providing a singleton okhttp client through Dagger to all the consumers in my app. If I could initialize it at there itself with a custom trustmanager that handles all the urls, I won't have to install the trustmanager in every consumer's class (the classes which use retrofit and and I need to provide them okhttp), which I'd have to do it right now.
so just curious, is there any specific reason behind this design?
Thank you.

Hey @yashasvigirdhar thanks for your feedback !
The limitation is mostly due to how the http connections are working in Android and we needed a common API to manage different client/lib. Also the other part of this limitation is due to the API we're based on as you can see here. Both block us to provide a dynamic way to handle multiple hostnames and supporting a lot of Android version 😅 Please let me know if you want more details also don't hesitate to use our Gitter to communicate directly with us :)


MultiGetBuilder like MultiProvider in Provider package

Hello Super Developer :)
Please add MultiGetBuilder like MultiProvider in Provider package

Do u need guidance for it ?

It has already been added, it will be released in version 5, but in the master version we already have Binds api


Change actions billing structs to maps

Fixes #2595.
The structs hardcode the three machine types that Github Actions supported until recently. However, we now have a lot more different types of machines, with the potential for more to be added at any time. Using maps instead of structs will allow us to transparently support more machine classes in the future.
I've done this pretty naively instead of creating safe access methods or anything like that, and kept the map values as pointers for consistency with other maps in the codebase. Can't think of any tests that would be necessary (beyond the generated ones) but open to suggestions.

Thank you, @valbeat !
Merging.


x/pkgsite: stale go-source meta tag information means identifiers are not hyperlinked to source

What is the URL of the page with the issue?
https://pkg.go.dev/cuelabs.dev/go/oci/ociregistry#Descriptor
What is your user agent?

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Screenshot

n/a
What did you do?
Tried to click on the Descriptor identifier to jump to the source code.
What did you expect to see?
A hyperlinked Descriptor attribute taking me to the source code:
https://github.com/cue-labs/oci/blob/HEAD/ociregistry/interface.go#L85
What did you see instead?
No hyperlink.
I think this is an instance of go-source changing and pkgsite not detecting that it needs to invalidate caches: https://github.com/golang/go/issues/46203
See previous https://github.com/golang/go/issues/47335

cc @golang/pkgsite who can help us refresh the cache, like Julie did last time in https://github.com/golang/go/issues/47335#issuecomment-884890013? I seem to understand she's no longer part of the team, so I don't want to ping her directly.

This got resolved as a side effect of a new version of cuelabs.dev/go/oci/ociregistry being published.


Reduce the number of import * as X imports.

Right now deno bundle does a decent job of tree shaking (although not perfect) over * imports. Aside from bundling, deno must always download and cache the full file for use with deno run, regardless of the number of specific symbols that are imported. Thus, this particular feature isn't very pressing. Since it requires touching almost all of the files in fun I'm going to punt to a future version, likely just a patch release since testing and apis won't change.


Maximum call stack size exceeded: flex-flow

Using this simple Stylus file,
@import "kouto-swiss"

body {
	display: flex
	flex-flow: row wrap
}

When Grunt compiles it, I get this error.
>> File "app/styl/hello.styl" changed.
Running "stylus:dev" (stylus) task
>> RangeError: app/styl/hello.styl:5:17
>>    1| @import "kouto-swiss"
>>    2|
>>    3| body {
>>    4| 	display: flex
>>    5| 	flex-flow: row wrap
>> ----------------------^
>>    6| }
>>    7|
>>
>> Maximum call stack size exceeded
>>     at flex-flow() (/path/to/node_modules/kouto-swiss/lib/kouto-swiss/mixins/vendors-flex.styl:78:35)
>>     at "body " (app/styl/hello.styl:2:22)

Hi, thanks for the report.
I will take a look right now. :)

Fixed & published as version 0.11.13.
Thanks again for the report.

Great, thanks for the fast response :+1:


integrations: trim secrets read from config

Hey, I just made a Pull Request!
Think this is a sensible precaution to make sure that various requests don't leak secrets that were misconfigured. It's not really feasible to filter errors for this imo, since they can be at arbitrary depth.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

I wonder if we could do something with the config.d.ts schemas, by JSON.parse(JSON.stringify(config)) and trimming everything that is marked as @visibility secret?

@benjdlambert Hmm, thinking that's a bit too dangerous tbh, although at the same time quite sensible 😅
For example I specifically skipped the trimming of PEM format secrets just in case they're a bit more picky about trailing newlines
Thinking we merge this and then consider that as a potential future improvement


Remove textwatcher listener

Is there any way to remove listener added by textWatcher extension function?
Thanks :)

Hi @brezinajn, yes it's possible 🙂
You can access TextWatcher reference inside lambda:
var textWatcher: TextWatcher? = null
textView.textWatcher {
    textWatcher = this
}
textView.removeTextChangedListener(textWatcher)

Uhm, missed that one :)
Thanks :)


Add license

The compareMS2.c is now MIT, so I think the entire compareMS2 2.0 could be as well. Unless you have another preference?

I have added the MIT license to all relevant source files in spdx format.


why don't support recently added ssh key?

I got this tip.

Your private key doesn't match your public key in GitHub. It could happen if you've changed local ssh key recently.

Keys, added after GitHub snapshot has been taken, not included and cannot be used for the claiming right now. Please follow the Fluence socials in case the situation will change later.
Discord
Twitter

Because I replaced the key after the snapshot, I can't claim the airdrop anymore?  Is there a problem with frequently changing keys for security?


(PA-1923) Update Windows locale path

In puppet6, install paths for puppet agent are updated to build all
all of the agent components with the same prefix, instead of giving each
one its own directory. This adjusts the search path for locale files so
that it matches the new structure.
This PR shouldn't be merged until pathing updates are approved in https://github.com/puppetlabs/puppet-specifications/pull/123.
After that, this PR should be merged alongside the puppet-agent changes that require it, here: https://github.com/puppetlabs/puppet-agent/pull/1517.

CLA signed by all contributors.


ref.invalidate should trigger loading() of AsyncValue, introduce AsyncValue.refreshing()

Is your feature request related to a problem? Please describe.
I'm new to riverpod and may not have it all figured out yet, but I've come across 2 scenarios where I see room for improvement:

I am using FutureProvider to load data and if I want to update the view I call ref.refresh on my providers future. I know that isRefreshing indicates that state but I would like to make the refreshing visible in my ui.

To completely refresh the provider I can call ref.invalidate on the provider but that does not call loading() again.

Example:
int counter = 0;
final counterProvider = FutureProvider.autoDispose((ref) async {
  await Future.delayed(const Duration(seconds: 1));
  return ++counter;
});

class MyHomePage extends ConsumerStatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  ConsumerState<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends ConsumerState<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    final counter = ref.watch(counterProvider);
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            counter.when(
                data: (data) => Text(
                      '$data',
                      style: Theme.of(context).textTheme.headline4,
                    ),
                error: (error, stackTrace) => const Text('error'),
                loading: () => const CircularProgressIndicator()),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => ref.invalidate(counterProvider),
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Describe the solution you'd like

I think that refreshing should be introduced in AsyncValue:

counter.when(
  data: (data) => Text(
      '$data',
      style: Theme.of(context).textTheme.headline4,
    ),
  error: (error, stackTrace) => const Text('error'),
  loading: () => const CircularProgressIndicator(),
  refreshing: () => const CircularProgressIndicator());

I also feel like invalidating the provider should trigger loading of AsyncValue.

The behavior you've described is the one available on the master branch. It has changed since the latest release. See the changelog :)
On the other hand, I'm skeptical about a  when(isRefreshing). Common use-cases want to, during refresh, show the previous data/error.
If you want to do what you've described, you could do:
if (counter.isRefreshing) {
  return Loading();
}

return counter.when(
  data: (data) => Text(
      '$data',
      style: Theme.of(context).textTheme.headline4,
    ),
  error: (error, stackTrace) => const Text('error'),
  loading: () => const CircularProgressIndicator(),
  refreshing: () => const CircularProgressIndicator());

An optional parameter could be considered, although I'm still skeptical. Feel free to make a separate issue

Thanks for the insights. Just to leave my feedback here: I totally agree with @krjw-eyev about the "refreshing:" parameter.

Hello, I came across this because I had a problem in my code where the page was having delay in displaying the updated data from a FutureProvider and I was invoking ref.invalidate on that since it depended in a StateProvider that feeds an ID that is needed to fetch the data in the future.
It was working as intended but I encountered the delay. At the moment, there is no "refreshing:" parameter but rather the skipLoadingOnRefresh parameter which I set to false and my problem was solved.
Commenting now if anyone else comes finding answers. Thank you as well.


ModuleNotFoundError: No module named 'ronnia'

ModuleNotFoundError: No module named 'ronnia'

You need to set your working directory to the repository root folder.


Revert "support new minio-js repo workflow"

Reverts minio/mint#356

should I re-open #356 ?

should I re-open #356 ?

yes please @trim21


Cache whoami query

cache whoami query for ~30 seconds as with iframes there is the possibility for multiple streams to start at once ...
currently whoami is checked every time before streams are started (for the sake of simplicity) while ensuring that the latest server side state is used ...

Implemented in #460


Integrating issues of Freddy in Xode project.

Hello, I am brand new to this iOS development This is my first time integrating an external resource into the project. I have tried and  installed your Freddy package  successfully but i am getting lot of build errors in my project after installation. am i doing wrong somewhere? I have set my deployment target as 8.0 and i am using xcode V 7.1 in OS X EI Captain.
Let me know if i need to provide any further information about like what errors i am getting etc.
Few of them are:
"Pods/Freddy/Sources/JSONSubscripting.swift:484:66: @autoclosure is now an attribute of the parameter declaration, not its type"
"Pods/Freddy/Sources/JSONSubscripting.swift:22:16: Expected ',' separator"
"Pods/Freddy/Sources/JSONParser.swift:112:25: Thrown expression type 'JSONParser.Error' does not conform to 'ErrorType'"
"Pods/Freddy/Sources/JSONSubscripting.swift:254:30: Value of type 'JSON.SubscriptingOptions' has no member 'contains'"
"Pods/Freddy/Sources/JSONParsing.swift:111:39: Extraneous '_' in parameter: 'jsonArray' has no keyword argument name"
I am not sure if i am using any latest versions of swift or something. Please assist, thanks.
And following is my pod file text, thought might be helpful if i did something wrong.
#Uncomment this line to define a global platform for your project
#platform :ios, '9.0'
target 'Myapp' do
#Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Freddy', '~> 3.0'
#Pods for Eaturbia
end

The 3.0 version of Freddy can only be used with Xcode 8 and Swift 3.0 projects. I would suggest pulling in the previous version of Freddy that is compatible with Xcode 7. To do that, just change the version number for Freddy in your pod file from 3.0 to 2.1.0. For example:
pod 'Freddy', '~> 2.1.0'

Thanks Davidahouse,
installing lower version of Freddy solved many errors but only one issue it is throwing
the compilation of JSONParser.swift is failing with an error showing
Command failed due to signal: Segmentation fault: 11

Sounds like a compiler bug. The recommended fix is to update to a more recent version of Xcode 7. Alternatively, you can try to mutate the code to avoid the segfault, but this can be frustrating and time-consuming.


Vscode terminal text does not show and the cursor is huge

While opening vscode, terminal is black and meanwhile, the text and directory does not show. The cursor is also bigger and taller than usual. Disabling extensions did not work

Are there errors in Dev tools (Help -> Toggle Developer Tools)

Are there errors in Dev tools (Help -> Toggle Developer Tools)

There is no error in Dev tools. Here is my settings json file as well.
settings.txt


Documentation for the in operator is missing.

I would like to perform the following request SELECT * FROM entry WHERE id IN (SELECT id FROM entry WHERE ...); but could not find any documentation on how to use the in operator.

Added a bit of documentation here: https://github.com/rbock/sqlpp11/wiki/Functions
Not perfect yet. I need to write some examples, but I hope it helps to get started (or to know what to look for in tests.examples).


devonfw/ide#810: add oc mirrors

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


Expose CLI functionality as a separate class

Context: I'm working on autotslint, a CLI tool to take in TSLint failures and, when possible, fix them in the files.
Ask: Can the existing logic in tslint-cli.ts be exposed publicly as a usable class and documented in the readme? Ideally we should be able to do something like the following:
Autotslint will need to be able to generate "waves" of TSLint failures: given the standard configurations that can be given via tslint-cli, it should generate failures for rules. It's possible to do this using the existing require("tslint") linter and some work, but would be much simpler if the existing CLI logic could be re-used.
import {LintCli} from "tslint/lib/lintCli");

const options = {
    exclude: "**/*.d.ts",
    rules: {
        "variable-name": true,
        "quotemark": [true, "double"]
    }
};

const linter = new LintCli(options);

const result = linter.processFiles(["**/*.ts"]/*, ts.createProgram(...) */);

The CLI class would just be a refactor of tslint-cli.ts, not a change in any existing behavior. That being said, it would be nice to switch the options to have shorthand as aliases so the interface could use strings like "config" instead of "c".

Hey, I don't know if you noticed this (there are no docs...) but we have started implementing auto-fixing in tslint itself. This is on the master branch and in the 4.0.0-dev.* releases. See https://github.com/palantir/tslint/pull/1423, https://github.com/palantir/tslint/pull/1574

D:

Still - can this issue remain open? It could be useful to call the CLI programmatically.


Set TZ environment variable?

Issue description
The TZ environment variable was disabled in #1463, but apparently this has performance implications:
https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls/
https://news.ycombinator.com/item?id=13697555
Steps to reproduce
See the first link above.
Technical details

System: 16.09.git.bf4312a (Flounder)
Nix version: nix-env (Nix) 1.11.6
Nixpkgs version: 16.09.git.bf4312a

On my system, with 1M cycles, the time ratio is ≈ 20/1, and the saving per syscall 1μs.

I would only consider changing this if somebody shows a real-world performance impact, i.e. not a program that loops calling localtime().

Even then it would be more productive to fix this in Glibc.

@edolstra: Is there any disadvantage to setting TZ=:/etc/localtime, which is what the article suggests, as long as it can be overridden?
Note that we would not be setting TZ to be a specific time zone, so we would not be reintroducing the issue that led to the removal of the definition of TZ in NixOS, we would simply define TZ to be what glibc already considers to be the default:

In the GNU C Library, the default time zone is like the specification ‘TZ=:/etc/localtime’

... except that we would set it explicitly, to prevent glibc from calling the stat() syscall every time some program calls localtime().
I could probably submit a PR myself but I'm not sure how to set this as a default for all systemd services?

Also note that, if /etc is stored on an NFS filesystem, I can imagine stat() being a few orders of magnitude slower, having to contact the NFS server and all...

I agree with @edolstra: it's should be fixed in glibc by only accessing /etc/localtime once, as FreeBSD does.

But if glibc only accesses /etc/localtime once, and the timezone changes, then services will keep using the old timezone?
I was thinking that if we set TZ to point to the actual timezone file, then systemd services would be restarted if the timezone changes, which is probably what we want.
Either way, it's probably better to continue discussing this in #23078.

Are there any updates to this issue, please?

So, glibc is not going to change that: a stat per localtime is required to keep the timezone info update.
Setting TZ saves the extra syscalls but it's going to break that for some programs. It seems useful since changing timezones is not super common, on servers at least.
The PR needs rebasing and should be good.


Serving scale up down

Description
WorkerThreads are scaling up and down automatically when work-queue capacity for this model exceeds.
First changes, further changes will follow.
scale up from minWorkers up to maxWorker. after a ThreadIdleTime (next change/PR will make this configurable) the WorkerThread > minWorkers are scaling down.
As discussed in December, I am not using java's build-in executor-pool for scaling but improved the existing implementation. Java's Executor-Pool uses a separate monitor task which we wanted to avoid with this implementation.
Also started some refactoring to move things to other classes cause of single responsibility principle, which might help with future improvements.
quite a complex subject, so I wanted to raise a Pull Request early to avoid to huge PR and to avoid running in wrong direction.

next steps will be configuration of the parameters like idle-time.

improving the Test-Suite for scale-up/down scenarios

optimize this code

have a look on housekeeping of the threads.

documentation of parameters in config files.

If this change is a backward incompatible change, why must this change be made?

Interesting edge cases to note here

@ebamberg I fixed build issue, spotbugs errors and made some minor code refactor. Please take a look.

@ebamberg I fixed build issue, spotbugs errors and made some minor code refactor. Please take a look.

@ebamberg I fixed build issue, spotbugs errors and made some minor code refactor. Please take a look.

@frankfliu yes I had a look. good refactorings and changes. perfectly fine with me.

@ebamberg I fixed build issue, spotbugs errors and made some minor code refactor. Please take a look.

@frankfliu yes I had a look. good refactorings and changes. perfectly fine with me.


cairo

Would like to add  ̀̀̀cairoandlibcairo-dev` to avoid node module needing it to bug.

@hugolpz
Check out our new G2 boxes where you have sudo access and can install packages using apt
https://codio.com/docs/ide/boxes/


The devices landing page does not open when returning from a detail page

Steps to reproduce

go to devices.ubports.com
click on a device
click on "Devices" in the navigation bar
the page stays blank since the URL is missing a trailing /

This issue was moved to ubports/ubports.com#40


docs: Fix links in update-dependencies.md

All the doc links need to point up a directory, to work in the
github web UI
Release note:

NONE

/override pull-kubevirt-e2e-k8s-1.17
/override pull-kubevirt-e2e-k8s-1.18
/override pull-kubevirt-e2e-k8s-1.19
/test pull-kubevirt-build

@crobinso I added a release note block to your PR description, next time please do not delete it as it will prohibit merging your PR if it is missing.


Unable to activate more than two IhostedService background services

Hi,
I'm trying to activate two background services both implementing IHostedService interface. However, during runtime only one gets activated. The first service that was registered in the startup.cs gets activated. Please advise.
  public class BackgroundServiceClass2         : IHostedService     {
    public BackgroundServiceClass2()
    {
        //Constructor’s parameters validations...
    }

    public Task StartAsync(CancellationToken cancellationToken)
    {
        Console.WriteLine($"BackgroundServiceClass 2 is starting." + DateTime.Now);

        cancellationToken.Register(() =>
                Console.WriteLine($" Background ServiceClass task is stopping."));

        while (!cancellationToken.IsCancellationRequested)
        {
            Console.WriteLine($"BackgroundServiceClass 2 task doing background work." + DateTime.Now);

            // This eShopOnContainers method is quering a database table
            // and publishing events into the Event Bus (RabbitMS / ServiceBus)
            //CheckConfirmedGracePeriodOrders();
            Thread.Sleep(5000);
        }

        Console.WriteLine($"BackgroundServiceClass 2 background task is stopping.");
        return Task.CompletedTask;
    }

    public Task StopAsync(CancellationToken cancellationToken)
    {
        Console.WriteLine($"BackgroundServiceClass 2 background task is stopping permanently.");
        return Task.CompletedTask;
    }
}`

Second Ihostedservice -
` public class BackgroundServiceClass
: IHostedService
{
    public BackgroundServiceClass()
    {
        //Constructor’s parameters validations...
    }

    public Task StartAsync(CancellationToken cancellationToken)
    {
        Console.WriteLine($"BackgroundServiceClass is starting." + DateTime.Now);

        cancellationToken.Register(() =>
                Console.WriteLine($" Background ServiceClass task is stopping."));

        while (!cancellationToken.IsCancellationRequested)
        {
            Console.WriteLine($"BackgroundServiceClass task doing background work." + DateTime.Now);

            // This eShopOnContainers method is quering a database table
            // and publishing events into the Event Bus (RabbitMS / ServiceBus)
            //CheckConfirmedGracePeriodOrders();
            Thread.Sleep(5000);
        }

        Console.WriteLine($"BackgroundServiceClass background task is stopping.");
        return Task.CompletedTask;
    }

    public Task StopAsync(CancellationToken cancellationToken)
    {
        Console.WriteLine($"BackgroundServiceClass background task is stopping permanently.");
        return Task.CompletedTask;
    }
}`

In my startup.cs,I have registered like this -
            services.AddHostedService<BackgroundServiceClass>();             services.AddHostedService<BackgroundServiceClass2>();

@Tratcher I believe Backgroundservices /IHostedService is intended for the long running jobs.  If it has to finish off the work then its no longer a long  backgroundservice service.
Or .Net core doesnt allow running multiple backgroundservices using IHostedservice

The background service doesn't need to complete, only the StartAsync method. Here's one example where you override ExecuteAsync, not StartAsync. In that example it's still important that ExecuteAsync is actually async or it can block StartAsync.

Thanks Tratcher. that did the trick.


Gridstatus iso queues

This PR creates a function for caching and extracting grid status interconnection queue data.
I also upgraded:

pandas-gbq~=0.19.1
pydata-google-auth~=1.7.0

Closed in favor of #296


feat(dart-modelgen): change the naming pattern for classType

Issue #, if available:
fix #108
Description of changes:
Change the naming pattern for classType from ${model_name}Type to ${model_name}ModelType to avoid conflicts which cause compile error.
How are these changes tested:
yarn test
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

As far as I can tell these model type generated classes can be private. So, it would be nice to see their scope limited even further by prefixing them with _ as @Miamoto-Musashi suggested in here.

Even if we change the classType naming from ${model_name}Type to ${model_name}ModelType, won't we still run into the same issue if the user has named his class types as ${model_name}ModelType?

We can add _ at the beginning. We cannot prevent the conflict totally but only minimize the probability.


Combine SQL with the same digest in Statements

Feature Request
Is your feature request related to a problem? Please describe:
In some scenarios, it is possible that the SQLs for different databases are the same. It is difficult to see the total ranking of the execution of the same type of SQLs.

Describe the feature you'd like:
It would be nice to be able to combine SQLs by their digests.

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

How about adding a configuration to allow collapsing these SQLs?

Sound great.


Can I 'dd' nodes 2 to 6 from main node 1?

Hi,
I'd like to make backups of my CM4-eMMC in the most automated way.
Is there a way to communicate between the many RPi without ssh?
Or is there a way to use the network to create a backup of a cold CM4, rather than doing it while it is running?
Thanks.

Sorry, It does not have this function.


Add animation for tabs

The tabs designed by Aqeel with a border radius makes the animation harder to implement. Won't fix for now.


fix: return an error for Logger initialization instead of printing

This changes the init_logger and init_custom_logger to return an error when the logger is already initialized instead of printing to the stdout.
This has multiple benefits:

The error can be handled properly
The error can be ignored if the user doesn't care about this particular error

@aminya There is a clippy check error that needs to be fixed. '
https://github.com/open-rust-initiative/dagrs/actions/runs/6094857265/job/16538341880?pr=24

@genedna The error is not related to this PR. I think it should be fixed separately.

Made #25 to fix this error.


Is PORTS field neccessary for oci specs?

The container will listen on the specified network ports at runtime for the purpose of interconnecting, as a result, I think exposed port is important for the container runtime. Is it neccessary to add PORTS field for the specs. Maybe it is appropriate to add Port struct in runtime_config.go.

I think this job should be done by upper program such as Docker, Hyper etc. upper program should manage network itself.

That is a higher level. At best there might could be interface level requests, but not port level.

Would you mind elaborating why they shouldn't be on container level?
Both Docker and appc have means of doing so. And I find it reasonable since it gives means of declaring the ports a container listens on.

On Thu, Mar 17, 2016 at 08:29:13AM -0700, Matthias Lübken wrote:

Would you mind elaborating why they shouldn't be on container level?

Networking is out-of-scope for the OCI runtime spec.  For more
discussion and suggestions for plugging in a network manager via
hooks, see [1,2].  If you feel inspired to write up a wiki entry
covering that, and a link from this repo to the wiki discussion, I
expect it would get merged 3 (but I'm not a maintainer).
 Subject: Do we have any plan for network and storage specs?
 Date: Fri, 14 Aug 2015 02:36:15 -0700 (PDT)
 Message-Id<EMAIL_ADDRESS>
 Subject: no vNIC in the container, what is a good default .json template?
 Date: Thu, 10 Dec 2015 12:18:07 -0800 (PST)
 Message-Id<EMAIL_ADDRESS>

@wking thanks for the pointers. But I'm not so much into the topic that I would feel ready for writing a wiki entry.
I do understand the tension not introducing more areas into this spec like networking. At the same time I feel that declaring what ports a container is listening on would be quite beneficial. And this is independent of the underlying network solution.
@vbatts what do you mean by "interface level" in

That is a higher level. At best there might could be interface level requests, but not port level.

On Thu, Mar 24, 2016 at 05:54:31AM -0700, Matthias Lübken wrote:

At the same time I feel that declaring what ports a container is
listening on would be quite beneficial.

The runtime won't care about them, but they may be interesting to
higher-level tooling.  With annotations (#331, v0.4.0), you can setup:
{
"annotations": {
"ports": "1,2,3"
},
…
}
in your config.json, although we'd need to land an opaque type 1 to
support something like:
{
"annotations": {
"some-networking-spec": {
"version": "1.2.3",
"ports": [80, 443]
}
},
…
}
with the bundled Go types.


Surefire 3.0.0-M4 passing even if a build step throws an exception

The XsltProcessor is throwing NoSuchMethodError when the app is augmented for testing (the same exception is mentioned in #721 for the dev mode). However with maven-surefire-plugin 3.0.0-M4, this exception is swallowed and the whole build is passing and 0 tests run are reported:
[INFO] Running org.apache.camel.quarkus.component.xslt.it.XsltTest
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.863 s - in org.apache.camel.quarkus.component.xslt.it.XsltTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

When the maven-surefire-plugin is downgraded to 2.22.1, it fails as expected:
[INFO] Running org.apache.camel.quarkus.component.xslt.it.XsltTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.871 s <<< FAILURE! - in org.apache.camel.quarkus.component.xslt.it.XsltTest
[ERROR] org.apache.camel.quarkus.component.xslt.it.XsltTest  Time elapsed: 1.871 s  <<< ERROR!
java.lang.RuntimeException:
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
        [error]: Build step org.apache.camel.quarkus.component.xslt.deployment.XsltProcessor#xsltResources threw an exception: java.lang.NoSuchMethodError: javax.xml.transform.TransformerFactory.newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/transform/TransformerFactory;
        at org.apache.camel.quarkus.support.xalan.XalanTransformerFactory.<init>(XalanTransformerFactory.java:41)
...
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   XsltTest » Runtime java.lang.RuntimeException: io.quarkus.builder.BuildExcepti...
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

I have just reported this in Quarkus: https://github.com/quarkusio/quarkus/issues/7203

This should not be an issue as of Quarkus 1.3.0.Final. Sending a PR to revert back to surefire 3.0.0-M4.

Please, assign to me.

Problem is already solved in maven-surefire/master. Next version will work correctly.

OK, so let's wait for 3.0.0-M5 to appear in Maven Central https://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/

3.0.0-M5 looks already there. Is it 3.0.0-M6 that we are waiting ?

I have not seen 3.0.0-M5 on the Central when I checked last time. @JiriOndrusek could you please check if 3.0.0-M5 works for us?

@ppalaga @aldettinger
3.0.0-M5 works (it contains fix https://github.com/apache/maven-surefire/commit/761851e5a58a38a3f87f1b71449a0fe452a79838)

Great, would mind preparing an upgrade?

ok, I'll prepare PR

There were some failing test on CI after upgrade to surefire-plugin 3.0.0-M5. Problem was caused by using JPMS during execution of tests. There is a different behavior in default test executions on Oracle JDK and AdoptOpenJDK. Java modular system is by default turned on (since https://issues.apache.org/jira/browse/SUREFIRE-1570), but there is an option to turn it off (https://issues.apache.org/jira/browse/SUREFIRE-1531). PR turns off modular system for both JVM and native tests (and upgrades surefire-plugin as well)

There is another difference in test summaries between 2.22.2 and 3.0.0-M5 -> reported as https://issues.apache.org/jira/browse/SUREFIRE-1812

We might want to check whether https://github.com/sormuras/junit-platform-maven-plugin could serve us as a replacement of surefire and/or failsafe plugins.


chore: turn off reth-revm default features

I could be missing something but It looks like internal crates don't really need default features of reth-revm judging by the fact that they still compile with it turned off.
Without this patch it's impossible to turn off reth-revm default features from downstream applications as long as they also use some of its dependencies.

Thanks for the input. I was worried that directly turning it off like this might come with performance implications - like, it still compiles, but with some performance features turned off. I guess I did run directly into this potential issue.
In that case we can add feature switches alongside the dependency graph to allow fine-grained control? Just so that we can have the ability to turn it off downstream. Please lmk if I should proceed with this. Thanks!

Updated reth-node-ethereum and reth-node-optimism to enable those disabled features.
Also I just realized that I need to have the ability to turn off secp256k1 and blst on revm too, which is also currently hard-coded to be enabled. So I updated the code to include those.

yeah exactly, we need disable defaults on workspace level and need to enable where we need them

Looking into why CI is failing

likely because the state test crate also needs the revm features

likely because the state test crate also needs the revm features

I don't think so as I can run cargo build --all --all-targets just fine, and it looks like some tests fail to run, but builds fine.
Anyway I will take a look at this later. Thanks for your time!

trying to get this over the line now @xJonathanLEI
ty for your patience 🙏

@mattsse Thank you! I think there must be something wrong with my diffs though. The Ethereum state tests just keep failing. I might need to look into this.

Quick note: this command reproduces the state test failure:
cargo test --release -p ef-tests --features "asm-keccak ef-tests" general_state_tests::st_create2

Got the minimal reproducer working. From main, just disable the c-kzg feature of reth-revm:
diff --git a/Cargo.toml b/Cargo.toml
index afd8eb784..9df0d312e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -375,7 +375,7 @@ reth-primitives-traits = { path = "crates/primitives-traits", default-features =
 reth-provider = { path = "crates/storage/provider" }
 reth-prune = { path = "crates/prune/prune" }
 reth-prune-types = { path = "crates/prune/types" }
-reth-revm = { path = "crates/revm" }
+reth-revm = { path = "crates/revm", default-features = false, features = ["std"] }
 reth-rpc = { path = "crates/rpc/rpc" }
 reth-rpc-api = { path = "crates/rpc/rpc-api" }
 reth-rpc-api-testing-util = { path = "crates/rpc/rpc-testing-util" }

This technically shouldn't have any impact on correctness - kzg-rs should be a drop-in replacement for c-kzg. Apparently this is not the case. I think this exposes some kind of bug either on kzg-rs itself, or in its use in reth or revm.

Actually... no. Sorry I'm not quite familiar with the codebase so I was under the wrong impression that as long as you disable c-kzg it uses kzg-rs in-place.
What really happens is that the whole KZG precompile is disabled. So it's not surprising at all that state tests are failing.

Rebased. CI is green now. Turned on the features on the ef-tests crate to make the state tests pass.