does id3v2 work or doesn't id3v2 (commandline tool) nor iTunes get it right?

I'm confused since I found my mp3-tagger https://github.com/mro/internet-radio-recorder/tree/master/src/enclosure-tag-cmd actually doesn't write tags readable by iTunes nor http://id3v2.sourceforge.net.
I made a test over at https://github.com/mro/id3v2/commit/40e73bb7bf5c7a42d384becc8ba70a8d0e4da120 and would be super happy to hear what you think about it.
Cheers and happy 🐇

Thank for a bug report!
Actually I'm on my holidays (Easter in Germany) and I can't be with computer till monday (I'm writing from my iPhone). But I am testing every my commit as I use it by myself and it works for me. But are your tests passed? If not, please send me an output.

time sh run.sh

go version go1.8 darwin/amd64
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/mro/gopath~"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.8/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.8/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/j6/nrkx806n4pvg336kmncfncdh0000gn/T/go-build172985780=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
github.com/stretchr/testify (download)
github.com/bogem/id3v2/bwpool
github.com/bogem/id3v2/util
github.com/bogem/id3v2/rdpool
github.com/bogem/id3v2
=== RUN   TestParseHeader
--- PASS: TestParseHeader (0.00s)
=== RUN   TestWriteTagHeader
--- PASS: TestWriteTagHeader (0.00s)
=== RUN   TestUnmodified
--- PASS: TestUnmodified (0.13s)
=== RUN   TestSetArtist
--- PASS: TestSetArtist (0.24s)
=== RUN   TestSetFull
--- PASS: TestSetFull (0.23s)
=== RUN   TestParseInvalidFrameSize
--- PASS: TestParseInvalidFrameSize (0.00s)
=== RUN   TestParse
--- PASS: TestParse (0.11s)
=== RUN   TestSequenceCacheUpdate
--- PASS: TestSequenceCacheUpdate (0.00s)
=== RUN   TestSequenceCommentFramesUniqueness
--- PASS: TestSequenceCommentFramesUniqueness (0.00s)
=== RUN   TestSequencePictureFramesUniqueness
--- PASS: TestSequencePictureFramesUniqueness (0.00s)
=== RUN   TestSequenceUSLFsUniqueness
--- PASS: TestSequenceUSLFsUniqueness (0.00s)
=== RUN   TestCountLenSize
--- PASS: TestCountLenSize (0.00s)
=== RUN   TestIntegrityOfMusicAtTheBeginning
--- PASS: TestIntegrityOfMusicAtTheBeginning (0.00s)
=== RUN   TestIntegrityOfMusicAtTheEnd
--- PASS: TestIntegrityOfMusicAtTheEnd (0.06s)
=== RUN   TestCheckPermissions
--- PASS: TestCheckPermissions (0.05s)
=== RUN   TestBlankID
--- PASS: TestBlankID (0.07s)
PASS
ok  	github.com/bogem/id3v2	0.960s
?   	github.com/bogem/id3v2/bwpool	[no test files]
?   	github.com/bogem/id3v2/rdpool	[no test files]
=== RUN   TestReadTillDelim
--- PASS: TestReadTillDelim (0.00s)
=== RUN   TestReadTillZero
--- PASS: TestReadTillZero (0.00s)
=== RUN   TestNext
--- PASS: TestNext (0.00s)
=== RUN   TestReadTillDelimEOF
--- PASS: TestReadTillDelimEOF (0.00s)
=== RUN   TestReadTillDelims
--- PASS: TestReadTillDelims (0.00s)
=== RUN   TestParseSize
--- PASS: TestParseSize (0.00s)
=== RUN   TestFormSize
--- PASS: TestFormSize (0.00s)
PASS
ok  	github.com/bogem/id3v2/util	0.006s
code: 0
id3v1 tag info for /Users/mro/gopath~/src/github.com/bogem/id3v2/testdata/tmp.mp3:
Title  : love letters drenched in gasol  Artist: suicide, part 2
Album  :                                 Year: 2015, Genre: Unknown (255)
Comment:                                 Track: 0
/Users/mro/gopath~/src/github.com/bogem/id3v2/testdata/tmp.mp3: No ID3v2 tag

real	0m10.945s
user	0m2.606s
sys	0m1.047s

Thank you for waiting and happy easter!
Actually I can't reproduce the problem.
I've executed run.sh and iTunes can see the tag correctly:

But the behaviour of id3v2 cli tool is mystical for me:

It reads the tag (as you can see in your output, id3v2 cli shows title, artist and year), but it considers what the tag is id3v1. id3v2 library can't physically (there is no code) set v1 tags so I don't know, where it found this information.

Surprising is, that tmp.mp3 created by TestSetFull shows no trace of changed tags at all.

The tag is changed as you can see in my screenshots, but id3v2 cli very-very-very surprisingly for me finds completely another tag info, that even isn't set in the file. If you open the file with any hex editor (e.g. Hex Fiend) and try to find plain words "part 2" or "love letters", you will be excited, what there are no matches. So I don't know where id3v2 cli finds this information.

I deleted the id3v1 tag. Update id3v2 package and try to run tests one more time. The output will be more understandable.

wow, just tested f8f96eee26ed and works like a charm! 🐳

hngrr, I was too fast confirming the fix. I think https://github.com/mro/id3v2/commit/eeebfe5df3fb6c4f7d11ea0f8e4c17e13f90b538 shows some issues when using a bigger mp3 (see inside run.sh, line 5):

COMM leaks into the end of the lyrics (iTunes)
the artwork doesn't show (iTunes)

Am curious what you think.

I confirm, what artwork can't be read by any tag reader (including id3v2 lib), although it's successfully written in file. I don't know why it happens, but I will figure out soon.
But I can't understand 1. and 3. points. COMM frame works as expect. And I also don't see any TENC in any mp3.

oh, yes, sorry, you're right - the testcase provided doesn't leak COMM into lyrics but lyrics get lost altogether. Nor does it show the sticky TENC. So I'll have to re-investigate and provide a sample in case. May take a few days.

At first, I see, what you use "de" as language. You should choose a three-letters language code from ISO 639-2 code list ("ger" for german language). I should write it clearer in documentation

Temporary solution:

Use three-letters language code from as said in previous comment.
Set tag version to 4 (tag.SetVersion(4))

iTunes will see the attached picture.
Why it doesn't work with version 3, I will figure out later.

id3v2.3 doesn't support the UTF-8 encoding, that's why iTunes doesn't understand UTF-8 encoding symbol and doesn't read some frames. But how does it read other text frames, like artist, title and etc, although they also use UTF-8 encoding symbol?

maybe the meaning of bytes isn't defined by id3 at all – so it may be either ascii or utf-8 or anything else as long as writer and consumer agree. But once the lib calculates lengths, it may be fooled by 2, 3 or even more bytes per utf-8 glyph. What may cause the leak I think to have seen once.

http://id3.org/id3v2.4.0-changes?highlight=(utf)

http://id3.org/iTunes?highlight=(utf)

But once the lib calculates lengths, it may be fooled by 2, 3 or even more bytes per utf-8 glyph.

No, it's not the reason of this problem. id3v2 lib calculates length as len(text) and len function counts bytes in text.

The problem is, what there is no good encoding converter for Golang. The only option is github.com/djimenez/iconv-go, but it just C bindings to iconv library. I could integrate it to id3v2 library and automatically convert encodings by parsing and writing, but I don't want to make library complex. If user needs other encoding, he/she should converts encodings manually.

ic, doing the encoding isn't necessarily task for this lib here, maybe just point the requirements out in either the docs or the names (FooBarUTF16LE)?
And having v4 at hand for UTF8 is fine for me.

Thanks a lot for this nice lib, your help and your kindness.

maybe just point the requirements out in either the docs or the names (FooBarUTF16LE)?

Actually I have no idea, how I should handle this issue now. So I just decided to wait for issue from users, who really needs other encodings.
You're always welcome! Thank you for your bug reports! I'm always glad to help with problems of id3v2 :)


Allow topchannels in private messages

Sometimes I want to peek at the topchannels list privately, or recommend that newcomers do so. It's a useful command, but can be a bit spammy in public channels. A private option seems handy.

Looks good to me 👍

@bbelderbos

@ajkerrigan thanks, so we want this as additional option, right? Not prohibit the public command?

Yes @bbelderbos, I think it's useful both publicly and privately at different times.


[Feature Request] Change the icon to include a checkmark on a bookmarked page

Hi everyone,
At the moment, when visiting a bookmarked page with Raindrop, I have to click on the "cloud icon" of Raindrop and look for the Saved button to know if this page was bookmarked before.
It will be better if when visiting this page, the cloud icon turns into something else (such as with a checkmark, with the sunshine, or just different color) so that we know immediately that the page was bookmarked before.
Is this a good idea?

it could

like this .
just need to open the miniapp ,in the setting to ask rights to visit the web date right for every site

it could  like this .
just need to open the miniapp ,in the setting to ask rights to visit the web date right for every site
I don't know why it not ask after the initial instelled, and if you forgot to give the right ,it hide very deep to set it. Even in the Chrome setting it could not open，must in the miniapp to ask

Thanks a lot, I didn't realize that this feature exists


Add iframing of project-level config maps

Addresses #4571

LGTM
Tested with these steps:

Go to Global Settings and click Feature Flags
Go to legacy and click ⋮ > Activate
Go to cluster explorer and go to Legacy > Project
In the top nav bar, filter to see only one project
In the left nav bar, click Config Maps under Project
Click Add Config Map
Create Config Map with random key and value
Confirm it is successfully created under Project > Config Maps and under More Resources > Core > ConfigMaps

There's an inconsistency between "ConfigMaps" in dashboard and "Config Maps" in iFramed Ember, but it was all over Ember with a space so I'd say leave it.


Incorporate IntendedFor in field map writeups.

Look for an IntendedFor field in the field map jsons.
If the field exists, extract metadata for each of the scans listed.
Incorporate the scan type, task (if functional), and run into the writeup.

Probably will want to convert run number (e.g., 1) to ordinal (e.g., first) for writeup.

First attempt added in 77036ca935ff8548d8d1432bd01c37e87a7524f3. I'm not sure the output is pretty enough though.


Show both Update and Version on the Missing Updates tab

Updating this after having looked around a bit more in SLM.
I notice that in the Library, there is the Update and Version column, with values such as 131072 and 1.0.2 respectively. However in the Missing Updates tab, it only exposes the Local and Available version, both of which have values such as 1310720 and 1638400.
My request would be twofold:

In Missing Updates, expose the Version number (e.g. 1.0.2) in a new column even if just for the local version to aid in determining what's missing or not. If the Available Version can also have that number, all the better, but I suspect that's not possible?
Rename fields for consistency: In Library "Update" is the 131072 number and "Version" is the 1.0.2 number, while in Missing Updates it uses Local/Available Version for the 131072 numbers

Edit: Original below
I'm not sure the actual terminology here, but in the Switch Library Manager, the updates are of the form 458752, 524288, 65536, etc... however often publicly they are listed as 1.0.2, v<IP_ADDRESS>4, etc...
Is there anyway to show both or the option to show the latter? It can be difficult to tell the relationship between the two.

what i understand regarding the version numbers are that they are not always the same, and maybe up to the develops to set?
because with how it works now is that the string ex "1.2.0" is fetch from the nsp/xci file and not the titles/version.json file as this information does not exist in these files.
so in the way SLM works with these values today, the version string "1.2.0" isnt available for the missing updates tab.
if you can find a source that for example mean update 65536 is always equal "1.1.0" we can add a translation table for this, otherwise i would say it not possible currently

That makes sense, and from my searching I couldn't find a database to cross list. However, for the Missing Updates, wouldn't it be possible to get the VERSION_TXT displayed in another column? I presume you're pulling the version from the local file and it should just be a variable in there to be pulled?

you mean to display the "old" version of the existing files? should be possible as it is displayed in the library tab
but will this solve anything? as both the local and new versions are being displayed in the missing updates tab, adding this value will just add something that is not comparable to anything, or i'm understanding this wrong?

So, my use case is that I'll go to the MISSING UPDATES and see the number 1638400 for instance, and trying to determine if the update I'm downloading is that, as when I'm downloading it, I only see 1.3.0 or whatever. I realize I could go to the LIBRARY and see whatever the version is that's local, but by seeing it on the Missing Updates would help.
Here's a mockup of what I'm envisioning (just grabbed some of the update versions from the LIBRARY as random example, not real numbers)

For my sake, the above would make my life easier. But if this adds complexity/confusion, totally get it and don't want to try to ask for something that's just going to make it worse for everyone else.
I do see that a number of games, even with updates, have the Version in LIBRARY as blank, so I presume there's no direct 65336 = 1.0.2 (or something).

i understand, will see what a good solution can be for this, maybe just to add it with an option to hide it

I appreciate it! Thank you! If it's too much, no worries. The tool is fantastically useful and it's great you're maintaining and improving it so much.


Fix compatibility with 11ty 1.0

Fix for #5

Avoid using removed internal _config
Use this.outputPath on addTransform if deprecated 2nd arg missing

No tests but have manually verified compatible with @11ty/eleventy 1.0.0 and 0.12.1

Hi John, thanks for the pull request, I'll take a look later today!

Hi @gregives any news on this? Let me know if you have any concerns, thanks.


Fix time bug while mode test

Pull Request Test Coverage Report for Build 135

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

Totals

Change from base Build 134:
0.0%

Covered Lines:
422

Relevant Lines:
425

💛  - Coveralls


build(ide): add tsconfig.json for JetBrains IDEs

Issue or need
If installing Cypress deps (projects/ngx-meta/e2e), JetBrains IDEs like WebStorm use Mocha/Chai types for unit tests.
See https://youtrack.jetbrains.com/issue/WEB-68686/IntelliJ-IDEA-2024.2-TS2339-Property-toBeTruthy-does-not-exist-on-type-Assertion
However this can be fixed if providing a tsconfig.json pointing to Angular's tsconfig.lib|spec.json files
https://youtrack.jetbrains.com/issue/WEB-68998/Paths-from-tsconfig.app.json-are-ignored#focus=Comments-27-10762562.0-0

Proposed changes
Add a tsconfig.json referring to tsconfig.spec|lib.json. This way, JetBrains IDEs will use proper types for unit tests.

Quick reminders

🤝 I will follow Code of Conduct
✅ No existing pull request already does almost same changes
👁 Contributing docs are something I've taken a look at
📝 Commit messages convention has been followed
💬 TSDoc comments have been added or updated indicating API visibility if API surface has changed.
🧪 Tests have been added if needed. For instance, if adding new features or fixing a bug. Or removed if removing features.
⚙ API Report has been updated if API surface is altered.

#954  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


Added the github username

plz merge it

Follow the contribution.md file before putting any unnecessary PR.


TLS Server Name

I'm not sure if this is tracked elsewhere but couldn't find anything so I thought I'd open an issue.
A change to the Kubernetes name resolution component was recently made to support config to set the cluster domain in Kubernetes name resolution:
// ResolveID resolves name to address in Kubernetes.
func (k *resolver) ResolveID(req nameresolution.ResolveRequest) (string, error) {
	// Dapr requires this formatting for Kubernetes services
	return fmt.Sprintf("%s-dapr.%s.svc.%s:%d", req.ID, req.Namespace, k.clusterDomain, req.Port), nil
}

As far as I can tell, before we bump the components-contrib version we'll need to update the way we currently construct the TLS configs for client and server too as this lives in the runtime/sentry.
Client TLS Server Name:
var serverName string
if id != "cluster.local" {
	serverName = fmt.Sprintf("%s.%s.svc.cluster.local", id, namespace) <---
}

// nolint:gosec
ta := credentials.NewTLS(&tls.Config{
	ServerName:   serverName,
	Certificates: []tls.Certificate{cert},
	RootCAs:      signedCert.TrustChain,
})

Server TLS Server Name:
rv := []asn1.RawValue{
	{
		Bytes: []byte(spiffeID),
		Class: asn1.ClassContextSpecific,
		Tag:   asn1.TagOID,
	},
	{
		Bytes: []byte(fmt.Sprintf("%s.%s.svc.cluster.local", subject, identityBundle.Namespace)), <---
		Class: asn1.ClassContextSpecific,
		Tag:   2,
	},
}

By the looks of it our mTLS configs are only really setup for working with Kubernetes domain names. Rather than making a change to merely add the clusterDomain to our TLS configs I think we might be able to make a better change. As, Sentry complies with the SPIFFE spec, which means it includes the SPIFFE id as a SAN entry on the certificate for the internal gRPC server. Rather than relying on the specific platform host name (in this case Kubernetes), we can instead change the client to set the expected server name to be the SPIFFE id (or atleast the domain in the id) of the destination Dapr app. This might then allow the TLS server name verification to pass whilst not binding our calling code to a specific platform implementation. This would make Dapr's service invocation work across platform as long as the certificates were trusted (common root CA) and SPIFFE compliant. I will investigate this soon and report back.

Got a little time to investigate the SPIFFE angle more today - looks like the SAN entry for SPIFFE is just a URI and not a DNS so it won't work as a valid server name and it looks like this isn't a valid use case for the SVID so I'll park that and look at alternative ways to support cross platform certificate host names.
X509v3 Subject Alternative Name: critical
URI:spiffe://public/ns/default/nodeapp, DNS:nodeapp.default.svc.cluster.local

@jjcollinge Does this issue need to be reopen after your assessment on May 14th?

@artursouza the crux of this issue is the question, does keeping the certificate subjects as cluster.local regardless of the actual hostname cause any problems or expose us to any more risk. As we are talking about the certificates used in the mTLS handshake between 2 Dapr instances I don't believe it currently does - as long as they have a common root of trust then they don't really care what the hostname is. If there was a situation where we might want to allow an external client to talk to the internal API then we might need to reconsider this but I think this is ok to keep closed unless anyone can think of a reason this might cause issues.


Update to latest Docker Compose

Hello,
First of all, great work! Please keep it up.
I'd like to ask if there are any known incompatibilities regarding the latest Docker Compose version (currently 1.11.2). I know that compose format has reached v3 with some options removed.
Could these cause us a problem with Vagrant?

@lephleg: Would you like to try it with compose version 1.11.2 by using the compose_version parameter? If it works we can bump that up to the latest version, otherwise we can look at updating to the new compose version.

@leighmcculloch / @lephleg For us 1.11.2 seems to work. All containers up and running.

@das-peter Great news! @leighmcculloch I didnt have any issues either, so I think we could set 1.11.2 as the default version.

@das-peter: Thanks for confirming!
The latest version of the plugin (1.3.0) defaults to docker-compose 1.11.2.


Config empty after save in browser

I made some changes in the config via browser and the whole config is empty now. nothing in logs :(

Did you happen to change the port? What version of Double Take are you on?

Closing, feel free to reopen if you still experience this issue.


rustup, adjust error messages

@bors r+

:pushpin: Commit 1a704a517a46c84ca6d347b863ea12173f55b8ec has been approved by RalfJung

:hourglass: Testing commit 1a704a517a46c84ca6d347b863ea12173f55b8ec with merge 04f235d555844de44b8035dbb8af5dda48c5687d...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 04f235d555844de44b8035dbb8af5dda48c5687d to master...


Use actual pup brew formula

This remote URL brew install was added to the README way back in acad6bb01c, and the formula was mainlined later, in https://github.com/Homebrew/homebrew-core/commit/687ba6f4ab8ead79c5937a80062d63c69e661f4f. Let's just use the real formula now – mostly so it's cleaner, but also so that Homebrew maintainers can issue build fixes independently of this repo :)
Install succeeds:
$ brew install pup
==> Downloading https://ghcr.io/v2/homebrew/core/pup/manifests/0.4.0-2
==> Downloading https://ghcr.io/v2/homebrew/core/pup/blobs/sha256:b6854a47afc836d12ed5447f9d285484e200f0d4350411f5aac7bf5e30f33a07
==> Pouring pup--0.4.0.arm64_monterey.bottle.2.tar.gz
🍺  /opt/homebrew/Cellar/pup/0.4.0: 5 files, 3.7MB
==> Running `brew cleanup pup`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

$ pup --version
0.4.0

(ps big fan of this tool! thanks much!)

Dupe of #116


Will not install under macOS (Python 3.8)

$ pip3 install libpy
Collecting libpy
  Using cached libpy-0.2.3.tar.gz (177 kB)
Collecting numpy
  Downloading numpy-1.19.0-cp38-cp38-macosx_10_9_x86_64.whl (15.3 MB)
     |████████████████████████████████| 15.3 MB 1.8 MB/s
Using legacy setup.py install for libpy, since package 'wheel' is not installed.
Installing collected packages: numpy, libpy
    Running setup.py install for libpy ... error
    ERROR: Command errored out with exit status 1:
     command: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/setup.py'"'"'; __file__='"'"'/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-record-ndq50v_2/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/libpy
         cwd: /private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/
    Complete output (95 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/libpy
    copying libpy/build.py -> build/lib/libpy
    copying libpy/__init__.py -> build/lib/libpy
    creating build/lib/libpy/include
    creating build/lib/libpy/include/libpy
    copying libpy/include/libpy/autofunction.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/borrowed_ref.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/range.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/numpy_utils.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/call_function.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/itertools.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/devirtualize.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/demangle.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/scope_guard.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/gil.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/to_object.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/any_vector.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/stream.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/char_sequence.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/dict_range.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/build_tuple.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/str_convert.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/table_details.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/buffer.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/datetime64.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/getattr.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/owned_ref.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/util.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/table.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/automodule.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/from_object.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/abi.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/meta.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/object_map_key.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/exception.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/any.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/hash.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/autoclass.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/singletons.h -> build/lib/libpy/include/libpy
    copying libpy/include/libpy/ndarray_view.h -> build/lib/libpy/include/libpy
    creating build/lib/libpy/include/libpy/detail
    copying libpy/include/libpy/detail/numpy.h -> build/lib/libpy/include/libpy/detail
    copying libpy/include/libpy/detail/autoclass_object.h -> build/lib/libpy/include/libpy/detail
    copying libpy/include/libpy/detail/no_destruct_wrapper.h -> build/lib/libpy/include/libpy/detail
    copying libpy/include/libpy/detail/api.h -> build/lib/libpy/include/libpy/detail
    copying libpy/include/libpy/detail/autoclass_cache.h -> build/lib/libpy/include/libpy/detail
    copying libpy/include/libpy/detail/python.h -> build/lib/libpy/include/libpy/detail
    copying libpy/_build-and-run -> build/lib/libpy
    copying libpy/_detect-compiler.cc -> build/lib/libpy
    c++ -std=gnu++17 -g -O3 -fwrapv -fno-strict-aliasing -pipe -march=x86-64 -mtune=generic -fvisibility=hidden -Werror -Wall -Wextra -Wno-register -Wno-missing-field-initializers -Wsign-compare -Wparentheses -Wno-gnu-string-literal-operator-template -Wno-missing-braces -Wno-self-assign-overloaded -DPY_MAJOR_VERSION=2 -DPY_MINOR_VERSION=7 -DLIBPY_MAJOR_VERSION=0 -DLIBPY_MINOR_VERSION=2 -DLIBPY_MICRO_VERSION=3 -ferror-limit=5 -flto  -Iinclude/  -I/Library/Frameworks/Python.framework/Versions/2.7/include  -I/Library/Frameworks/Python.framework/Versions/2.7/include  -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7  -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7  -I/Users/lemire/Library/Python/2.7/lib/python/site-packages/numpy/core/include -MD -fPIC -c src/abi.cc -o src/abi.o
    In file included from src/abi.cc:1:
    In file included from include/libpy/abi.h:4:
    In file included from include/libpy/exception.h:13:
    include/libpy/util.h:58:12: error: use of undeclared identifier 'PyUnicode_AsUTF8'
        return PyUnicode_AsUTF8(ob.get());
               ^
    include/libpy/util.h:71:10: error: use of undeclared identifier 'PyUnicode_AsUTF8AndSize'
        cs = PyUnicode_AsUTF8AndSize(ob.get(), &size);
             ^
    2 errors generated.
    make: *** [src/abi.o] Error 1
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/setup.py", line 49, in <module>
        setup(
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/__init__.py", line 144, in setup
        return distutils.core.setup(**attrs)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/setup.py", line 36, in run
        raise BuildFailed(
    __main__.BuildFailed: Command 'make -C "/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy" libpy/libpy.so' failed with code 512
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/setup.py'"'"'; __file__='"'"'/private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-install-_7wi4bps/libpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/y8/nl_pprtd12x78vqkv3px0bp40000gn/T/pip-record-ndq50v_2/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8/libpy Check the logs for full command output.

Same as https://github.com/quantopian/libpy/issues/191#issuecomment-659483418.
Could you please check the output of which python and python --version in your environment? Depending on how your environments are configured, you may need to run PYTHON=python3 pip3 install libpy .

PYTHON=python3 pip3 install libpy solves the issue.


After upgrading to flutter 2.0, pie chart is not displayed

After upgrading to flutter 2.0, pie chart is not displayed
It was working previously with this code. (with some computation in abstraction)
           PieChart(
                  PieChartData(
                    borderData: FlBorderData(show: false),
                    sections: FlChartUtils.getPieChartData(
                        activityDistribution, "KM"),
                    centerSpaceRadius: 0,
                    sectionsSpace: 2,
                  ),
                )

flutter: 2.0 stable
fl_chart: ^0.12.2
Is there anything that I am missing or it has to do with some changes in flutter?

My pie charts are rendered after upgrading to Flutter 2.0, but now they're on top of each other. This happens on both iOS and Android.

Guys if you don't provide me a reproducible code (As I mentioned in the issues guideline) I cannot test it.
I need a full reproducible code that contains a main() function and other stuff to run.
Thanks!

Reproduceable code:
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: HomePage());
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final _scrollViewController = ScrollController(initialScrollOffset: 0.0);

  @override
  void dispose() {
    _scrollViewController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    List<Widget> _buildAppBar(BuildContext context, bool isScrolled) {
      return <Widget>[SliverAppBar(title: Text('Test'), floating: true, pinned: false, snap: false)];
    }

    Widget buildBody() {
      return SingleChildScrollView(
        child: Padding(
          padding: EdgeInsetsDirectional.only(start: 5, end: 5, top: 5, bottom: 5),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [SizedBox(child: DonutChartAllTime(), height: 250)],
          ),
        ),
      );
    }

    return NestedScrollView(
      controller: _scrollViewController,
      floatHeaderSlivers: true,
      headerSliverBuilder: _buildAppBar,
      body: buildBody(),
    );
  }
}

class DonutChartAllTime extends StatefulWidget {
  @override
  _DonutChartAllTimeState createState() => _DonutChartAllTimeState();
}

class _DonutChartAllTimeState extends State<DonutChartAllTime> {
  List<DonutPieChartData> chartData;
  double _pieRadius = 40.0;
  double _chartHeight = 80;
  double _centerRadius = 0.0;
  double centerRadius = 50;
  double _totalAmount = 0.0;
  int _touchedIndex;

  @override
  void initState() {
    super.initState();
    chartData = _generateData();

    if (chartData.isNotEmpty) {
      chartData.forEach((element) {
        _totalAmount += element.value ?? 0.0;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Card(
      child: Padding(
        padding: EdgeInsets.all(10),
        child: LayoutBuilder(builder: (context, constraints) {
          _chartHeight = constraints.maxHeight == double.infinity ? 200.0 : constraints.maxHeight;
          _centerRadius = (_chartHeight / 2) * centerRadius / 100;
          _pieRadius = (_chartHeight / 2) - _centerRadius;

          return SizedBox(
            child: Row(
              crossAxisAlignment: CrossAxisAlignment.end,
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Flexible(
                    child: PieChart(
                      PieChartData(
                        pieTouchData: PieTouchData(touchCallback: (pieTouchResponse) {
                          setState(() {
                            if (pieTouchResponse.touchInput is FlLongPressEnd || pieTouchResponse.touchInput is FlPanEnd) {
                              _touchedIndex = -1;
                            } else {
                              _touchedIndex = pieTouchResponse.touchedSectionIndex;
                            }
                          });
                        }),
                        borderData: FlBorderData(show: false),
                        centerSpaceRadius: _centerRadius,
                        startDegreeOffset: 270,
                        sections: _buildPieSlices(),
                      ),
                    ),
                    flex: 2),
                SizedBox(width: 10),
                //Flexible(child: _buildLegend(), flex: 1),
              ],
            ),
          );
        }),
      ),
    );
  }

  List<PieChartSectionData> _buildPieSlices() {
    return chartData
        .asMap()
        .map(
          (index, it) {
            final isTouched = index == _touchedIndex;
            final _titleStyle = isTouched
                ? Theme.of(context).textTheme.headline6.copyWith(fontSize: 13)
                : Theme.of(context).textTheme.headline6;
            final radius = isTouched ? _pieRadius * 1.2 : _pieRadius;

            return MapEntry(
              index,
              PieChartSectionData(
                color: it.color,
                value: it.value / _totalAmount * 100,
                title: it.value.toString(),
                showTitle: true,
                radius: radius,
                titleStyle: _titleStyle,
              ),
            );
          },
        )
        .values
        .toList(growable: false);
  }

  List<DonutPieChartData> _generateData() {
    var _pieData = <DonutPieChartData>[
      DonutPieChartData(value: 10, legendText: 'A', color: Colors.green),
      DonutPieChartData(value: 30, legendText: 'B', color: Colors.blue),
      DonutPieChartData(value: 50, legendText: 'C', color: Colors.orange),
    ];

    return _pieData;
  }
}

class DonutPieChartData {
  final double value;
  final String legendText;
  Color color;

  DonutPieChartData({
    @required double value,
    @required String legendText,
    @required Color color,
  })  : value = value ?? 0.0,
        legendText = legendText ?? '',
        color = color ?? Colors.white;
}

To be frank Pie chart has become unstable after v0.12.1, there is a chance exception was fixed after PR #535 but it introduced new bugs. Don't think there is any issue in Flutter since it works just fine with Flutter 2.0.1 and fl_chart: 0.12.0

Please checkout this stackoverflow question/answer:
https://stackoverflow.com/questions/65970061/flutter-web-unsupported-operation-nan-error-for-canvas-in-card-widget
To sum it up, the pie chart doesn't work by default in web due to a error Unsupported operation: NaN or in my case, Unsupported operation: NaN.ceil(). It causes a complete web app crash causing a reload of the page.
The fix (for web at least) is to build using --web-renderer canvaskit then the issue is resolved, although this build method comes with a larger build and slower loading times.
Somebody please @ me if there is a solution better than a canvaskit build.

Hi, at the moment, we have changed our draw approach. Now we use RenderObjects for drawing, sizing, and touches. (previously, we used CustomPainter).
RenderObjects is more stable and error-prone. Please check this issue with our new release 0.30.0. Let me know whether it has been fixed or not.

Great!

Its not working for me in 0.36.3
flutter version: 2.2.3
Im getting error: Unsupported operation: NaN.ceil()
My Code:
PieChartData _getData(GenderMetric genderMetric) => PieChartData(
        sections: List.generate(
          3,
          (index) => PieChartSectionData(
            value: 33.33, //_getValue(index),
            title: _getTitle(index),
            titlePositionPercentageOffset: 1.5,
            titleStyle: TextStyle(color: Colors.black),
            color: _getColor(index),
            radius: 50,
            badgeWidget: Text(_getValue(index).toStringAsFixed(2)),
          ),
        ),
      );

I used fl_chart version 0.36.4. The PieChart Widget cannot be rendered on the branch of the flutter SDK version flutter-2.5-candidate.9. The stable branch of the flutter SDK version is normal, and once the PieChart Widget is used on the branch of the flutter-2.5-candidate.9, the Widget in the whole dart file cannot be rendered


Grobid Training with new data

Good morning;
I am currently trying to train Grobid (the latest version, 0.7.3) on new data for generating my own model.
As far as i have understood, it is not possible to use my own annotated files, so  I have converted my PDF documents using the grobid batch mode to generate new training data but i wanted to modify them according to my own gold standard, which has slightly different tags, e.g. <biblStruct> instead of <bibl>, and a different hierarchy for the reference itself, e.g the authors are contained in an <analytic> or <monogr> tag and divided in <persName>, which contain <surname> and <forename>, and the date and other bibliographic information are contianed in an <imprint> tag. I have tried to modify the automatically generated training data and put them in the corpus folder, but when I have launched the training, it didn't found training data.
Am i doing something wrong?

Thank you for the answer.
I have now another problem. I'm trying to run this command
java -Xmx4G -Djava.library.path=grobid-home/lib/lin-64:grobid-home/lib/lin-64/jep -jar grobid-core/build/libs/grobid-core-0.7.3-onejar.jar -gH grobid-home -dIn /path/to/input/directory -dOut /path/to/output/directory -exe createTraining
but i get this error
 Error: Unable to access jarfile grobid-core/build/libs/grobid-core-0.7.3-onejar.jar
I checked the hierarchy of the folder and actually in the 0.7.3 github folder I have downloaded there is no build subfolder inside grobid-core, and i cannot find the jar file needed.

Hi @olgagolgan
Did you build the project to create this jar? See https://grobid.readthedocs.io/en/latest/Install-Grobid/#build-grobid
Alternatively you can use the docker image, connect to the container and run the command line inside the container.

i will try to reinstall everything from scratch

heh @olgagolgan  did it work for you after re-starting everything from scratch?


Ignore missing keys in fact

If it happens that key given in condition is not actually present in fact, then current version would fail by throwing that Cannot read property key of undefined. Instead it should ignore that key and comparison should happen with undefined.

Fixed in v1.1.3 release


ADM-857: [backend] test: test

Summary
...
Before
Description
Screenshots
If applicable, add screenshots to help explain behavior of your code.
After
Description
Screenshots
If applicable, add screenshots to help explain behavior of your code.
Note
Null

just test


Added note about Tasks app name to manage-tasks-app.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/5926.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@LanaChin PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


ARTEMIS-4020 Upgrade command to help move an instance to a different version

I will convert this to a draft.. and I will propose a new ./artemis upgrade command that will take care of this.

I will leave this branch sleeping for a few days.. I will handle other tasks.. and I will come back to this by the end of this week.

After talking to @gemmellr we are going to make an ./artemis upgrade tool instead

I will update this to search and replace items... I will need a day or so to finish it.

@TheCycoONE I have fixed all your comments.. the only one missing thing is the recasting of the instance that I will stop doing (unless requested which would allow me to test with older broker files). (see activemq-artemis/tests/smoke-tests/src/main/resources/servers/toUpgradeTest)

I'm finishing the tests... right now it's failing.. I will have some minor adjustments to do tomorrow.. but this is almost done.

this should be ready to merge


Add HMC with trajectory sampling

See https://arxiv.org/abs/1701.02434 page 40. Choosing a sample from the entire trajectory supposedly is more efficient in terms of ESS/gradient evaluation.

Closely related to #14. closing.


Flaky DiskFileService integration test

Sometimes fails on Windows 64/32 https://github.com/Microsoft/vscode/commit/652bf59b22f48056b2088b8d3f0be1ced5739ab6

The watch tests only run on Linux now.


fenced codeblocks

Use more features from https://dvc.org/doc/contributing/docs, e.g. fenced code block lang usage & dvc/cml.

I think these should be in the engine now? Cc @iterative/websites

Yep, they're in the engine, and I see examples of  ```cli and  ```usage throughout the cml.dev repo. I think this issue is handled any way you look at it.


Will account viewer support SEP-0007?

It'd be really nice if we could link to account viewer following SEP-0007 to automatically fill in fields.

We don't have immediate plans to implement this, so I'm going to close this issue out.


consul/kv.tmpl: weight default value should be a int

Fix #821
Use 0 as default weight in all backends
Note: Not tested..

Forgot to update some tests.. kv_test.go, kubernetes_test.go and docker_test.go I think..

Hey @klausenbusk,
thanks a lot for your contribution :-)
Before we can move any further, a rebase is needed.
Thanks a lot!

Rebase done.

And another one please :( @klausenbusk

Hmm, I clicked the update branch button, which merged the last "v1.1".
Is that okay? or you want a "proper" rebase?

Please rebase your branch "properly" so that's it's only 1 commit (without the merge stuff ;)). It would just blow our history :) Thanks @klausenbusk

Why can't Github do that :)
I need to get home first then ~ 2 hours..

Done I also changed the kv_test.go to use weight 0. Not that it matters.

Ping @containous/traefik

Needs a rebase to be just one Commit I guess?
Besides LGTM


Document how to bring up a development setup using containers

Hi,
Can you please document how to bring up a development setup using containers?
Thanks,
Itzik

Hi Itzik,
I have added the description of dev env to the bareos_roles pull request under dev_env.md file.
Thanks,
Maxim.


Should we notify Brave users that some safe-apps might need to disabled shields?

It might be frustrating to open a safe app and see a white page.
As some safe-app require to disable Brave shields, perhaps it's a good idea to notify these users.
@tschubotz wdyt?

Definitely a nice idea.
Currently, we say that only Chrome is supported. There is also e.g. #1280.
I would move this to icebox for now and work on it when we improve support for browsers other than Chrome.

Closing in favor of the newer issue linked above.


Random Selection?

Is there a way to select a random entry / document / row from an OrbitDB database? I'm specifically working with a docstore but am open to other database types if that helps.
In the meantime, what I'm thinking of doing is something like the following:

Creating a docstore db
Creating a counter db for the _ids of the docstore, as well as the max for the random number selector
My "add" operation wouth both increment the counter and then add a document to the docstore, using the counter value _id field of the document.
To select a random document, get a random number 0 to the current counter, and then select that _id from the docstore

I don't love this approach, though it would work! I'm wondering if there's a better way...

From @haadcode on gitter:
@aphelionz that could work with docstore+counter, but perhaps a better way would be to modify/extend docstore (https://github.com/orbitdb/orbit-db-docstore) to provide the "length" (as in the number of docs in the db). in fact, one could already get the "number of docs" from https://github.com/orbitdb/orbit-db-docstore/blob/master/src/DocumentIndex.js, but as none of that is exposed to the user, you'd have to get the length with Object.keys(docsdbinstance._index._index).length (which is not pretty). exposing the previous to the user in https://github.com/orbitdb/orbit-db-docstore/blob/master/src/DocumentStore.js as count member variable or smth would make sense. to optimize the performance (Object.keys will be slow if there's a large set of docs), one could keep and update a counter in https://github.com/orbitdb/orbit-db-docstore/blob/master/src/DocumentIndex.js#L14 as that's where a doc is "added" or "removed" from the db index (==state)

Would reservoir sampling work for this? This problem must have been encountered before, and can't be OrbitDB specific. It would be fun to add and expose a method for it, I think.

@RichardLitt I think it may! My use case is something like "federated bookmarks." Meaning I have a list of bookmarks that I save into a docstore, along with some metadata, and then every now and again I want to open up a randon bookmark from the list. So while the cardinality of k would be one in my case, it would work really well if I were connected to an unknown numbe rof peers all providing lists of URLs as well.

Moving to docstore repo :)


Do not require a DHCP agent on the target compute host

@fasaxc please could you review?

retest this please

retest this please

Looks like this actually passed FVs, but my Jenkins clone did some meddling with GitHub PRs yesterday to give you a red cross. :-(

@neiljerram Feel free to merge this at the appropriate point for your testing

Thanks @fasaxc, I'll do that now, as it has no down side and may simplify Dave's future testing cycles.


Orderer grpc://localhost:7050 has an error Error: Failed to connect before the deadline URL:grpc://localhost:7050

hyperledger fabric 1.4
I can run “npm run bench -- -c benchmark/simple/config.yaml  -n network/fabric-v1.4/2org1peergoleveldb/fabric-go.json” successfully.
Then, i want to change some parameter of orderer. So, i run "configtxgen -profile OrgsOrdererGenesis -outputBlock orgs.genesis.block -channelID mychannel" to generate a new orgs.genesis.block at path "caliper/network/fabric-v1.4/config".
However, i get this error when i run “npm run bench -- -c benchmark/simple/config.yaml  -n network/fabric-v1.4/2org1peergoleveldb/fabric-go.json” again.
error: Orderer grpc://localhost:7050 has an error Error: Failed to connect before the deadline URL:grpc://localhost:7050
Context
npm run bench -- -c benchmark/simple/config.yaml  -n network/fabric-v1.4/2org1peergoleveldb/fabric-go.json

<EMAIL_ADDRESS>bench /home/zp/caliper/caliper
node ./scripts/main.js "-c" "benchmark/simple/config.yaml" "-n" "network/fabric-v1.4/2org1peergoleveldb/fabric-go.json"

info: [bench-flow.js]: ####### Caliper Test #######
info: [bench-flow.js]: Executing command: docker-compose -f network/fabric-v1.4/2org1peergoleveldb/docker-compose.yaml up -d;sleep 3s
Creating network "2org1peergoleveldb_default" with the default driver
Creating ca.org1.example.com    ... done
Creating orderer.example.com ... done
Creating ca.org2.example.com    ... done
Creating peer0.org2.example.com ... done
Creating peer0.org1.example.com ... done
info: [create-channel.js]: Creating mychannel...
2019-04-25T04:49:34.015Z - error: [Remote.js]: Error: Failed to connect before the deadline URL:grpc://localhost:7050
2019-04-25T04:49:34.016Z - error: [Orderer.js]: Orderer grpc://localhost:7050 has an error Error: Failed to connect before the deadline URL:grpc://localhost:7050
error: [create-channel.js]: Failed to create channels: Error: Failed to connect before the deadline URL:grpc://localhost:7050
at checkState (/home/zp/caliper/caliper/node_modules/grpc/src/client.js:720:16)
error: [fabric.js]: Fabric initialization failed: Error: Failed to connect before the deadline URL:grpc://localhost:7050
at checkState (/home/zp/caliper/caliper/node_modules/grpc/src/client.js:720:16)
error: [bench-flow.js]: Error: Error: Failed to connect before the deadline URL:grpc://localhost:7050
at checkState (/home/zp/caliper/caliper/node_modules/grpc/src/client.js:720:16)
info: [demo.js]: [Transaction Info] - Submitted: 0 Succ: 0 Fail:0 Unfinished:0
info: [bench-flow.js]: Executing command: docker-compose -f network/fabric-v1.4/2org1peergoleveldb/docker-compose.yaml down;docker rm $(docker ps -aq);docker rmi $(docker images dev* -q)
Stopping peer0.org1.example.com ... done
Stopping peer0.org2.example.com ... done
Stopping ca.org1.example.com    ... done
Stopping ca.org2.example.com    ... done
Removing peer0.org1.example.com ... done
Removing peer0.org2.example.com ... done
Removing ca.org1.example.com    ... done
Removing ca.org2.example.com    ... done
Removing orderer.example.com    ... done
Removing network 2org1peergoleveldb_default
something i observed
The container orderer.example.com ran successfully at the beginning. But it crashed before “Creating mychannel” operation.
My Environment
ubuntu 14.04
hyperledger fabric 1.4
caliper cloned from master branch on 2019.4.24
I need some help.

@zzpp3377 try changing the system channel ID to something else, for example:
configtxgen -profile OrgsOrdererGenesis -outputBlock orgs.genesis.block -channelID syschannel
It is also recommended to check the docker logs of the nodes when you run into these kinds of connection errors.

@aklenik ，thank you.
I  check the docker logs of orderer.example.com:

docker logs orderer.example.com
2019-04-26 13:16:11.668 UTC [localconfig] completeInitialization -> INFO 001 Kafka.Version unset, setting to <IP_ADDRESS>
2019-04-26 13:16:11.684 UTC [orderer.common.server] prettyPrintStruct -> INFO 002 Orderer config values:
General.LedgerType = "file"
.......
Metrics.Statsd.Prefix = ""
2019-04-26 13:16:13.699 UTC [fsblkstorage] newBlockfileMgr -> INFO 003 Getting block information from block storage
2019-04-26 13:16:14.943 UTC [orderer.commmon.multichannel] newLedgerResources -> PANI 004 Error creating channelconfig bundle: initializing channelconfig failed: could not create channel Orderer sub-group config: setting up the MSP manager failed: the supplied identity is not valid: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "ca.example.com")
panic: Error creating channelconfig bundle: initializing channelconfig failed: could not create channel Orderer sub-group config: setting up the MSP manager failed: the supplied identity is not valid: x509: certificate signed by unknown authority (possibly because of "x509: ECDSA verification failure" while trying to verify candidate authority certificate "ca.example.com")

That error occurs because  i change some files under "caliper/network/fabric-v1.4/config/crypto-config". So, i delete the directory and run generate.sh under "caliper/network/fabric-v1.4/config/". However, i get another error, when i run run “npm run bench -- -c benchmark/simple/config.yaml -n network/fabric-v1.4/2org1peergoleveldb/fabric-go.json”:
npm run bench -- -c benchmark/simple/config.yaml  -n network/fabric-v1.4/2org1peergoleveldb/fabric-go.json

<EMAIL_ADDRESS>bench /home/zp/caliper/caliper
node ./scripts/main.js "-c" "benchmark/simple/config.yaml" "-n" "network/fabric-v1.4/2org1peergoleveldb/fabric-go.json"

info: [bench-flow.js]: ####### Caliper Test #######
info: [bench-flow.js]: Executing command: docker-compose -f network/fabric-v1.4/2org1peergoleveldb/docker-compose.yaml up -d;sleep 3s
Creating network "2org1peergoleveldb_default" with the default driver
Creating ca.org2.example.com ... done
Creating ca.org1.example.com ... done
Creating orderer.example.com ... done
Creating peer0.org1.example.com ... done
Creating peer0.org2.example.com ... done
info: [create-channel.js]: Creating mychannel...
error: [create-channel.js]: Failed to create channels: Error: Create status for mychannel is BAD_REQUEST with information error authorizing update: error validating ReadSet: existing config does not contain element for [Group]  /Channel/Application/Org3MSP but was in the read set
at Object.run (/home/zp/caliper/caliper/src/adapters/fabric/create-channel.js:125:23)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
error: [fabric.js]: Fabric initialization failed: Error: Create status for mychannel is BAD_REQUEST with information error authorizing update: error validating ReadSet: existing config does not contain element for [Group]  /Channel/Application/Org3MSP but was in the read set
at Object.run (/home/zp/caliper/caliper/src/adapters/fabric/create-channel.js:125:23)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
error: [bench-flow.js]: Error: Error: Create status for mychannel is BAD_REQUEST with information error authorizing update: error validating ReadSet: existing config does not contain element for [Group]  /Channel/Application/Org3MSP but was in the read set
at Object.run (/home/zp/caliper/caliper/src/adapters/fabric/create-channel.js:125:23)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
info: [demo.js]: [Transaction Info] - Submitted: 0 Succ: 0 Fail:0 Unfinished:0
info: [bench-flow.js]: Executing command: docker-compose -f network/fabric-v1.4/2org1peergoleveldb/docker-compose.yaml down;docker rm $(docker ps -aq);docker rmi $(docker images dev* -q)
Stopping peer0.org2.example.com ... done
Stopping peer0.org1.example.com ... done
Stopping orderer.example.com    ... done
Stopping ca.org1.example.com    ... done
Stopping ca.org2.example.com    ... done
Removing peer0.org2.example.com ... done
Removing peer0.org1.example.com ... done
Removing orderer.example.com    ... done
Removing ca.org1.example.com    ... done
Removing ca.org2.example.com    ... done
Removing network 2org1peergoleveldb_default
https://stackoverflow.com/questions/51590202/channel-creation-fails-in-hyperledger-fabric-v1-2 explain the error. Just like aklenik said, i changed  the channelID of genesis, and run successfully.

@zzpp3377 If you add an extra organization, make sure you also include it in the network config file for Caliper/Fabric adapter, otherwise, channel creation transactions won't be signed by that org (since Caliper doesn't know about it) which could result in the above error.


hooked a PostCreateCheck for checking the configuration setting

Added a method called PostCreateCheck to enable to check if the configuration matches with the params provided or default value after the virtual machine is created. The same method could apply to each driver to do after creation checking.
Fix #843

@soleo thanks!  we didn't implement PostCreate as the checking for creation is at start and once that is done it's handed to the provisioner.  I'm not sure we would need to check anything after creation since we just use SSH and that is checked as part of the provisioning process.
/cc @nathanleclaire @sthulb thoughts?

@ehazlett you could use it to verify the host created. However that could be implemented in Create.

@sthulb yeah essentially that is what the SSH connect is doing isn't it, albeit not via a remote API but still checking what we expect to have.  I could see a potential case where the provider API says it is created but we still can't connect.  I'm not sure what this would gain us.

Me neither.

Yes, I'm -1 on this change.  I can see the utility of smoke checks like this but I don't think this implementation is the correct way to approach it.  Eventually I would prefer to move over to declarative configuration of machines and do checks like this to calculate the "delta" to move to our desired state.
@soleo I definitely encourage opening an issue/proposal to discuss the problem you want to solve with this functionality and get the ball rolling on a conversation about it.

I didn't think too much about it. The initial thought for this is just to have universal way  to validate the configuration after the vm is created. And, I saw several issues related with this. @nathanleclaire , probably it will be better used as a utility func, and it can also be used for health check of virtual machines, something like "brew doctor" in homebrew

Closing this for now.  @soleo please watch #773 for the machine declaration functionality @nathanleclaire was mentioning -- that should achieve what you are looking for.  Thanks!


Update the service template

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #18948 into next-release will decrease coverage by 4.79%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           next-release   #18948     +/-   ##
===============================================
- Coverage         20.53%   15.73%   -4.8%
===============================================
  Files                52       47      -5
  Lines              1383     1258    -125
  Branches            216      195     -21
===============================================
- Hits                284      198     -86
+ Misses             1086     1047     -39
  Partials             13       13

Impacted Files
Coverage Δ

composer/packages/tracing/src/ToolBar.tsx

composer/packages/tracing/src/TraceList.tsx

composer/packages/tracing/src/DetailView.tsx

composer/packages/tracing/src/TraceLogs.tsx

composer/packages/tracing/src/index.ts

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 aba78de...229ff91. Read the comment docs.


Move to latest App Services MSI API version

Move Azure.Identity to the latest App Services MSI API version.
Update /sdk/e2e Azure Functions date parsing tests

@antkmsft Please address this as part of the MSI feature.

We're on all the same versions that .NET and Java SDKs are:
AppService: "2017-09-01"
AzureArc: "2019-11-01"
Imds: "2018-02-01"
More info:
All of the versions above are release versions.
We also support Cloud Shell authentication the same way .NET does.
.NET does not pass api-version for Cloud Shell. We have the very same creation logic, we send the same HTTP headers, and so on.
We don't support Service Fabric at the moment.
.NET and Java use 2019-07-01-preview for Service Fabric. I've been told they have it for a reason that newer version is not yet deployed to all the environments/regions/OSes.
If we were to implement Service Fabric Managed Identity Credential today, I would argue we still use the same as Tier1 languages, and upgrade in coordination with them.
We are not behind Tier1 languages on API version for supported Managed Identity sources - we use the same versions as both Java and .NET.


a config option needed to completely disable screen 'state' system.

Is your feature request related to a problem? Please describe.
We are having difficulties with Screens' state system. Our product is being used by thousands of people, and yet, a single user can use system with multiple browsers and tabs. State system only makes trouble by sending very big headers to browsers and causing 414 errors with webservers.
Describe the solution you'd like
A config option needed for completely disabling state system.
Describe alternatives you've considered
we can do this by overriding component templates, or Screen but this is not much maintainable.
Additional context
saving public properties  as a state is very much troubling for example with Eloquent Collections that have more than 5-10 rows. State is 90KB text that locks browser inspect tool, and sending these to browser with turbo makes headers explode and giving 414 errors.

I totally understand what you’re saying. Currently, you’re manually selecting which data to forward, and only public properties are being transmitted.
However, if you want to reduce the amount of data sent between the browser and the application, you can use the ModelStateRetrievable trait for the screen:
use Orchid\Screen\Concerns\ModelStateRetrievable;

class User extends Screen
{
    use ModelStateRetrievable;
}

With this trait, Eloquent models won’t be fully transferred—instead, only their identifiers will be sent, and the data will be automatically restored when needed. Give it a try; it should help!

i am having problems when i use screens with modals (modals with actions)
problems sometimes occur and i cannot yet understand the main cause, but these started to happen after the state change in orchid. I will try your advice, and report my examinations. Thanks in advance.

i want to completely disable state anyway. That's my first priority, that data can be changed in any browser or any automatic flow.
the second priority was solving 414 entity errors with webserver, but first one is turning of state system. I want stateless :) i need it.

I'm sorry to hear about your negative experience. I’ve released version 14.42.0, which includes a fix for the 414 error. Please try updating and let me know if the issue persists.

Modal is resolved resolved for 414 error. But state is becoming more annoying day after day..


Atom randomly closing

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
When I am working on some code, atom will randomly close. When I open it back up, the code I just typed will still be there. As far as I know, I have not installed any new packages, made any updates to atom or my computer.
Steps to Reproduce

 Be typing in the editor

 Randomly closes

Expected behavior:
 For it to not close while I am working
Actual behavior:
 It closes while I am working
Reproduces how often:
 It takes anywhere between 10 minutes and half an hour for it to close by itself, but this is just a guess as I have not timed it
Versions

Atom    : 1.49.0
Electron: 5.0.13
Chrome  : 73.0.3683.121
Node    : 12.0.0
apm  2.5.0
npm  6.14.5
node 10.20.1 x64
atom 1.49.0
python 3.7.3
git
visual studio
Windows 10
Additional Information

I am experiencing the same symptoms. I cannot reliably reproduce, but I have noticed a couple things that may or may not be related.

When I have an existing window open, with an open project, I will then go to the File menu to Reopen another project. As I look at the pop-up window of previous projects, if I do not select the project quickly enough (like within 10 seconds) there is no response after I eventually click it. It behaves as if I clicked away.
The crashing occurs when I open a second window. It opens, then both windows crash.
When then reopening a new window for a project that had unsaved material at the crash, it displays quickly and is still unsaved. No data loss as far as I can tell.

Versions
Atom    : 1.49.0
Electron: 5.0.13
Chrome  : 73.0.3683.121
Node    : 12.0.0
remote-ftp package is installed
Windows 10
Event Viewer shows:
Faulting application name: atom.exe, version: <IP_ADDRESS>, time stamp: 0x5df70f50
Faulting module name: unknown, version: <IP_ADDRESS>, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0000020ac3fbd330
Faulting process id: 0x1294
Faulting application start time: 0x01d66bf950544f71
Faulting application path: C:\Users[-removed for privacy-]\AppData\Local\atom\app-1.49.0\atom.exe
Faulting module path: unknown
Report Id: 01935da6-7c91-4157-b08d-807a63671282
Faulting package full name:
Faulting package-relative application ID:

I have also experienced this recently. Atom crashes several times a day, and always after I've just typed something.
I haven't seen a correlation with anything specific being typed.
It's a bit annoying.
Versions:
Atom    : 1.52.0
Electron: 6.1.12
Chrome  : 76.0.3809.146
Node    : 12.4.0
currently working in Python 3.7.2
Packages Installed:
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├── kite
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>


Change Linepack representation from a Store to a StorageUnit

Feature Request
I originally represented linepack as a store, to separate out optimizing capacity and energy. But the pipeline links will act as capacity constraints anyways, so we might as well change this to a storage unit.
Suggested Solution
No response
Additional Info
No response

This will not be done!


Id tag under Entry is generated automatically

Under the tag entry, Id tag value is generated automatically, even if we didn't mention ID tag, its taking last part of fullurl value as Id tag value for all FHIR Resource.
FHIR version -->1.4.0
HAPI version -->1.5
Here we have logged a sample FHIR Resource() response,
Input XML,

Output XML:

Id tag value is generated automatically.txt

Hi @ganesh-athmagnanam , we have just released HAPI FHIR 2.0, would you be able to confirm whether this issue is still occurring on that version?


Improve clarity around when SettingWithCopyWarning can be ignored (if ever?)

I [Edit: thought I got] a SettingWarningCopyWarning  when running the following code:
frame[columnone][frame[columntwo]>x]=y

The docs seem to imply that I can safely ignore this error.
# passed via reference (will stay)
In [273]: dfb['c'][dfb.a.str.startswith('o')] = 42

Is it therefore generally true that I can always ignore errors when the command I'm running is of the form:
frame[columnames][booleanconditiononframe]=x

I use this all the time, and I think it always works. If that's true, it would be great if it was specifically called out in a 'you can ignore this warning when...' section. If that's not true (e.g. it works for scalar x / numeric x but not for series x), it would be great if that were called out too.
Sorry if this seems trivial, but I'm trying to explain this to a colleague who's new to pandas and he's confused, and it looks like even old hands can be confused when confronted with this warning (see #6757).
[Edit: looking at his code again, I suspect the SettingWithCopy warning was from a different line of code - (I wish warnings made it clear where they were from). All the same, it would still be great if the docs could be clear if there are circumstances where you always get a reference rather than a copy]

One of my users has code similar to this:
df1 = DataFrame({'x': Series(['a','b','c']), 'y': Series(['d','e','f'])})
df2 = df1[['x']]
df2['y'] = ['g', 'h', 'i']

And gets the warning. However, in the code base, lines 2 and 3 are quite far removed. So it's almost impossible to realize the warning stems from line 2, (because the warning happens on execution of line 3, far away). I don't know if anything can be done about this, but it can be a head scratcher to track down the source of the warnings.

@adamklein
The reason the above triggers the warning is the soln that is for this case below is triggered. Basically you reindex a frame to another frame, which 'remembers' that this happend (via the .is_copy attribute). Then if a chained indexing operation happens the warning can be triggered.
In [3]: df = pd.DataFrame({'a': list(range(4)), 'b': list('ab..'), 'c': ['a', 'b', np.nan, 'd']})

In [4]: mask = pd.isnull(df.c)

In [5]: df[['c']][mask] = df[['b']][mask]
/Users/jreback/anaconda/bin/ipython:1: SettingWithCopyWarning:

What you are doing in your example and what I am showing are different, e.g. you are adding a column, while the above is a masked indexing on the rows. But the only way to detect this is to set .is_copy in the first place, otherwise the logic becomes crazy complex.
Now I can turn off this case, so what you are doing will not trigger the warning, but my example above will no longer warn.
I suspect that what you are doing is much more common, so this would eliminate this false positive while NOT warning when it should in a type of chained indexing.
As you can guess detecting chained indexing is actually quite complex.

ok, see #9659 this should fix @adamklein issue.

The reason the above triggers the warning is the soln that is for this case below is triggered.

wow I bet that triumph of grammer crashes NLTK.

:)


State Machine

Going to separate this into a couple of posts to try to keep it readable.
So the basic flow of the app as it stands is this:

Ingest an image from someplace.
Submit the ingested image for OCR.
Add phrases.  (Either via the autophraser or manually)
Translate phrases.

Notes on each step:
Ingest
Ingestion methods include:

Viewfinder snaps
Clipboard paste
Load a file from a file picker
Load a file via drag-and-drop
Ingesting an image means blowing away the OCR data.  It doesn't necessarily mean blowing away the phrasing data, though it will naturally blank their text until OCR is back.

OCR
OCR methods include:

Automatically OCR as soon as ingestion happens
OCR when a toolbar button is pressed
We may be able to implement image filters, which would have to be applied to the image before submitting for OCR.

Phrasing
Phrasing methods include:

Automatically generating phrases based on the OCR results
Manually dragging phrase rectangles onto the image
Moving, resizing, or combining phrase rectangles
Phrase rectangles don't have any meaning before OCR is performed.  If they're persisting from a previous OCR, they shouldn't be editable or displayed until OCR is complete again, at which point they need to re-load their underlying text and re-submit for translation.

Translation
Translation is always automatic for each phrase rectangle.  This process is nicely simple and low-level,

So as far as states go, I see a need for these:
NoOCR
This is our initial state, and also the state immediately after ingestion.
Phraserects, if we have them, are invisible.
From here we can:

Ingest a new image
Apply filters to the base image
Submit the image to OCR

If we enter this state with AutoOCR on, and an image set, then we need to immediately send that image for OCR.
OCRed
We enter this state immediately after OCR is complete.
We can now display/manipulate Phraserects.
If we enter this state with Phraserects, we need to re-load their text and re-submit them for translation.
From here we can:

Modify Phraserects
(any phraserect changed by anything needs to be retranslated)
Ingest a new image or apply filters to our existing image, kicking us back to NoOCR
Re-submit OCR, kicking us back to NoOCR (until the OCR completes and the callback hits)

Having written that out, it seems like most of the modalities of the GUI (disabling the OCR button while the OCR request is ongoing, displaying/hiding the viewfinder, etc) don't actually affect the core state of the app, and only two states to govern this are really needed: Either we have an OCR, or we don't.


fix broadcast SQL cannot work within multi schema scenario.

Pull Request Test Coverage Report for Build 7338

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 53.387%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/TextProtocolBackendHandlerFactory.java
2
3
66.67%

Totals

Change from base Build 7337:
0.02%

Covered Lines:
8370

Relevant Lines:
15678

💛  - Coveralls


api-docs: Note that unread_message_ids are sorted in unread_msgs data.

Document that the unread_message_ids lists in the various unread message data structures in unread_msgs are sorted in ascending order.
See CZO discussion.
@chrisbobbe - Would you be up for reviewing these updates?
Screenshots and screen captures:

Updated section of register response - with unread_message_ids highlighted
Current documentation - search for "unread_message_ids" on page.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

LGTM, thanks!

Merged, thanks @laurynmm and @chrisbobbe!


No $global-radius applied to accordion-title on hover. Here's my solution

How can we reproduce this bug?
Note: Working with foundation sass.

Apply a noticeable global radius.
Place accordion with title in template.
Hover over title.

What did you expect to happen?
Hover background color to have global radius applied.
What happened instead?
Hover background color has no global radius applied.
Test case:
To solve the issue, I added a line of code to
components/_accordion.scss
at bottom of accordion-title mixin like so:
@mixin accordion-title {
  display: block;
  padding: $accordion-item-padding;
  line-height: 1;
  font-size: rem-calc(12);
  color: $accordion-item-color;
  position: relative;
  border-bottom: $accordion-content-border;
  border-radius: $global-radius; // I ADDED THIS LINE
}

That may not be the solution. i realized it needs to lose the global radius at bottom when expanded.

Closing in favor of #8323


Build(deps-dev): Bump @types/node from 18.8.2 to 18.8.3 (#4172)

Pull request opened by the merge tool on behalf of #4172

Merged in 111f32128c301aec131ac77a7f346a15de925b5d


Fixes #4558

Closes #4558
I was debugging the issue when I noticed the value of NULL_NODE was weird: being a uint32_t, setting a value of 32767 felt weird, especially since NULL_NODE is involved in some checks as in IsFeasiblePair() and the value 32767 is not too high and can easily be reached in cases as the one in the description.
Updating the value to its maximum capacity (0xFFFFFFFF) did actually solve the issue, and the script presented in the case now prints the following:
num atoms: 84525
56350
indexes: [0]
deltas : []
all equal: True

indexes: [1]
deltas : []
all equal: True

indexes: [2]
deltas : []
all equal: True

indexes: [3]
deltas : []
all equal: True

indexes: [4]
deltas : []
all equal: True

indexes: [5]
deltas : []
all equal: True

indexes: [6]
deltas : []
all equal: True

indexes: [7]
deltas : []
all equal: True

indexes: [8]
deltas : []
all equal: True

indexes: [9]
deltas : []
all equal: True

indexes: [10]
deltas : []
all equal: True

indexes: [11]
deltas : []
all equal: True

indexes: [12]
deltas : []
all equal: True

indexes: [13]
deltas : []
all equal: True

indexes: [14]
deltas : []
all equal: True

indexes: [15]
deltas : []
all equal: True

indexes: [16]
deltas : []
all equal: True

indexes: [17]
deltas : []
all equal: True

indexes: [18]
deltas : []
all equal: True

indexes: [19]
deltas : []
all equal: True

indexes: [20]
deltas : []
all equal: True

Which means we now get the expected number of matches, and all of them are "unique" (each mol is reported twice, but with different ordering of the atoms).

No idea why a NULL_NODE value of 32767 causes the algorithm to loop at 43690 iterations, though.


CF_DumpMail Layout

This may be outside the scope of this tag, but the current layout (which uses divs) doesn't have a nested appearance like it does when viewed within the browser.
Here are screenshots comparing and contrasting gmail with outlook.
Gmail

Outlook

Observations

Gmail's label doesn't have a background color, whereas Outlook is displaying it.
Gmail has the ability to expand/collapse, Outlook does not.
Outlook has odd padding/margin. (I don't think "margin" works right w/Outlook.)
Both don't show nested data as they don't honor the display: table; CSS style.

I use jsoup to fix a lot of post-generated HTML.  I tried using a modified version of Ben Nadel's HTMLEmailUtility project from 11 years ago to "auto-inline" the CSS and the result renders a little closer to the original.  Here's a screenshot of the refactored HTML with the inlined CSS when viewed using gmail. (It didn't affect how it was rendered in Outlook unfortunately.)

Here's how I implemented the CSS inlining using jsoup and Ben's library:
<cfsavecontent variable="dumpHtml">
	<cf_dumpmail var="#myVar#" label="cf_dump">
</cfsavecontent>
<cfset inlineCSS = new inlineCSS()>
<cfset dumpHtml = trim(inlineCSS.prepareInline(dumpHtml)>

I'm not sure what to recommend, but was caught off guard the first time I tried using it (to replace my CF_Dumplite tag) when a complex struct was outputted as keys on individual lines (instead of nested tables like native CFDump).

We use Office 365, have the Outlook application installed and primarily use it over the web-based version.
I just compared the HTML rendering with outlook.office.com and the web-based version looks outstanding! Much superior to both Gmail and the desktop version of Outlook.
I'm not a fan of using tables in design either, but the HTML support on the Outlook desktop app is rather antiquated.  (My business partner, who does most of the CSS for websites & email messages, has stated that Word is the actual HTML renderer for the desktop app.)  We've use Litmus.com to test and determine what looks best across the most email clients and we often have to add fallback HTML for some email service providers.  (I recently reached out to Disqus as their newsletters weren't even legible as all their content was centered, scrunched & truncated within a 1 inch area with multicolored backgrounds. I didn't want to unsubscribe, but attempting to read it was a futile effort.)

I moved all styles inline now (12689bf1df0b55a0561ccbf0cf50cf3c0e9be9f5) and that seems to fix almost all issues with GMail. I also took the extra effort of comparing the computed styles between <cf_dump> and <cf_dumpmail> to have them look as similar as possible.
I haven't been able to test it against old/native Outlook yet, but it should also improve the situation there.


WIP: Check OVF_STORE volume status: Try 20 minutes

Try 120 times instead of 12 (with 10 seconds delay in between).
hosted-engine deploy fails for some time now in CI at this point, I
wonder if this is simply because the engine needs more time for some
reason to update OVF_STORE.

I had the same problem as I mentioned in:
https://github.com/oVirt/ovirt-ansible-hosted-engine-setup/pull/335#issuecomment-652322983
and when I try to run without this patch I failed as you can see:
02:30:43 TASK [ovirt.hosted_engine_setup : Check OVF_STORE volume status] ***************
02:30:44 FAILED - RETRYING: Check OVF_STORE volume status (12 retries left).
02:30:55 FAILED - RETRYING: Check OVF_STORE volume status (11 retries left).
02:31:06 FAILED - RETRYING: Check OVF_STORE volume status (10 retries left).
02:31:16 FAILED - RETRYING: Check OVF_STORE volume status (9 retries left).
02:31:27 FAILED - RETRYING: Check OVF_STORE volume status (8 retries left).
02:31:38 FAILED - RETRYING: Check OVF_STORE volume status (7 retries left).
02:31:49 FAILED - RETRYING: Check OVF_STORE volume status (6 retries left).
02:32:00 FAILED - RETRYING: Check OVF_STORE volume status (5 retries left).
02:32:11 FAILED - RETRYING: Check OVF_STORE volume status (4 retries left).
02:32:23 FAILED - RETRYING: Check OVF_STORE volume status (3 retries left).
02:32:34 FAILED - RETRYING: Check OVF_STORE volume status (2 retries left).
02:32:45 FAILED - RETRYING: Check OVF_STORE volume status (1 retries left).
02:32:56 failed: [sample.com] ...
but with this patch it succeeded as you can see below:
01:30:47 TASK [ovirt.hosted_engine_setup : Check OVF_STORE volume status] ***************
01:30:49 FAILED - RETRYING: Check OVF_STORE volume status (120 retries left).
01:30:59 FAILED - RETRYING: Check OVF_STORE volume status (119 retries left).
01:31:10 FAILED - RETRYING: Check OVF_STORE volume status (118 retries left).
01:31:21 FAILED - RETRYING: Check OVF_STORE volume status (117 retries left).
...
...
01:47:24 FAILED - RETRYING: Check OVF_STORE volume status (29 retries left).
01:47:35 FAILED - RETRYING: Check OVF_STORE volume status (28 retries left).
01:47:46 FAILED - RETRYING: Check OVF_STORE volume status (27 retries left).
01:47:57 changed: [example01.com] => (item={...})
01:47:58 FAILED - RETRYING: Check OVF_STORE volume status (120 retries left).
01:48:09 FAILED - RETRYING: Check OVF_STORE volume status (119 retries left).
01:48:19 FAILED - RETRYING: Check OVF_STORE volume status (118 retries left).
01:48:30 FAILED - RETRYING: Check OVF_STORE volume status (117 retries left).
01:48:41 FAILED - RETRYING: Check OVF_STORE volume status (116 retries left).
...
...
01:51:15 FAILED - RETRYING: Check OVF_STORE volume status (102 retries left).
01:51:26 FAILED - RETRYING: Check OVF_STORE volume status (101 retries left).
01:51:37 FAILED - RETRYING: Check OVF_STORE volume status (100 retries left).
01:51:48 FAILED - RETRYING: Check OVF_STORE volume status (99 retries left).
01:51:58 changed: [example01.com] => (item={...})
IMHO its better to create a large timeout that in edge case failed instead of strict timeout that failed from time to time


Adding response headers to error responses in interceptor

Is your feature request related to a problem? Please describe.
I am using an interceptor and want to be able to add a response header to all requests (in this case, a trace ID).
Currently, AnyResponse is only available if no exception is thrown as the return value of next. It can be used to set a response header with res.header(..). If next throws an exception, there will not be any response object to use though and there doesn't seem to be a way to set a header then.
Describe the solution you'd like
Probably the least disruptive is to pass the underlying response object to contextValues in the adapter. For example here
https://github.com/connectrpc/connect-es/blob/main/packages/connect-node/src/connect-node-adapter.ts#L100
only req is passed but res is also available and could be passed as well. AFAIK this should be backwards compatible as functions that only accept the single req will still execute ignoring the second argument.
This provides access to the response for advanced usage in a somewhat tedious way, but thanks to that the Interceptor API continues to use the "connect lifecycle", where a response is returned, not filled.
Describe alternatives you've considered
If you've proposed a solution, are there any alternatives? Why are they worse
than your preferred approach?
Interceptors could be passed something along with AnyRequest that allows manipulating the response, ResponseManipulator or similar, as a second argument. It could potentially collide with the response returned by next.
Additional context
I am using NextJS. My interceptor is an OTel one, similar to https://github.com/connectrpc/connect-es/issues/523#issuecomment-1729556349. If I were to try to manipulate the response header at a NextJS layer such as middleware, there would be no way to access the span to be able to compute the trace ID as the span will have already been completed when returning from the interceptor.

Hey! You can catch the connect error and set the headers on that:
(next) => {
  return async (req) => {
    try {
      const res = await next(req);
      res.header.append("key", "value");
      return res;
    } catch (err) {
      const cErr = ConnectError.from(err)
      cErr.metadata.append("key", "value");
      throw cErr;
    }
  }
}


--expandTypography in token-transformer returns inconsistent lineHeight type

Describe the bug
When using --expandTypography in token-transformer, line height values receive "type": "lineHeight" instead of "type": "lineHeights" (plural)
To Reproduce
Steps to reproduce the behavior:
use token-transformer with the  --expandTypography option with this input
{
  "token": {
    "value": {
      "lineHeight": "24px"
    },
    "type": "typography"
  }
}

Expected behavior
It should be transformed into (notice the plural lineHeights type)
{
  "token": {
    "lineHeight": {
      "value": "24px",
      "type": "lineHeights"
    }
  }
}

This was fixed with 0.30

@six7 I'm still seeing this in 0.30 :/

@six7 can this be reopened?

Sure!

Released in 0.33


Support TF 2.12 and numpy>=1.22, drop python 3.7

Would it be ok to do this but also keep support for Python 3.7 for a bit longer? For example, trieste currently relies on 3.7 for its documentation builds (which we know is not ideal, but also not something we have time to fix quite yet).
Since the changes here only affect testing, this could easily be done by adding a second quality-checks job check-and-test-37 for testing Python 3.7, using a separate test_requirements_37.txt file that continues to pin numpy? I'm happy to do this myself next week if you don't have time.

FYI I've updated this to keep Python 3.7 support (for now) and merged it in https://github.com/secondmind-labs/GPflux/pull/99.


Edit Dockerfile

@trjohnst Can you test urothis/nwnee-community-images:nasher-8193.34 to make sure these changes still conform with your needs?

@urothis will check it out when I get to a computer. Cursory glance, this should be fine with what we need
A few thoughts:

Do we want to retain ownership changes from https://github.com/squattingmonk/nasher/pull/77 ?
Can we pull the nimble install nasher into a separate run to layer cache the nim/choosenim install?

should be handled by the debian/ubuntu images, the choosenim image created an issue that shouldn't have existed. Please validate this assumption though if you get a chance.

To what end? It doesn't save on any pull time, or image size as far as I've seen.

This does seem to have the issues fixed by #77. If run without --user, it creates all files as root. If you do pass --user $(id -u):$(id -g) it fails since the image only has the root user.

This does seem to have the issues fixed by #77. If run without --user, it creates all files as root. If you do pass --user $(id -u):$(id -g) it fails since the image only has the root user.

@urothis correct, 2 is a suggestion for better repeat build speed by leveraging layer caching. I suppose that depends on how we'd be building and releasing these images. I was assuming it's likely a few of these would be pumped out at the same time.
Also, you will need another ARG NASHER_VERSION in the stage it's used otherwise it'll just interpolate as blank in the RUN instruction. With this dockerfile as is, the latest nasher version is being installed regardless of the build arg.


JMnedict name dictionary support

It would be great if this had unified access to JMnedict as well.

Thanks for comment. Actually I'm working on this enhancement. Hopefully it will be available soon.

I am curious how the situation looks with support for JMnedict.

Good day,
Sorry I didn't have time to look into this for a while. I'm still working on this. Since there are several people requested for this feature I'll try to have a release really soon :)

@mosesweb I have just released jamdict 0.1a7 on PyPI with JMnedict support. Please give it a try. Thanks you :)

https://github.com/neocl/jamdict/releases/tag/0.1a7

@letuananh I am very excited about this and will surely try it out!


Design Considerations for maintainers of packages & namespaces.

In the project, there have been discussions on namespace maintainers & package maintainers.
Let's say if we have multiple packages under a namespace and if the admin adds a new maintainer to the namespace then the newly added maintainer will have access to all the packages that are listed under that namespace.
But, on the other hand, if we only have maintainers of the package. So, this security issue won't be there as that newly added maintainer will have access to that only package under that namespace and other packages will be not accessible to the maintainer.
On the other hand, we can allow user to add maintainers to the packages as well as to the namespaces. The logic will be similar, only the entity package will be changed with the namespace.
So, if an admin adds a user as a maintainer to the namespace, the user will be now the maintainer of all the packages under that namespace and if admin adds a user as a maintainer to the package, the user will be the maintainer of the package only.
Also, we can allow to remove maintainers from the packages easily. For removing maintainers from the namespaces, we can have multiple solutions. So, if a user wants to remove a maintainer from namespace, the maintainer can be directly removed from all the packages under that namespace or they can ask the backend to keep the user as the maintainer of the packages and only remove the maintainer from the namespace.
It would be really helpful if can gather a wider community feedback to better implement this feature. @fortran-lang/fpm @minhqdao @perazz @henilp105

What is the actual question? 😅
So it seems like you want to have:

Namespace maintainers
Package maintainers
Namespace maintainers automatically being a package maintainer for all the packages within the namespace
Optional removal of all package maintenance rights within the namespace when the namespace maintenance rights are being removed for a user
A warning if the user still has namespace maintenance rights when package maintenance rights are being removed

I guess that sounds sensible to me.

What is the actual question? sweat_smile
So it seems like you want to have:
* Namespace maintainers

* Package maintainers

* Namespace maintainers automatically being a package maintainer for all the packages within the namespace

* Optional removal of all package maintenance rights within the namespace when the namespace maintenance rights are being removed for a user

* A warning if the user still has namespace maintenance rights when package maintenance rights are being removed

I guess that sounds sensible to me.

Yes, @minhqdao. I am actually considering whether to have the maintainers in a namespace or not for the MVP. It also depends on the organizations that will be planning to use our registry and if the need arises maintainers of the namespace feature can be integrated as well.

I like the way this feature is designed, I'm no expert in this but I would think that organizations use a namespace to oversee all their packages, so I agree that the users that are designated as namespace maintainers should be able to operate on all the packages in the namespace.

So, if a user wants to remove a maintainer from namespace, the maintainer can be directly removed from all the packages under that namespace or they can ask the backend to keep the user as the maintainer of the packages and only remove the maintainer from the namespace.

Yes, I also agree that when removing maintainer rights, namespace maintainers should probably be able to have both options, for example:

user maintains 3 packages in a namespace that has 10 packages.
user is promoted to namespace maintainer -> can now oversee all 10 packages.
Another namespace maintainer or admin wants to remove user from the namespace maintainer:
-- removed from namespace only ->  user can still maintain the 3 packages it was previously maintaining
-- total removal -> user does not maintain any packages in the namespace anymore.

Makes sense?

Think we're all on the same page here.

@arteevraina it seems to be the most apt solution for the MVP.