mui/lab/AdapterDayjs with time picker fails to validate like mui/lab/AdapterDateFns and mui/lab/AdapterMoment

When using dayjs-adapter, with time picker, when a user changes an existing time to something invalid (ie 99:99) the input does not enter an error state. Tested with '@mui/lab/AdapterDateFns" and '@mui/lab/AdapterMoment' and the input goes into error state as expected.

[X]  The issue is present in the latest release.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

here is the the sandbox:
https://codesandbox.io/s/basictimepicker-material-demo-forked-mk19f?file=/public/index.html
Left: AdapterDateFns / Right: AdapterDayjs

Did you manage to solve? I'm having the same problem, but for date validation.


@shopify/react-form please support nested dynamicList

Just like Shopify add product page, when adding options, multiple options can be added dynamically, and the value under each option can also be added dynamically
The existing useDynamicList cannot do this, so please consider supporting this case.

I'm facing with the same issue


MDL dialog browser support?

Hi! I'm planning to make a project with mdl. I'm having a question about the dialogs which are going to be an important part. Is there some graph where's the support ranges per browser?
Thanks!

CanIUse but remember polyfills are available for <dialog>

Please note that in order to work with the recommended polyfill you MUST have your dialogs be inmediate children of  or else it won't work properly, or at all.   If this setup doesn't work for you, which was my problem, I can share a polyfill I wrote which is not currently public at github but if you or anyone reading this wants to give it a try I would gladly make some time tu re-publish publicly.

@ErickRuano AFAIK the latest version of the polyfill removes that drawback. It should work just fine now in any configuration with MDL as long as you have the latest polyfill.
Also closing this out since there isn't anything to be done internally about this.


updated fs.isDir

What does this do / why do we need it?
As the issue states fs.isDir should always return an error and not just false if the directory is not found.
What should your reviewer look out for in this PR?
Altering of fs.isDir returned error. The unit tests have been adjusted accordingly but the integration tests are still having issues.
Do you need help or clarification on anything?
Yes. It seems the integration tests have a testcase.json where expected errors are listed. However since fs.isDir now potentially returns large, complex errors from os.Stat simple error matching on the strings will not be possible. If the change to the code is what the issue is calling for then I would need some help/clarification on how to handle the new integration test expectancies.
The test case ion question:
go/src/github.com/golang/dep/cmd/dep/testdata/init_path_tests/relative_path/testcase.json
Which issue(s) does this PR fix?
fixes #642

You will need to fix HasFilepathPrefix now since it depended on the old logic:
https://github.com/xmattstrongx/dep/blob/591245566804ea78a59fb3c0f640a71f1e25adce/internal/fs/fs.go#L56-L62

Even I was reviewing this 😄 I'll add my reviews too.

fs.HasFilepathPrefix can be updated to work with non-existing paths (like it used to) but I think it should be guaranteed to return true only for existing file and directories only (since it claims to be path-aware).

fs.HasFilepathPrefix can be updated to work with non-existing paths (like it used to) but I think it should be expected to return true only for existing file and directories only (since it claims to be path-aware).

Right. The tests that depended on this change are failing because they were using just file path that didn't actually existed. So, I think we should create all the directories, in real, which were being referred by their path only.
I went through the failing TestSplitAbsoluteProjectRoot test and just creating the paths here fixes the issue.
Likewise, you can go through all the failing tests and look if they are failing because of any references to file path that actually didn't exist.

The test case ion question:
go/src/github.com/golang/dep/cmd/dep/testdata/init_path_tests/relative_path/testcase.json

For the integration test failure, you can fix failure in this by adding a vendor directory cmd/dep/testdata/init_path_tests/relative_path/initial/project_dir/vendor. All other integration tests looked fine.

@xmattstrongx I'm really sorry 😅 I went through the Integration test failure again and realize that we can avoid adding an empty vendor/ by changing how IsNonEmptyDir() value is handled in project.go.
if err != nil && !os.IsNotExist(err) {
	return "", err
}

Just pushed changes adding missing TempDir calls to the test cases that now need them. All tests are passing locally and should pass in CI.

strange, got a failure in CI that I am not getting locally. Ill have to look in to it later.

I would assume fs.IsNotEmptyDir will not return an error if the directory does not exist. So I would handle this here instead of delegating this to consumers (*ensureCommand.Run and dep.BackupVendor).
I would update it to do that by checking what error is return from fs.IsDir:
func IsNonEmptyDir(name string) (bool, error) {
	isDir, err := IsDir(name)
	if err != nil && !os.IsNotExist(err) {
		return false, err
	} else if !isDir {
		return false, nil
	}

	...
}

A test case needs to be added to ensure this is how it works.

Any idea why the appveyor integration test does not report back successes sometimes?

@xmattstrongx not sure. A few days back, the same was happening with codeclimate. Maybe something with github 🤷♀

Hey guys. Just wanted to bump this PR. I dont think there is anything else needed here to satisfy the issue.

@darkowlzz Updated code based on PR comments and squashed commits

Thanks a lot!


Remove duplicate test_editable_top_level_deps_preserved test

This case is tested in test_editable_package: https://github.com/jazzband/pip-tools/blob/f3eb6305a3026e299cf8806282985332e0143499/tests/test_cli_compile.py#L333-L344
Additional context
#466 the issue where the test came from

Thanks @jdufresne!

Thanks @jdufresne!


Add support for truncating a message to fit a given buffer size

If DNS messages are too large for a given (UDP) buffer size, the
truncated bit should be set to request clients to retry the request via
a different transport (TCP).
This change introduces a Truncate() function which can be used to handle
the modification of the message. As some basic clients (incorrectly)
don't handle the truncation bit, it aims to return as many records as
possible while still being performant (e.g. not traversing resource
record lists multiple times to find the maximum number of fitting
records).
It ensures to always keep TSIG and OPT records in the response according
to the spec (e.g. RFC 6891 section 7).
@miekg

Codecov Report

Merging #708 into master will increase coverage by 0.1%.
The diff coverage is 95.38%.

@@            Coverage Diff            @@
##           master     #708     +/-   ##
=========================================
+ Coverage   55.62%   55.73%   +0.1%
=========================================
  Files          39       39
  Lines       10753    10791     +38
=========================================
+ Hits         5981     6014     +33
- Misses       3689     3692      +3
- Partials     1083     1085      +2

Impacted Files
Coverage Δ

msg.go
79.76% <95.38%> (+0.42%)
:arrow_up:

Continue to review full report at Codecov.

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

While I thought the Len func(RR) int interface is a cool way to simplify the code, it seems to come at a performance penalty. I expect due to the usage of a closure and the increased number of function calls. :-( Guess I'll have to find a simpler solution.

As some basic clients (incorrectly) don't handle the truncation bit

Which ones?

As-is Truncate() seems a bit misleading. To my mind a general purpose Truncate() would only pop records in complete sets from the additional section. What this currently does seems like application-specific behaviour.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add support for tru..." ]

+// maxRRs returns the number of records fitting into the given message size
+// as well as the length of the resulting message including the given initial
+// size.
+func maxRRs(rs []RR, lenFn func(RR) int, initial, size int) (number, length int) {

i, l := 0, initial
for ; i < len(rs); i++ {

The CoreDNS implementation does a binary search by calling Msg.Len() multiple times, so it calculates each answer/authority/additional resource record's len() multiple times. In this implementation the len() of each resource record is calculated at most once.

Ah, yes. And then that Len() then just runs in O(n), as does this. So
optmizing that makes sense. OK

I don't understand how we could do a binary search here, we have to calculate the length of each record at least once as it's not fixed.

No, I see. Wish we could though. There were some thoughts on caching the wire
lenght in the message - which can work in special cases; but breaks down when
you do a a.Extra = append(a.Extra, x), but it might be worth trying something
that can speed up this case.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add support for tru..." ]

As some basic clients (incorrectly) don't handle the truncation bit

Which ones?

As-is Truncate() seems a bit misleading. To my mind a general purpose Truncate() would only pop records in complete sets from the additional section. What this currently does seems like application-specific behaviour.

A previously suggested name for this was Fit. I agree with your RRSet remark
though; that needs to be taken into account; and then you're getting in DNSSEC
territory, so we also need to drop any RRSIG if we drop the RRset.
/Miek
--
Miek Gieben

Which ones?

There were reports on CoreDNS when we dropped all answer records at once. Windows/net clients iirc.

To my mind a general purpose Truncate() would only pop records in complete sets from the additional section. What this currently does seems like application-specific behaviour.

My goal is to provide a general-purpose, RFC compliant Truncate() function, not anything application specific. Though, with all things DNS, it's complicated ...
I looked at the DNS rfcs (especially RFC 2181: Clarifications to the DNS Specification), BIND, and unbound and mostly modeled the behavior after unbound, given its widespread usage and most permissive implementation.

Section 9 of the RFC states "... the results of additional section processing.  In such cases the entire RRSet that will not fit in the response should be omitted,", means we "should" drop whole RRSets from the additional section, and not return partial sets. It's not a MUST though :smile:
On the other hand, the RFC explicitly permits partial results in the answer section: "Where TC is set, the partial RRSet that would not completely fit may  be left in the response."
BIND is super strict, as soon as any record of the authority or answer section doesn't fit, it'll return an empty response only inlcuding OPT records and the TC bit set.
unbound is a permissive, it will return partial RRsets in the additional section, drop just the authority section without setting the TC bit if the answer section would fit entirely then. However it'll not return partial RRSets in the Answer section, even though the RFCs permits that.

Summary:

Returning partial RRSets in the Answer section is allowed. Neither bind nor unbound do that.
Omitting the Authority section without setting the TC bit is not specified AFAIK. Bind will truncate, unbound not.
Returning partial RRSets in the Extra section is not advised by the RFC. BIND won't do it, unbound will though.

A previously suggested name for this was Fit.

I'd highly prefer to follow the terminology of the protocol and not invent new names. The whole thing is confusing enough already, having to remember all custom names and their meaning has made the usage of the libraries harder than necessary.

What's the benefit to returning partial sets in the authority or additional section (with the TC bit unset)? Do the clients that don't understand the TC bit use those sections?
Pruning sets or clearing all the non-ephemeral records seems more useful. With partial sets clients will end up with a partial view, or if they're validating, they'll do extra work just to drop the records.
This still seems like application specific behaviour to me. It's certainly query response specific, if not resolver to client specific. If this is going to land then the name and docs should reflect that imo.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add support for tru..." ]

What's the benefit to returning partial sets in the authority or additional section (with the TC bit unset)? Do the clients that don't understand the TC bit use those sections?

Sadly yes, alpine linux doesn't requery using tcp and it want something that
resembles a sane reply.

Pruning sets or clearing all the non-ephemeral records seems more useful. With partial sets clients will end up with a partial view, or if they're validating, they'll do extra work just to drop the records.
This still seems like application specific behaviour to me. It's certainly query response specific, if not resolver to client specific. If this is going to land then the name and docs should reflect that imo.

I'm not sure either this function should be in this library. However cutting up
a response into a chunk that is valid (enough) and fits the udp buffer is
proving a more challenging problem that it looks.
/Miek
--
Miek Gieben

Neither this implementation nor the current one in CoreDNS returns partial Authority section. It's all or nothing.
I think the idea behind partial Additional responses was to give clients some hints already, so for example for a Answer SRV RRSet, they could already get half the A RRSet in the additional section. I see the issues with that approach, so we could simply also switch to an all/none RRSet approach here.

This still seems like application specific behaviour to me. It's certainly query response specific, if not resolver to client specific.

I don't understand yet how the Truncation behavior is application specific. Different applications appear to interpret the RFCs/spec differently, but there is only one concept of truncation in DNS. The complexity of getting Truncation right and the lack of support in this library is what has led to bad/broken behavior in at least 3 server implementations I have come across.
I guess I'm missing something here though, can you give examples how different applications will respond with differently truncated responses @andrewtj @miekg? I had hoped we could iron out all the edge cases and provide a reasonable generic implementation in this library.
The feedback I took away so far and will incorporate:

Don't return partial RRSets in Additional section
SIG records need to be taken care of if RRSets get dropped
Performance needs to be checked

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add support for tru..." ]

This still seems like application specific behaviour to me. It's certainly query response specific, if not resolver to client specific.

I don't understand yet how the Truncation behavior is application specific.
Different applications appear to interpret the RFCs/spec differently, but there
is only one concept of truncation in DNS. The complexity of getting Truncation
right and the lack of support in this library is what has led to bad/broken
behavior in at least 3 server implementations I have come across.

I agree, this is surprisingly difficult and having something blessed in this lib
will help.

The feedback I took away so far and will incorporate:

Don't return partial RRSets in Additional section
SIG records need to be taken care of if RRSets get dropped
Performance needs to be checked

yes, not simple things, mind you.
I tried caching some lengths in RRs, but that improve things.
If you perf the Scrub function in CoreDNS all lot of time is spend in looking up
keys in the compression map and doing NextLabel. (bloody compression)

https://github.com/miekg/dns/pull/708#issuecomment-404502282
/Miek

--
Miek Gieben

On Thu, Jul 12, 2018 at 10:04 PM, Miek Gieben<EMAIL_ADDRESS>wrote:

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add support for
tru..." ]

What's the benefit to returning partial sets in the authority or
additional section (with the TC bit unset)? Do the clients that don't
understand the TC bit use those sections?

Sadly yes, alpine linux doesn't requery using tcp and it want something
that
resembles a sane reply.

Do you know if that's a WONTFIX? And it actually expects to get everything
from additional, or it's just an example of a client that doesn't
understand the TC bit?

there's code out there that blindly retries queries over TCP even when the TC response came over TCP

Any server that sends truncated responses over TCP is inviting trouble in the first place, since "The TC bit should be set in responses only when an RRSet is required as a part of the response, but could not be included in its entirety" (RFC 2181).

The discovery-via-DNS servers out there will probably want to truncate the message and not set the TC bit so that the set doesn't get occluded (for them partial data is much better than no data).

Sending a partial RRSet without setting the TC bit is a pretty gross violation. Can you explain why a server should ever do that?

this implements one strategy among many for truncating query-response messages. I think the docs need to reflect that.

I agree. But if supporting other strategies is important, maybe the future holds a two-argument Truncate that parameterizes it.

On Fri, Jul 13, 2018 at 12:58 PM, Richard Gibson<EMAIL_ADDRESS>wrote:

there's code out there that blindly retries queries over TCP even when the
TC response came over TCP
Any server that sends truncated responses over TCP is inviting trouble in
the first place, since "The TC bit should be set in responses only when an
RRSet is required as a part of the response, but could not be included in
its entirety" (RFC 2181 https://tools.ietf.org/html/rfc2181#section-9).

Agreed, it's unfortunate but servers can end up loading RRSets they can't
serve. Robust clients need to deal with that.
The discovery-via-DNS servers out there will probably want to truncate the

message and not set the TC bit so that the set doesn't get occluded (for
them partial data is much better than no data).
Sending a partial RRSet without setting the TC bit is a pretty gross
violation. Can you explain why a server should ever do that?

Sure. When I say discovery-via-DNS server (there's probably a better name
for them) I'm referring to the servers that synthesise records for services
registered with them via some orchestration framework or the like. When
they get too many services registered, until they're rebalanced they can
either serve TC which makes a service unavailable, or serve a partial set
which allows the service to remain available.
this implements one strategy among many for truncating query-response

messages. I think the docs need to reflect that.
I agree. But if supporting other strategies is important, maybe the future
holds a two-argument Truncate that parameterizes it.

Maybe, do you have something in mind?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/miekg/dns/pull/708#issuecomment-404711144, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABUrBW8peYLs9Ef7lKtpg8V3_-LAUalks5uGAzigaJpZM4VLWwW
.

Sure. When I say discovery-via-DNS server (there's probably a better name for them) I'm referring to the servers that synthesise records for services registered with them via some orchestration framework or the like. When they get too many services registered, until they're rebalanced they can either serve TC which makes a service unavailable, or serve a partial set which allows the service to remain available.

That's a false choice, because serving a partial RRSet with TC=1 is valid (if unusual). So why would TC=1 make a service unavailable? Its meaning is simply "message truncated", as it has been since at least 1987.

But if supporting other strategies is important, maybe the future holds a two-argument Truncate that parameterizes it.

Maybe, do you have something in mind?

Off the top of my head, something like response.Truncate(mtu, dns.TRUNCATE_TO_PARTIAL_RRSET).

On Fri, Jul 13, 2018 at 2:46 PM, Richard Gibson<EMAIL_ADDRESS>wrote:

Sure. When I say discovery-via-DNS server (there's probably a better name
for them) I'm referring to the servers that synthesise records for services
registered with them via some orchestration framework or the like. When
they get too many services registered, until they're rebalanced they can
either serve TC which makes a service unavailable, or serve a partial set
which allows the service to remain available.
That's a false choice, because serving a partial RRSet with TC=1 is valid
(if unusual). So why would TC=1 make a service unavailable? Its meaning is
simply "message truncated", as it has been since at least 1987
https://tools.ietf.org/html/rfc1035#page-27.
This solution came up in light of a resolver that returned SERVFAIL when
it encountered truncated TCP responses. Which resolvers do pass on such
responses?

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] Add support for tru..." ]

tru..." ]

What's the benefit to returning partial sets in the authority or
additional section (with the TC bit unset)? Do the clients that don't
understand the TC bit use those sections?

Sadly yes, alpine linux doesn't requery using tcp and it want something
that
resembles a sane reply.

Do you know if that's a WONTFIX? And it actually expects to get everything
from additional, or it's just an example of a client that doesn't
understand the TC bit?

Yes, I think they claimed it is not worth the complexity adding this (there
could be something said for that). But as of RFC 5966 this is not compliant.

I did not say responding with a SERVFAIL to a TC=1 TCP response was not justified.
Message truncation to suit transport over TCP does happen. Use of the TC bit is not transport specific.

The TC bit 100% is transport specific.
https://tools.ietf.org/html/rfc1035#page-27

TrunCation - specifies that this message was truncated due to length greater than that permitted on the transmission channel.

https://tools.ietf.org/html/rfc1035#section-4.2.1

Messages carried by UDP are restricted to 512 bytes (not counting the IP or UDP headers). Longer messages are truncated and the TC bit is set in the header.

https://tools.ietf.org/html/rfc2181#section-5.1

The response must be marked as "truncated" if the entire RRSet will not fit in the response.

The maximum length of a DNS message transported over TCP is 65535 octets, so setting TC=1 for a message shorter than that is wrong on its face. But it is also wrong even for messages longer than that, because that means the fallback itself has failed (RFC 2181 §9: "When a DNS client receives a reply with TC set, it should ignore that response, and query again, using a mechanism, such as a TCP connection, that will permit larger replies."). So simply put, TC=1 has no place in any TCP transport.

@gibson042 I did not suggest setting TC=1 for a message that has not been truncated to suit its transport. I'm not going to continue discussing whether or not TC=1 messages can be transmitted over TCP. If you do not think this concept exists, setup a BIND playground and then take up your argument with ISC.

If you have evidence that BIND sends TC=1 over a TCP transport, I'd love to see it. Here's evidence that it does not:

$ dig @<IP_ADDRESS> -p 10053 +short CH version.bind TXT
"9.9.5-3ubuntu0.11-Ubuntu"

$ dig @<IP_ADDRESS> -p 10053 +noall +comments +stats   example.com TXT
;; Truncated, retrying in TCP mode.

I'm changing my position on this. @grobie's solution isn't perfect but it's probably good for most use cases, and with the mentioned changes and tighter docs, I don't think there's much harm in having it. This PR isn't progressing in part because of my commentary, so I'm gonna leave it here and say goodbye.

will be done differently.


Access of collection objects(s) within adapter?

I just started looking at using Waterline with a SQL Server database.
I immediately noticed that all columns in a table are returned in the record set, not just the columns identified on the model.
So I started looking into the SQL server adapter and saw that it submits a "SELECT * FROM [collection]".  I wanted to rewrite the adapter to perform a proper select with the specified columns. I quickly noticed that "collection" that is passed to the "find" method is a table name, and not a collection object. Furthermore, the collection, being the table name instead of the collection identity, would make it difficult to know what collection is being retrieved because a table may belong to more than one collection.
Are there any suggestions on how to grab the collection object that is associated with the request ?
Thanks,
Kurt

@khkiley look into using waterline-sequel for the adapter. It expands out select queries to only select columns it knows about. It's used in both the postgresql and mysql adapters.

@particlebanana Thank you for the quick response. This looks very promising.
First question though, does waterline support multiple collections with the same table name ?
I am doing some testing based on what I found in the postgres adapter and I am seeing inconsistent and mixed definitions for the collections when I define three collections with different column selections against the same table.
If I remember correctly, the documentation says the identity of the collections need to be unique, but the table name does not seem to have the same restriction. But it looks like the definitions are getting all glommed together.
Thanks,
Kurt


ibm-sw-tpm2: 1637 -> 1661

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ibm-sw-tpm2/versions.
meta.description for ibm-sw-tpm2 is: "IBM's Software TPM 2.0, an implementation of the TCG TPM 2.0 specification"
meta.homepage for ibm-sw-tpm2 is: "https://sourceforge.net/projects/ibmswtpm2/"
meta.changelog for ibm-sw-tpm2 is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

directory tree listing: https://gist.github.com/5472b2ff2abc7204847c40720d7ae9f7

du listing: https://gist.github.com/ccddbed276851d70a93d500f6097747b

Rebuild report (if merged into master) (click to expand)

46 total rebuild path(s)

15 package rebuild(s)

15 x86_64-linux rebuild(s)
15 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
14 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
fwupd
gnome-firmware-updater
gnome3.gnome-software
ibm-sw-tpm2
libsForQt5.discover
libsForQt512.discover
libsForQt514.discover
libsForQt515.discover
plasma5Packages.discover
python38Packages.tpm2-pytss
python39Packages.tpm2-pytss
tpm2-abrmd
tpm2-pkcs11
tpm2-tools
tpm2-tss

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5slsgwbxh3s4jsc4wqlmpw49977zc7pf-ibm-sw-tpm2-1661 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ibm-sw-tpm2 https://github.com/r-ryantm/nixpkgs/archive/e1e35e2f51268247d83fdc1d1f627e417b4c0eca.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5slsgwbxh3s4jsc4wqlmpw49977zc7pf-ibm-sw-tpm2-1661
ls -la /nix/store/5slsgwbxh3s4jsc4wqlmpw49977zc7pf-ibm-sw-tpm2-1661/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

libsForQt512.discover
libsForQt514.discover

11 packages built:

discover (libsForQt5.discover)
fwupd
gnome-firmware-updater
gnome3.gnome-software
ibm-sw-tpm2
python38Packages.tpm2-pytss
python39Packages.tpm2-pytss
tpm2-abrmd
tpm2-pkcs11
tpm2-tools
tpm2-tss

Maintainer pings
cc @delroth for testing.

Result of nixpkgs-review pr 117338 at e1e35e2f run on x86_64-linux 1

2 packages marked as broken and skipped:

libsForQt512.discover
libsForQt514.discover

11 packages built successfully:

fwupd
gnome-firmware-updater
gnome3.gnome-software
ibm-sw-tpm2
libsForQt5.discover (libsForQt515.discover ,plasma5Packages.discover)
python38Packages.tpm2-pytss
python39Packages.tpm2-pytss
tpm2-abrmd
tpm2-pkcs11
tpm2-tools
tpm2-tss

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/tools/security/ibm-sw-tpm2/default.nix:27:3:
   |
27 |   installPhase = ''
   |   ^


Update readme deploy section

I've enabled automatic deploys from master for this app.

Seems there's a conflict with master

I've turned on branch protection to never allow merging of un-rebased PRs into master. It's a bit annoying but will prevent possible failures when a commit works with an old version of master, but not the most recent.

cool :+1:


Update to allow for Legendary and Mythic levels

Modified the dlLevel function to return a string for the epic key, since Legendary and Mythic levels use the epic key.
The value is false for non-Epic or higher levels, and this shouldn't break existing applications, as non-empty strings are truthy.

Hello.
Sorry for the delay. Thank you so much for the suggestion.
I think it'd be better to make Legendary and Mythic separate properties, or make a rating property, but that'll probably break some applications.
Will figure out later.

A rating property could be added, along with replacing the epic property with
get epic() {
  return Boolean(this.rating);
}

This should stop other programs from breaking (unless, you mean the rating property also counts Feature and Rate), but that would be easy to implement, still).

Updated my fork to use a getter for epic.


Doc Feedback:

Location : https://apim.docs.wso2.com/en/latest/Learn/ConsumeAPI/ManageSubscription/subscribe-to-an-api/
I think that context /store was moved to /devportal. My version 3.0.0 dont has context /store, only /devportal

Thanks for reporting!
This has been fixed in
https://apim.docs.wso2.com/en/latest/Learn/ConsumeAPI/ManageSubscription/subscribe-to-an-api/


Quantification summary workflow: add percent unmatched

Hi, I'm currently on it implementing the metric, but I'm not sure how to exactly compute it.
I get the number of matched sites and unmatched sites from match_with_gt, but it is unclear whether I should use all unmatched sites, that is unmatched prediction and ground truth sites or only one of them. Because this influences the result.
An alternative could be to have a specific version based on the return df type in which the correlation is computed only for unmatched, matched prediction or ground truth sites (see #325). This would mean that this metric would also depend on that parameter.
Also, I'm planning to also include performance metrics from identification, in particular sensitivity and precision, because it is based off the same numbers.
So, based on summary_workflows/identification/specification/I_benchmark_specification.md TP corresponds to nr of matched sites, FP to nr. of sites predicted but not found in ground truth and FN to nr. of sites not predicted but in ground truth.

Would it make sense to report TPR,FPR, FNR (?) instead of percent unmatched then?

Yes, of course. I just meant for example that TPR is the same as percent unmatched, if we're talking about taking only unmatched prediction.

Yes, of course. I just meant for example that TPR is the same as percent unmatched (TP/(TP+FN)), if we're talking about taking only unmatched prediction.

yeah it would be the inverse and as percentage in that case. The question is do we only consider unmatched prediction or not.


[ Mobile/Dsktop ] Adjust SfHeader to current two-ways of customization format

Image in SfHeader should be customizable via url - see #4 for reference.

Missing props for text

IMO content alignment (left/right/top) shouldn't be done with slots, but passed as a prop instead - what do you think?

I've talked with @filrak about this component, imho we should keep the slots to handle markup replacement, but should also add props to make easier more common customization, such as the logo src.

I think we should also populate the slots with intended components, following the proposed designs as default, but first we may need to create the respective atoms and molecules components.

I think the header is prty hard and complex case since it's used in many contexts so slots are the natural way of doing this.
For example we might want to use button instead of icon, or want to use label instead of logo (all of those are in the designs)
I still need to figure out how to move mobile/desktop design into this component since they are totally different so let's leave it like this for now ok?


Active navigation element

Right now the navigation is just a static list of tags.
We could invest a little time to make it a function that emits the list with the current page marked as active.

Yes I thought about that exactly. Is there any pointers you can give me into the Go code that is responsible for that part?

I would add it as a injector function, which can look at http.Request:
https://github.com/ssb-ngi-pointer/go-ssb-room/blob/f392dfbcf3f44fa9c74aa03089c07ae2733624cf/web/handlers/http.go#L70
I would just let it iterate over a slice of RouteName/i18nLabel. Possibly two lists (one for logged in, one for guest) or add a Authed bool to the list.

ps: The name inject might be a bit weird and they have to return a function even if it has no arguments. Stemming from the fact that they get use as FuncMap elements before the render call.

Does it make sense that inside an injector function I would get this as result?
render.InjectTemplateFunc("current_page_is", func(r *http.Request) interface{} {
	println("req url is", r.URL.Path)

(terminal:)
req url is /members

The browser location was http://localhost:3000/admin/members.

Nevermind, ended up using r.ResponseURI. We can discuss whether that's the correct one in the PR.

Ugh... Right, sorry.
This is a side-effect of the nested "sub section" router setup. See the stripped and added prefixes here in web/router and here in the handler setup. The idea is that each sub-package (admin, news, other apis etc) can be defined and tested independent of the rest of the page. The admin tests only use the admin router, where the /admin prefix is missing unless you start composing the complete router.
It felt like a good separation of concerns but unless we re-use parts in other projects this doesn't give us anything and it's hard to see the whole picture, like here. It also caused problem for the auth handling where I had to break the pattern so that the middleware registers correctly.
I feel like the sane thing is to take this pattern out and just have one big router. The other reason for this pattern from another project was an additional API server and client layer between the frontend render server(s), which also used the named routes for safty. I don't see the need for this here, which additionally reduces the need for this pattern.

ended up using r.ResponseURI

I guess you mean RequestURI. Seems like an okay workaround for now until we solve the above. You might need to net/url.Parse() it to get just the path portion without query parameters.


M3-59 Create SelectRegionPanel

You might want to use production services, otherwise you'll only see one region coming back from the API.

Applied all necessary styling and adjusted some default form styles
You may notice some absolute positioning on the strength indicator and this to amount for the fact that we don't want the content underneath to shift when the strength indicator pops up. This solution is better than to add empty markup IMO. Example updated in the story to reflect that


fetch APIs are part of core since node 18

Removing superfluous dependency now that undici is part of core.

Please review, @pastuxso. Should be uncontroversial.


Next compiler version: Update snapshots

Order of precision and scale attributes changed
Order of entity types changed

Don't merge until you switch to cds-compiler 4.7.
fyi @oklemenz2 / @johannes-vogel

Part of https://github.com/cap-js-community/odata-v2-adapter/commit/79dd9918e083d0051084d18258e8cff72c671fa8


Building from master

Environment

Elixir version (elixir -v):
Erlang/OTP 22 [erts-10.6.4] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe] [dtrace]

Elixir 1.10.2 (compiled with Erlang/OTP 22)

Nerves environment: (mix nerves.env --info)
|nerves_bootstrap| Environment Package List
No packages found
|nerves_bootstrap| Loadpaths Start

Nerves environment
MIX_TARGET:   host
MIX_ENV:      dev
NERVES_SYSTEM is unset
NERVES_TOOLCHAIN is unset
|nerves_bootstrap| Environment Variable List
target:     host
toolchain:  unset
system:     unset
app:        /Users/anamba/Sites/elixir/hello_nerves
|nerves_bootstrap| Loadpaths End

Additional information about your host, target hardware or environment that
may help
Hard to know what would be helpful. I use macOS and Ubuntu.

Despite mentions of 1.8.1 and 1.8.2 releases in the history, there are no releases on hex.pm, so I tried to run what's currently on master. I am new to Nerves (as in, I am trying it today for the first time), so that turned out not to be as straightforward as I expected.
I kept getting an error following "Resolving Nerves artifacts..." because it was trying to download files for this project from the official nerves-project releases, which naturally would be 404. I finally found where the URL was coming from (artifact_sites in mix.exs), but correcting the URL wouldn't have fixed the issue though, as this project doesn't have any release artifacts...
Eventually I figured out I could just comment out artifact_sites entirely. Is that the way to go for now? That got mix deps.get to work and mix firmware appears to be building something, but wow, it's not kidding when it says:
|Elixir.Docker| Starting Build... (this may take a while)

In the end, after hours of building, it 404'd on qtwebengine-everywhere-src-5.13.0.tar.xz and failed. Any ideas on next steps? My goal is to create a QR code reader with a web-based UI. I have a rpi4 with camera.

I have been trying to get this image working lately and it seems I can't get it working on either my Mac or my Arch laptop.
Could somebody post their environment and package versions where it works so I can try to mimic that or find some changelogs to do some debugging?

This project is being brought back from the dead, so closing old issues since everything has changed since 2020.


CSS change for :class:

Am using sphinx_rtd_theme on Windows.
When using directive :class: the variable is displayed with red text and white background.
However, on RTD-server (using sphinx_rtd_theme), the text is black.
What steps should I follow to make the :class: directive on RTD-server display red text and white background?
A work-around is to create a new directive that formats like :class: but uses red text and white background. But I'm not sure whether that would work on RTD-server.
I have used :raw: and inline HTML CSS code to test whether the color red displays on RTD-server (it does), but hope to avoid this extra effort if there is a more straightforward alternative.

You can include arbitrary static files and CSS in with your documentation. Sphinx knows to search in the _static path.
Bugs with our theme are tracked seperately. You can submit a patch against the theme at https://github.com/snide/sphinx_rtd_theme


Account Tab - Freezes if you have not logged in previously.

Hi,
Absolutely fantastic app it is shaping out to be. I am learning flutter form the past few weeks and wanted something more robust and stumbled upon this repo. Thanks for sharing this.
For the possible defect:
I have not signed in to the tmdb account, so the Account tab should be just empty and any widget I click should navigate me to the tmdb login page I suppose.
However, the screen freezes there with the following in the debug console:
flutter: AccountPage Lifecycle.build
flutter: CacheManager: Failed to download file from  with error:
Invalid argument(s): No host specified in URI

Steps to recreate:

Debug on VSCode
Click on the following in order:

Discover
Coming
Account

Restart the app and I get the following in the debug console

flutter: AccountPage Lifecycle.build

════════ Exception caught by image resource service ════════════════════════════
The following ArgumentError was thrown resolving an image codec:
Invalid argument(s): No host specified in URI

When the exception was thrown, this was the stack
#0      _HttpClient._openUrl  (dart:_http/http_impl.dart:2282:9)
#1      _HttpClient.openUrl  (dart:_http/http_impl.dart:2200:7)
#2      IOClient.send
package:http/src/io_client.dart:31
#3      HttpFileService.get
package:flutter_cache_manager/…/web/file_service.dart:32
#4      WebHelper._download
package:flutter_cache_manager/…/web/web_helper.dart:76
...
Image provider: CachedNetworkImageProvider("", scale: 1.0)
 Image key: CachedNetworkImageProvider("", scale: 1.0): CachedNetworkImageProvider("", scale: 1.0)
════════════════════════════════════════════════════════════════════════════════
Restarted application in 2,371ms.

Hope this is enough information. If I can help in any way let me know.

This problem is due to the exception thrown after I set the Image URL to empty, I will fix this problem in the next update

This problem is due to the exception thrown after I set the Image URL to empty, I will fix this problem in the next update

Thanks for the quick reply @o1298098
Might I add, so many concepts I have left to learn to understand your project :) but has been very helpful so far.

Fixed


[Fix #2723] Fix NoMethodError in Style/GuardClause cop

The problem
When the Style/GuardClause cop encounters a multi-line conditional with an empty body, it throws an error.
Examples:
def foo
  if bar
    # TODO
  end
end

and:
def foo
  if bar

  end
end

Why this is happening
This happened because of how the MinBodyLength cop works, in combination with the checks in Style/GuardClause. Here's the relevant part of MinBodyLength:
module MinBodyLength
  def min_body_length?(node)
    (node.loc.end.line - node.loc.keyword.line) > min_body_length
  end
end

It only checks the line number of where the conditional ended and subtracts the starting line number. It doesn't take into account whether those lines have any code or not.
In Style/GuardClause, we have the following guard clauses (relevant part highlighted by me):
return if body && else_body
return if modifier_if?(node) || ternary_op?(node)
return if cond.multiline?
return unless min_body_length?(node) # Note! This will pass for empty conditionals of sufficient length
return if line_too_long_when_corrected?(node)

This results in a node with an empty body is passed to line_too_long_when_corrected?, where it is deconstructed, and we try to send #source to the body, which now happens to be nil.

The proposed solution
I deliberated a bit, whether an empty conditional should trigger an offense, and in the end decided that I think it should (as technically, it could be replaced with a guard clause) but it gets a bit thorny to reason about the semantics of half-finished code. This decision also led to the simplest solution, as it works well with the existing code.

:+1:


fix #4

let me know if cards are still lost when moved

Thank you very much @Goluis, I didn't expect you to come fixing directly this project. So this is the new API, right? It fixes https://github.com/Goluis/cottz-publish/issues/4?

I still experience data lost in an environment with latency. You can try it at http://libreboard.com (yes, deploy in production to test is crazy!)

I've tried several times before uploading but I would like you to tell me how it looks

the latency problem also experienced with publish-composite in production?
http://goluis.meteor.com/ (with publish-composite)
if that's the case I do not find a way to fix except changing the way you subscribe to cards

It's not exactly the same problem. With publish-composite when you try to move a card sometimes the operation is reverted and the card is back to its original position. In the same situation with cottz:publish the card disappear.
I haven't taken a close look at your respective source codes, but it seems that you are both relying on cursor observation and experiencing the same race condition. Would it be possible to use the meteor merge box to solve this problem? Is your implementation pushed on github?

my theory is that by doing many updates observers do not catch the messages in the correct order (do not know how to control it)
the best solution is to have the subscription of the cards in another publication and subscribe again when updates are completed

to be more clear, even with a basic meteor observer without any package
Meteor.publish('cards', function (listId) {
  return Cards.find({
    listId: listId
  });
});

the problem still happen

So you think it is a bug with Meteor? I'll try to re-write https://github.com/mquandalle/meteor-publish-composite-latency-bug using publish-composite by using two publications instead.

Oh, but I guess to fix the bug we can simply rely on the boardId instead of the listId.

I don't think it's a Meteor bug, the following reproduction works https://github.com/mquandalle/meteor-publish-composite-latency-bug/tree/raw-meteor http://publish-race-condition-2.meteor.com/
I will probably use two distinct publications, but it would be great to have a better fix for this issue.


⚠ ClamAV has degraded performance

In 50dba4c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 554 ms

Resolved: ClamAV performance has improved in 1430f2b.


WIP: Gtk Event Manager proposal

This is not a finalized Pull Request. This is only a proposal for replacing the gtk modal dialog support with a system that more closely mimics W32 behavior.
The issue that started this work was the inability of the current system to display interactive context menus over modal dialogs - all events were directed at the modal window.
To solve the issue, I've created an EventManager class that manages the attachment/detachment of signals as well as routing of the events to appropriate windows.
As I have no GTK experience, the code most likely contains issues, hence this review.

Closing this as our GTK backend has been removed.


Added a function to create a UUID for each subject_id, and another fu…

…nction that returns 0 if the result of an if condition is NULL. The Transform class was updated with these new functions for the final mapping

In the mappings.yaml file, for the person mapping, we have source_column: dob, but the patients table does not contain this column.

In the mappings.yaml file, for the person mapping, we have source_column: dob, but the patients table does not contain this column.

Yes, sorry, I am working on this now. I updated the source CSV files, but I haven't yet written the mappings. I will open a new PR with the fix in 30 minutes or so...

@rafgia, the following issue should now be resolved:

In the mappings.yaml file, for the person mapping, we have source_column: dob, but the patients table does not contain this column.

You will need to rebase on main to pull the fix into your branch.

@rafgia do you want to drop over to my office to sort this out?

@tompollard I've cleaned up the code and rebased on main.


git town hack Any way to fetch upstream only main branch

I have a use case where upstream has a lot of branches.
IMO When a new feature is starting it should git fetch upstream {mainBranch}
Now it wants to fetch all upstream, that has to much size, and need a lot of time to download.
Any way to avoid fetch all the upstream?
Thanks!

I agree that we should only fetch the main branch from upstream. @charlierudolph what do you think?

https://github.com/Originate/git-town/blob/master/src/steps/fetch_upstream_step.go

Sounds good. The only edge case to me is if you have a parent branch from upstream that isn’t the main branch but I don’t think we are fetching the upstream in that case anyway.


close quota manager

Codecov Report

Merging #159 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #159   +/-   ##
=====================================
  Coverage      81%    81%
=====================================
  Files          14     14
  Lines        1332   1332
=====================================
  Hits         1066   1066
  Misses        168    168
  Partials       98     98

Impacted Files
Coverage Δ

adapter/quota/manager.go
96% <ø> (ø)
:arrow_down:

adapter/adapter.go
89% <100%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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


ValueError: Your setup doesn't support bf16/gpu. You need torch>=1.10, using Ampere GPU with cuda>=11.0

Is Ampere GPU with cuda 11.0 a necessary condition? How to solve this error? Thank you

Is Ampere GPU with cuda 11.0 a necessary condition? How to solve this error? Thank you

do you use v100? It doesn't support bf16

Change bf16 to fp16 for non Ampere GPUs

How?

My code the below
from transformers import TrainingArguments

args = TrainingArguments(
    output_dir="llama-7-int4-dolly",
    num_train_epochs=3,
    per_device_train_batch_size=6 if use_flash_attention else 4,
    gradient_accumulation_steps=2,
    gradient_checkpointing=True,
    optim="paged_adamw_32bit",
    logging_steps=10,
    save_strategy="epoch",
    learning_rate=2e-4,
    bf16=True,
    tf32=True,
    max_grad_norm=0.3,
    warmup_ratio=0.03,
    lr_scheduler_type="constant",
    disable_tqdm=True # disable tqdm since with packing values are in correct
)

I have changed them to below and it works.
    bf16=True,
    tf32=True,

I changed bf16=True, to fp16=True in TrainingArguments. It seemed to solve that problem.

Change bf16 to fp16 for non Ampere GPUs

this answer solved it for me - no need for additional arguments, as recommended by other Giters.

I changed to bf16=false and it worked for me

When you use bf16 for training, you find that an error is reported. And both your own torch and cuda meet the conditions, then it's that your machine doesn't meet it until 2020, including the 2019 v100, and the 2080 series.
Only 3090 series as well as a100 series cards fulfill it. You can only switch back to fp16 for training


Add domain adaptation example and gradient reversal layer

Add an example implementing the 'Domain-Adversarial Training of Neural Networks' paper (https://arxiv.org/abs/1505.07818)
This allows domain adaptation in an unsupervised manner by forcing the net to learn features that are domain invariant between training and target domains using concept of gradient reversal.
Further

Nontrivial example of functional API.
Shows how to visualize activations of intermediate layer.
Example of broken out training loop.

Credits:

Clayton Mellina (@pumpikano) (https://github.com/pumpikano/tf-dann) for providing
a sketch of implementation (in TF) and utility functions.
Yusuke Iwasawa (@yusuke0519) (https://github.com/fchollet/keras/issues/3119#issuecomment-230289301)
for Theano implementation (op) for gradient reversal.

It looks like you are including in the PR many changes that are unrelated to the PR. This makes the PR difficult to review. Please rebase from master.

@fchollet  done

@fchollet Any further feedback on this PR?

Hey @pumpikano @fchollet, thanks for the feedback. I've tried to simplify this PR to fit more into the ethos of 'everything in the backend is a function'. Let me know what you think.

Does this have the potential to get merged soon? :-) Would be super helpful feature, I think!

Got some error while running dann.py.
Traceback (most recent call last):
  File "D:/dev/CODE/dann_keras/keras/examples/dann.py", line 224, in <module>
    dann_model = builder.build_dann_model(main_input, hp_lambda)
  File "D:/dev/CODE/dann_keras/keras/examples/dann.py", line 189, in build_dann_model
    branch = self.grl(net, hp_lambda)
  File "D:\dev\CODE\dann_keras\keras\keras\engine\topology.py", line 514, in __call__
    self.add_inbound_node(inbound_layers, node_indices, tensor_indices)
  File "D:\dev\CODE\dann_keras\keras\keras\engine\topology.py", line 572, in add_inbound_node
    Node.create_node(self, inbound_layers, node_indices, tensor_indices)
  File "D:\dev\CODE\dann_keras\keras\keras\engine\topology.py", line 149, in create_node
    output_tensors = to_list(outbound_layer.call(input_tensors[0], mask=input_masks[0]))
TypeError: call() takes at least 3 arguments (3 given)

maybe hp_lambda should be parameter of init(), not call()

i made modified version of dann. got more accurate result. if is is good enough, we  can reduce core modification on keras

There were some mistake. ignore 'Two fit' and please see 'Two fit' dann.

Is there any update on this PR? It seems like the issues are more about the example than layer/backend implementations. Probably we could first have layer and backend and then discuss how to deal with the examples.

Closing outdated PR. If you still care about the content of the PR, please submit a new PR to master, updated for the Keras 2.0 API.


Cannot be compiled on Windows 64bit systems with dmd 2.072.1

DlangUI 0.9.46 cannot be compiled on Windows 64bit systems with dmd <IP_ADDRESS>.
It can be compiled on Windows 32bit and Linux systems.
When I use dmd 2.071.1, it can be compiled without errors.
How to reproduce:

dub init sample dlangui
Use the following app.d:

import dlangui;

mixin APP_ENTRY_POINT;

extern(C) int UIAppMain(string[] args)
{
    return 0;
}

dub build

Expected
The above code can be compiled without errors.
Actual
The build fails with the following errors:
uuid.lib(shguids.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
fatal error C1905: Front end and back end not compatible (must target same processor).
LINK : fatal error LNK1257: code generation failed
Error: linker exited with status 16990832

Does this issue still exist with latest DMD?

Works for me. Issue should be closed.
Tested on Windows 7 64bit with dlangui 0.9.57, and dmd 2.074.0 (VS 2013u4) subconfiguration sdl, default (dub --force run -a=x86 for 32bit, and  dub --force run -a=x86_64 for 64bit).

I confirmed it still fails on Windows 64bit systems in AppVeyor...
Here are the status in AppVeyor and source code.
AppVeyor status: https://ci.appveyor.com/project/tom-tan/sample
Source: https://github.com/tom-tan/sample

Do other D apps work ok in AppVeyor?

For example, vibe.d uses AppVeyor and
it passes CI tester with dmd 2.073.1.
Link: https://ci.appveyor.com/project/s-ludwig/vibe-d

checked on win7 x64  + dub 1.0.0 + dmd 2.0.75 - compiles ok

I confirmed the above code can be successfully compiled with dlangui 0.9.87 on the following combinations.
Note that we have to set Visual Studio 2017 image instead of Visual Studio 2015 image (it is a default image for AppVeyor) in appveyor.yml.

Build platform:

Windows Server 2016 (64bit OS: used in AppVeyor Visual Studio 2017 image)

Target platform:

Windows 32bit
Windows 64bit

Compiler:

dmd 2.072.0
dmd 2.075.0
ldc 1.3.0

Thanks a lot!


Question about runLIGER method

It seems that I could not find scIB.integration.runLIGER function. Is it my fault? Thanks

Please see my answer to your question in #236 for this as well.


upgrade: Catch "upgrade" attempts which would downgrade the database.

Attempting to "upgrade" from main to 4.x should abort; Django does
not prevent running old code against the new database (though it
likely errors at runtime), and ./manage.py migrate from the old
version during the "upgrade" does not downgrade the database, since
the migrations are entirely missing in that directory, so don't get
reversed.
Use a decrease in the list of migrations as a signal that we're
attempting to go backwards in versions, and abort the upgrade.
Fixes: #19284.
Testing plan: Cherry-picked to 4.x, tried to "upgrade" from main to 4.x:
root@alexmv-prod:~# ~zulip/deployments/current/scripts/upgrade-zulip-from-git --remote-url https://github.com/alexmv/zulip.git 4.x
2022-02-03 02:02:40,489 upgrade-zulip-from-git: Fetching the latest commits
2022-02-03 02:02:43,421 upgrade-zulip-stage-2: This is not an upgrade -- the current deployment (version 5.0-dev+git) contains database migrations which /home/zulip/deployments/2022-02-03-02-02-40 (version 4.9+git) does not.
2022-02-03 02:02:43,421 upgrade-zulip-stage-2: Migrations not in the new deployment:
confirmation/migrations/0008_confirmation_expiry_date.py
confirmation/migrations/0009_confirmation_expiry_date_backfill.py
confirmation/migrations/0010_alter_confirmation_expiry_date.py
corporate/migrations/0010_customerplan_exempt_from_from_license_number_check.py
corporate/migrations/0011_move_exempt_from_from_license_number_check_to_customer_model.py
corporate/migrations/0012_zulipsponsorshiprequest.py
corporate/migrations/0013_alter_zulipsponsorshiprequest_org_website.py
corporate/migrations/0014_customerplan_end_date.py
corporate/migrations/0015_event_paymentintent_session.py
corporate/migrations/0016_customer_add_remote_server_field.py
zerver/migrations/0326_alter_realm_authentication_methods.py
zerver/migrations/0327_realm_edit_topic_policy.py
zerver/migrations/0328_migrate_to_edit_topic_policy.py
zerver/migrations/0329_remove_realm_allow_community_topic_editing.py
zerver/migrations/0330_linkifier_pattern_validator.py
zerver/migrations/0331_scheduledmessagenotificationemail.py
zerver/migrations/0332_realmuserdefault.py
zerver/migrations/0333_alter_realm_org_type.py
zerver/migrations/0334_email_notifications_batching_period.py
zerver/migrations/0335_add_draft_sync_field.py
zerver/migrations/0336_userstatus_status_emoji.py
zerver/migrations/0337_realm_add_custom_emoji_policy.py
zerver/migrations/0338_migrate_to_add_custom_emoji_policy.py
zerver/migrations/0339_remove_realm_add_emoji_by_admins_only.py
zerver/migrations/0340_rename_mutedtopic_to_usertopic.py
zerver/migrations/0341_usergroup_is_system_group.py
zerver/migrations/0342_realm_demo_organization_scheduled_deletion_date.py
zerver/migrations/0343_alter_useractivityinterval_index_together.py
zerver/migrations/0344_alter_emojiset_default_value.py
zerver/migrations/0345_alter_realm_name.py
zerver/migrations/0346_create_realm_user_default_table.py
zerver/migrations/0347_realm_emoji_animated.py
zerver/migrations/0348_rename_date_muted_usertopic_last_updated.py
zerver/migrations/0349_alter_usertopic_table.py
zerver/migrations/0350_usertopic_visibility_policy.py
zerver/migrations/0351_user_topic_visibility_indexes.py
zerver/migrations/0352_migrate_twenty_four_hour_time_to_realmuserdefault.py
zerver/migrations/0353_remove_realm_default_twenty_four_hour_time.py
zerver/migrations/0354_alter_realm_message_content_delete_limit_seconds.py
zerver/migrations/0355_realm_delete_own_message_policy.py
zerver/migrations/0356_migrate_to_delete_own_message_policy.py
zerver/migrations/0357_remove_realm_allow_message_deleting.py
zerver/migrations/0358_split_create_stream_policy.py
zerver/migrations/0360_merge_0358_0359.py
zerver/migrations/0361_realm_create_web_public_stream_policy.py
zerver/migrations/0362_send_typing_notifications_user_setting.py
zerver/migrations/0363_send_read_receipts_user_setting.py
zerver/migrations/0364_rename_members_usergroup_direct_members.py
zerver/migrations/0365_alter_user_group_related_fields.py
zerver/migrations/0366_group_group_membership.py
zerver/migrations/0367_scimclient.py
zerver/migrations/0368_alter_realmfilter_url_format_string.py
zerver/migrations/0369_add_escnav_default_display_user_setting.py
zerver/migrations/0370_realm_enable_spectator_access.py
zerver/migrations/0371_invalid_characters_in_topics.py
zerver/migrations/0372_realmemoji_unique_realm_emoji_when_false_deactivated.py
zerver/migrations/0373_fix_deleteduser_dummies.py
zerver/migrations/0374_backfill_user_delete_realmauditlog.py
zerver/migrations/0375_invalid_characters_in_stream_names.py
zerver/migrations/0376_auto_20220202_2314.py
zerver/migrations/0377_auto_20220202_2318.py
zilencer/migrations/0019_remotezulipserver_plan_type.py
zilencer/migrations/0020_remotezulipserverauditlog.py
zilencer/migrations/0021_alter_remotezulipserver_uuid.py
zilencer/migrations/0022_remotezulipserver_create_audit_log_backfill.py
zilencer/migrations/0023_remotezulipserver_deactivated.py

Zulip upgrade failed (exit code 1)!

The upgrade process is designed to be idempotent, so you can retry after resolving whatever issue caused the failure (there should be a traceback above). A log of this installation is available in /var/log/zulip/upgrade.log

It would be better to ask Django which migrations have been applied and which migrations exist:
from django.db import connection
from django.db.migrations.loader import MigrationLoader
loader = MigrationLoader(connection)
missing = set(loader.applied_migrations)
for key, migration in loader.disk_migrations.items():
    missing.discard(key)
    missing.difference_update(migration.replaces)
print(missing)
if missing:
    print("u r borken")

This will handle migrations in third-party libraries like social_core.

Totally agree it would be more accurate to use the API.  However, we're running this before we've set up a venv.  So either we need to import the previous venv, and hope that the APIs we're calling match up in the version that happens to be installed there -- or we need to defer this check until after we've configured our venv, which seems very late in to detect this error.
Since this likely only needs to catch downgrades between main and a maintenance branch, it seem to me that making the trade-off for slightly lower fidelity is worth it running reliably and quickly.
Sorry for leaving this reasoning out of the commit message -- I'll update with this logic if we decide to leave the code as-is.

Tangentially, it may also not be worth printing out the list of migrations, since it'll often be not-short, and scrolls the actual error off of the screen.

The Django check would go in the new venv to correctly deal with third-party migrations. This would be accurate and reliable, just later. Later seems fine for this safety feature—the primary mechanism by which the user is told that they shouldn’t downgrade is in the documentation.
The filename-based check would interfere with our ability to do various kinds of folder restructuring or migration squashing in the future.

Adjusted to the the API.  It also has to be pulled out into its own script, as it has to run as the zulip user to connect to the database.

I think we may want some force mechanism for the situation that one believes the database migration isn't important and wants to downgrade a small amount (may come up in Zulip Cloud, for example, when the migration is a historical data cleanup thing that is a noop to reverse).

One option in that case is to run ./migrate zerver <merge-base-of-db-changes> in the old deploy directory, to reverse the changes.
I'm a little leery of proliferating too many override switches which we'll not need often.  I'll push a version which adds one, but I'm generally against adding the flag just because we think we might want it, when there are probably-reasonable workarounds.

This is great, merged, thanks @alexmv!
I think it's possible we'll end up wanting to extend the output to link to a ReadTheDocs article on how Zulip releases are managed, or printing the list of migrations, or something else, but I'm not sure what makes sense for said output, and this is already a big improvement, so I think we can plan to do those extensions if/when they seem warranted as we support users who see this error message.


Add nx-stylelint

Add https://www.npmjs.com/package/nx-stylelint
Add the style-lint task to the generated components and directives

No plans for this. Will create a new tissue if I want to add it


WIP: new test framework

This a new branch to work on the new test framework

After qiita meeting discussion, closing for now ...


Questions about gene expression dimensions

Thank you for doing such a wonderful job!
I have some questions.
The number of L1000 landmark genes is 978, as far as I know.
Why did you make a size 979 long dummy_gene_express?
what are the names of the 979 genes?

Hello Sugyun,
Thanks for raising the issue. I forgot to explain for this in the instructions.
Besides the 978 gene expression value, the dummy_gene_expr also contains 1 dosage value of the treatment (appended at last).
Will update the instructions later :)
Cheers,
Conghao

Hello Conghao,
Thank you for your clear answer, it has been resolved thanks to you.
Have a great day.
Best regards,
Sugyun


[Improvement-5773][server] need to support two parameters related to task

Purpose of the pull request
this pr close #5773
When I'm using the shell task ,I need the instance id of task and the absolute path of task.
Brief change log
Verify this pull request
This change added tests and can be verified as follows:
org.apache.dolphinscheduler.server.utils.ParamUtilsTest.testConvertForParamsRelatedTask

Codecov Report

Merging #5774 (97949d2) into dev (7a18ada) will increase coverage by 0.04%.
The diff coverage is 67.64%.

@@             Coverage Diff              @@
##                dev    #5774      +/-   ##
============================================
+ Coverage     45.34%   45.38%   +0.04%
- Complexity     3688     3691       +3
============================================
  Files           607      607
  Lines         24862    24889      +27
  Branches       2826     2834       +8
============================================
+ Hits          11273    11296      +23
- Misses        12505    12506       +1
- Partials       1084     1087       +3

Impacted Files
Coverage Δ

.../org/apache/dolphinscheduler/common/Constants.java
80.00% <ø> (ø)

...pache/dolphinscheduler/common/utils/JSONUtils.java
72.61% <ø> (ø)

...che/dolphinscheduler/common/utils/LoggerUtils.java
13.33% <ø> (ø)

...nscheduler/server/worker/task/shell/ShellTask.java
7.27% <0.00%> (+0.49%)
:arrow_up:

...ache/dolphinscheduler/server/utils/ParamUtils.java
85.52% <74.19%> (-7.81%)
:arrow_down:

...eduler/server/worker/runner/TaskExecuteThread.java
59.50% <0.00%> (ø)

Continue to review full report at Codecov.

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

Deeply thanks for your contribution, this is a good beginning, considering that it's your first contribution, I think we can get deep communication, you can contact me through mail or add WeChat(Kris_Evil), when mail or added, please tell me who you are, I think I can help to familiar with the DolphinScheduler if you meet with problems.


Sync uber_helpers and cpe_chefclient

Sync fixes from upstream.

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


Adapt package publishing for new repo layout

This is required due to the new go mod module layout
Also update the version of the Google API as this repo was pulling in
a later version - this is what was breaking the PR

//cc @EvanBoyle

Awesome, thanks for picking this up!


Add space character

Docs Build status updates of commit 8072f11:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Reference/User-Interface-Help/property-let-statement.md
:white_check_mark:Succeeded
View

Language/Reference/User-Interface-Help/property-set-statement.md
:white_check_mark:Succeeded
View

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


fatal: no submodule mapping found in .gitmodules for path 'submodules/depth-diff-gaussian-rasterization'

Thanks for the excellent work!
But I encountered an error when attempting to pull this repo recursively.
$ git clone https://github.com/hustvl/4DGaussians.git --recursive
Cloning into '4DGaussians'...
remote: Enumerating objects: 2245, done.
remote: Counting objects: 100% (64/64), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 2245 (delta 21), reused 31 (delta 9), pack-reused 2181
Receiving objects: 100% (2245/2245), 52.10 MiB | 3.37 MiB/s, done.
Resolving deltas: 100% (1025/1025), done.
Checking connectivity... done.
fatal: no submodule mapping found in .gitmodules for path 'submodules/depth-diff-gaussian-rasterization'

Thank you.


Markdown preview rendered for outdated markdown on android

Description
When editing markdown (issue and pull request comments), clicking the preview button on mobile devices when the text input still has focus doesn't render the latest markdown but markdown that misses the latest input instead.
tested on Chrome for Android 11
Gitea Version
1.17.0+dev-610-gfa5dec966
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
https://user-images.githubusercontent.com/44805696/169714463-6d957466-d90c-469a-a1fc-26298dda76be.mp4
Git Version
No response
Operating System
No response
How are you running Gitea?
Tested this locally and on https://try.gitea.io
Database
SQLite

You inputted the characters without confirming them, so they were just Preview Characters in the inputbox.
Then you switched to Preview, of course, the characters in the inpubox weren't changed at that moment.
Then you switched to Write, maybe a feature of your IME? IME automatically 'confirmed' the changes.
Then you switched to Preview, of course, the characters in the inputbox were changed.
Github uses textarea which has no problem, but gitea uses CodeMirror here. Maybe you need to fix this in CodeMirror.

Gitea 1.18 and newer are using the CodeMirror with contenteditable mode, which brings different editing experience.

#19776

Please try if the problem gets better in new releases.

I tested with Japanese Google IME in 1.18.5 (I only have this which may cause the same problem I think), and it was same.
But Github has no problem.

Yup, the problem is contenteditable, sometimes it doesn't work well, and that's the reason why there were discussions about dropping EasyMDE&CodeMirror ....

Should be fixed by #23876 ?

Tested in 1.20.0-361, Preview displayed the characters, but the inputbox is empty.

Tested in 1.20.0-361, Preview displayed the characters, but the inputbox was empty.

Can you elaborate, or provide some screenshots?

Should be fixed by #23876 ?

Yup, seems to be working now 👍

Tested in 1.20.0-361, Preview displayed the characters, but the inputbox was empty.

Can you elaborate, or provide some screenshots?

I can’t upload videos to github on my phone.
Preview is worked.

But the input box is empty.

Github have the same performance, so maybe it is all right.

I can’t upload videos to github on my phone.
Preview is worked.
But the input box is empty.
Github have the same behavior, so maybe it is all right.

What's the steps? Do you mean that:

Open the New Issue page
Input something into the textarea
Click the Preview
Preview shows
Click Write
The textarea loses its content and becomes empty?

I know the reason now LOL
Here is the video:
https://user-images.githubusercontent.com/18380374/230401807-606b59b0-7081-4dab-99dc-88ef79274042.mp4

I guess because you didn't confirm the input in your input method.
The "temp" text is highlighted to show that they are not really in the textarea.
I guess you need to click the "確定"  on the virtual keyboard


Standardize deprecation warnings, improve their messages and make them non-silent

Codecov Report

Merging #292 into master will increase coverage by 0.13%.
The diff coverage is 79.71%.

@@            Coverage Diff             @@
##           master     #292      +/-   ##
==========================================
+ Coverage   94.45%   94.58%   +0.13%
==========================================
  Files          28       28
  Lines        8851     8879      +28
==========================================
+ Hits         8360     8398      +38
+ Misses        491      481      -10


UnboundLocalError: local variable 'input_image' referenced before assignment

scripts/sampling/simple_video_sample.py
 line 176, in sample
    image = ToTensor()(input_image)
UnboundLocalError: local variable 'input_image' referenced before assignment

It can be solves like this
            with Image.open(input_img_path) as image:
                if image.mode == "RGBA":
                    input_image = image.convert("RGB")
                else:
                    input_image = image
                w, h = image.size


POST with number response

Hi,
My POST service response is just a number (ie 1234). When I use restangular post method, I get an error Cannot create property ‘route’ on number ’1234’. I assume that Restangular tries to decorate a Javascript number and fails.
Is a number a valid response for a REST service and should Restangular be fixed for this kind of response ? If I fix the service and return nothing, Restangular post method works perfectly. Should I stick on this solution ?
Restangular 0.1.30
angular 2.4.10

Hi @vincent314, number is not a valid response. Restangular expect JSON Objects in response


Ouch what happened?

My project just upgraded to 0.7 and now times out on trying to connect to the news server. I even switched it back to plain 119 and not ssl to see if it was an issue there. No luck :(
I can access the server and port and see it's open using nmap.
 [ErrorException]
  stream_socket_client(): unable to connect to tcp://newsreader60.eweka.nl:11
  9 (Connection timed out)

and the laravel log:
[2016-02-16 21:53:53] local.ERROR: exception 'ErrorException' with message 'stream_socket_client(): unable to connect to tcp://newsreader60.eweka.nl:119 (Connection timed out)' in /var/www/Nassau/vendor/rvdv/nntp/src/Socket/Socket.php:46
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'stream_socket_c...', '/var/www/Nassau...', 46, Array)
#1 /var/www/Nassau/vendor/rvdv/nntp/src/Socket/Socket.php(46): stream_socket_client('tcp://newsreade...', 110, 'Connection time...', 0, 4)
#2 /var/www/Nassau/vendor/rvdv/nntp/src/Connection/Connection.php(81): Rvdv\Nntp\Socket\Socket->connect('tcp://newsreade...', NULL)
#3 /var/www/Nassau/vendor/rvdv/nntp/src/Client.php(54): Rvdv\Nntp\Connection\Connection->connect()
#4 /var/www/Nassau/vendor/rvdv/nntp/src/Client.php(94): Rvdv\Nntp\Client->connect()

Starting Nmap 6.47 ( http://nmap.org ) at 2016-02-16 22:01 GMT
Nmap scan report for newsreader60.eweka.nl (<IP_ADDRESS>)
Host is up (0.035s latency).
PORT    STATE SERVICE
119/tcp open  nntp
563/tcp open  snews

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

If I pass a $timeout as 60 it seems to hang forever. It establishes a connection but doesn't proceed.
tcp        0      0 <IP_ADDRESS>:42495     <IP_ADDRESS>:119       ESTABLISHED

@warlord0 yeah some things went wrong when I moved to an external socket library without proper testing. It should be fixed now by moving the whole stream_socket_* functionality to a separate class for better unit testing. In combination with a forced update + git tags, the whole thing broke.
Can you try it again to install version 0.7.0? The correct hash should be 4c70a1b162b929d1cc044b938639dced94426148.
When I try to connect with this commit, I get an authentication required response;
$connection = new Connection('newsreader60.eweka.nl', 119, false, 15);
$client = new Client($connection);

$client->connect();

The timeout argument defaults to null so it falls back to the globally configured timeout settings in php.ini. You need to set it explicitly to a sensible value for your project.
Sorry about all this, this was one in the category "move fast and break things" ;)

Phew. Glad it's not me. :+1:
I like the idea, just the implementation has killed me ;) You should get prompted for authentication as that's normal behaviour.
My problem now is trying to figure out how to github it into my project. Currently just using composer and it's not seeing any update. I guess it won't until you put it into packagist? You'll have to forgive me I'm a little new to this version control arena.

No worries! The correct version is already on packagist, but you probably already have the previous version installed through composer. So try to remove the vendor/rvdv/nntp directory and run composer update again, that should do the trick.

Something's still giving me problems.
I see it get passed the connect stage, but then when I issue a command it stalls.
This is how I'm using it:
    private function connect() {
        $this->connection = new Connection($this->server, $this->port, $this->secure, **15**);
        $this->client = new Client($this->connection);

        if ($this->username !== **null**) { **// Not null so it does authenticate**
            $this->client->connectAndAuthenticate($this->username, $this->password);
        } else {
            $this->client->connect();
        }
    }
    private function disconnect() {
        $this->client->disconnect();
    }

and in the later functions:
$this->connect();
echo("x\n");

$command = $this->client->overviewFormat();
echo("y\n");
$overviewFormat = $command->getResult();

$command = $this->client->group($newsgroup->name);
echo("z\n");
$group = $command->getResult();

I get to see "x", but then no further.

@warlord0 If I run the example, it runs as expected;
<?php

require_once __DIR__.'/vendor/autoload.php';

use Rvdv\Nntp\Connection\Connection;
use Rvdv\Nntp\Client;

$connection = new Connection('news.php.net', 119, false, 15);
$client = new Client($connection);

$client->connect();

$command = $client->overviewFormat();
$overviewFormat = $command->getResult();

var_dump($overviewFormat);

$command = $client->group('php.doc');
$group = $command->getResult();

var_dump($group);

$command = $client->xover($group['first'], $group['first'] + 100, $overviewFormat);
$articles = $command->getResult();

// Process the articles further...
var_dump($articles);

$client->disconnect();

Can you please check it with the php nntp server?

I spent the day yesterday kicking this about trying to resolve it with no luck :( In the end I rolled back to 6.0 and it runs like a charm.
Thanks for your efforts, by the way. It is appreciated.
So this morning I edited the example above - had to change a few lines to make it work with my server and ran it under version 6.0. It ran fine and I got headers.
require_once '../../vendor/autoload.php';

use Rvdv\Nntp\Connection\Connection;
use Rvdv\Nntp\Client;

$connection = new Connection('newsreader60.eweka.nl', 119, false, 15);
$client = new Client($connection);

$username = 'xxxxxx';
$password = 'xxxxxx';

$client->connectAndAuthenticate($username, $password);
...

Some headers as proof
  [96]=>
  array(9) {
    ["number"]=>
    string(2) "98"
    ["subject"]=>
    string(127) "cvs: phpdoc /en/reference/apache/functions apache-request-headers.xml apache-response-headers.xml getallheaders.xml virtual.xml"
    ["from"]=>
    string(32<EMAIL_ADDRESS>(Uwe Schindler)"
    ["date"]=>
    string(31) "Tue, 15 Jul 2003 17:59:36 -0000"
    ["message_id"]=>
    string(33) "<cvsthetaphi1058291976@cvsserver>"
    ["references"]=>
    string(0) ""
    ["bytes"]=>
    string(4) "7785"
    ["lines"]=>
    string(3) "163"
    ["xref"]=>
    string(24) "news.eweka.nl php.doc:98"
  }

Then I did a composer remove rvdv/nntp a clear cache and then a composer require rvdv/nntp to reinstall 7.0
After that I ran it and get nothing back from the server again :(
$ php socket.php

Hangs indefinitely.

PS. I stuck in an echo after the  the connectAndAuthenticate and it gets there. So appears to be sticking at the $client->group() command.

@warlord0 so I guess I've pinpointed the issue. The stream was previously read through fgets and I changed it after v0.6.0 to freads. Can you try to install version "1.0.*@dev" for now to check if it fixes it for you?

Woohoo, looks like you managed to fix it :+1: Well as far as I can tell. I ran the example and got an error about the 4th argument passed being an integer - which was the timeout, when it was expecting a Socket. So I dropped that and boom - I got headers!
  [100]=>
  array(9) {
    ["number"]=>
    string(3) "102"
    ["subject"]=>
    string(74) "#24672 [NEW]: Search Documentation - Function list does not work correctly"
    ["from"]=>
    string(50<EMAIL_ADDRESS>(S Dot Pfalz At Teles Dot De)"
    ["date"]=>
    string(26) "16 Jul 2003 07:51:29 -0000"
    ["message_id"]=>
    string(24<EMAIL_ADDRESS>    ["references"]=>
    string(0) ""
    ["bytes"]=>
    string(4) "3169"
    ["lines"]=>
    string(2) "52"
    ["xref"]=>
    string(25) "news.eweka.nl php.doc:102"
  }

Cool! I'll create some additional unit tests for the socket class and then create a new release afterwards. Sorry for all the inconveniences ;)

No problem. Thanks for sorting it.

PS: I discovered by accident that you also seem to have sorted the SSL Wildcard issue.
In my project it's still set to secure on port 563 and it's working.
tcp        0      0 <IP_ADDRESS>:60907     <IP_ADDRESS>:563       ESTABLISHED


Decide how to configure plaintext and ciphertext parameters

There are different ways to implement the configuration we need, as can be seen in this discussion.
For example, we could:

manually configure two separate PolyConfs, and require their degrees to be equal, or
we could define a degree and two coefficient types, and automatically create two PolyConfs from them.

The goal of this task is to analyze the nuances pointed out in this discussion a implement a solution.

[ ] define the best approach
[ ] implement the new configuration
[ ] refactor the code

We effectively decided this over PRs #97 and #98.


grep_cword escapes -, . with \ so it actually shows 0 results if current buffer iskeyword contains such symbols

Info

nvim --version: 0.7
fzf --version: 0.30

Description
I think title is self describing, for some example: if the cursor on word get-line that for current buffer is one word and you invoke grep_cword there would be 0 results, because it will search for get\-line. Is there any reason for such behavior? Haven't found any option to turn this off.

You can turn this off by running :FzfLua live_grep no_esc=true.
The real question is why you’re not getting any results, the characters you describe must be escaped in a regex, this was tested with all special characters and is working with ., -, etc.
Can you run FzfLua live_grep debug=true? This will print the generated command as a first line of the results starting with [DEBUG], post it in this thread and we can figure it out what went wrong on your system.
It would also be helpful if you let me know what shell you’re using, fish shell can have issues with double escapes.

'hello' is the query.
[DEBUG]: argv(7) = 'hello'
[DEBUG]: rg --column -n --no-heading --color=always -S -F -M 512 'hello'

How does the debug line look like when running grep_cWORD on a word with special chars? Can you try running the debug command in the shell and see if there are any results?
What do the -S -F flags do?

:FzfLua live_grep no_esc=true - this works. Thank you. Seems like docs are incomplete or i just can't find such option.

What do the -S -F flags do?

Oh, seems like my bad. -F is literal string.

Thank you.

Is there plugin way ( some option) to use literal strings instead of regex by default? For my needs its much simpler and less annoying when i want to search terms that inclulde some special characters.

You can add no_esc = true to your setup under grep, this will make all grep functions use this by default.


Support plans?

I've come across this useful module, but notices that build is failing for some pipelines.
So is this module still supported and it is ok to use it?

Hi @danisla
do you still maintain this module ? If not, could you please find another maintainer ?
Thank you !

This module is still supported. We're in the process of upgrading it to support Terraform 0.12!