Add left margin to radio buttons and check boxes

Describe the bug
The checkbox is very close to the left edge.

Component
Core library, SDC library, reference app, or SDC gallery app
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: [e.g. Pixel4a emulator]
Android version: [e.g. Settings -> About phone -> Android version]
Build number: [e.g. Settings -> About phone -> Build number]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
Would you like to work on the issue?
Please state if this issue should be assigned to you or who you think could help to solve this issue.

in progress.

in progress.

@shelaghm
Can you please share radio button drawable icon which has left padding 18dp for both selected and unselected state, so that I can try these drawable icons.
(root cause is when button drawable get drawn on canvas it assigns zero value to the left bound, therefore it appears very close to left edge.)

Shared icons on chat. Icons are exported so they are all 24px. You'll notice there's slight white space around the icons, this is so that it is consistent across the whole icon set.
This means the padding is 16px, not 18px. See visual below and hopefully this works for you?

@shelaghm
16/18 dp left padding is not present in shared icons.
Can you please share icons which has 16/18 dp left padding in icon itself.
May be you have to design new icons such way that it will have left padding in it.
16/18 dp left padding is missing from icon.

@santosh-pingle Does the 16px padding need to be on the icons? In the code can you specify the 16px padding around the icon? I think that's how it is typically done.

@santosh-pingle Does the 16px padding need to be on the icons? In the code can you specify the 16px padding around the icon? I think that's how it is typically done.
@shelaghm
My understanding was the same.
But in radio button/checkbox when you give padding, it get applied around the text. Icons always get drawn with zero left padding/ start bound .
Therefore, it is required to apply left padding/start bound on icons itself.

@Santosh Pingle ah, got it. I added new icons with padding included. Shared on chat.

To add padding before the RadioButton icon, you can use a drawable with padding as the button for the RadioButton. Here's how you can do it:  First, create a new drawable resource file padded_icon.xml in the res/drawable directory:

// This will do the task. But it will also change the icon.
So Either use your own radio button icon selector, or create like below.
(1) Add two drawables btn_radio_on and bin_radio_off.
(2) create new selector resource with below code.

<item android:drawable="@drawable/btn_radio_on" android:state_checked="true" android:state_window_focused="false" />
<item android:drawable="@drawable/btn_radio_off" android:state_checked="false" android:state_window_focused="false" />

<item android:drawable="@drawable/btn_radio_off" android:state_checked="false" />
<item android:drawable="@drawable/btn_radio_on" android:state_checked="true" />

(3) use this selector resource as drawable in padded_icon.xml.
(4) use padded_icon.xml as button in radiobutto.


Up-merge

Dark Theme improvements
Migration to BLE library 2.2.0
Release 0.11.0
Bugs fixed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: philips77:x: bgioriYou have signed the CLA already but the status is still pending? Let us recheck it.


ISPN-8949 Clear from data container doesn't remove expired entries

Make sure to included expired entries in iteration

https://issues.jboss.org/browse/ISPN-8949

Maybe we should remove the expired entries from the data container, but skip the listener notification?

We can't skip the listener notification. We have to either notify them of expiration or removal. It is much easier to just notify them of removal since we are removing everything anyways, so I stuck with that.

Updated to reduce inserts to 2 instead of 10.

@wburns LGTM

@danberindei @wburns the org.infinispan.manager.CacheManagerAdminSharedPermanentTest.testClusterCacheTest
is not related, right ?

@wburns I think it has the opposite problem now (entry expires and is purged from the data container between iterator.next() and dataContainer.remove(), triggering both notifications), but it's probably not that important.

@danberindei The iterator.next doesn't cause an expiration event to occur. Only a Cache.get or purge thread can cause the expiration, iteration/streams etc don't cause expiration events. So the chance of having both at the same time on the same key is ridiculously low. And to be honest the clear is done non transactionally so you can have duplicate/incorrect events with write operation.

@wburns could you open a JIRA for the test failure @karesti asked about? I don't see it failing in master, but I don't think it's related to this change either.

Yes the test is not even remotely related (guessing it it is a sign that the given node hasn't joined the cache view yet, but is in the JGroups view).

Done https://issues.jboss.org/browse/ISPN-8966

Also your memory is a bit fuzzy :) https://issues.jboss.org/browse/ISPN-8617 was created as well - most likely the exact same cause.

integrated thanks @wburns !


Navigation (Go To... ) in mixed solution doesn't include F# results

Unless we open some F# file first, navigation in mixed solution doesn't include F# results, only C# ( or VB)
Repro steps

Open VisualFSharp.sln without any F# files pre-opened.

Go To Symbol (Ctrl-1, Ctrl-S)

start typing for example "roslynhelp"

Expected behavior
CommonRoslynHelpers is found
Actual behavior
Some C# and VB symbols show up briefly but nothing from F# files is found.
Known workarounds
Open some F# file to "jumpstart" FSharpLanguageService
Related information
master on current RC of VS2017

It's expected :) First file is triggering all F# project registration in Roslyn.

I think I got it to work a little bit better but it needs some testing.

OK my internet is abysmal today, but I managed to push it. Seems to work, but I'm new to this codebase, I hope I didn't miss something obvious.


Port Request: LLVM

Suite can be downloaded from http://llvm.org/releases/download.html and documentation at http://llvm.org/docs/
Hugely popular suite, but obviously a lot to chew off

https://github.com/Microsoft/vcpkg/tree/master/ports/llvm

Thanks, why doesn't it show up yet in vcpkg search?

> .\vcpkg.exe search llvm
llvm                 5.0.0-2          The LLVM Compiler Infrastructure

You probably just need to run git pull to get the latest bits :) Make sure to re-run bootstrap after!


Support JitPack

I use JitPack instead of Maven Central because of the verbosity Maven Central would bring to my build.gradle, and because Maven Central would add the need to hide secret keys.
It would be nice if artifacts on JitPack were supported. It works just like a Maven, that uses GitHub releases (or commits) to build the artifact.

Is JitPack still actively maintained? https://jitpack.io/#edvin/tornadofx is not giving me any result

@maxcellent, I believe it is, but you can't just grab any repo, there are setup steps you have to do to get it on their maven. Here's one of my projects, it picks up the releases and commits as versions users can add in their builds.
But this is possibly pointless as it seems JitPack will also host a javadoc.jar the project builds.
My bad for not seeing that. Should I close this?

ok, it seems only working now.
sure, closing the issue now.


⚠ MineVN Maven & Resource Pack has degraded performance

In e36cce8, MineVN Maven & Resource Pack (http://app.minevn.net/pack) experienced degraded performance:

HTTP code: 404
Response time: 7862 ms

Resolved: MineVN Maven & Resource Pack performance has improved in b830357.


FirewallRequest.create add argument apply_to

Feature Request
Is your feature request related to a problem? Please describe.
The REST documentation and the Go client both support an argument to immediately apply a new firewall to a server on creation.
The Python client should do so as well.

Thank you! This was fixed with #134

Awesome! Thank you!


JAVA-2773: Add protocol v5 checksumming to driver 4

Requires datastax/native-protocol#36 installed in the local repository (also why the Travis checks fail).
TODO:

[ ] integration tests (in particular with compression)
[ ] add metrics to track segment sizes in bytes and frames
[ ] handle Snappy compression, since it's not supported by the server we should probably fail fast

I'm having second thoughts about metrics. I was initially going to track a few session-level histograms:

length (in bytes) of uncompressed payloads
length (in bytes) of compressed payloads
number of small frames in self-contained payloads
number of slices that large frames are split into

If we measure incoming and outgoing separately, that's 8 additional metrics, with the corresponding entries in reference.conf, at least one new config option for the recording interval, etc.
Compression can already be measured indirectly: run the same load test with and without, then compare the existing bytes-sent and bytes-received metrics across the two runs.
As for the others, they would be interesting for us to assess how well v5 framing works, but they're not really actionable for a regular end user: the max payload length is hard-coded, there's no knob that you can turn to change how segments are constructed. So it would be anecdotal at best, for low-level details that users probably don't care that much about.
We can run an instrumented fork of the driver for our initial tests, but I'm not sure if those metrics are relevant for long-term inclusion.

I'm merging this now, for inclusion in 4.8.0. The frame/segment naming is still provisional, but we can revisit that later since it does not impact the public API (see JAVA-2852).


[Documentation]: Improve Documentation

Description
Please add CONTRIBUTION.md file and put all Contribution guide in That file.
Only add Project details in Main readme file.
@Rishabh-malhotraa and @Lalit3716 please add JWOC and Goodfirstissue label here.
anyone interested can take this issue.
Domain
Documentation
Code of Conduct

[X] I follow Contributing Guidelines of this project.

please assign me this issue under jwoc

Sure go ahead Tushar

I would like to make a proper documentation , please assign me under JWOC.

Sure go ahead I will assign you

I have created a pr , please could you merge it?

as per your instructions changes are made , please could you merge my pr now.


TravisCI: clean the cache

I've already mentioned that the cache should be dropped before the merge #12 for TravisCI to work . It can be done on TravisCI site "More Options" > "Cache" > "Delete" (https://github.com/fraunhoferfokus/acsl-by-example/pull/12#issuecomment-484046574). This will make the tests pass. After the changes in #12 system compiler is not used anymore and opam should be reinitialized, but the existing cache prevents it.

Thanks for the reminder!


Pruning axioms and functions

feat: pruning, enabled with flag /prune.
Before checking an implementation I, it prunes away all axioms and functions that are "unreachable" from I. For defining reachability, think of every axiom and function as nodes of a directed graph. There is an edge from node A to node B, if A mentions a declaration for which B can say something.
More precisely, for every axiom and function I define a set of incoming and outgoing edges. Edges may be labelled with a function or a constant. Incoming (dependency) edges consist of those functions and constants that a node may be useful for.
that the declaration may be useful for. For example, an axiom of the form:
                       axiom forall x, y :: {P(x, y)} {Q(x)} P(x, y) ==> Q(x) && R(y)

has two incoming edges: the function P and the function Q. Outgoing edges consist of functions and constants that a declaration mentions. For the axiom above, there are 3 outgoing edges: P, Q, and R.
In this setup, a declaration A depends on B, if the outgoing edges of A match with some incoming edge of B. Because this is all very syntactic, pruning does not preserve verification outcome. For example, if there is an axiom that says false without mentioning any functions or constants, it will be pruned away and verification may fail.

@typerSniper :
Why does the axiom in your PR description have incoming edges only for P and Q?
How are incoming and outgoing edges of a function determined?

Its not a well-written description, sorry about that.
Rule-wise:

Axiom
Function
Implementation

Incoming
Triggers
Itself (function name)
None

Outgoing
Functions/Constants mentioned in the expression
 Functions/Constants mentioned in the definition (if there is one)
 Functions/Constants mentioned

To answer your original question, the axiom's incoming edges are just the triggers---that particular axiom is only useful if somebody mentions P or Q. Otherwise, we can delete it.

Please revise the PR description and include your response to my earlier question.  Also indicate what is the motivation for this new feature.

Suppose an axiom does not have any triggers.  Would it not have any incoming edges?  If yes, then it would always be pruned away.  This seems like strange behavior.

Suppose an axiom does not have any triggers. Would it not have any incoming edges? If yes, then it would always be pruned away. This seems like strange behavior.

Good point.
If an axiom is like
axiom C == 3 for some constant C, then C would be its incoming edge.  However, if an axiom is just axiom false then it is pruned---thus changing the verification outcome. In such cases, pruning makes verification "incomplete", which is somewhat unavoidable.

Here's some more information.
Motivation
A Boogie program typically contains many declarations (functions, axioms, etc.) that are not needed to verify the implementations. Such functions and axioms may, for example, be part of a standard prelude that is always included in a verifier's translation into Boogie. It may also happen that some functions and axioms are needed to prove some implementation, but not others. Furthermore, in the presence of :split_here and :focus, the same argument applies to each piece of an implementation--that is, some functions and axioms are needed to prove some pieces of an implementation, but not others.
By pruning away declarations that are not needed for a given piece of an implementation, each verification condition passed to the SMT solver is physically independent of other declarations in the input Boogie program. This

reduces the chance that the SMT solver gets confused by the non-relevant declarations, and thus increases its chances of coming up with a proof
reduces butterfly effects, since any change in the source/Boogie program that does not affect the verification of a piece of an implementation does not affect the verification condition generated
potentially improves verification-result caching, since caching would be insensitive to changes in declarations that are not relevant

Dependencies
In general, the incoming edges of a declaration axiom E; are all of the constants and functions mentioned in E. However, this set of incoming edges can be made smaller in two important cases.

The Boogie program may elect to ignore certain constants or functions, which is done by marking the constant or function with {:exclude_dep}. This is useful for some symbols that are used in every axiom. For example, Dafny places the axioms it generates into different stratospheres, which is done by writing axioms like
axiom 17 <= height ==> E;

Since this height constant appears in almost every axiom, naive dependency tracking would never prune away any axiom. But by marking height as {:exclude_dep}, the height symbol is not included in dependency edges.
(I notice I'm describing {:exclude_dep} as having an effect on incoming edges, whereas @typerSniper said {:exclude_dep} affects outgoing edges. I don't think that makes a difference, but if it does, then take my description with a grain of salt.)

Often, axioms have the form axiom P ==> (forall x: X :: {Trigger(x)} Body(x));, where the forall is known to always end up in a positive position in the verification condition's antecedent. The only way the SMT solver will be able to use such a quantifier is if the trigger Trigger(x) appears elsewhere in the verification condition. Therefore, when such a forall has one or more triggers, the incoming edges are not computed as the free symbols in P, Trigger, and Body, but instead as the free symbols in just P and Trigger. The outgoing edges are computed from P and Body, with no regard to the triggers.
What I said applies only to those quantifiers that are guaranteed to end up as forall in a positive position in the verification condition's antecedent. For example, it applies to the quantifiers shown in the following axioms:
axiom A && (B ==> C && (forall ...) && D);
axiom (exists ...) ==> E;

but it does not apply to all quantifiers. For example, the incoming edges computed for
axiom (forall x: X :: {TriggerA(x)} P(x)) <==> (forall y: Y :: {TriggerB(x)} Q(y));

is still going to be all the free symbols in TriggerA and TriggerB as well as P and Q.
Note that this trigger optimization applies only when such a quantifier has one or more user-specified triggers. If the quantifier has no explicit triggers, all of the free symbols in its body are included among the incoming edges.
Lastly, if a trigger mentions several symbols, then all of those symbols must be present in order to take the incoming edge. For example, the declaration
axiom (forall x: X :: { A(x), B(x) } { C(x) } P(x));

is included

if both A and B are reachable from the piece of the implementation, or
if C is reachable from the piece of the implementation.

Unreachable axioms
As mentioned in the PR description, /prune might drop some useful axioms, which would cause Boogie to report more errors on a pruned program than for the original Boogie input without pruning. For example, axiom false; has no incoming edges, so /prune will always exclude it. As another example, the following the set of 3 declarations
const c: Y;
axiom (forall x: X :: P(x) == c);
axiom (forall x: X :: P(x) != c);

would be excluded, unless P or c is used elsewhere.
So, since /prune may drop some useful axioms, it is not for every Boogie user. But this particular issue does not affect Boogie programs generated by a verifier like Dafny.
Types
Boogie type declarations also affect what gets sent to the SMT solver. After /prune has determined which constants, functions, and axioms a particular piece of an implementation needs, it additionally includes any type mentioned among those constants, functions, axioms, and piece of the implementation.


Add version tag to config file

I'm very conscious that as more features are added to Bonnie, we're going to run into the issue of compatibility between one version of config file and a different version of Bonnie. In view of that, I think it would be prudent to add a version tag in the config file so we can check for semantic version differences and then warn or throw an error appropriately.

Note that this should be a breaking change, which will push us to 0.2.0.

Added in v0.2.0!


Fix text overlay on mobile

Still not working (on dardik's Galaxy S9)

On my OnePlus 6 the height seems to not be automatic, other than that things look fine

Also okay on OnePlus7, need to check with resolution of Galaxy S9 (1440 x 2960) and a random Xiaomi (didn't get model, my guess is 720p).

Irrelevant as of the new frontend


[Feature Request]: Add build directory to celestia node when installing

Implementation ideas
Hey guys,
so in the latest versions of celestia node, only make install wont work because it will error out because theres no build directory. So we need to either add this in or change the docs to include both make build and make install
EDIT: it actually needs sudo make install too, would be best if we can avoid sudo here

The installation section mentions that the make build should be done first.
The sudo is required to install the binary into /usr/local/bin. We have it to avoid relying on GOBIN and follow standard Linux directories for binaries. If a user wants to rely on GOBIN, it can use make go-install

I'm going to add to docs make build, as I think this will resolve the issues without adding "sudo" to the docs


Make buildkite push up new images to dockerhub when merged to master

Looks good, just uncomment the master scoping thingy and can merge.


[Proposal] Resolve error "fail to init reader.res=-230" by delayed deletion of rowset

Describe the bug
Because the compaction task on the BE will continuously merge the Rowset version, the useless Rowset after the merge is deleted. At this time, if the query version issued by the FE is among the merged versions, the BE can not obtain the Rowset version path to be queried, and the error OLAP_ERR_VERSION_ALREADY_MERGED = -230 is returned.
The specific meaning of this error can be found in #3270. And in PR #3271,  #3859
Resolution
In order to not only ensure efficient compaction of Rowset merge, but also be able to query the previous version when querying, and make low-risk changes at the same time. This design adds the logic of the delayed deletion of the merged Rowset. The main ideas are as follows:
(1) Data structure changes

Add _expired_snapshot_rs_version_map to the Tablet to maintain the merged Rowset.
Add _expired_snapshot_rs_metas to TabletMeta to maintain the merged RowsetMeta.
Redefine the RowsetGraph structure in Rowset and change it to VersionedRowsetTracker, with the following responsibilities:
a) Including the original RowsetGraph function, adding path information to the Vertex. The same path indicates the path that has been merged, and when pathVersion is -1, it indicates that the Rowset has not been merged.
b) Join to maintain the merged Rowset collection _expired_snapshot_rs_path_map. The key of the map is the pathVersion and the value is the Rowset list with the same pathVersion.
c) Maintain the current maximum path value and assign the Vertex corresponding to the Rowset merged next time.

Among them, the Rowset version on the path where the pathVersion is not -1 is the Rowset that can be deleted by delay.

(2) Compaction process changes

After compaction merge, enter the modify_rowsets stage. At the end of the modify_rowsets, the tablet adds the rowset deleted from rs_version_map to _expired_snaphort_rs_version_map; the same applies to the deletion of RowsetMeta.
In the reconstruct_rowset_graph reconstruction logic of VersionedRowsetTracker, also add Rowset of _expired_snapshot_rs_metas to build VersionedRowsetTracker.  Add the merged Rowset list  to _expired_snapshot_rs_path_map, and the pathVersion is incremented by 1.
Remove the gc operation in the last compaction.

(3) GC process changes

Add cleanup task of _expired_snapshot_rs_metas to start_trash_sweep of TabletManager.
When cleaning, check all paths in VersionedRowsetTracker where pathVersion is not -1. When the createtime of Rowset with the largest version number in a path is greater than config:tablet_rowset_expired_snapshot_sweep_time (new configuration, the default is 30 minutes), add Rowset on the entire pathVersion path to storage_engine's unused_rowset for cleaning.
After cleaning, use _expired_snapshot_rs_metas and _rs_meta to reconstruct VersionedRowsetTracker. At the same time, delete the key of the corresponding cleaned pathVersion in _expired_snapshot_rs_path_map.

(4) Find the Rowset to be read
When reading data, increase to find rowset in _expired_snapshot_rs_version_map.

Nice job. This proposal looks good to me. Waiting for your PR.


Add a PROGMEM variant createCharPgm()

Allow data for custom characters to be stored in PROGMEM on the AVR platform.
Like the NewLiquidCrystal library, we also offer a variant of createChar
which assumes PROGMEM if the data type is const.

FWIW: LiquidCrystalIO has createCharPgm, LiquidCrystal_I2C has createChar_PAm 23.05.2022 21:17 schrieb Matthias Hertel @.***>:
@mathertel requested changes on this pull request.
the usual naming would be createChar_P but implementation fits.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Changed as requested and included an update to keywords.txt


Shelf and Bookstack Symbols

Hi,
is there an option to hide the symbols laying over the pictures?

Thanks

Hi @Phreeak,
There's no official setting to manage just that icon but you can add the following to the "Custom HTML head" setting to hide these icons:
<style>
	.entity-list-item-image svg {
		display: none;
	}
</style>

Perfect, Thanks!


facepile single-emoji reactions aka reacji

fixes #60
screenshot:

Hmm, I am not sure if I love or hate it... could be really noisy if a lot of people reply with different emojis...
Perhaps we should map them to the types we support, like "like" or that we think about a different UI!?!
What do you think?

sure! i can try to put them all inline, which should reduce the vertical space.
even without that, this seems strictly smaller and less noisy than now, with a separate comment for each reaction, right?
in practice, most emoji reactions are from Facebook via Bridgy, which limits to just six. most of my posts with them only have one, ❤. only a few have more. i think it'd be hard to find any indieweb post anywhere in the wild with more than three or so.

Have you seen https://wptavern.com/new-feature-plugin-for-wordpress-adds-emoji-reactions-to-posts

With all these emojis I'm always concerned about compatibility. Someone recently proudly announced on Twitter that the Saltire was now available on their iPhone. All I could see on my Android phone was a black flag.....

I have to agree on mapping if mappable

Have you seen https://wptavern.com/new-feature-plugin-for-wordpress-adds-emoji-reactions-to-posts

cool! i can't find an example of how they're rendered, though. looks like the author isn't yet using it on his site, https://pento.net/ , and i don't see any screenshots on https://wordpress.org/plugins/react/ or https://make.wordpress.org/core/2016/03/07/reactions/ .

With all these emojis I'm always concerned about compatibility.

sure! fortunately, this addition is orthogonal. emoji characters are already being rendered right now, without this feature, and they'll be rendered the same way with it.

here's a more compact rendering with all reactions on the same line:

by "mapping," are you all proposing showing them inside the likes section, with the emoji composited on top of the avatar, or something similar? like e.g. https://seblog.nl/2017/02/20/4/day-36-reacji ?

i'm actually all for that...but it's probably beyond my own personal web dev skills.
in the meantime, i think this is a good intermediate step forward, even if we agree we want to go further eventually.

more examples: https://webmention.herokuapp.com/ 's rendering, e.g. on http://www.kevinmarks.com/twitternazifilter.html :

tantek's RSVPs, e.g. http://tantek.com/2017/305/e1/homebrew-website-club :

I like this a lot! If you ask me, one could just call it "reactions", and group everything (except comments and replys) altogether. Like so:

@alohastone agreed...but which emojis would you use for non-emoji responses? 🔁 may work for repost, but what about likes? probably not 👍 and ❤, since people regularly use both of them as explicit emoji reactions with distinct meanings.

I would love a combination of both... keeping the facepiles as is and adding a new section reactions with all reactjis with the avatar and the overlapping emoji.

@pfefferle agreed! done. screenshot:

what about a new comment type reactji, so we can identify the comments on the insert part and not while rendering?

what about a new comment type reactji, so we can identify the comments on the insert part and not while rendering?

i definitely considered that! i'd prefer that too if we were doing this at the beginning. right now though, there are lots of reacji already accepted and stored, so i wanted a solution that handled them too, not just new ones.

Thanks for all your work btw!

avatar cache is exciting! it's also arguably less important to backfill, since the difference isn't (immediately) user visible like this is.
if you do want to handle reactions at insert time instead of render time, ok. this seems like a good intermediate step toward it though. i've resolved conflicts, so it's ready to merge if you want!

this is running on my live site now. example: https://snarfed.org/2017-10-31_25851#comments

thank you! 🎉
i'll go resolve the conflicts in  #125 now.


Allow the return type to be on next line.

In some cases, I find expanding the argument like
    pub fn alloc(
        &self,
        buf: disk::SectorBuf,
        description: &'static str,
    ) -> impl Future<page::Pointer, Error> {

excessive, so I prefer something like
    pub fn alloc(&self, buf: disk::SectorBuf, description: &'static str)
    -> impl Future<page::Pointer, Error> {

which is illegal per new proposal, if I understand it correctly.

My opinion is that when a function signature gets long enough that it must be split across multiple lines, even if that can be done by just splitting off the return type, then it is nearly always complex enough that it reads better on multiple lines (that is, one line per arg). In the given example, I do prefer the first version.
I think we discussed something very similar when discussing the function guidelines which is whether to allow formatting such as:
pub fn alloc(
    &self, buf: disk::SectorBuf, description: &'static str
)

We decided 'no' there and I think the same reasoning applies here.
I'm entering FCP to close. There hasn't been explicit support and I think it is covered by the reasoning from a previous discussion. Happy to un-FCP if there is a discussion to be had here.

We decided 'no' there and I think the same reasoning applies here.

I don't see how it applies here?

I don't see how it applies here?

The reasoning is that when a function is long enough to be split to multiple lines, we should do so for the sake of 'reading complexity', not try to do the minimal line breaking possible

The reasoning is that when a function is long enough to be split to multiple lines, we should do so for the sake of 'reading complexity', not try to do the minimal line breaking possible

The problem with 'reading complexity' is that as often as not the complexity is for a large part in the return part of the definition, but that this complexity doesn't extend to the argument list.
Some possibly illustrative examples:
From futures:

 fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error> {

From nom:

 pub fn tag_cl<'a,'b>(rec:&'a[u8]) -> Box<Fn(&'b[u8]) -> IResult<&'b[u8], &'b[u8]> + 'a> {

In the method department do I often see function declarations where the return specification is close to half the length of the declaration. The argument list is only self with sometimes one additional parameter. And when lifetimes are involved this often gets worse.
Though I have to concede that some of the code that ran into line breaking, might involve names that are rather long and might benefit from a cleaner module structure.

@internetionals I think you are right in that the complexity of args vs return type might be unrelated. However, it is generally pretty hard to get Rustfmt to reason about complexity vs line length. I think the only practical way to address this would be to have a length heuristic for the return type, if it is exceeded, then we put the return type on its own line. However, I think this is pretty much an edge case that this would happen where the whole line does not exceed the max width. So, I'd be open to incorporating such a heuristic, but I don't think it is important enough that we need to include it in the style guide or implement it right now.

@nrc I think that standpoint is reasonable and just wanted to point out that there are some valid cases worth considering, but I wholeheartedly agree that there are more important things right now to consider. And return signature complexity might (or might not, too soon to tell) change a lot once 'impl Trait' lands.


Revise use of experimental folder and update OTG references

The experimental folder is over-used and contains many tests which in fact do pass one or more DUT's.  The previous practice encouraged use of the experimental folder by default, for example, if only a README was created, but without automation, it was unknown if the test could pass.
Instead the default should be to use the regular feature folder for new README documentation without test automation.  The experimental folder should only be used if the test automation is written and proven not to pass on any known DUT.  The intent is this is a small hint to people that the test automation is not proven to work and therefore suspect to changes.
The problem with this approach is we typically write a README before the automation is implemented.  Later when the automation is added, even if passing 1+ DUT, the folder is not  updated.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls


Horizontal padding reset

https://github.com/swiss/styleguide/blob/45603d74b3479883104f47324b6eb83bd0a83b8d/src/assets/sass/layout/forms.scss#L94
Why is the horizontal padding reset on has-error?
Is there any specific reason?
IMO this should be:
padding-top: 6px;
padding-bottom: 6px;

Actually, I don't see a reason to change the padding at all.
Why was the padding added in the first place? Looks like a quick-fix to me.

Will be solved with Material Design migration
Issue will be closed

I just hope you'll do a better job with the Material Design implementation than you did with Bootstrap.


Error when using NestableTrait

Summary of problem or feature request

I recently installed https://github.com/atayahmet/laravel-nestable and added NestableTrait to my model "Categoria". This is causing an issue, returning "No available engine for App\Categoria" message. I really need to use both (datatables and nestable). Any idea how can i make both work correctly?
I have not run "vendor publish" for datatables, since I don't need customization. I have other models (Producto, Cliente) working the same: ajax and using datatables() helper, but without NestableTrait.
Code snippet of problem
I'm using ajax, so my code looks like:
    // Ajax method
    public function list(Request $request)
    {
        $query = Categoria::select(['id', 'nombre']);

        return datatables($query)->toJson();
    }

And my Categoria model:
class Categoria extends Model
{
    use NestableTrait;

    protected $table = 'categoria';

    protected $fillable = ['nombre', 'slug', 'icono', 'descripcion', 'categoria_id'];

    protected $hidden = ['created_at', 'updated_at'];
}

System details

Operating System: Ubuntu 16.04
PHP Version: 7.2
Laravel Version: 5.7
Laravel-Datatables Version: 8.0

Self joins is not yet supported by the package. There is a PR that address this but it breaks on the soft deletes model and was reverted https://github.com/yajra/laravel-datatables/pull/2051.


Add Popup on a map

Adding L.Popup to a map as draw feature good/bad idea?

click to draw popup button
place popup where we want it, prompt for a text, click ok
popup on a map

i am adding that functionality in my app do you think that could be part of the draw plugin?

@vladimirbuskin  anyway to get this?  Nice idea

Hello, just placed in a repository
https://github.com/vladimirbuskin/Leaflet.draw.popup
i am actually using that at work

@vladimirbuskin very cool, thanks much!


[create-release.yml] Do not try to commit empty "raising version" commit

If all .csproj versions are already correct, the release workflow will fail since there nothing to commit.

But Git Version only relies on commits and tags and will therefore not read from .csproj files (correct me if im wrong), so it won't influence the workflow. At least for users building the projects locally it is neccessary that the versions are up to date in the project files.
Maybe we can somehow skip the commit if the command created no changes in the .csproj-file? Dont know if this is easily detectable though.

It won't read from then, but it will write the current version into them.

Right. Now I understand. The problem is still, that we need something to commit, or am I mistaken? Hold on. We can just merge into main. That should be fine.
The problem with contributors messing up version numbers stays. I would say it's fine for the workflow to fail. The contributor just has to remove his changes to the version number and run it again.
We could simply display an error message.

After some discussion we decided to keep it as it is, contributors should simply not update the version. The workflow will do this.


Routable label should be "namespaced"

Currently, the router finds "routable" apps by querying the k8s API for services with the label routable: "true".
Ideally, these labels should probably change to router.deis.io/routable: "true"
cc @helgi: Workflow would need a complementary change.

That's fine but then you are moving into a config map / annotations instead of it being a label selector, which the k8s API has a much easier time to query against.
Don't think JSONPath is part of the API and only kubectl. If that was around we could do many more powerful things on random things

@helgi I wasn't proposing that it no longer be a label.  Labels definitely make for more efficient queries.  Do you know something I don't?  Like, perhaps, would router.deis.io/routable be an invalid label?  I need to check.

I have to look again but labels are DNS labels iirc, dots not are allowed in that case. It may be considered a subdomain label, which changes the game :)

Is the primary reasoning for this to be more identifiable as to what routable is and for who it is?

Yes.  We've done the same for annotations.  It seems we should do so here as well for consistency.

Part of me feels it's cruft and could get us into some odd scenarios down the line but at the same time it make sense


Not building bundle and not show readable error on missing file

{
   "type":"error",
   "path":null,
   "title":"FILE NOT FOUND",
   "message":[
      "I cannot find this file:\n\n    ",
      {
         "bold":false,
         "underline":false,
         "color":"RED",
         "string":"examples/Game1.elm"
      },
      "\n\nIs there a typo?\n\n",
      {
         "bold":false,
         "underline":true,
         "color":null,
         "string":"Note"
      },
      ": If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file."
   ]
}

I've identified where this is happening and will be pushing a fix soon!

Fixed in latest release!


very small emblems in list view

This is only about list view:

In the smallest zoom level (50%), multiple emblems are displayed, but they are barely visible
In the second zoom level (100%), only one emblem is shown, the size is okay
From the third zoom level on (150% +), multiple emblems are displayed, size is okay

Is it possible to change in the smalles zoom level the number of emblems displayed and the size of the emblem?
I tried the icon index file as suggested in #13, but it did not work for me.
Thank you for the plugin and for reading this!

Hi! Thanks for the kind words on the plugin :)
I have attempted to do what I can to make there be simplified icons at very small sizes, but unfortunately this requires a change in the freedesktop hicolor icon theme project to work correctly. I have made a pull request with the required changes, but it has not been merged yet. There are instructions in the README of this project for how you can make this work on your system here:
https://github.com/chrisjbillington/git-nautilus-icons#simplified-icons-at-small-sizes
If you follow the instructions in the README, does that work? It should be the same as the changes in the pull request you linked, but copying the index.theme from the pull request will ensure you haven't made any errors manually making the requires changes.
If that does not work (you might want to restart nautilus: killall nautilus to make sure), then let me know what OS you're using, perhaps I can reproduce the problem.

Thanks for the swift response!
My OS is Arch Linux, the installed packages/versions:
nautilus 41.1-1
python-nautilus 1.2.3-5
git-nautilus-icons 2.0.2-1
i also tried git-nautilus-icons-git
I replaced the index file and killed all nautilus processes, still no effect in the lowest zoom level.
However, something different: just noticed that when nautilus is initially (after killing all processes) started from the terminal, and then I press Ctrl-C I get the following error message, but nautilus refuses to close.
^CTraceback (most recent call last):
  File "/usr/share/nautilus-python/extensions/git-nautilus-icons.py", line 802, in <module>
    worker.run()
  File "/usr/share/nautilus-python/extensions/git-nautilus-icons.py", line 679, in run
    if self.conn.poll(timeout):
  File "/usr/lib/python3.9/multiprocessing/connection.py", line 262, in poll
    return self._poll(timeout)
  File "/usr/lib/python3.9/multiprocessing/connection.py", line 429, in _poll
    r = wait([self], timeout)
  File "/usr/lib/python3.9/multiprocessing/connection.py", line 936, in wait
    ready = selector.select(timeout)
  File "/usr/lib/python3.9/selectors.py", line 416, in select
    fd_event_list = self._selector.poll(timeout)
KeyboardInterrupt
^C^C^C^C^C^C

I'm on Arch too, will see if I can reproduce the problem.
The keyboard interrupt is unrelated and pretty unavoidable - git-nautilus-icons launches a worker subprocess, and your terminal decides to give the subprocess the ctrl-c keyboard input for some reason. Not something worth thinking too much about!


flutter widgets of offical doc updated

Can you please share screen recording of the same?

https://user-images.githubusercontent.com/56345834/137116686-39c17f42-b8d7-4945-b051-15dedf8d6eb0.mp4


dbt_utils package union_relations not working with Trino

In our project we make extensive use of the dbt_utils library. the dbt_utils.union_relations doesn't work because it generates invalid sql
create table "dataproduct_levenslangleren"."zone_levenslangleren"."levenslang_leren__dbt_tmp"

  as (

        (
            select

                cast('"dataproduct_levenslangleren"."zone_levenslangleren"."levenslang_leren_ho"' as
    string
) as _dbt_source_relation,

                    cast("laadoperatie" as character varying(256)) as "laadoperatie" ,
                    cast("record max laadoperatie" as character varying(256)) as "record max laadoperatie" ,

Two issues here:

one is with dbt core: the varying(256) is hardcoded in dbt core and doesn't use the overriden TrinoColumn class methods. see https://github.com/dbt-labs/dbt-core/issues/4603 (PR submitted)
in dbt utils there is following method
https://github.com/dbt-labs/dbt-utils/blob/73a65562bf3d9b31a1eca0b27118056ad048d8fc/macros/cross_db_utils/datatypes.sql#L3-L6

This requires the adapter to provide specific implementation if the default ('string') is not supported:
{% macro trino__type_string() %}
    varchar
{% endmacro %}

Will post PR shortly.

Note that you can use in the meantime the custom macro on your project until the dbt-trino PR gets merged and a new release will be made available.

@mdesmet in which context is dbt utils method https://github.com/dbt-labs/dbt-utils/blob/73a65562bf3d9b31a1eca0b27118056ad048d8fc/macros/cross_db_utils/datatypes.sql#L3-L6 used?

@mdesmet can you please post the (simplified) source code of your dbt model issuing the problem?

@mdesmet https://github.com/dbt-labs/dbt-utils#union_relations-source i see here that there is a possibility to provide a column_override mapping.

Indeed it might be possible but still the default is not correct. That's why we need the standard overrides.
The issue is with the "generated column" the _dbt_source_relation.
{{
  dbt_utils.union_relations([
    ref('levenslang_leren_ho'),
    ref('levenslang_leren_so'),
    ref('levenslang_leren_dko'),
    ref('levenslang_leren_buso_ov3'),
    ref('levenslang_leren_bo'),
    ref('levenslang_leren_ex')
  ])
}}

@mdesmet In which context does trino__type_string get used?

See following lines:
https://github.com/dbt-labs/dbt-utils/blob/73a65562bf3d9b31a1eca0b27118056ad048d8fc/macros/sql/union.sql#L69
https://github.com/dbt-labs/dbt-utils/blob/73a65562bf3d9b31a1eca0b27118056ad048d8fc/macros/cross_db_utils/datatypes.sql#L7-L9

Based on the discussion on slack.
Currently other databases support this specific cross db macros this through providing shim packages, see spark-utils
 and tsql-utils. This shim packages provide not only adapter specific overrides but also macro overrides for commonly used packages within dbt (dbt-expectations, dbt-utils, ...) and also run the integrations tests of these packages.
There are two future directions that this can go (see the discussion):

either cross db macros are included in the adapter packages.
either cross db macros stay in dbt_utils package (current situation)

I think whatever decision is taken, I think it will still make sense to ensure these packages work well if we want the dbt-trino ecosystem to thrive.
Therefore I think it makes more sense to follow the shim path for now. I setup an initial repo, the tests can already be launched, however still some things to do to make it work. See https://github.com/innoverio/dbt-trino-utils
Do you guys agree on this path? I also think this dbt-trino-utils should be under this organization to ensure continued support.

I do think that having and maintain dbt-trino-utils shim package would be beneficial to dbt-trino adoption.
One question regarding testing, what idea you have to execute tests of dbt-expectations and dbt-utils?
Does all dbt-utils tests are covered by:  https://github.com/innoverio/dbt-trino-utils/blob/main/Makefile  ?
I assume similar approach for dbt-expectations, so include it as git module in dbt-trino-utils and execute them in container. Would you mind adding a note in dbt-trino-utils README.md about testing and how to perform them?
I will bring internally topic about moving dbt-trino-utils under starburstdata organization and come back to you.
Thanks @mdesmet, it is highly appreciated.

My understanding is that we would not need shim package if dbt-labs agree to move adapter related overrides/extension into dbt-core package, am I right?

Not true actually. We would still need the shim if we want to ensure that dbt_utils actually works with trino. dbt_utils might for example use specific SQL queries/macro's that need to be overriden that are not necessarily adapter related.


Can't open Action ' Anadi venom' from compendium

In actual master branch with Foundry V10 I can't open the action "Anadi Venom" from the compendium. I receive this error:
foundry.js:709 TypeError: Cannot use 'in' operator to search for 'level' in null
[Detected 1 package: system:pf2e]
at Object.getProperty (commons.js:1586)
at foundry.js:9126
at String.replace ()
at Function.replaceFormulaData (foundry.js:9125)
at Function._createInlineRoll (foundry.js:54236)
at foundry.js:53860
at Function._replaceTextContent (foundry.js:53980)
at Function._enrichInlineRolls (foundry.js:53860)
at enrich (foundry.js:53802)
at Function.enrichHTML (foundry.js:53807)
at Function.enrichHTML (main.bundle.js:19)
at ActionSheetPF2e.getBaseData (main.bundle.js:1)
at ActionSheetPF2e.getData (main.bundle.js:1)
at ActionSheetPF2e._render (foundry.js:4820)
at ActionSheetPF2e._render (foundry.js:5544)
at ActionSheetPF2e.render (foundry.js:4779)
at ActionSheetPF2e.render (foundry.js:6048)
at Compendium._onClickEntry (foundry.js:70769)

This is happening with any text with @actor.level in it, it's failing to look up the actor instead of returning 0.

I see. But isn't it possible to change this, so that @actor returns a let's say dummy actor with all attributes set to 0, "" or Null?

Issue is resolved


FirestoreSwift Codable support for update

Feature proposal

Firebase Component: Firestore

Currently, FirestoreSwift only supports set and delete, but no update. The reason is probably that the SDK would need to diff between the current document and the new Codable Object. And I am not sure if that is solvable.
One solution would be to have a generic way to find diffs in fields of a codable object. Or maybe there is a way to diff between NSDicts, but I have not figured out how.
Any other ideas how to implement that or reasons why it is not there?

Hi @nidegen. Thank you for the feature request! I'll bring this up with the team and reply back. Since it's the long weekend in the US, it may take a week or two to reply. In the meantime, I was wondering if specifying merge=true to setData() would meet your use case?

Yes, i am using that for now. The basic issue I have though is that I am not fully sure how the merging happens with persisted offline updates that are synced after a change happend on the server. Do you maybe know the details there?
I.e. does a field that does not change in a merge locally overwirte a server change once it gets synced online? I would hope it should not, but don't now what if the diff is persisted after a merge or before a merge..

That's a good question. I'll look into it and reply, hopefully tomorrow.

@nidegen, Regarding your question in https://github.com/firebase/firebase-ios-sdk/issues/7029#issuecomment-734475697, here is how it works.
The merging of the document data specified to setData() with merge=true is done server-side. Therefore, when the device reconnects and goes back online then the entire document that was specified to setData() is sent to the server, which merges it into the existing document on the server.

I.e. does a field that does not change in a merge locally overwirte a server change once it gets synced online?

Yes. Because the entire document data that was specified to setData() is sent to the server, it will overwrite any changes that occurred to those fields while the device was offline.
If you want to limit the impact of this behavior, you can specify mergeFields to setData() so that only certain fields are clobbered.

Ok, that's what I was expecting. Thanks!
So set() with mergeFields is then equivalent to update with the same fields, or am I missing something?

Yes,  set() with mergeFields=true is equivalent to update() with the only difference being that set() will create the document if it does not exist whereas update() will fail if the document does not exist.

Ok. It would still be nice to have an update function for Codables. As the entire document is getting passed when setting a Codable, it would need a separate parameter with mergeFields, similar to set().
I will try to implement that and open a PR.

@dconeybe I am not supposed to do API changes in a PR. Does that also apply to firestore swift?

You can still open a PR. But internally it will need to go through API Council review (a Google-internal process), which I will drive, and that will take a few weeks usually. Once approved, the PR can be merged. Having a PR as a "proof-of-concept" can be quite helpful, actually.

As discussed in #7078 it won't be possible soon

To summarize, adding "update" support to FirestoreSwift is something that we would like to do in the future; however, we have no concrete plans at this point. The feature request is being tracked internally as b/174699780.


publish bazel_skylib and bazel_skylib_gazelle_module 1.6.0

See https://github.com/bazelbuild/bazel-skylib/releases/tag/1.6.0

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (bazel_skylib, bazel_skylib_gazelle_plugin) have been updated in this PR. Please review the changes.


Inject Wandb into callback

Previously, the configuration parameter use_wandb was not hooked up to any functionality. This PR implements the disabling of wandb logging by injecting a wandb object into MultiAgentCallback. If use_wandb is False, the injected object will be an object with a no-op implementation. Otherwise, it will be WandbLogger.
This PR also adds a WindowedCounter which encapsulates a sliding window counter. WindowedCounters are owned by MultiAgentCallback but WandbLogger holds references to them to materialize wandb statistics.

Btw, wandb.init() has an argument  mode: Optional[str] = None.
You can turn it off by setting mode='offline'

Problem is there are lots of wandb calls later that are not gated by whether use_wandb is True


⚠ Bofrost.lu has degraded performance

In 6a98a97, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1173 ms

Resolved: Bofrost.lu performance has improved in 2a8d9bc after 2 hours, 24 minutes.


[Firefox] Browser prompts for credentials

When user does not supply credentials in addon settings, but kodi requires password to connect, credentials are requested every time user opens addon window.

This stackoverflow topic seems to provide a solution

In Mozilla land, setting the mozBackgroundRequest parameter of XMLHttpRequest (docs) to true suppresses those dialogs and causes the requests to simply fail. However, I don't know how good cross-browser support is (including whether the the quality of the error info on those failed requests is very good across browsers.)

XMLHttpRequest Level 1 documentation clears some unknown areas.
According to the doc sending "Authorization: Basic" header should fix the problem:

If the user agent supports HTTP Authentication and Authorization is not in the list of author request headers, it should consider requests originating from the XMLHttpRequest object to be part of the protection space that includes the accessed URIs and send Authorization headers and handle 401 Unauthorized requests appropriately.
If authentication fails, source origin and the request URL are same origin, Authorization is not in the list of author request headers, request URL's username is the empty string and request URL's password is null, user agents should prompt the end user for their username and password.
Otherwise, if authentication fails, user agents must not prompt the end user for their username and password. [HTTPAUTH]
Unfortunately end users are prompted because of legacy content constraints. However, when possible this behavior is prohibited, as it is bad UI. E.g. that is why the same origin restriction is made above.

Looks like the fix broke the proper login.... reopening

Sending "anonymous" username even when user did not supply credentials fixes the problem.


astro-ls does not update changes from  external .ts files in the current workspace

Description
I've been trying to identify the issue but no luck. When I modify a type on e.g foo.ts that change is not immediately updated on the astro lsp server, both tsserver and astro-ls are not in sync here and it affects the DX :(
Neovim version
NVIM v0.9.0-dev-77-gf175ca9f7
Nvim-lspconfig version
649137cbc53a044bffde36294ce3160cb18f32c7
Operating system and version
Linux pop-os 6.0.12-76060006-generic
Affected language servers
astro-ls
Steps to reproduce

npm create astro@latest
create a foo.ts with

export const foo = () => {
  return {
    param: "1" // change to 1 then.
  }
}

import foo.ts it on a .astro file
change the foo() return value and check if the lsp updates

Actual behavior
My types are NOT updated on .astro files when I modify them.
Expected behavior
My types are updated on .astro files when I modify them.
Minimal config
-

LSP log

need this pr neovim/neovim#21293 i think

need this pr neovim/neovim#21293 i think

Hummmmmmmm, nice. Makes sense, I tried to achieve that, but no luck. Can you point me in a direction for a possible fix?

currently no good ways until that pr merge. only way is when you do edit in that file restart server. like do it in a bufwritepost callback.

I've installed the newer neovim version where the didChangeWatchedFiles was merged. I'm currently trying to:
local workspace_capabilities = {
  workspace = {
    didChangeWatchedFiles = {
      dynamicRegistration = true,
    },
  },
}

-- Inject lsp thingy into nvim-cmp
local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
capabilities = vim.tbl_deep_extend("keep", capabilities, workspace_capabilities)

require("lspconfig").astro.setup({
  on_attach = on_attach,
  capabilities = capabilities,
  flags = flags,
})

Still it does not work... :/ @glepnir
Anything I'm missing?

@Odas0R The config you have looks like it should work at first glance. The only difference I notice with mine is that in my vim.tbl_deep_extend, I call it with "keep" and the cmp capabilities listed after my didChangeWatchedFiles override table:
local default_caps = {
  workspace = {
    didChangeWatchedFiles = {
      dynamicRegistration = true,
    },
  },
}

capabilities = vim.tbl_deep_extend(
  "keep",
  default_caps,
  require("cmp_nvim_lsp").default_capabilities()
)

I would check the following in Neovim's LSP log with the verbosity turned up to at least DEBUG:

The client capability is set as expected in the initialize client call.
The server sends a client/registerCapability request for the workspace/didChangeWatchedFiles method.
Creating/changing/deleting a file you expect to match any of the watchers from the register request triggers a workspace/didChangeWatchedFiles notification sent to the server.

From a quick look at the source code for Astro, I can see where it consumes the notifications, but I don't see where it sends the request to register the capability.

@Odas0R The config you have looks like it should work at first glance. The only difference I notice with mine is that in my vim.tbl_deep_extend, I call it with "keep" and the cmp capabilities listed after my didChangeWatchedFiles override table:
local default_caps = {
  workspace = {
    didChangeWatchedFiles = {
      dynamicRegistration = true,
    },
  },
}

capabilities = vim.tbl_deep_extend(
  "keep",
  default_caps,
  require("cmp_nvim_lsp").default_capabilities()
)

I would check the following in Neovim's LSP log with the verbosity turned up to at least DEBUG:
1. The client capability is set as expected in the `initialize` client call.

2. The server sends a `client/registerCapability` request for the `workspace/didChangeWatchedFiles` method.

3. Creating/changing/deleting a file you expect to match any of the `watchers` from the register request triggers a `workspace/didChangeWatchedFiles` notification sent to the server.

From a quick look at the source code for Astro, I can see where it consumes the notifications, but I don't see where it sends the request to register the capability.

Thank you for taking the time for the detailed response :)
I've been trying multiple things but still no success. I'm not very proficient in on LSP is supposed to work, but "I don't see where it sends the request to register the capability." makes sense. I guess I'll open an issue there to see if we can get this looked into.
I've also seen the lsp.log and didn't find the event workspace/didChangeWatchedFiles anywhere from the Astro server. So confirms what you've said!
Thank you.


multiple chat threads

been using chatcraft! its great over chatGPT esp with the gpt4 limits on chatGPT.
it'd be great if there was a way to have multiple threads going with the chat (instead of only 1 chat at a time like chatGPT)

This is connected to #13.

what are the gpt4 limits on chatgpt?

currently is it 25 gpt4 messages max every 3 hours

I think has been solved with new db backend: you can have as many parallel chats going as you want now.  @steven4354, I'm going to close this, but please re-open or file again if I've misunderstood.


Improve type checking documentation

Extracted from https://github.com/Homebrew/brew/issues/8991

[ ] Improve the documentation in https://docs.brew.sh/Typechecking
[ ] Improve tooling/CI output (e.g. brew typecheck) to reference documentation (and vice-versa)
[ ] Consider/investigate improving naming here with some of our own aliases to be Type::Signature

I'm on it!

Consider/investigate improving naming here with some of our own aliases to be Type::Signature

I don't think this will improve readability/understandability when people read Sorbet documentation which only ever mentions T, T::Sig and other methods on the T module but we choose to use a differing name.

I don't think this will improve readability/understandability when people read Sorbet documentation which only ever mentions T, T::Sig and other methods on the T module but we choose to use a differing name.

It'll improve readability for people who read our code but haven't read Sorbet documentation. It is not a realistic expectation that this will happen for everyone who reads Homebrew's code. We should aim to improve the readability of Homebrew's code to newcomers.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.


Country/configurable auto-completion

As an example, when in a GA, a dialog box could show up below the delegate field that shows 3 items (for example) that best fit the currently entered text. This could serve as an aid when entering many countries quickly is needed, i.e.: all the time. Additionally, flag icons could be loaded next to the autocomplete as a visual aid. Another option is allowing the loading of CSVs that contain the delegate name, and an optional image. This could allow pre-configured autocomplete options for crises, or other specialized committees which could use names instead (for example).

Hm, this is an interesting idea, though I'd have to think about how to implement this. I'll put this on the roadmap for 1.1.0.


Troubleshoot Netlify Build Issue for EXHIBIT-52

JIRA Issue: EXHIBIT-52
What does this do?
tbd.

Didn't create this correctly, trying again...


Fixes error on new UI when progress images is enabled

Fixes #822
During my last refactor of metadata handling in the new UI, the save_image function had changed but I didn't update its call in the progress callback. This corrects the call.

It's working on my end!


[UNDERTOW-1561] deffer to FS path conversion for non plan files

Issue: https://issues.redhat.com/browse/UNDERTOW-1561

@baranowb I'm seriously considering mark this as a feature request... I just added the label now, so it doesn't get merged, let's discuss this later today.


Scenario Selector - Chronological order for cycles

Feature Improvement
The scenario selector would benefit from having scenarios in chronological order.

reverse ? youngest first ?


Add Cilium Operator IPAM

This PR adds the Cilium Operator IPAM which is based on the Kubernetes IPAM module. It will be enabled by default for new installations which means that podCIDRs allocated in the Kubernetes node spec can be different from the podCIDR allocated by Cilium Operator as both IPAM modules are independent. All pods managed by Cilium will have their IPs allocated from the podCIDR set in the CiliumNode, by the Cilium Operator.
Note for reviewers: the last 2 commits will be squashed before merging this PR.

test-me-please

Coverage increased (+0.3%) to 44.95% when pulling aaac3ecd38a6302586de8bb3a4fda61551c161e4 on pr/add-ipam-operator-based into 7e2c7b3b811573941d2920ba45625778ebe2a680 on master.

[Disclaimer: I didn't yet review.]
If I follow right, I can see the maintenance and operations perspective of this which should collapse the different IPAM paths into one common path with clear visibility / debugging steps via CRDs.
On the other hand, does this mean that for instance if the operator is down or there is a connectivity issue connecting to the operator, then nodes cannot allocate IPs or spin up pods? Is there a meaningful tradeoff here that may impact Cilium resiliency? Or are we pushing the core allocation logic into the operator and delegating IPAM management from the operator into Cilium so there's no impact?

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

Travis failed because of https://github.com/cilium/cilium/issues/11373

test-me-please

test-me-please

test-me-please

test-me-please

@aanm just for the record, would you mind clarifying where @joestringer's question https://github.com/cilium/cilium/pull/11083#issuecomment-617443043 was addressed?

[Disclaimer: I didn't yet review.]
If I follow right, I can see the maintenance and operations perspective of this which should collapse the different IPAM paths into one common path with clear visibility / debugging steps via CRDs.
On the other hand, does this mean that for instance if the operator is down or there is a connectivity issue connecting to the operator, then nodes cannot allocate IPs or spin up pods? Is there a meaningful tradeoff here that may impact Cilium resiliency? Or are we pushing the core allocation logic into the operator and delegating IPAM management from the operator into Cilium so there's no impact?

@joestringer If the operator is down, new nodes won't have podCIDR allocated to them which then result into Cilium from not being able to start (because they will be waiting for a pod CIDR to be available in the CiliumNode spec).
For existing nodes, with a podCIDR already allocated, Cilium will continue to operate.

@aanm just for the record, would you mind clarifying where @joestringer's question #11083 (comment) was addressed?

@errordeveloper Done, thanks for the reminder.

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

hit https://github.com/cilium/cilium/issues/11512 and https://github.com/cilium/cilium/issues/11442

[Disclaimer: I didn't yet review.]
If I follow right, I can see the maintenance and operations perspective of this which should collapse the different IPAM paths into one common path with clear visibility / debugging steps via CRDs.
On the other hand, does this mean that for instance if the operator is down or there is a connectivity issue connecting to the operator, then nodes cannot allocate IPs or spin up pods? Is there a meaningful tradeoff here that may impact Cilium resiliency? Or are we pushing the core allocation logic into the operator and delegating IPAM management from the operator into Cilium so there's no impact?

Are there answers to these questions?

Are there answers to these questions?

I believe that @aanm answered them in another location. My understanding at this point is it's basically the latter option. During startup, Cilium retrieves the range from the operator then from that point onwards there's no dependency from a pod scheduling perspective. As always, there would still be other chores that the cilium-operator works on such as identity garbage collection but that's not at all impacted by these changes.

@pires @joestringer the answers are here https://github.com/cilium/cilium/pull/11083#issuecomment-627558487


patient-ssapp (and ctr-backoffice-frontend) should display a map for each ClinicalSite address

The clickeable prototype specifies:

The current patient-ssapp v0.4.14 displays:

For example https://github.com/PharmaLedger-IMI/acdc-workspace/tree/master/backoffice-frontend/src/app/event-detail
uses LeafletJS to display the map.
(To display the traveling distance, we must also solve the knowing of the current user position. At this time it is not clear if that is in-scope or out-of-scope of this issue).
This is also related to issue #14 (support multiple Clinical Sites), depends on what is fixed first, the scope is to display just a single ClinicalSite or multiple ClinicalSites.
PDM proposal is to finish the MVP with support for a single ClinicalSite.

It is still needed to do the same on
ctr-patient/patient-ssapp/code/scripts/controllers/MatchRequestNew60InfoController.js
and
ctr-patient/patient-ssapp/code/templates/matchrequestnew60info.html
(... then I probably have to add the display and sorting by clinicaltrial.travelDistance).

added to display a map on (clinical trials match request):
ctr-patient/patient-ssapp/code/scripts/controllers/MatchRequestNew60InfoController.js
and
ctr-patient/patient-ssapp/code/templates/matchrequestnew60info.html

Seems done! Thank you @pccosta-pdm .


removed unnecessary this

Removed unnecessary this usage.
#305
Contribution Checklist

[ ] Unit tests!
[ ] Updated CHANGELOG.md
[ ] My name is in CONTRIBUTORS.md

Codecov Report

Merging #346 into master will not change coverage.
The diff coverage is 92.30%.

@@            Coverage Diff            @@
##             master     #346   +/-   ##
=========================================
  Coverage     90.00%   90.00%
  Complexity     1438     1438
=========================================
  Files           249      249
  Lines          3943     3943
  Branches        191      191
=========================================
  Hits           3549     3549
  Misses          343      343
  Partials         51       51

Impacted Files
Coverage Δ
Complexity Δ

...rc/main/java/com/vonage/client/AbstractMethod.java
69.69% <75.00%> (ø)
8.00 <0.00> (ø)

src/main/java/com/vonage/client/HttpConfig.java
81.08% <100.00%> (ø)
8.00 <0.00> (ø)


Export-Excel fails with message: Failed exporting data to worksheet 'Sheet1' to '.\Test.xlsx': Method invocation failed because  [System.Management.Automation.PSNoteProperty] doesn't contain a method named 'where'.

Hi,
Export-Excel fails every time with message:
Failed exporting data to worksheet 'Sheet1' to '.\Test.xlsx': Method invocation failed because
[System.Management.Automation.PSNoteProperty] doesn't contain a method named 'where'.
At \s11288t\Cronacledata\readonly\powershell_modules\ImportExcel\Export-Excel.ps1:773 char:17

            throw "Failed exporting data to worksheet '$WorksheetName' to '$ ...

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Failed exportin... named 'where'.:String) [], RuntimeException
FullyQualifiedErrorId : Failed exporting data to worksheet 'Sheet1' to '.\Test.xlsx': Method invocation failed bec
ause [System.Management.Automation.PSNoteProperty] doesn't contain a method named 'where'.

Even simple commands fail, for example: get-process | Export-Excel .\Test.xlsx

Issue.create(content);
setTimeOut(1,5 years, Issue.close(no reason));
#likeMicrosoft


Unknown escape at pos (escpaing support)

This simple code cause errors (for example in config file):
N.AsJSON := '{"files": {"f1":"c:\a\a.json", "kf":"d:\a\b.json"}}';
It wouldn't be bad if this json library supported json special characters, see:
https://www.tutorialspoint.com/json_simple/json_simple_escape_characters.htm

Hi,
McJSON sopports them. See: ESCAPES
Also, as you have presented, this JSON string isn't valid.
Let Github show you or try it into JSONlint:
Original:
{"files": {"f1":"c:\a\a.json", "kf":"d:\a\b.json"}}

You need to escape '' with '\'.
Fixed:
{"files": {"f1":"c:\\a\\a.json", "kf":"d:\\a\\b.json"}}

I think the point is that the library should do this automatically.
I did it manually already, but this should be done by the library, expanding it when saving to a file, and re-transforming the characters when loading from a file.
For example, I have a json file:
{
"TestKey": "TestValue\"
}
and then:
procedure TForm1.Button1Click(Sender: TObject);
var
N: TMcJsonItem;
begin
N := TMcJsonItem.Create;
try
N.LoadFromFile('test.json');
Memo1.Lines.Text:=N.AsJSON;
end;
I got the same value:
{"TestKey":"TestValue\"}
But the correct values are:
{"TestKey":"TestValue"}

I need edit my posts always, because for the guthub double needed for this : \

Hi,
McJSON parses escapes, as expected. I have a different opinion about "automatically" inserting escapes chars.
Please remember that McJSON also aims to work with C++Builder, what make this kind of "automatic" escaping a little more complicated.
On the other hand, you can do it to your strings before using McJSON. Or you can improve class methods into your fork of McJSON.  That's de beauty of open source.
Regards,

I understand, thank you, but I think the library would have been more complete if it knew this from the start, but I understand that this is not easy to implement in the various development environments.

Hi,
In general, the way you request something is more important than the content you ask.
I'll think about it.
There was a old issue about this close to the date of the first commit.
Regards,

Regarding the way of making the request, I use a translator to keep it understandable, I try to put it simply. Obviously, I would say it differently if I were a native English speaker. I also use another json library, which handles special characters by default, but I would like your excellent library to know it as well (without own code). Thank you!

OK.

Hi, about Escaping a string, please test the latest update.

Hi, thanks, but need reverse too (unescape) via load:
procedure TMcJsonItem.LoadFromFile(const aFileName: string; asUTF8: Boolean; const aUnescape: boolean = true);
But this code:
N.AsJSON := '{"o": {"k1":"v1\", "k2":"v2"}}';
Memo1.Lines.Text := N.AsJSON;

result error.
Trunk (main) all test passed!
Thank you!

Hi,
See UnEscapeUnicode().
I'll rename them into next commit.
Best.

Hi!
I see these: McJsonEscapeString, McJsonUnEscapeString.
But if I works with json files, I need unescape all string after load (without one by one always).
Basically, loading and saving are the most important operations where these escape functions could be performed:
For example:
procedure LoadFromFile(const aFileName: string; asUTF8: Boolean = True; aUnescapeStrings: boolean = true);
and
procedure SaveToFile(const aFileName: string; asHuman: Boolean = True; asUTF8: Boolean = True; aEscapeStrings: boolean = true);
But since it's a json standard, I think it should work that way regardless of any input or parameters.
Thank you!

Hi,
I was looking into Delphi's System.JSON and it has a EscapeString auxiliary function too. In other words, they don't include escapes automatically.
Also, McJSON do read escapes automatically. It is not a JSON property to convert them to the real chars they represent. And I think it is not a good idea to do so. Try JSONLint and you will see that a simple " or \n (a real #13 inside a "value" without escaping) will make your JSON object invalid. You can see this check with the use of the private escapeChar() function.
Although, in the end, you can change your fork as you need.
Thanks for the collaboration.
Regards,

Got it, thanks a lot for the info!


Null value resolved for non-null field paused

I tried to query indexingStatuses with this command :
http -b post http://localhost:9993/graphql \
    query='{ indexingStatuses { subgraph paused synced health node fatalError {message deterministic block { number }} chains {network latestBlock {number} chainHeadBlock {number}}}}';

and got error

{
    "errors": [
        {
            "locations": [
                {
                    "column": 31,
                    "line": 1
                }
            ],
            "message": "Null value resolved for non-null field `paused`"
        }
    ]
}

this merged fix error https://github.com/graphprotocol/graph-node/pull/5551


Bump pyhoma to 0.4.2

Ok, i'll let you add it to your pr then

Ok, i'll let you add it to your pr then


Copper ore drops two blocks instead of one

Version:
paneedah-modern-warfare-0.1-Dev-2
Describe the bug
When mining copper ore, it drops two blocks instead of one.
To Reproduce

Mine copper with an iron pickaxe.

Expected behavior
It should only drop one block of copper ore.
Screenshots / Videos
Unfortunately I don't have any.
Additional context
Nothing to add.

issue is also present in paneedah-modern-warfare-0.1-Dev-3


Add a clarifying comment

It took me longer than it should have to figure out what unnan meant so I thought a comment might help future readers...

I ended up just removing the abbreviation in the name. Thank you anyway!

@maxbrunsfeld That's a better solution.  Thank you.


can't find files

hey,
this extension looks really nice, thanks for putting the work into it! unfortunately it doesn't find any of my files when i set up credentials. ideally i would like to see both my drive files and shared drives (if possible on the extension). i can view all of this in python using the same credentials using googleapiclient.
i'm about to look around in the source for this extension when i have time, but just wondering if this is a common issue?
thanks,
steven

ahh ok thanks for this! the picker api looks nice. so to quickly meet my needs could i basically edit the scopes in the source and make my own .vsix of that?

Yeah, changing the scope on src/auth/driveAuthenticator.ts would allow you to access all of your files.

thanks for this! as for adding files from shared drives, which part of the source should i edit to add that functionality?

You're welcome! :smile:
I have never tested with shared drives... unfortunately I wouldn't know the answer right now... but according to documentation there are HTTP requests to handle shared drives.
On this extension we use a Node.JS library provided by Google, which simply wraps those HTTP requests into JavaScript functions to make them easier to use. I believe we would need to implement that on src/drive/model/googleDriveFileProvider.ts since this class has access to the Node.JS library.

ok cool that's helpful, i'll take a look. what i've tried in python is just listing the drives and passing the id to get the files in it - so i'm thinking the google node api must be similar. here's my python prototype:
response = service.drives().list(fields='nextPageToken, drives(id, name)').execute()
shared_drives = [d for d in response.get('drives', [])]

for s in shared_drives:
    result = service.files().list(pageSize=10,
                                  driveId = s['id'],
                                  corpora = 'drive',
                                  fields="nextPageToken, files(id, name)",
                                  includeItemsFromAllDrives = True,
                                  supportsAllDrives = True).execute()

    items = result.get('files', [])
    print('Drive:')
    print(s)
    print('Files:')
    for item in items:
        print(u'{0} ({1})'.format(item['name'], item['id']))

Great! The node API must be similar to python because both wraps the HTTP requests.

i might try to extend the hierarchy similar to the UI where everything that shows so far would be under "My Drive" and then shared drives would be under "Shared drives":

also if i end up implementing this i may add something to the credentials action to ask user whether they want scope to be "drive" or "drive.files"...

Fantastic! :clap: :clap:

Hi @stevenhurwitt,
On the last version of the extension (1.3.0) it is possible to select different scopes while granting access to the Google Account. Then, it is possible to manage existing files on Drive as well :smile:

that's awesome, thanks so much!!


A15-4-2: Ignore elided calls when calculating the exception graph

Affected rules

A15-4-2

Description
Copy elision allows the compiler to omit copy and move construction in certain circumstances. Some of these circumstances are considered "mandatory" - i.e. the compiler must omit the explicit construction - and in those circumstances copy and move constructors may never be called.
If you have move/copy constructors which are never expected to be called because they are always elided, you may decide to throw an exception from the copy/move constructor to enforce that it is only used in circumstances where the elision occurs. As our call graph does not currently reflect the mandatory elision of functions, this can cause false positives.
Example
// `foo` is only used in circumstances where it is elided, so this exception is never thrown in practice
constexpr foo(const foo&) : dummy() {
  throw some_bad_exception();
};

See also:
https://github.com/github/codeql-coding-standards/issues/20
As it appears we do sometimes elide the copy/move constructors.

Modify https://github.com/github/codeql-coding-standards/blob/main/cpp/common/src/codingstandards/cpp/exceptions/ExceptionFlow.qll#LL315C49-L315C97 to exclude calls to copy or move constructors we think are elided.


As a Program Chair, I would like that the system detect sessions that receive two strong rejections and remove them from the list of sessions to be reviewed so that I don't waste the precious time of reviewers with a session that we know by history that won't be selected

As a Program Chair, I would like that the system detects sessions that receive two strong rejections and remove them from the list of sessions to be reviewed from other Reviewers so that I don't waste the precious time of reviewers with a session that we know that won't be selected.

Updating this with a newer description:
Como coordenador de programa,
Quero que qualquer proposta que receba uma segunda rejeição de qualquer tipo seja considerada como completamente avaliada e não esteja mais disponível para novas avaliações nem entre na lista de sessões pendente avaliação
TL;DR: any two rejections. Only those two rejections will be shown to both track leads and authors.

up


Is sodiumoxide production ready or should I wait until a 1.x release ?

I`m new to rust and coming from php (which has libsodium bindings built in) I would like to use this project,
however, the version of the latest release makes me hesitant to use this project in production.
Would you say that sodiumoxide is production ready ?

Yes. The reason for the 0.x version is that we probably want to add better error types to the api.


UI Catalog: Scenario showing using threads/async/wait

A demo that shows how to use a background thread with async/await to show the SynchronizationContext in action and best practices on how to write that code.

Progress now shows a simple threading use-case:
			_timer = new Timer ((o) => {
				Application.MainLoop.Invoke (() => Pulse ());
			}, null, 0, 20);

But it does not (yet) illustrate using async/wait such that MainLoopSyncContext gets exercised. But it will someday...

I'll do it if you want.

I'll do it if you want. But in another scenario or the same? I think it is better in a new one because what I have in mind will cover the whole scenario.

I'd like to continue to work on Progress. Feel free to add another scenario. If it uses threading tag it with [ScenarioCategory ("Threading")].

Done #539


transaction history

@ltminhthu I fixed getSolanaMetadata to get correct imageUrl instead of json uri

@ltminhthu please push code if there is anything new

@ltminhthu please push code if there is anything new
You can check, I've just pushed it

@ltminhthu please push code if there is anything new

You can check, I've just pushed it


Using GPT 4 or GPT 3.5 with SQL Database Agent throws OutputParserException: Could not parse LLM output:

System Info
python 3.10
ubuntu Ubuntu 22.04.2 LTS
langchain 0.0.194
Who can help?
@eyurtsev
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[X] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[X] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
from langchain.agents.agent_toolkits import SQLDatabaseToolkit
from langchain.sql_database import SQLDatabase
from langchain.agents import create_sql_agent
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI
import os

os.environ["OPENAI_API_KEY"] = ""
db = SQLDatabase.from_uri(
    "postgresql://<my-db-uri>",
    engine_args={
        "connect_args": {"sslmode": "require"},
    },
)

llm = ChatOpenAI(model_name="gpt-3.5-turbo")
toolkit = SQLDatabaseToolkit(db=db, llm=llm)

agent_executor = create_sql_agent(
    llm=llm,
    toolkit=toolkit,
    verbose=True,
)

agent_executor.run("list the tables in the db. Give the answer in a table json format.")

Expected behavior
I am using the SQL Database Agent to query a postgres database. I want to use gpt 4 or gpt 3.5 models in the OpenAI llm passed to the agent, but it says I must use ChatOpenAI. Using ChatOpenAI throws parsing errors.
The reason for wanting to switch models is reduced cost, better performance and most importantly - token limit. The max token size is 4k for 'text-davinci-003' and I need at least double that.
When I do, it throws an error in the chain midway saying
> Entering new AgentExecutor chain...
Traceback (most recent call last):
  File "/home/ramlah/Documents/projects/langchain-test/sql.py", line 96, in <module>
    agent_executor.run("list the tables in the db. Give the answer in a table json format.")
  File "/home/ramlah/Documents/projects/langchain/langchain/chains/base.py", line 236, in run
    return self(args[0], callbacks=callbacks)[self.output_keys[0]]
  File "/home/ramlah/Documents/projects/langchain/langchain/chains/base.py", line 140, in __call__
    raise e
  File "/home/ramlah/Documents/projects/langchain/langchain/chains/base.py", line 134, in __call__
    self._call(inputs, run_manager=run_manager)
  File "/home/ramlah/Documents/projects/langchain/langchain/agents/agent.py", line 953, in _call
    next_step_output = self._take_next_step(
  File "/home/ramlah/Documents/projects/langchain/langchain/agents/agent.py", line 773, in _take_next_step
    raise e
  File "/home/ramlah/Documents/projects/langchain/langchain/agents/agent.py", line 762, in _take_next_step
    output = self.agent.plan(
  File "/home/ramlah/Documents/projects/langchain/langchain/agents/agent.py", line 444, in plan
    return self.output_parser.parse(full_output)
  File "/home/ramlah/Documents/projects/langchain/langchain/agents/mrkl/output_parser.py", line 51, in parse
    raise OutputParserException(
langchain.schema.OutputParserException: Could not parse LLM output: `Action: list_tables_sql_db, ''`

If I change the model to gpt-4, it runs one step then throws the error on the Thought for the next step
> Entering new AgentExecutor chain...
Action: list_tables_sql_db
Action Input:
Observation: users, organizations, plans, workspace_members, curated_topic_details, subscription_modifiers, workspace_member_roles, receipts, workspaces, domain_information, alembic_version, blog_post, subscriptions
Thought:I need to check the schema of the blog_post table to find the relevant columns for social interactions.
Action: schema_sql_db
Action Input: blog_post
Observation:
CREATE TABLE blog_post (
        id UUID NOT NULL,
        category VARCHAR(255) NOT NULL,
        title VARCHAR(255) NOT NULL,
        slug VARCHAR(255) NOT NULL,
        introduction TEXT NOT NULL,
        list_of_blogs JSON[],
        og_image VARCHAR(255),
        created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
        updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
        meta_description TEXT,
        CONSTRAINT blog_post_pkey PRIMARY KEY (id)
)

/*
3 rows from blog_post table:
*** removing for privacy reasons ***
*/
Thought:Traceback (most recent call last):
  File "/home/ramlah/Documents/projects/langchain-test/sql.py", line 84, in <module>
    agent_executor.run("Give me the blog post that has the most social interactions.")
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/chains/base.py", line 256, in run
    return self(args[0], callbacks=callbacks)[self.output_keys[0]]
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/chains/base.py", line 145, in __call__
    raise e
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/chains/base.py", line 139, in __call__
    self._call(inputs, run_manager=run_manager)
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/agents/agent.py", line 953, in _call
    next_step_output = self._take_next_step(
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/agents/agent.py", line 773, in _take_next_step
    raise e
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/agents/agent.py", line 762, in _take_next_step
    output = self.agent.plan(
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/agents/agent.py", line 444, in plan
    return self.output_parser.parse(full_output)
  File "/home/ramlah/Documents/projects/langchain-test/venv/lib/python3.10/site-packages/langchain/agents/mrkl/output_parser.py", line 42, in parse
    raise OutputParserException(
langchain.schema.OutputParserException: Could not parse LLM output: `The blog_post table has a column list_of_blogs which seems to contain the social interaction data. I will now order the rows by the sum of their facebook_shares and twitter_shares and limit the result to 1 to get the blog post with the most social interactions.`

The error is inconsistent and sometimes the script runs normally.

I have tried removing and adding streaming=True thinking that might be the cause.
I have tried changing the model from gpt-3.5-turbo to gpt-4 as well, the error shows up inconsistently

Please let me know if I can provide any further information. Thanks!

I am observing the same issue. When I tracked the API calls by GraphSignal, it really seems that the completion provided by GTP-3.5-turbo is only Action: list_tables_sql_db, '' and is missing the "Action input:" section, which causes parser error. It does not concern DaVinci model.
When the same prompt is passed to LLM via OpenAI Playground webapp, it results in complete and correct answer (both davinci and GPT-3.5-turbo).

I have the same problem.

I have the same problem. Do you suggest moving to da-vinci?

same problem. looking for a solution to use GPT 4 with SQL Toolkit

I ran into this today too. Setting up a SQLDatabaseChain and running my own interactive prompt around that seems to work fine, but the SQL agent is throwing the same kinds of errors as the posters above.

I just ended up making my own chain using OpenAI chat completion.
I was testing the code again today and the recent updates to langchain seem to have fixed this issue for me at least.
For those that are still facing it, someone suggested passing handle_parsing_errors=true to the create_sql_agent function here

I'm getting this same error while trying to use a HuggingFace model - does anybody know if the create_sql_agent works with non-OpenAI models?
I did my best to look through the docs and code and don't see why it wouldn't work with other integrations, but thought I'd double check. Thanks!

I am facing the same issue with AzureOpenAI. Below is the code snippet. Tried using some of the recommendations above but they don't seem to fix the issue.
Error
langchain.schema.output_parser.OutputParserException: Could not parse LLM output: Action: sql_db_list_tables, ''
Code
db = SQLDatabase.from_uri(url_object)
llm = AzureOpenAI(model_name="gpt-35-turbo",deployment_name="gpt35",temperature=0, verbose=True)
toolkit=SQLDatabaseToolkit(db=db, llm=llm)
agent_executor = create_sql_agent(
llm=llm,
toolkit=toolkit,
verbose=True,
handle_parsing_errors=True
)
agent_executor.run("List the total sales per country. Which country's customers spent the most?")

I see the same error when using the fine-tuned gpt 3.5 model with create_sql_agent. Was anyone able to fix this?

im seeing it too, seems to occuring randomly

Im also facing this issue at random, @RamlahAziz suggestion helps avoid the code from crashing so that is very welcome, but nevertheless it's not a real fix

I am also facing this issue

im also facing this issue

@baskaryan, could you please assist @Keekteng with the parsing error issue they are encountering when using GPT-4 or GPT-3.5 models with the SQL Database Agent in the LangChain repository? Thank you!
Facing the same issue, I passed parsing errors as true and even tried increasing max_iterations to 1000, but for no luck,
For my case with bigger iteration cicles one AI action is passed as an error

Hello Everyone,
handle_parsing_errors doesn't seem to work in latest versions and I am getting following warning
/home/ec2-user/anaconda3/envs/python3/lib/python3.10/site-packages/langchain_community/agent_toolkits/sql/base.py:138: UserWarning: Received additional kwargs {'handle_parsing_errors': True} which are no longer supported.
  warnings.warn(

Any alternatives to fix?

Hello Everyone,
handle_parsing_errors doesn't seem to work in latest versions and I am getting following warning
/home/ec2-user/anaconda3/envs/python3/lib/python3.10/site-packages/langchain_community/agent_toolkits/sql/base.py:138: UserWarning: Received additional kwargs {'handle_parsing_errors': True} which are no longer supported.
  warnings.warn(

Any alternatives to fix?

I think now it goes into agent_executor_kwargs argument like this:
agent_executor = create_sql_agent(llm,
                                   db=db,
                                   agent_type="openai-tools",
                                   agent_executor_kwargs={'handle_parsing_errors':True},
                                   verbose=True)

agent_executor = create_sql_agent(llm,
                                   db=db,
                                   agent_type="openai-tools",
                                   agent_executor_kwargs={'handle_parsing_errors':True},
                                   verbose=True)

This seems to be the latest way to handle it according to the langchain repository

agent_executor_kwargs={'handle_parsing_errors':True},

if use "toolkit" in create_sql_agent, still does not work.
agent = create_sql_agent(
                llm=lm,
                toolkit=sql_toolkit,
                agent_type=agent_type,
                max_iterations=max_iterations,
                verbose=True,
                agent_executor_kwargs={'handle_parsing_errors':True},
        )

but if there is no toolkit, works.   so this is still an issue?


Hls playback is not recover after internet connection is restored

What version of Shaka Player are you using?
v4.5.0-uncompiled

Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
The demo
If custom app, can you reproduce the issue using our demo app?
N/A
What browser and OS are you using?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?

uri= https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
What configuration are you using?  What is the output of player.getConfiguration()?
{
    "manifest": {
        "hls": {
            "sequenceMode": false
        }
    }
}

What did you do?

Set throttling to offline in Chrome dev tools for 15 seconds, and then disable it
What did you expect to happen?
Restore playback
What actually happened?
Nothing, the player spins the loader

@theodab can you review it? Thanks!

I can reproduce the error

Only occurs with live HLS streams


Enable Docker for building dacpac files in container

Hello,
Can you please add an example project with a Dockerfile that will build dacpac files in docker?

@PrettySolution to clarify, are you asking about using Docker to build a dacpac with MSBuild? Or to publish a previously-generated dacpac? Since MSBuild is cross-platform, not sure when the former would be needed, but there are doubtless use cases I'm not considering.
@jmezach if this is something you think would be valuable for our docs, I can write it up over the next few days.

@jeffrosenberg
I'd like to build a dacpac with MSBuild using Docker.
Thanks!

I am curious about the use case here. I understand you want to build a .dacpac inside a container, but then where does the .dacpac go? A container image with just a .dacpac in it doesn't really make sense to me, but maybe I'm misunderstanding the question here?

The .dacpac files will go to another final container with sqlcmd tool installed. The final image will be running on-demand when a new client DB needs to be provisioned. It's a kind of multi-tenancy solution.

@PrettySolution : here's an example of a Dockerfile wherein sqlpackage is used to initialize a SQL database that is running in a container. The example is using a Linux image, don't know if it's helpful for you.  The deploy.sql that is produced is subsequently handled by a PowerShell script to create/update the database.
https://github.com/ngruson/AdventureWorks/blob/master/src/Services/Customer/src/AW.Services.Customer.Database.Build/Dockerfile

Thanks a lot!
Merry Christmas!

@PrettySolution : here's an example of a Dockerfile wherein sqlpackage is used to initialize a SQL database that is running in a container. The example is using a Linux image, don't know if it's helpful for you. The deploy.sql that is produced is subsequently handled by a PowerShell script to create/update the database. https://github.com/ngruson/AdventureWorks/blob/master/src/Services/Customer/src/AW.Services.Customer.Database.Build/Dockerfile

Hi, I was trying to use this example of yours, but I end up with this error when I try to use the build function

Have you faced something like that?

@PrettySolution : here's an example of a Dockerfile wherein sqlpackage is used to initialize a SQL database that is running in a container. The example is using a Linux image, don't know if it's helpful for you. The deploy.sql that is produced is subsequently handled by a PowerShell script to create/update the database. https://github.com/ngruson/AdventureWorks/blob/master/src/Services/Customer/src/AW.Services.Customer.Database.Build/Dockerfile

Hi, I was trying to use this example of yours, but I end up with this error when I try to use the build function
Have you faced something like that?

I don't recall seeing this error, but it looks like that you are trying to build your .sqlproj.
The Database.Build project in my example is actually a class library that is including files from the database project.
See also https://erikej.github.io/efcore/2020/05/11/ssdt-dacpac-netcore.html