[Release] 9.0.0-alpha.1

Hey guys! 🎉
I'm really excited to say that we are almost there! Just need to double check if this merge got everything we need for 9.0.0.  Most of that codebase was reviewed in multiple PRs so this is just a final check to see if it's alright. Even if its not, we still got alpha/beta tests so no worries.
Cheers!
Edit: Also, related: #1075

Good ones, @pedrovereza! Updated both Changelog & comment for headers in TargetType 👍

          1 Warning

:warning:
Big PR, try to keep changes smaller if you can

SwiftLint found issues
Warnings

File
Line
Reason

GiphyAPI.swift
11
Force unwrapping should be avoided.

GiphyAPI.swift
42
Force unwrapping should be avoided.

GiphyAPI.swift
52
Force unwrapping should be avoided.

GitHubAPI.swift
22
Force unwrapping should be avoided.

GitHubAPI.swift
33
Force unwrapping should be avoided.

GitHubAPI.swift
72
Force unwrapping should be avoided.

GitHubAPI.swift
74
Force unwrapping should be avoided.

GitHubAPI.swift
76
Force unwrapping should be avoided.

GitHubAPI.swift
88
MARK comment should be in valid format.

GitHubAPI.swift
99
Files should have a single trailing newline.

GitHubUserContentAPI.swift
11
Force unwrapping should be avoided.

GitHubUserContentAPI.swift
54
Force unwrapping should be avoided.

GitHubUserContentAPI.swift
52
Lines should not have trailing whitespace.

GitHubUserContentAPI.swift
56
Lines should not have trailing whitespace.

GitHubUserContentAPI.swift
59
Files should have a single trailing newline.

MoyaProvider.swift
102
Function should have 5 parameters or less: it currently has 6

ErrorTests.swift
42
Colons should be next to the identifier when specifying a type and next to the key in dictionary literals.

ErrorTests.swift
55
Prefer _ = foo() over let _ = foo() when discarding a result from a function.

ErrorTests.swift
66
Prefer _ = foo() over let _ = foo() when discarding a result from a function.

MoyaProviderIntegrationTests.swift
35
Lines should not have trailing whitespace.

MoyaProviderIntegrationTests.swift
39
Lines should not have trailing whitespace.

MoyaProviderIntegrationTests.swift
91
Lines should not have trailing whitespace.

MoyaProviderIntegrationTests.swift
101
Lines should not have trailing whitespace.

MoyaProviderIntegrationTests.swift
105
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
463
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
768
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
771
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
777
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
781
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
785
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
790
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
795
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
802
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
806
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
810
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
817
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
822
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
825
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
829
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
834
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
841
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
845
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
849
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
856
Lines should not have trailing whitespace.

MoyaProviderSpec.swift
483
Prefer _ = foo() over let _ = foo() when discarding a result from a function.

MoyaProviderSpec.swift
500
Prefer _ = foo() over let _ = foo() when discarding a result from a function.

MoyaProviderSpec.swift
863
File should contain 400 lines or less: currently contains 863

NetworkLoggerPluginSpec.swift
24
Lines should not have trailing whitespace.

NetworkLoggerPluginSpec.swift
95
Lines should not have trailing whitespace.

NetworkLoggerPluginSpec.swift
99
Lines should not have trailing whitespace.

NetworkLoggerPluginSpec.swift
101
Lines should not have trailing whitespace.

TestHelpers.swift
163
Limit vertical whitespace to a single empty line. Currently 2.

Errors

File
Line
Reason

GiphyAPI.swift
4
Variable name should start with a lowercase character: 'GiphyProvider'

GitHubAPI.swift
16
Variable name should start with a lowercase character: 'GitHubProvider'

GitHubUserContentAPI.swift
4
Variable name should start with a lowercase character: 'GitHubUserContentProvider'

GitHubUserContentAPI.swift
50
Variable name should start with a lowercase character: 'DefaultDownloadDestination'

MoyaProviderSpec.swift
8
Type body should span 350 lines or less excluding comments and whitespace: currently spans 513 lines

TestHelpers.swift
164
Variable name should start with a lowercase character: 'DefaultDownloadDestination'

  Generated by :no_entry_sign: Danger

Okay, I also fixed most of the issues from SwiftLint. The rest is either from Demo (which we might update as well, in another PR) or from things we know exist but we need time to refactor (like long MoyaProviderSpec)

Hey @Moya/contributors, just a reminder that I'd love it if we could get another pair of eyes on that one. Pushing an alpha release this week would be 💯

Thank you, @SD10! @pedrovereza, do you feel like you'd have time to validate this one as well? :)

Thank you so much, y'all! 🎉


requirements文件中库可以直接通过pip 安装么

hi，dear
just use pip could I install the requiremets successfully ?
thx

try pip install -r requirements.txt ?

conda create -n chineseocr python=3.6
conda activate chineseocr
pip install -r requirements.txt


Add findWindows method

This adds a method that allows you to look up the windows timezones when you have an iana timezone.
Fixes #1

Done! Sorry for the delay. Looks like one of the commits failed because it was autocancelled but the previous CI check succeeded so not worried about it.

Oops. Clicked the wrong button.

:tada: This PR is included in version 3.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Doesn't work in Lucee 5.x

I didn't spend a lot of time on this, but I got it working by scoping global variables in the CFCs.
Also it might be worth noting that real-world examples would likely require quotes around the payload properties.
Hit me up if you're interested in knowing what I did. Otherwise, if this project isn't really needed anymore and a different library would be better, adding that to the docs would be great.

I did find this one, which works in Lucee out of the box. https://github.com/coldfumonkeh/cf_jwt

Yeah adding explicit scope to the global variables fixed it for me.


Unable to find "C57-12-20.2011" unless given "IEEE C57-12-20.2011"

If I select the "IEEE" dataset, then enter "IEEE C57-12-20.2011", it works:

But if I enter "C57-12-20.2011", nothing is found:

Having to require entering the dataset prefix ("IEEE") and then the document identifier with also the prefix "IEEE" seems redundant.
This seems to be an issue with the search engine matching strings.

As previously discussed, requiring the user to enter the dataset is probably counter productive. We only need the user to distinguish whether they want to search for either:

An existing data item offered by the BibXML service (i.e. an indexed item)
An external ID (as in the DOI) that the BibXML service has no data on

@ronaldtse
For that citation, document type is “IEEE”, and document identifier is “IEEE C57-12-20.2011”. I personally think it’s redundant, but such is the canonical identifier we have.
Where would you get the incomplete identifier “C57-12-20.2011”? If some system provides such identifiers, perhaps this is a sign that we should adjust our canonical identifiers to make them less redundant?[0]
Otherwise, if we want fuzzy match behavior, this can be addressed in another issue. I think we should have a proper search widget for that, rather than giving extra magic behavior to the existing exact match widget, but will see…
[0] In case we have control over canonical identifiers, we could get rid of the duplication as filed in https://github.com/ietf-ribose/relaton-data-ieee/issues/5

We only need the user to distinguish whether they want to search for either:

Search feature isn’t provided by the widget in the subject of this ticket. Only exact match by document type and ID.
If we to speak of fuzzy search experience, we shouldn’t require the user to select a document type in the first place, because the chance of identifier collision doesn‘t matter if you search.
There’s another widget that tries to provide this type of search functionality further below on the landing page. It should be improved and extended, though. Search-related ideas probably concern that widget.

Yes, this canonical identifier is correct so we don't need to change it. I was more concerned about search as you pointed out.
There are two issues from my question:

Specifying the "dataset" is sort of redundant because the document identifiers across all datasets are largely unique (one docID in one dataset is probably nonexistent in another). Eg. If the user selected "IEEE", specifying a docID with the prefix "IEEE" seems like a user experience that can be improved.
Users often enter slightly erroneous IDs and keywords, so fuzzy search is necessary.

As you mentioned, let's move the discussion to the fuzzy search functionality.

And another question: if we have good enough search, we don't need the exact match widget. Right?

Yes, so we seem to agree.
Exact match GUI is a good way to test the corresponding API endpoint so we might  keep it.

BibXML GUI has switched to a mixed-purpose widget, and while C57-12-20.2011 does not yield an exact match it now redirects to search that shows the correct item.
We may further tweak this logic by checking if search yields a single bibitem and redirecting to that item in that case.


Future proofing with CSS next?

We’re already using PostCSS to ease the setup (concat files, stylelint, etc.) so I was wondering if implementers would be OK using CSS Next to “Use tomorrow’s CSS syntax, today.”
Benefits:

Readium CSS would be “future-proof” i.e. at some point in the future, CSS next processing won’t be needed anymore (current features are sync’d with upcoming specs);
Takes care of CSS variables → static representation;
Would make Readium CSS a lot more readable (thinking about :not(), matches, custom media queries, media query ranges, etc.);
fallbacks would be easier to manage;
nesting and mixins (like pre-processors).

Caveats:

major caveat is we’ll have a “dependency” (but dist, as opposed to src, could be used to get around this issue);
implementers might not be used to the upcoming specs (and their syntax);
same for contributors.

So, worst case scenario, that could become a barrier to entry. However, we’re likely to use it to make styles more readable. To sum things up, we could use it sporadically, to improve authoring a little bit, and skip the more complex features.

For the sake of objectivity, here is a CSS-Tricks article discussing important issues related to that.

Given CSS Next is just a set of postcss plugin, let’s close this issue. Implementers can indeed choose the tools they want to use so I prefer not to impose this one, given the few benefits it could bring compared to a custom config.


Restore structural equality of types

The Type hierarchy actually documents that it provides structural equality. The addition of TypeVariableReference broke that guarantee (for types that contain references), because equality of type variable references is based on object identity. We need to find a way to restore structural equality even in this case.

Specific use case: ArC (the CDI container in Quarkus) stores TypeVariables to a Map when searching for bean types, during which it has to "resolve type parameters" (apply type arguments supplied by subclasses to generic superclasses, which are effectively type constructors in this context).


Increase the minimumVersion for historical native performance tests

We test back to 2.9:
https://builds.gradle.org/repository/download/Gradle_Check_PerformanceHistoricalCoordinator/11226889:id/report-performance-performance-tests.zip!/report/tests/build-on-nativeMonolithicOverlapping-with-12-parallel-workers.html
There were major changes in 2.10 that made the performance of native builds somewhat reasonable, so we should never test before 2.10.  I think we can go as far as bumping this up to 4.0

I increased the minimum version we test to 4.0 for all cross-version native tests.
https://github.com/gradle/gradle/commit/f96c3d8590265ad948e9078e6d4ef290335a5ea3


Initialising multiple accordions on one page

Hi there,
How would I go about initialising multiple accordions on one page that would share the same options?
Many thanks!

I ended up solving this by adding an ID to each one and then initialising each based on that:
const accordions = Array.from(document.querySelectorAll('.accordion'));

if (accordions) {
  let count = 0;
  let id = null;

  accordions.forEach(item => {
    id = 'accordion' + count;
    item.id = id;

    new Accordion('#' + id, {
      duration: 300,
      elementClass: 'element',
      questionClass: 'question',
      answerClass: 'answer'
    });
    count++;
  });
}

Hi @Flowgram
It's nice to see, that you've solved your problem
Greetings

it would be nice if multiple accordions in one single page could start with the same class without doing that tricky initialization
new Accordion( '.js-accordion' )

+1


Is native SVG support possible?

The current support for SVG appears to convert the SVG to a PNG before saving. Since PowerPoint supports SVG images natively could PptxGenJS insert SVG images into a slide without converting them to a PNG? This could break backwards compatibility but a flag on addImage() to convert or not would solve that.

see https://github.com/gitbrent/PptxGenJS/pull/528


feat(binding/java): prefix thread name with opendal-tokio-worker

This refers to https://github.com/apache/opendal/issues/5088.
Let's try to hard code the threads as format!("opendal-tokio-worker-{}", id) first.
cc @BaurzhanSakhariev

See also https://github.com/apache/opendal/discussions/5077#discussioncomment-10973047


Double-check debugger functionality

Legacy debugger available in current version ; PASOE debugger will be available in future release


Dedupe auto detected profiles

If there are multiple paths registered for a shell in /etc/shells they come up as separate profiles, we should pick only one (whichever is the default? maybe the last? should see if we can find what is meant to be the primary one)

I think that's fixed by this https://github.com/microsoft/vscode/pull/119213/files#diff-1225c767b5c19130ced195b0cd520a93a19aa7adb08979b77c8cc197eb4c1bf3R224
The first valid path is accepted.


hosts_checkpoint: save to /var/etcd

@xiang90
This change is needed because we have changed etcd operator to restore host checkpoints from under /var/etcd/ .

lgtm


bundling exclusions

how would this work with bundling exclusions? E.g. code references react, but doesn't want it bundled. it would be nice to have an example.

see patch.
you can now do jspm_gulp('- react').
I am curious; what is the reason for not bundling react?

Awesome, thanks! I have a couple of scenarios I want this for:
For vendor content that doesn't frequently update, I do not want to include them in the primary code bundle. As the primary code changes, it uses hashing in the filenames to break cdn urls. If I update this code every 2 hours, I don't want revisiting users to have to download my unchanged vendor code again.
For external code living in other repos, normally you'd check in unbundled modules into libs and publish to npm. But that implies you know what the external code is at time of application bundling. Say you wanted to have "plugin" libraries be able to be consumed later outside of the application's bundling cadence. Well, those libraries should produce their own bundles. But if they just "bundle all" they'll include a duplicate copy of the vendor code (like react). So we would want their bundles to avoid, as much as possible, bundling content that is already loaded on the page's main bundles.

Ok that makes sense, thanks for the explanation.
Closing, feel free to re-open.


Memcached -o modern segfaults when using Musl/Alpine Linux

More info here: https://github.com/docker-library/memcached/issues/20
Not too sure if this is a Musl bug or Memcached bug?

any way of someone getting a backtrace (or at least the segfault line out of dmesg + addr2line?) If I have to set that all up to get it to crash it might take a while to figure out :(

Also: I know there're a bunch of options, but if you look at -h it'll list everything that goes into -o modern. it would be super if someone knew which specific option was causing it!

Awesome, thanks, will get you all of those. Will try figure out which one.
It did look like 1.37 which is when it first broke, might have touched some
stuff that overlapped with -o modern.
On 11 July 2017 at 20:02, dormando<EMAIL_ADDRESS>wrote:

Also: I know there're a bunch of options, but if you look at -h it'll list
everything that goes into -o modern. it would be super if someone knew
which specific option was causing it!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/memcached/memcached/issues/286#issuecomment-314524769,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACdAzSUoPJGDMe8KaOaMLQwdo-zU5f2Uks5sM7idgaJpZM4OUVw9
.

https://github.com/memcached/memcached/wiki/ReleaseNotes1437 largeish number of small changes in .37. would still save a lot of time to narrow it down, but good to know .36 is fine. If you have an easy repro you can even do a git bisect :) but a hint from a backtrace is probably good enough.

So it seems like memcached -o lru_maintainer is the problem:
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3,maxconns_fast,slab_automove=1,slab_reassign,lru_maintainer
Segmentation fault (core dumped)

slab_chunk_max also raises a different strange error, though maybe that's me setting it in the wrong place.
/ $ memcached  -o slab_chunk_max:512k
Illegal suboption "(null)"

/ $ memcached -h
memcached 1.4.39
...
-o            Comma separated list of extended or experimental options
                ...
              - modern: Enables 'modern' defaults. Options that will be default in future.
                enables: slab_chunk_max:512k,slab_reassign,slab_automove=1,maxconns_fast,
                         hash_algorithm=murmur3,lru_crawler,lru_maintainer,no_inline_ascii_resp

Option by option:

```
/ $ memcached  -o no_inline_ascii_resp
^CSignal handled: Interrupt.
/ $ memcached  -o no_inline_ascii_resp,lru_maintainer
Segmentation fault (core dumped)
/ $ memcached  -o no_inline_ascii_resp,lru_crawler
^CSignal handled: Interrupt.
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3
^CSignal handled: Interrupt.
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3,maxconns_fast
^CSignal handled: Interrupt.
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3,maxconns_fast,slab_automove=1
^CSignal handled: Interrupt.
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3,maxconns_fast,slab_automove=1,slab_reassign
^CSignal handled: Interrupt.
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3,maxconns_fast,slab_automove=1,slab_reassign,slab_chunk_max:512k
Illegal suboption "(null)"
/ $ memcached  -o no_inline_ascii_resp,lru_crawler,hash_algorithm=murmur3,maxconns_fast,slab_automove=1,slab_reassign,lru_maintainer
Segmentation fault (core dumped)
```

I'm not sure if this helps.
dmesg output from memcached -o modern:

```
[  315.958995] memcached[4579]: segfault at 7f1e9bd0b000 ip 00007f1e9bc0c162 sp 00007f1e9bcffe68 error 6 in ld-musl-x86_64.so.1[7f1e9bbbc000+88000]
[  315.959039] audit: type=1701 audit(1499867799.088:84): auid=4294967295 uid=1000 gid=1000 ses=4294967295 subj=kernel pid=4571 comm="memcached" exe="/usr/local/bin/memcached" sig=11
[  316.084659] audit: type=1325 audit(1499867799.213:85): table=nat family=2 entries=63
[  316.084702] audit: type=1300 audit(1499867799.213:85): arch=c000003e syscall=54 success=yes exit=0 a0=4 a1=0 a2=40 a3=1962930 items=0 ppid=3348 pid=4583 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-multi" subj=kernel key=(null)
[  316.084710] audit: type=1327 audit(1499867799.213:85): proctitle=69707461626C6573002D7732002D43004B5542452D4D41524B2D44524F50002D74006E6174002D6A004D41524B002D2D7365742D786D61726B00307830303030383030302F30783030303038303030
[  316.151142] audit: type=1325 audit(1499867799.280:86): table=nat family=2 entries=63
[  316.151376] audit: type=1300 audit(1499867799.280:86): arch=c000003e syscall=54 success=yes exit=0 a0=4 a1=0 a2=40 a3=1f5f930 items=0 ppid=3348 pid=4590 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-multi" subj=kernel key=(null)
[  316.151473] audit: type=1327 audit(1499867799.280:86): proctitle=69707461626C6573002D7732002D43004B5542452D4D41524B2D4D415351002D74006E6174002D6A004D41524B002D2D7365742D786D61726B00307830303030343030302F30783030303034303030
[  316.171704] audit: type=1325 audit(1499867799.297:87): table=nat family=2 entries=63
[  316.171748] audit: type=1300 audit(1499867799.297:87): arch=c000003e syscall=54 success=yes exit=0 a0=4 a1=0 a2=40 a3=266f690 items=0 ppid=3348 pid=4592 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-multi" subj=kernel key=(null)
```

can you addr2line -e ./memcached 00007f1e9bc0c162 ?
also, if you're building from source, starting with memcached-debug might do something more useful now that I think about it.
if you can start it so easily, the best thing to do is just: gdb memcached-debug (if using source, else just memcached), then r -o modern and bt

/usr/src/memcached # gdb memcached-debug
This GDB was configured as "x86_64-alpine-linux-musl".
Type "apropos word" to search for commands related to "word"...
Reading symbols from memcached-debug...done.
(gdb) r -u root -o lru_maintainer
Starting program: /usr/src/memcached/memcached-debug -u root -o lru_maintainer
warning: Error disabling address space randomization: Operation not permitted
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
No stack.

Trying to get addr2line and gdb to give me info, but I don't have too much experience with them.
/usr/src/memcached # ./memcached-debug -u root -o modern
Segmentation fault (core dumped)
/usr/src/memcached # dmesg | grep segfault
[ 4985.771359] memcached-debug[14203]: segfault at 7f9c2491d000 ip 00007f9c2481e162 sp 00007f9c24911e38 error 6 in ld-musl-x86_64.so.1[7f9c247ce000+88000]
/usr/src/memcached # addr2line -e ./memcached-debug 00007f9c2481e162
??:0

sorry it took so long, I finally had some time to figure out wtf musl libc was.
a quick bisect showed me I was creating something large on the stack, and musl must have a much smaller thread stack by default or something. It didn't need to be there so I switched it to a calloc.
could you give the next branch a try? https://github.com/memcached/memcached/tree/next - just threw a commit on top that makes it not segfault for me. However can't build the debug binary without surgery I don't really have time for right now, so the tests don't run. It's impressive/scary that someone's been packging memcached without working tests.

It's impressive/scary that someone's been packging memcached without working tests.

:sweat_smile: that's my fault -- I'll go see what I can do to get make test running during our build right away. :innocent: :heart:

Good news and bad news.  The good news is that as expected, the tests pass 100% in our Debian variant (whew).  The bad news is that Alpine has four tests failures:
Test Summary Report
-------------------
t/dyn-maxbytes.t          (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 309 tests but ran 0.
t/lru-maintainer.t        (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 226 tests but ran 0.
t/slabs-reassign-chunked.t (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 8 tests but ran 0.
t/slabs-reassign2.t       (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 12 tests but ran 0.
Files=59, Tests=25154, 171 wallclock secs ( 7.77 usr  0.53 sys + 15.84 cusr  6.51 csys = 30.65 CPU)
Result: FAIL

Going to try applying https://github.com/memcached/memcached/commit/18316347865978868d70cc70dad54df2e3a8357e now to see if that gets us any further. :+1:

Still the same 4 failures failing with https://github.com/memcached/memcached/commit/18316347865978868d70cc70dad54df2e3a8357e -- anything more I can do to help debug?  Would a Dockerfile for reproducing within Docker be helpful?  Can I upload binaries somewhere? :smile:

+ make test
./sizes
Slab Stats	64
Thread stats	-6480
Global stats	168
Settings	240
Item (no cas)	48
Item (cas)	56
Libevent thread	192
Connection	520
----------------------------------------
libevent thread cumulative	6512
Thread stats cumulative		6320
./testapp
1..52
ok 1 - cache_create
ok 2 - cache_constructor
ok 3 - cache_constructor_fail
ok 4 - cache_destructor
ok 5 - cache_reuse
ok 6 - cache_redzone
ok 7 - issue_161
ok 8 - strtol
ok 9 - strtoll
ok 10 - strtoul
ok 11 - strtoull
ok 12 - issue_44
ok 13 - vperror
ok 14 - issue_101
Signal handled: Terminated.
ok 15 - start_server
ok 16 - issue_92
ok 17 - issue_102
ok 18 - binary_noop
ok 19 - binary_quit
ok 20 - binary_quitq
ok 21 - binary_set
ok 22 - binary_setq
ok 23 - binary_add
ok 24 - binary_addq
ok 25 - binary_replace
ok 26 - binary_replaceq
ok 27 - binary_delete
ok 28 - binary_deleteq
ok 29 - binary_get
ok 30 - binary_getq
ok 31 - binary_getk
ok 32 - binary_getkq
ok 33 - binary_gat
ok 34 - binary_gatq
ok 35 - binary_gatk
ok 36 - binary_gatkq
ok 37 - binary_incr
ok 38 - binary_incrq
ok 39 - binary_decr
ok 40 - binary_decrq
ok 41 - binary_version
ok 42 - binary_flush
ok 43 - binary_flushq
ok 44 - binary_append
ok 45 - binary_appendq
ok 46 - binary_prepend
ok 47 - binary_prependq
ok 48 - binary_stat
ok 49 - binary_illegal
ok 50 - binary_pipeline_hickup
Signal handled: Interrupt.
ok 51 - shutdown
ok 52 - stop_server
prove ./t
getaddrinfo(): Name does not resolve
failed to listen on TCP port 34970: Resource temporarily unavailable
slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    493552 perslab       2
slab class  40: chunk size    616944 perslab       1
slab class  41: chunk size    771184 perslab       1
slab class  42: chunk size   1048576 perslab       1
<26 server listening (auto-negotiate)
<27 server listening (auto-negotiate)
<28 send buffer was 212992, now 268435456
<28 server listening (udp)
<32 send buffer was 212992, now 268435456
<29 server listening (udp)
<30 server listening (udp)
<32 server listening (udp)
<31 server listening (udp)
<33 server listening (udp)
<35 server listening (udp)
<34 server listening (udp)
<36 new auto-negotiating client connection
<36 connection closed.
slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    493552 perslab       2
slab class  40: chunk size    616944 perslab       1
slab class  41: chunk size    771184 perslab       1
slab class  42: chunk size   1048576 perslab       1
<26 server listening (ascii)
<27 server listening (ascii)
<28 send buffer was 212992, now 268435456
<32 send buffer was 212992, now 268435456
<30 server listening (udp)
<29 server listening (udp)
<33 server listening (udp)
<34 server listening (udp)
<31 server listening (udp)
<28 server listening (udp)
<35 server listening (udp)
<32 server listening (udp)
<36 new ascii client connection.
<36 connection closed.
slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    493552 perslab       2
slab class  40: chunk size    616944 perslab       1
slab class  41: chunk size    771184 perslab       1
slab class  42: chunk size   1048576 perslab       1
<26 server listening (binary)
<27 server listening (binary)
<28 send buffer was 212992, now 268435456
<32 send buffer was 212992, now 268435456
<28 server listening (udp)
<29 server listening (udp)
<31 server listening (udp)
<30 server listening (udp)
<35 server listening (udp)
<34 server listening (udp)
<32 server listening (udp)
<33 server listening (udp)
<36 new binary client connection.
<36 connection closed.
Invalid value for binding protocol: http
 -- should be one of auto, binary, or ascii
Maximum connections must be greater than 0
Maximum connections must be greater than 0
Number of threads must be greater than 0
t/00-startup.t .............. ok
t/64bit.t ................... ok
t/binary-get.t .............. ok
t/binary-sasl.t ............. skipped: Skipping SASL tests
t/binary.t .................. ok
t/bogus-commands.t .......... ok
t/cas.t ..................... ok
t/chunked-items.t ........... ok
t/daemonize.t ............... ok
t/dash-M.t .................. ok
Failed to startup/connect to memcached server. at t/dyn-maxbytes.t line 10.
# Looks like your test exited with 111 before it could output anything.
t/dyn-maxbytes.t ............
Dubious, test returned 111 (wstat 28416, 0x6f00)
Failed 309/309 subtests
t/evictions.t ............... ok
t/expirations.t ............. ok
t/flags.t ................... ok
t/flush-all.t ............... ok
t/getset.t .................. ok
t/idle-timeout.t ............ ok
t/incrdecr.t ................ ok
t/inline_asciihdr.t ......... ok
t/issue_104.t ............... ok
t/issue_108.t ............... ok
t/issue_14.t ................ ok
t/issue_140.t ............... skipped: Fix for Issue 140 was only an illusion
t/issue_152.t ............... ok
t/issue_163.t ............... ok
t/issue_183.t ............... ok
t/issue_192.t ............... ok
t/issue_22.t ................ ok
t/issue_260.t ............... skipped: Only possible to test #260 under artificial conditions
t/issue_29.t ................ ok
t/issue_3.t ................. ok
t/issue_41.t ................ ok
t/issue_42.t ................ ok
t/issue_50.t ................ ok
t/issue_61.t ................ ok
t/issue_67.t ................ ok
t/issue_68.t ................ ok
t/issue_70.t ................ ok
Item max size cannot be less than 1024 bytes.
Cannot set item size limit higher than 1/4 of memory max.
t/item_size_max.t ........... ok
t/line-lengths.t ............ ok
t/lru-crawler.t ............. ok
Failed to startup/connect to memcached server. at t/lru-maintainer.t line 12.
# Looks like your test exited with 111 before it could output anything.
t/lru-maintainer.t ..........
Dubious, test returned 111 (wstat 28416, 0x6f00)
Failed 226/226 subtests
t/lru.t ..................... ok
t/maxconns.t ................ ok
t/multiversioning.t ......... ok
t/noreply.t ................. ok
t/refhang.t ................. skipped: Test is flaky. Needs special hooks.
t/slabhang.t ................ skipped: Test is flaky. Needs special hooks.
Failed to startup/connect to memcached server. at t/slabs-reassign-chunked.t line 10.
# Looks like your test exited with 111 before it could output anything.
t/slabs-reassign-chunked.t ..
Dubious, test returned 111 (wstat 28416, 0x6f00)
Failed 8/8 subtests
Failed to startup/connect to memcached server. at t/slabs-reassign2.t line 11.
# Looks like your test exited with 111 before it could output anything.
t/slabs-reassign2.t .........
Dubious, test returned 111 (wstat 28416, 0x6f00)
Failed 12/12 subtests
t/slabs_reassign.t .......... ok
t/stats-conns.t ............. ok
t/stats-detail.t ............ ok
t/stats.t ................... ok
t/touch.t ................... ok
t/udp.t ..................... ok
t/unixsocket.t .............. ok
t/watcher.t ................. ok
t/whitespace.t .............. skipped: Skipping tests probably because you don't have git.

Test Summary Report
-------------------
t/dyn-maxbytes.t          (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 309 tests but ran 0.
t/lru-maintainer.t        (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 226 tests but ran 0.
t/slabs-reassign-chunked.t (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 8 tests but ran 0.
t/slabs-reassign2.t       (Wstat: 28416 Tests: 0 Failed: 0)
  Non-zero exit status: 111
  Parse errors: Bad plan.  You planned 12 tests but ran 0.
Files=59, Tests=25154, 174 wallclock secs ( 7.89 usr  0.53 sys + 16.35 cusr  6.57 csys = 31.34 CPU)
Result: FAIL
make: *** [Makefile:1656: test] Error 1

(Should I file a new issue to discuss the test failures instead?)

Ok, scratch all that -- I messed up applying the patch. :innocent:
After applying the patch, all tests pass!!!

excellent! If I knew how to make the -debug binary build (fails looking for gcov stuff) I could add musl to the buildbots.

Oooh, intriguing.  Do they run on some version of Debian/Ubuntu?  I'm happy to take a look at what it'll take to make that work!

I have a bunch of them. some are debian, some are ubuntu, from a few different versions.
on my local machine I just quickly installed the latest musl into /usr/local/musl, compiled latest libevent into it, then built memcached against musl-gcc. that was enough to run the bisect so I stopped there. make would fail at linking memcached-debug together though.
I can either clone one of the debian/ubuntu builders and do something similar with fetching latest musl/building/etc or etc.

Ah nice, I think we could get clever with the musl-tools package (https://packages.debian.org/stretch/musl-tools, https://packages.ubuntu.com/xenial/musl-tools; which includes musl-gcc).  Then you've only got to compile libevent and memcached itself (rather than also building musl).  I'll play around a little bit and see what I can come up with.

Alright, good news -- with the following, I've successfully reproduced the four musl-related test failures from Debian Stretch amd64:
FROM debian:stretch-slim

RUN set -ex; \
	apt-get update; \
	apt-get install -y --no-install-recommends \
		ca-certificates \
		gnupg2 dirmngr \
		wget \
		\
		make \
		musl-tools \
	; \
	rm -rf /var/lib/apt/lists/*

ENV CC="musl-gcc -static -fPIC"

ENV LIBEVENT_VERSION 2.1.8
ENV LIBEVENT_GPG_KEY 9E3AC83A27974B84D1B3401DB86086848EF8686D
# gpg: key B86086848EF8686D: public key "Azat Khuzhin<EMAIL_ADDRESS>imported

RUN set -ex; \
	wget -O libevent.tar.gz "https://github.com/libevent/libevent/releases/download/release-${LIBEVENT_VERSION}-stable/libevent-${LIBEVENT_VERSION}-stable.tar.gz"; \
	wget -O libevent.tar.gz.asc "https://github.com/libevent/libevent/releases/download/release-${LIBEVENT_VERSION}-stable/libevent-${LIBEVENT_VERSION}-stable.tar.gz.asc"; \
	export GNUPGHOME="$(mktemp -d)"; \
	gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$LIBEVENT_GPG_KEY"; \
	gpg --batch --verify libevent.tar.gz.asc libevent.tar.gz; \
	rm -rf "$GNUPGHOME" libevent.tar.gz.asc; \
	mkdir -p /usr/src/libevent; \
	tar -xf libevent.tar.gz -C /usr/src/libevent --strip-components=1; \
	rm libevent.tar.gz

RUN set -ex; \
	cd /usr/src/libevent; \
	./configure; \
	make -j "$(nproc)"; \
# TODO figure out why this has "getaddrinfo" related failures
#	make verify; \
	make install

ENV MEMCACHED_VERSION 1.4.39
ENV MEMCACHED_SHA1 9d6f77f4f9f1b50289882fd88851dece7699c74b

RUN set -ex; \
	wget -O memcached.tar.gz "https://memcached.org/files/memcached-$MEMCACHED_VERSION.tar.gz"; \
	echo "$MEMCACHED_SHA1 *memcached.tar.gz" | sha1sum -c -; \
	mkdir -p /usr/src/memcached; \
	tar -xf memcached.tar.gz -C /usr/src/memcached --strip-components=1; \
	rm memcached.tar.gz

RUN set -ex; \
	cd /usr/src/memcached; \
	./configure; \
	make -j "$(nproc)"; \
	make test; \
	make install

RUN memcached -V

USER nobody
CMD ["memcached"]

Once I apply the following patch, the image builds (and runs!) successfully and all the tests pass: :+1: :metal:
@@ -47,6 +47,13 @@ RUN set -ex; \
        tar -xf memcached.tar.gz -C /usr/src/memcached --strip-components=1; \
        rm memcached.tar.gz

+# https://github.com/memcached/memcached/issues/286
+RUN set -ex; \
+       cd /usr/src/memcached; \
+       wget -O musl.patch 'https://github.com/memcached/memcached/commit/18316347865978868d70cc70dad54df2e3a8357e.patch'; \
+       apt-get update && apt-get install -y --no-install-recommends patch && rm -rf /var/lib/apt/lists/*; \
+       patch -p1 < musl.patch
+
 RUN set -ex; \
        cd /usr/src/memcached; \
        ./configure; \

I initially tried with the self-compile because the included version of musl was much older than what debian/ubuntu had packaged. I haven't tried with the built-ins to see if that fixes the memcached-debug compile issue.


fix(material/input): Do not set aria-invalid on empty matInputs

Updates the logic for setting aria-invalid on matInput to not set
the value at all if the input has no value.
Prior to this PR matInput sets aria-invalid="false" for any empty
matInput, including required ones.  This suppresses screen readers'
announcement to users that such inputs are in an invalid state.
Fixes #22777

It looks like there's a lint failure because we need to add the same logic/test for the MDC-based input

All right, it has been a minute since I've properly used git and I accidentally closed this branch when rebasing it to squash it down to one commit.  I'll... be right with you.

I'mma just close and re-open this with the correctly-named branch.  Apologies, folks.


New ButtonsListSelect component functionality (OnlyClickSelect redesign)

Where

JIRA Story: https://coverwallet.atlassian.net/browse/ACQ-383
Related PRs: https://github.com/coverwallet/cw-components/pull/129#issuecomment-435947370

What and how
Due to design changes https://projects.invisionapp.com/share/ZUORWDKF9TN#/screens/327693932 we have created a new component. This component has these features:

It shows the elements in batches: first shows 6 elements and each time the "View more" button at the bottom is clicked, it shows 12 more and so on until there are no more elements to show. These are the values by default, they can be customized with the itemsToShowFirstRender and itemsPerPage props.
This "pagination" can be deactivated by the prop viewMoreEnabled (true by default). In that case, the "View more" button is not rendered.
It allows passing selected options as a prop.
It selects and deselects the options when they are clicked.
Every option has a tooltip.

Test
Just run yarn test
Warnings
This is just the functionality, so, when this will be merged into master,  https://github.com/coverwallet/cw-components/pull/129#issuecomment-435947370 (which is the CSS and layout PR) will be able to be merged too fixing all the problems that will appear.

@coverwallet/frontend


redirect openmp links to cover the move

https://pypi.org/project/sphinx-reredirects/
https://documatt.com/sphinx-reredirects/usage.html

Hmm... thx for that detail @MKKnorr  perhaps we should re-evaluate.  I did ping @samjwu on this, and he did mention it was the first instance of using this extension.

@MKKnorr @yhuiYH as far as I know the readthedocs redirect is limited based on the license, so I thought best to go with the sphinx version

Fair point, that problem already popped up once, but was due to automatically generated redirects from a script (i.e. several pages from the same directory were individually redirected to the new page, instead of redirecting the whole directory). Currently we still have about 300 redirects left.
On top of that, this would open up another discussion, that doesn't belong here: how should we handle moving directories/pages in general. It is not feasible to keep all redirects from old pages, especially as the directory structure currently is not very stable, and probably subject to even more change (e.g. why is the compatibility directory now in the about directory? This doesn't make any sense, and the about directory is not even exposed anywhere, neither on the landing page nor in the toc)


FFM-4409: updates Aug 24 relnotes

This has already been tech-reviewed/approved offline by @conormurray95

Preview environment: https://hdh.pr.harness.io/pr-907


fix(utils/color): Deno does not require permission for NO_COLOR

If we run Hono with Deno in node-compat mode, permission to obtain NO_COLOR from env is required in logger and showRoutes.
This PR fixes that and add the Doc.
If you want to reproduce the current situation, try the following ways:

Make a directory and add Hono.

mkdir my-app
cd my-app
bun add hono

Run this script by Deno.

// deno run main.ts
import { getColorEnabled } from "hono/utils/color"
console.log(getColorEnabled())

Deno requests env access to "NO_COLOR".

┌ ⚠  Deno requests env access to "NO_COLOR".
├ Run again with --allow-env to bypass this prompt.
└ Allow? [y/n/A] (y = yes, allow; n = no, deny; A = allow all env permissions) >

The author should do the following, if applicable

[ ] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[x] Add TSDoc/JSDoc to document the code

Hi @ryuapp
I've never noticed that! Good improvement. Thank you!


Use option value in JSON schemas if available

When defining checkboxes or radio sets a value can be provided to each option as well as a label. If provided this is used as the value attribute of the option. This change updates the JSON schemas to use that value rather than the label if the value has been provided.
Props to @allait for showing me how to hypothesis.

:+1:


Upgrade to Go 1.15.

Following on from #5, when starting a new project, we should use the
latest Go release.
Signed-off-by: James Peach<EMAIL_ADDRESS>

I guess you'll want to bump the Dockerfile too


Missing custom 404 pages

https://docs.google.com/spreadsheets/d/18mSh18_PfDP7wn8Y2y_aj9M9GU3RB0Nu/edit?usp=sharing&ouid=103180279849721400399&rtpof=true&sd=true

Nilu 17 hours ago

Yes, this is something which happened after our change in vercel directory settings for docs project. I have asked them in the shared channel if they have a solution for this, but they havent replied yet. I will ping him again directly

Slack convo in #shared-vercel https://prisma-company.slack.com/archives/CBP68USAX/p1674822575566699

For dataguide too

Status update: Opened a support ticket and Vercel team is looking into this currently

Fixed by move to Docusaurus


SSH remote key was not OK

I'm getting this error when trying to install with sudo cargo install csvlens:

Ignore.  Needed to reinstall Rust

Closed


Fix a deprecation warning

Coverage remained the same at 82.143% when pulling 983c6e08c161024f541a21e820dee2fd9778b405 on davidanthoff:fix-depr into c75ea71a9d989657046286468e9d6aeba26311a4 on JuliaWeb:master.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #130   +/-   ##
=======================================
  Coverage   82.14%   82.14%
=======================================
  Files           2        2
  Lines         196      196
=======================================
  Hits          161      161
  Misses         35       35

Impacted Files
Coverage Δ

src/HttpServer.jl
77.53% <100%> (ø)
: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 c75ea71...983c6e0. Read the comment docs.

@aviks could you also tag a new release? Thanks!


Allow re-ordering of array items

Maybe it makes sense to have a totally different widget for this.

Just encountered the issue myself, we definitely want this.

I need this for a project pretty urgently, so I'll do a PR.

Fixed by #247.


fix a typo I saw whilst reading the doc

hopefully it's not due to a failing topre switch...
iff -> if, mass replace
apparently my linter re-formatted a few lines as well, I can de format them if needed :)

iff means if and only if. It has confused people in the past so I opened an issue to replace it with if and only if
https://github.com/quickwit-oss/tantivy/issues/1236
I guess if alone is ok too where it is not amibguous.
https://en.wikipedia.org/wiki/If_and_only_if#:~:text=In logic and related fields,true or both are false.

Oh I had the feelingh it may have ben something else, I'm re-writing the PR :)

Codecov Report

Merging #1298 (1273e71) into main (5004290) will decrease coverage by 0.03%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main    #1298      +/-   ##
==========================================
- Coverage   94.10%   94.07%   -0.04%
==========================================
  Files         230      230
  Lines       39193    39205      +12
==========================================
- Hits        36883    36881       -2
- Misses       2310     2324      +14

Impacted Files
Coverage Δ

common/src/bitset.rs
98.70% <ø> (ø)

common/src/lib.rs
89.33% <ø> (ø)

ownedbytes/src/lib.rs
97.26% <ø> (ø)

src/collector/mod.rs
48.21% <ø> (ø)

src/collector/top_collector.rs
97.60% <ø> (ø)

src/core/index_meta.rs
93.03% <ø> (ø)

src/core/segment_reader.rs
91.16% <ø> (ø)

src/directory/directory.rs
94.11% <ø> (ø)

src/directory/managed_directory.rs
88.25% <ø> (ø)

src/directory/mmap_directory.rs
91.05% <ø> (ø)

... and 23 more

Continue to review full report at Codecov.

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

So I feel I could put put if on functions/methods that implement an obvious single responsability, so most of your code. There are a few interfaces where the if and only if should be stressed imo, as a guideline for the implementer. Methods which answer a boolean but are not obvious booleans (eg. advance vs is_alive).


Clipboard History, can't paste file paths

In my office we share file paths to files on our server a lot via a chat app.
I've noticed that if you copy a file path (text), Quicksilver's clipboard history automatically resolves it to the file in question. Which is great if that's what you need, but if you want to paste the path as text, not the file, there doesn't seem to be a way to get that back. Perhaps there's some kind of way to do a workaround with a trigger? Any suggestions appreciated!

Try the “Get Path” action. You might need to enable it in Preferences → General → Actions.

I've run across this; my approach to this works pretty well for me:

Choose a letter that you want to serve as a "keyboard shortcut" for resolving the file into a path (and decide whether you want relative or absolute path)
Grab an example file or folder in the first pane (such as Desktop)
Tab to the second pane
Hit the letter you've decided on (p in my case)
Use the down arrow to get the drop-down menu for choosing other actions
Find the action you're interested in (Get Absolute (POXIS) Path in my case)
Right-click the action and set it as default for p

From now on, you can have a file or folder in the first pane and hit ⇧⌘p to resolve it into an absolute file path.
There are a few variations you can make using this general approach.
For reference the trick about jumping to a default action is mentioned at https://qsapp.com/wiki/Keyboard_shortcuts
It looks like there used to be a blog post about it at http://lovequicksilver.com/post/7413266835/putting-in-a-shift which no longer exists and I can't find in Wayback -- if anyone finds a copy, please let us know!
Closing -- hopefully this workaround solves your issue.


Reoccurrence of 'Unable to retrieve container details.' when accessing console or viewing images

Before you start please confirm the following.

[X] Yes, I've searched similar issues on GitHub.
[X] Yes, I've checked whether this issue is covered in the Portainer documentation or knowledge base.

Problem Description
Platform: Raspberry pi 4B 4GB
Portainer: 2.20.3
Docker Standalone: 27.1.1, build 6312585
This had been happening for some time on portainer 2.19.5, when I found the fix in this bug report: https://github.com/portainer/portainer/issues/11436
I updated my portainer-ce 2.19.5 to portainer-be 2.20.3 as described in the above (closed) fix.
Expected Behavior
Be able to connect and access container console.
Be able to view image details.
Actual Behavior
A Portainer popup dialog at top right comes up with error message, "Unable to retrieve container details."
Steps to Reproduce
Click any image in Images view.
Attempt to open console on any container.
Portainer logs or screenshots

Portainer version
2.20.3
Portainer Edition
Business Edition (BE/EE) with 5NF / 3NF license
Platform and Version
Docker 27.1.1 build 6312585
OS and Architecture
Raspbian OS, Debian Bookworm, ARM64
Browser
Chrome 127.0.6533.88 (Official Build) (64-bit)
What command did you use to deploy Portainer?
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:2.20.3

Additional Information
No response

Was able to fix the issue after overriding the platform image downloaded for ARM64 using the following docker pull command:
docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:linux-arm64-2.20.3-alpine

No longer occuring.


Use static gtest

Allows us to remove the gtest dependency from our conda env for testing.

/merge


Increase font size for lists, tables and so on

Before

After

The pixel unit is far away from optimal, but for the moment a good quick fix.

@froschdesign Thanks!


Move nvm gz files to linux

nvm must be installed on linux. Due to security concerns, it is not possible to install nvm using the command.
How can I install nvm in this case? Should I run the setup file in the window OS and move the generated file to Linux by ftp?

Operating system and version:
nvm debug output:

nvm ls output:

How did you install nvm?

What steps did you perform?
What happened?
What did you expect to happen?
Is there anything in any of your profile files that modifies the PATH?

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

Can you elaborate on what security concerns?

Can you elaborate on what security concerns?

Hi. The firewall prevents communication with the download server. It's a company server, so the security is sensitive.

You can manually run the install script steps, I suppose - but if you can't connect to github, i'm not sure how you'd clone the repo, and once installed, nvm must be freely able to contact nodejs.org, or it can't install node anyways.


API: sharp.overlayWith (alpha compositing)

Adds sharp.overlaysWith for compositing an image on top of another image while handling alpha channels correctly.
I left all commits intact for better understanding but feel free to merge as one squash commit, @lovell.
This is now ready for review.
Tests and usage examples: test/unit/overlay.js
TODO

[ ] Test with non-PNGs.
[ ] Add support for specifying top and left position as in sharp.overlaysWith(filename, top, left). This might be useful for watermarking.
[ ] Benchmark.
[ ] Investigate (slight) discrepancy to ImageMagick convert -composite output. Not visible to human eye (at least not mine :wink:) but detectable by compare ….

References

http://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending
https://github.com/jcupitt/ruby-vips/issues/28#issuecomment-9014826
https://github.com/gasi/sharp/pull/2

See: #97.

Coverage decreased (-0.17%) to 92.84% when pulling 79bd5d317d209e1acb363edcda328746d1a0eff2 on gasi:overlays into 33782d3c83e596c5fd022ffc8b2b98fd54fbdd8c on lovell:knife.

Thanks again Daniel for all your work on this very useful and much-requested feature.
I'm not sure I want to go down the route of using *magick for image comparisons. My experience of managing CI environments warns me otherwise (I'm looking at you, AppVeyor) and, more importantly, I believe libvips can do this with minimum effort.
I'll spend some time this afternoon to see what I can do using libvips to get #122 off the ground.

Commit c159948 on the knife branch adds a fixtures.assertSimilar method you can use instead of *magick's "compare".
By way of example, all of the tests for the extract method now employ it.

Commit c159948 on the knife branch adds a fixtures.assertSimilar method you can use instead of *magick's "compare".

Awesome! Thanks for providing this and I agree it’s more elegant without the GraphicsMagick dependency. However, I have two observations:

I found a case where the similarity test should fail: c9301c1fb5790c34adca1eb17fb1c1f953fdd76f
Isn’t it valuable for some operations like alpha compositing to do a comparison using no tolerance? If you agree, I could add that as parameter to assertSimilar.

Coverage decreased (-0.45%) to 92.56% when pulling a8a5da6274f168d1721be96269e1d1606032e168 on gasi:overlays into de67ab6a11ac420371a4dd4399dd76b5ad9dd01d on lovell:knife.

Coverage decreased (-0.45%) to 92.56% when pulling 057acca0a445434d1f25e509019f3712ce82ee7e on gasi:overlays into de67ab6a11ac420371a4dd4399dd76b5ad9dd01d on lovell:knife.

@lovell I made another pass on this today and it should be ready to merge given the restrictions we talked about (only RGBA images can be composited). I might be able to add more functionality at some point but for now, I think this might be already valuable for some people :smile:

Thanks again for all your work on this Daniel. Other than the possible reference leak, this is definitely ready to merge into the knife WIP branch. Are you able to squash to a single commit?

Other than the possible reference leak, this is definitely ready to merge into the knife WIP branch. Are you able to squash to a single commit?

Thanks, I simplified the out reference as you suggested and squashed everything into a single commit :smile: It’s been a pleasure collaborating with you and I hope I’ll be able to contribute more in the future.

Coverage decreased (-0.45%) to 92.56% when pulling 6c682e813d56fdedf20e14e02016af3d9fc99dd2 on gasi:overlays into de67ab6a11ac420371a4dd4399dd76b5ad9dd01d on lovell:knife.

Coverage decreased (-0.45%) to 92.56% when pulling 6c682e813d56fdedf20e14e02016af3d9fc99dd2 on gasi:overlays into de67ab6a11ac420371a4dd4399dd76b5ad9dd01d on lovell:knife.

Coverage decreased (-0.45%) to 92.56% when pulling 6c682e813d56fdedf20e14e02016af3d9fc99dd2 on gasi:overlays into de67ab6a11ac420371a4dd4399dd76b5ad9dd01d on lovell:knife.

I forgot to add overlayWith documentation to README. Will do that later today.

No worries on the docs. I intend to add the ability to overlay onto non-alpha images too and will update the README after that. Thanks again @gasi for all your work on this new feature!

Thanks, @lovell, I appreciate it :+1:


Inserting an image doesn't show list of image files

Alt + M > Image > type ToolTip > Press Enter > doesn't show list of image files

Hi @jmsnavarro , do you have a sample repo or content set I can use for troubleshooting?  I haven't been able to repro the issue on my side.  Thanks

Hi @jamarw , I created a new folder and move my files to it and the issue is now gone.


Cell-click with event target object

I believe this is it

cell double click also would be good to add a DOMEvent object

I have the same issue. It would be better if there was a DOMEvent in the cell-click emit.


An error occurred in main() on attempt 1: invalid_grant error processing request

Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 1: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 2: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 3: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 4: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 5: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 6: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 7: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 8: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 9: invalid_grant error processing request
Logging into Reddit...
Log in success! Retrieving post info...
An error occurred in main() on attempt 10: invalid_grant error processing request
Attempted to upload 10 times with no luck... ending script.

make sure u have copied your "client_id" correctly , for it will have a "-" in front.
reddit_login = {
'client_id': '-yourclientid',
}


Add support for the Lua language

Hey there, I tried adding support for Lua but I have one test failure I can't make sense of yet.
The multi line comments test fails with
  1) parsing
       lua
         parse --[[ ]] comments:
     TypeError: Cannot read property 'tag' of undefined
      at verifyComment (tests/parser-spec.ts:26:12)
      at Context.<anonymous> (tests/parser-spec.ts:845:13)
      at processImmediate (internal/timers.js:456:21)

Thanks a lot @Stanzilla , you needed to implement the multi-line parsing, so I reused the defaultParser logic for that, and also made a nice abstraction along the way to add more parsers.
Currently leasot doesn't support inter-line TODOs/FIXMEs, so this:
-- some text TODO: this should be done isn't support, either on single-line or multi-line comments

Oh awesome, thank you!


Print objects as {..} with outcome printer #1002.

Also some other minor fixes regarding pub, pri and as.

Looks great.


fix: add branch pointer for submodule

Description
Fix some issue in running git submodule update commands where submodule ref is not found
Check the relevant boxes:

[x] Bug fix (nonbreaking change that fixes an issue)
[ ] New feature (nonbreaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI related update (pipeline, etc.)

Checklist

[ ] If relevant, a test for the change has been added or updated as part of this PR.
[ ] If relevant, documentation for the change has been added or updated as part of this PR.

Merge

Merge using "Squash and merge".
Make sure to use a relevant conventional commit message that is based on the PR contents. The commit message determines whether a new version of the modules needs to be released, and if so, which semver number to use).

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


Remove need for the shell alias

In your doc you mention that one needs to create an alias in order to make thefuck work.
Is there a reason why you did not implement it the way that thefuck directly launches the new command without echoing it back to the subshell? This way it would be easier to setup.

It seems like fish and bash both have the history command. The issue is that in fish the history is in reverse-chronological order, but in bash it's in chronological order. In bash it's prefixed with a number, in fish it's not. It requires detecting what shell you are using and testing with different shells. I don't think it's impossible. It's just harder.

Alias required because we can't get previous command from python script.
$(... $(...))  required for correct work of ncurses and strange-working-with-user-input apps.

I did not find any other way to get the last command neither. The current bash has the last command only in memory which does not seem to be easily accessible from the python script.
It should be easier to replace the outer subshell, making the python script call the fixed command.
However, when the alias is still needed it is irrelevant how complex it is. One could just make the installation easier. For example by deploying a config file below /etc/profile.d.

Closing this one for now.


Extend ssm backend

Extends the SSM backend with the ListCommands endpoint. Resolves #1602.

Coverage decreased (-0.06%) to 92.666% when pulling a0882316eca4aeaf9b833b97aa4838b509016373 on nimbis:extend-ssm-backend into fad439447481b10ebea43133ad67952d255491e9 on spulec:master.

@spulec Made the requested changes. Not sure why coverage went down though.

Awesome. Thanks for all your work on this and welcome to Moto!


Update doobie-core, doobie-h2, ... to 0.13.2

Updates

org.tpolecat:doobie-core
org.tpolecat:doobie-h2
org.tpolecat:doobie-refined

from 0.10.0 to 0.13.2.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (0.10.0).
You might want to review and update them manually.
project/plugins.sbt

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.tpolecat" } ]

labels: library-update, semver-minor, old-version-remains

Superseded by #273.


WIP refactor(DCOS_OSS-1036): Remove not in use breadcrumb code.

WIP (DCOS_OSS-1036) This commit removes the not in use code related to breadcrumb component and method.
Checklist

[x] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

run unit tests

Please also 🔥  outstanding Breadcrumbs-test.js so that tests are 🍏

@nLight @MatApple this PR is ready now.

Great work @weblancaster! Thank you so much for doing this.


What  is the best AWS EC2 type? - for 10k Concurrent SSL connection

Environment

OS: Ubuntu 16.04 LTS
Erlang/OTP:
EMQ: version 2.3.3

Description
1.  my purpose: 10k Concurrent connection with SSL

i tuned my ubuntu machine and emqtt config file based on  emqtt document (c4.xlarge EC2 instance type)

=> Question 1: is this suitable ec2 instance type for my purpose?

now i am testing for "10k Concurrent connection with SSL" with apache jmeter.
Question 2: What is the correct setting value for apache jmeter?

could you kindly provide your opinion? (the below images are my current setting value for apache jmeter)

Thank you!

Question 1: is this suitable ec2 instance type for my purpose?
A: It's enough for 10K SSL connections. It's better to deploy a LB to handle SSL offloading in the front of EMQ cluster in production.
Question 2: What is the correct setting value for apache jmeter?
A: Please check the mqtt-jmeter plugin.

Hello Feng Lee.
Thank you for your quickly feedback.
Question 1: is this suitable ec2 instance type for my purpose?
A: It's enough for 10K SSL connections. It's better to deploy a LB to handle SSL offloading in the front of EMQ cluster in production.
ð  Could you provide your cost policy for commercial support? (please consider the below my conditions)
n  Set up the Ubuntu machine on AWS with 10K SSL connections without any connection failure
n  Emqtt auto clustering with with a dns-name of AWS load balancer.
Best Regards,
Brian,Jang. (Director of incowiz)
From: Feng Lee<EMAIL_ADDRESS>Sent: Thursday, February 22, 2018 10:56 AM
To: emqtt/emqttd<EMAIL_ADDRESS>Cc: incowiz<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: [SPAM] Re: [emqtt/emqttd] What is the best AWS EC2 type? - for 10k Concurrent SSL connection (#1507)
Question 1: is this suitable ec2 instance type for my purpose?
A: It's enough for 10K SSL connections. It's better to deploy a LB to handle SSL offloading in the front of EMQ cluster in production.
Question 2: What is the correct setting value for apache jmeter?
A: Please check the mqtt-jmeter https://github.com/emqtt/mqtt-jmeter  plugin.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/emqtt/emqttd/issues/1507#issuecomment-367541430 , or mute the thread https://github.com/notifications/unsubscribe-auth/AXxq6BeqyZCvqh7Cq1zTd6tDp9NNyqCXks5tXMlJgaJpZM4SNMzK .  https://github.com/notifications/beacon/AXxq6Hpefxu23zPsXMm_sUVUahLXFFO_ks5tXMlJgaJpZM4SNMzK.gif

이 이메일은 Avast 안티바이러스 소프트웨어로 바이러스 검사를 완료했습니다.
https://www.avast.com/antivirus

@incowiz Sorry for the delay reply that I took biz trip these days. Please contact @zhengyupan for the commercial support plan.

@zhengyupan
Hello.
i would like to get some information for commercial support plan with below conditions:

Could you provide your cost policy for commercial support? (please consider the below my conditions)?
Set up the Ubuntu machine on AWS with 10K SSL connections without any connection failure
Emqtt auto clustering with with a dns-name of AWS load balancer.


Update for use with react native 0.26

Hello can u please change the code in index.js so the component uses
animationType
Prop instead of
animated
Prop
Thanks

Hi, I also believe Portal = require('react-native/Libraries/Portal/Portal.js'); has been deprecated.

I've sent a PR #12 to support RN0.26, remove the Portal dependency, and fix the animationType prop issue.

@rajkissu Thanks for the code!
I copied your code and also had the remove the rebound import from index.js.
A tip for other devs:
To make the sample work replace the imports with:
import React, { Component } from 'react';

import {
    View,
    TextInput,
    AppRegistry
} from 'react-native';

@d-a-n can you merge the PR?

@orhanmaden I believe you can just fork and make the changes on this fork while the author doesn't merge your PR, so people will be able to use your changes without wait for a new official version.

@ararog I don't fork and share code that I can't give support for in the future.
Feel free to fork, apply the fixed and share the repository. These are the steps involved:

Fork the code
Apply the PR of @rajkissu : https://github.com/d-a-n/react-native-modal-picker/pull/12/commits
Remove the rebound import from index.js

And off course share the link.

Yes, i know how to do it, and no, it isn't a solution for all problems, otherwise I would ask author write access in this repository, the idea is have this fork while the author cant apply any PR instead of wait the day when it happens, so for those that are in a rush please create a fork, do the changes and update the package.json file.

Sorry guys for the delay. Its merged now. @rajkissu Thanks again.


clarify the import is required

What type of PR is this?
/area simulator
/kind documentation

What this PR does / why we need it:
Just clarify import is required for nodenumber, which is obvious for those who know Golang well, but people might forget.
Which issue(s) this PR fixes:

ref #341
Special notes for your reviewer:
/label tide/merge-method-squash

/cc @utam0k

/lgtm


ImportError: cannot import name 'get_input' from 'audiostream' (unknown location)

I installed audiostream on my mac with python 3.9. When I try your example of recording from microphone at line
from audiostream import get_input
I get the error of:
ImportError: cannot import name 'get_input' from 'audiostream' (unknown location)
Any ideas?

👋 We use the issue tracker exclusively for bug reports and feature requests.
However, this issue appears to be a support request. Please use our   support channels            to get help with the project.
Let us know if this comment was made in error, and we'll be happy to reopen the issue.


Add generic config to applied spec and censor config

Problem:
On upgrade, get config would return an empty interface for the old config. Consequently, new config and old config would always fail comparison. This caused the provisioner to proceed unnecessarily and contribute to the update status.
Solution:
Set generic config for applied spec and spec in the cluster and censor both specs.
Issue:
https://github.com/rancher/rancher/issues/18352

LGTM


release: v.0.2.0

add html output
add codecov

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Update go version to 1.23

What this PR does / why we need it:
Update go version to 1.23. The e2e-test doc is also fixed.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Updated the go version to 1.23.

/retest-required

/test pull-dependency-watchdog-check-vulnerabilities

/test pull-dependency-watchdog-unit

/approve


Paint Extension Panel

Is your feature request related to a problem? Please describe.
Currently, there's no integrated painting extension panel within our application, which limits users' ability to create and edit images directly within the platform. Users often resort to external applications for basic image editing tasks, disrupting their workflow and causing inconvenience.
Describe the solution you'd like
Integrate a dedicated painting extension panel within the application, allowing users to create, edit, and manipulate images seamlessly without leaving the platform. This panel should include essential painting tools such as brushes, erasers, color selection, layers, and basic editing functions.
Describe alternatives you've considered
One alternative solution could be to provide integration with popular external painting applications. However, this may require additional licensing agreements and could still disrupt the user experience. Another option is to rely on third-party plugins, but this may lead to compatibility issues and dependency on external developers.
Additional context
Add any other context or screenshots about the feature request here.
Adding a painting extension panel will enhance the versatility and productivity of our application, empowering users to perform basic image editing tasks without switching between multiple applications. It will streamline the workflow and improve the overall user experience.
What problem is this feature trying to solve?
This feature aims to address the inconvenience faced by users when they need to perform basic image editing tasks within our application. By providing a dedicated painting extension panel, users can seamlessly create and edit images without relying on external applications.
How do we know when the feature is complete?
The feature will be considered complete when the painting extension panel is fully integrated into the application, providing users with essential painting tools and editing functions. Additionally, gathering feedback from users and monitoring usage metrics will help evaluate the effectiveness and completeness of the implemented feature.

@Sulagna-Dutta-Roy please assign this to me i am GSSOC'24 contributor with 2+ years of experience in development

@Sulagna-Dutta-Roy please Review this issue #636


[FLINK-17331] Explicitly get the ByteBuf length of all classes which …

…is written to NettyMessage

What is the purpose of the change
Explicitly get the ByteBuf length of all classes which is written to NettyMessage

cc @zhijiangW

cc @curcur Rebased to the latest master branch.

@KarmaGYZ , thanks for the PR.
I think the PR is quite safe to go, and I left a few minor comments.
Besides that, I have a few comments on the filed PR itself.

Maybe add a bit more detail the motivation of this change in the section of "What is the purpose of the change".
Would you please add a test for NettyMessage.java as well? No matter what, that's the main purpose of the change.

Thanks for the review, @curcur !
I've addressed your comments. Regarding the test, I think NettyMessageServerSideSerializationTest might be good enough as it covers the encoding and decoding logic for all the NettyMessages.

Thanks for the review, @curcur !
I've addressed your comments. Regarding the test, I think NettyMessageServerSideSerializationTest might be good enough as it covers the encoding and decoding logic for all the NettyMessages.

That' true, thanks for pointing.

Just one more thing: I think the description could be a bit more informative: something like this:
"""
Currently, the length of some header fields in NettyMessage is hardcoded: InputChannelID, ExecutionAttemptID, e.t.c.
So if we make some changes for such field, then we are not ware that it also needs to change the respective length for related netty messages component.
This PR explicitly get the ByteBuf length of all classes which is written to NettyMessage to avoid such problems.
"""


import cncf logos

Logos were added in https://github.com/cncf/artwork/commit/afa9eb2b9ff4b6cb7aee583d13585a162580a803
Fixes: kubereboot/kured#641
Signed-off-by: Daniel Holbach<EMAIL_ADDRESS>

The logo we used before had a white background itself, the ones from the CNCF designers all have transparent background. :-D


Custom APIServer SANs

Changes

Adds the ability to define custom SANs to the APIServer. Internally we found this incredibly useful when trying to roll changes to CIDRs inside of the cluster.

Codecov Report

Merging #1586 into master will increase coverage by 0.04%.
The diff coverage is 45.45%.

@@            Coverage Diff             @@
##           master    #1586      +/-   ##
==========================================
+ Coverage   25.86%   25.91%   +0.04%
==========================================
  Files          98       98
  Lines        5068     5067       -1
==========================================
+ Hits         1311     1313       +2
+ Misses       3610     3607       -3
  Partials      147      147

Impacted Files
Coverage Δ

pkg/api/cluster.go
0% <ø> (ø)
:arrow_up:

credential/generator.go
0% <0%> (ø)
:arrow_up:

pkg/model/credentials.go
61.76% <100%> (+2.38%)
: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 04c9aa5...3c7cfe1. Read the comment docs.

/lgtm

Thanks, this looks useful! 🙏


PMID:25102102

increased level of generation of precursor metabolites and energy gene RNA during vegetative growth
decreased level of nitrogen starvation gene RNA during vegetative growth
decreased pyruvate decarboxylase activity in stationary phase
decreased level of vitamin B1/thiamine in cell during stationary phase
increased oxygen consumption in stationary phase

new terms
generation of precursor metabolites and energy gene RNA during vegetative growth FYPO:0004896
decreased level of nitrogen starvation gene RNA during vegetative growth FYPO:0004897
abnormal pyruvate decarboxylase activity FYPO:0004898
decreased pyruvate decarboxylase activity during stationary phase FYPO:0004899
decreased cellular thiamine level during stationary phase FYPO:0004900
increased oxygen consumption during stationary phase FYPO:0004901
standardized on 'thiamine' in names and 'vitamin B1' in exact synonyms

edit file: efec7cd516c8799b2c97b8f32feb60b54f957b00
release: 19d729c9796e57e7f473149f79135db5f54c5999