Dump contour values relative to each other instead of (0, 0)

In the spec I read about coordinates:
First coordinates relative to (0,0); others are relative to previous point.
Yet the coordinates dumped with ttx/FontTools all seem to be relative to (0, 0). Is there any way to dump/compile them relative to the previous point?

There isn't.  The compiler concerts them to absolute.  We consider that a bye encoding detail. Why do you need that?

When coordinates are absolute you can't move a point farther than 32,767. Currently <pt x="-16383" y="16383" on="1"/> works, but <pt x="-16384" y="16384" on="1"/> crashes ttx/FontTools with the message OverflowError: signed short integer is greater than maximum. This is half the value of an unsigned int, so I didn't expect that.
With relative values I can work around this making steps of the maximum value so I end up at my ridiculous large value.
I am experimenting so I understand you probably won't need this for production stuff.

You are misinterpreting the error.  What we expose to user doesn't limit anything.  You get the error because the relative step from -16384 to +16384 does not fit into a SHORT. You are free to take as many large steps as you want as long as the difference between consecutive ones does not exceed the SHORT range (-32768..+32767)

Ah yes, check. Thanks for the explanation!


[ZEPPELIN-4054] Fix LdapGroupRealm path in shiro doc

LdapGroupRealm has moved to org.apache.zeppelin.realm
What is this PR for?
Fix doc
What type of PR is it?
Documentation
Todos
[ ] - Fix LdapGroupRealm path in shiro doc
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-4054
How should this be tested?
no need
Screenshots (if appropriate)
no need
Questions:

@cquptEthan , Thanks for the contribution, please create jira and update the PR title.
Reading the Contribution guidelines will help you contribute code better. :-)

@liuxunorg  Thanks, I fixed.

LGTM, thanks for the contribution @cquptEthan


Cache base VM instead of creating it from scratch each time.

Fixed https://github.com/envoyproxy/envoy-wasm/pull/387


Added  Fuse spec

Fuse is a EVM compatible network for business adoption.
The spec was tested using the standard test_spec_full.sh script.
Resources
Website
About the network
Connection details

Awesome to see!


Fixed double escapes after minification

This is a fix for issue #69
It does use ES6 template strings, but that's both the safest way to go when mixing double&single quotes, and supported on every non-fossile browser anyway :)

Hey @thany,
The issue with babili can be easily reproduced. I just pushed a commit to makes classes configurable which also resolves the issue minifying using babili.
I tested locally and it worked - please confirm it resolves the issue.

It appears to have fixed it. I'm not sure why making classes configurable fixes it, since the nested quotes "problem" is still there. But it minifies correctly now, so either way it's fine.


install_labels is called before app is initialized

It seems that defining a node as a child of DjangoNode result in install_labels being called before the app is initialized with project settings, causing the connection to fail if you have changed the neo4j user or password. See the following stack trace:
Traceback (most recent call last):
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
    autoreload.raise_last_exception()
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
    six.reraise(*_exception)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/django/apps/config.py", line 199, in import_models
    self.models_module = import_module(models_module_name)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/media/pawantu/Data/git/omnidia/neograph/models.py", line 11, in <module>
    class Dataset(DjangoNode):
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neomodel/core.py", line 104, in __new__
    install_labels(inst)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neomodel/core.py", line 42, in install_labels
    cls.__label__, key))
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neomodel/util.py", line 27, in wrapper
    self.set_connection(config.DATABASE_URL)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neomodel/util.py", line 60, in set_connection
    self.refresh_connection()
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neomodel/util.py", line 28, in wrapper
    return func(self, *args, **kwargs)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neomodel/util.py", line 67, in refresh_connection
    self._session = self.driver.session()
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/session.py", line 148, in session
    session = Session(self)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/session.py", line 461, in __init__
    self.connection = connect(driver.host, driver.port, driver.ssl_context, **driver.config)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 465, in connect
    return Connection(s, der_encoded_server_certificate=der_encoded_server_certificate, **config)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 237, in __init__
    self.fetch()
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 326, in fetch
    self.acknowledge_failure()
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 273, in acknowledge_failure
    fetch()
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 311, in fetch
    raw.writelines(self.channel.chunk_reader())
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 169, in chunk_reader
    chunk_header = self._recv(2)
  File "/media/pawantu/Data/isolated/virtualenvs/omnidia/lib/python3.5/site-packages/neo4j/v1/connection.py", line 152, in _recv
    raise ProtocolError("Server closed connection")
neo4j.v1.exceptions.ProtocolError: Server closed connection

Hmm i have just tried to reproduce this and i am struggling to.
Have you got django_neomodel in your installed apps before any of your local apps? It needs to come before them in the list.
I am guessing you haven't set AUTO_INSTALL_LABELS to true somewhere?
Perhaps you could push an example to a repo or a snippet to reproduce somewhere.

Hmmm okay I put django_neomodel above other apps and it works now

Super, I am going to try and catch this some how and display a friendly
message in the future.
On 29 Jan 2017 19:53, "Timothée Mazzucotelli"<EMAIL_ADDRESS>wrote:

Hmmm okay I put django_neomodel above other apps and it works now
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/robinedwards/django-neomodel/issues/1#issuecomment-275936574,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJ0YbUorZKrcUGE7yDJ4Piq1YrDdgawks5rXOBAgaJpZM4LwQjL
.

Right neomodel 3.2.0 will no longer calls install_labels at compile time. It's not released yet but has been pushed to master


Segmentation violation in test suite

Test suite is currently failing due to the following:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x4eb15b]

goroutine 19 [running]:
panic(0x5a6120, 0xc4200100a0)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/heidi-ann/ios/app.(*StateMachine).Apply(0xc4200143c0, 0x0, 0x1, 0x0, 0xc4200148a0, 0x11, 0x0, 0x0, 0x0, 0x0, ...)
	/home/ubuntu/go/src/github.com/heidi-ann/ios/app/app.go:32 +0x3bb
github.com/heidi-ann/ios/consensus.runParticipant(0xc420017940, 0xc4200d2000, 0x0, 0x1, 0x186a0, 0x0, 0x1, 0x0, 0x1, 0x3e8, ...)
	/home/ubuntu/go/src/github.com/heidi-ann/ios/consensus/participant.go:69 +0x1379
github.com/heidi-ann/ios/consensus.Init(0xc4200d2000, 0x0, 0x1, 0x186a0, 0x0, 0x1, 0x0, 0x1, 0x3e8, 0x5daa3e, ...)
	/home/ubuntu/go/src/github.com/heidi-ann/ios/consensus/consensus.go:63 +0x575
created by main.main
	/home/ubuntu/go/src/github.com/heidi-ann/ios/server/server.go:77 +0xe4b

I will take a look into it now

This bug was due to a missing line in the automatically generated server configuration file. This has been fixed but i'll make a few change to ensure this gets detected at startup instead of causing a panic


Add Tween Event

This adds an event to tween values from timelines.
To do:

[x] Background Support
[x] Portrait Support
[x] Autoload Support
[x] Fix Icons

I think it would be nice to support loops (also endless loop, but might need to disable await?). Use case would be something:

Breathing animation
Flying around portrait
Something like party frog?
...

I think it would be nice to support loops (also endless loop, but might need to disable await?). Use case would be something:

Breathing animation
Flying around portrait
Something like party frog?
...

Good suggestions but I feature-froze this PR. They can be added in future PRs.

We have found a bug where selecting Character and offset as property will completely crash Godot.


Configurable total size limit and delete old data when exceeded

Right now new data Put() would fail if disk is out of space. It would be great to have an option to

limit the total disk space consumed by diskqueue;
delete old data when space limit is reached but we still have new data coming in.

I can see some value in providing some "strategy" for how the queue should behave in the event of data loss (discard old or new data), but the point of this library is to durably persist data so that it can be subsequently iterated over. Running out of disk space isn't really in the scope of the functionality provided.

Thanks @mreiferson Yes I understand it's out of the scope of the original design but with the added strategy of discarding old data, it'll enable many more use cases-)
If we have the bandwidth to implement this feature, would you consider accepting the PR and maintaining it later on? It will be guarded by a flag and won't break existing use cases.

Rather than building all this kind of functionality in to the core, I think that coming up with an API for diskqueue such that the application integrating with it could observe conditions like this and act on them however they wanted seems like a better approach.
For example, right now the API we expose only allows reading, writing, purging, and very minimal introspection (Depth()). What we would need is to extend the API to expose more stats (like size on disk) and perhaps a way to purge specific segments.

Depth() is also costly to run; getting a less expensive way to observe queue depth would be great.

Thanks for the follow-ups! We've implemented a disk size limit in this fork
It added new matadata (e.g. number of msg per file) to keep accurate track of depth when a file is deleted before full read.
Feel free to check it out and merge to this main repo if you like-)


add .eco TLD

Please add support for the .eco TLD. We have .eco registrants who would like to use Wix but can't.

Is everything fine with this PR?

Thanks @dleshem! Any sense of when this might be released on wix.com?

@exortech, probably best to send this to Wix Support. It should be fixed the next time the next time that part of the system is deployed.

Thanks @dleshem - will do!


Random failures on Travis and AppVeyor - Failed to request component-reports

Describe the bug
On Travis and AppVeyor - I am seeing my build fail on the Maven goal org.owasp:dependency-check-maven:5.0.0-M3:check with the error Failed to request component-reports. My build consists of 51 modules, and the module it fails on varies from build to build.
** Version of dependency-check used **
Maven plugin version 5.0.0-M3
** Log file **
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:5.0.0-M3:check (default) on project exist-cache: One or more exceptions occurred during dependency-check analysis: One or more exceptions occurred during analysis:
[ERROR] 	Failed to request component-reports
[ERROR] -> [Help 1]

To Reproduce
Run the build here: https://travis-ci.com/eXist-db/exist/builds/111687162 or here https://ci.appveyor.com/project/AdamRetter/exist/builds/24526217/
Expected behavior
The plugin should work.
Additional context
Tried OpenJDK 8, 9, 10 and Oracle JDK 11.
Maven version 3.6.0

Same here with Maven 3.5.4, OpenJDK 8 running on Jenkins

@jeremylong So is this considered fixed in 5.0.0? Our Travis and AppVeyor CI does seem to be passing now :-) Thanks

we still experience this issue with 5.0.0 and gradle plugin

Just ran into this today with 5.0.0 via the Maven plugin. Our project is a multi-module project, about 10 modules, but only one actually uses the dependency-check plugin.

We upgraded and a new vulnerability was updated such that dependency-check reported it. 3 nightly builds worked as designed this way.
I updated our suppression file to suppress this one (we are not actually vulnerable).
Next build failed with Failed to request component-reports etc. Also, two consecutive builds from my machine failed the same way, but all builds thereafter (both machines) succeeded.

Does Failed to request component-reports indicate failure to fetch a resource that is then cached for future builds?

Failed to request component-reports indicates that there was an error obtaining information from the OSS Index. In several cases the OSS Index results will contain vulnerability information that is not contained in the NVD. However, if there is an error occurring in the OSS Index (i.e. returning a 500) there is very little we can do.  I know that there were some networking issues over the past few days that affected the Maven Central APIs hosted by Sonatype. These issues may have also affected Sonatype's OSS Index as well.

@jeremylong Would it be possible to make the error message clearer, perhaps if we can detect an HTTP error code when requesting the OSS Index, we could also show that to the user and indicate that the problem is not with your plugin, but rather a network issue?


move pkg cmd/helm/strvals to pkg/strvals

This is another useful package outside of cmd/helm.

For my use case, currently I'm maintaining a copy/paste of pkg cmd/helm/strvals to parse yaml. It would be awesome to just use the upstream package instead :)

I rebased it!

I was about to mention to @technosophos this might help with the helm-template bug i filed! Looks like y'all are on it. Does this also cover the string slice flag stuff that allows you to provide --set or --values multiple times? Might be a good follow up.

@chancez Yeah, it will make it much easier to do the multiple --set flags on helm-template.


Fix for hass version 2023.5.x

Close issue #1

We alredy fixed it
Thank you for your contribution


chore(main): release 1.8.0

:robot: I have created a release beep boop
1.8.0 (2024-10-08)
Features

Add taskfile (b6828b4)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.8.0
:sunflower:


Exit Traffic Watcher is broken and missing traffic freqently

Sep 26 19:54:50 localhost rita_exit: WARN 2018-09-26T23:54:50Z: rita_exit::rita_common::traffic_watcher: We have an id Identity { mesh_ip: V6(fd86:a371:8952:227f:8062:131b:a844:30ed), eth_address: 0x0101010101010101010101010101010101010101, wg_public_key: "QgZhZhfe6vK+zwIqya+LC1u9fqlYfIFcK/w7p1EWMHo=" } but not destination
Sep 27 01:54:49 vps184553 rita_exit: WARN 2018-09-26T23:54:49Z: rita_exit::rita_exit::traffic_watcher: We have a destination Int256(0) but no id

Reevaluation deadline set to Monday 2018-10-22


file_sink with json support

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

also, please sign the CLA


chore: update contract-verifier docker build file and add a document

What ❔
Update docker build for the cronos zkevm network deployment.

lgtm
can you also make a PR upstream to fix their repo?

We failed the docker build looks like relate to our working laptop CA issue.
I use my personal mac laptop, the docker file doesn't have build issue and all files are download correctly.
Maybe just leave it within our repo for saving our devops future efforts.


Support spotify connect

Spotify has this Connect feature that allows one to play audio on other devices logged into the same account and control the playback remotely. I would love to see this feature beeing part of psst as I often like to use my pc to control playback on my phone that is connected to some speakers by cable or is just out of reach.

Yes it's mentioned in the roadmap, but it's a lot of work. Definitely wanted, though.

Should've read the road map properly i guess :) But at least now there is an issue to track that. I might dive into the codebase later and see if I'm able to come up with something at least partially working.

The most complete Connect impl now is probably librespot-java, and we should probably take a look how things are done over there.

From my initial findings I thought it might be enough to use the transfer method provided by aspotify player, but that's just very shallow research. If it allows to use the player to later control the changed device than it wouldn't be too much work.

There's a little guide on the spotify website. Seems like psst would need some refactoring to integrate this properly.
One idea that came to my mind was having a spotify connect "device" running in the background. Then the UI just sends all commands as an API request – and the background device handles whatever it gets from the spotify API. So when the user selects a different device, the UI sends the same commands to a different device.
Does that make sense?

librespot dev here - couple of things:
* If you do opt to add this, the connect functionality is basically an event system - I'd recommend having this functionality as separate from the core of psst as possible, and running in a separate thread, as it doesn't really fit into a library in the traditional sense, with Spotify pushing a range of events depending on what other devices are doing.

Just to clarify: Were you referring here only to the "sink" role or is this relevant also when using it as a remote for other devices?
Could make sense to focus only on the latter in psst - people who want to Connect the local device can run spotifyd separately.

@3nprob, for me, the most usefull Spotify Connect use-cases would be:

Controlling Psst from my phone.
Reporting played tracks (Connect is more-or-less needed for this).

@jpochyla just curious, is there some reason why spotifyd (which can be run alongside psst just fine) doesn't solve this for you already? (It's still a useful feature, don't get me wrong!)
We're coming from the opposite perspective (love the UI in psst and want to use it as a remote for other devices)


Added warning if admin attempts to switch to an unverified user.

Before, if you tried to switch to an unverified user it would just change the background colors but not actually switch users.  This PR adds a check and tells the admin what the problem is and aborts the switch if the target user is unverified.  Also, I added some comments to the AccountController#switch_to_user method to help make it easier to understand what's going on.

Coverage decreased (-0.003%) to 92.647% when pulling 2a5c3b538f955dc840e0e3d788f07d6f6b09b417 on tweak-switch-user into fdd9dd05812fd34fb3900a85f9ce35c504602d3f on master.


demo not working

I had problems to get isparta to work with my project, so I wanted to try the demo:
Usage
Not all the istanbul command/options are available with isparta
Consult isparta -h for more information
Here is an example to run a coverage over mocha tests
babel-node node_modules/isparta/bin/isparta cover --report text --report html node_modules/mocha/bin/_mocha -- --reporter dot

douglasduteil/study-node-path-es6 demo the working cli
The tests are executed, but no coverage report generated:
No coverage information was collected, exit without writing coverage information

node version: v5.9.1

Same issue here.


Fix icon colours for dark theme

Tested on MacOS 13.4 and current KiCAD 7.
Had to patch the scaling to 1.0 as well, BTW (Bouni#330).
Great plugin!

Some eye candy for your entertainment.  🙂

Wasn't able to test this on windows as wx seems to not support dark mode here but looks like it can't cause to much trouble so I'll merge this one.


[FEATURE] - Using Tunnel split to connect two vpns at the same time

I am not sure if it is possible, but I would like to be able to use my VPN provider to not leak my IP when surfing or using certain apps, while at the same time, I need some apps, like home assistant to be in my home VPN.
At home, I can use the split tunnel function, to give home assistant for example access to my local dns etc, while other apps use my vpn provider. But when on the road, I need to switch back and forth, or use different user profiles.

Hello! Although there are technically possible ways to accomplish this, Android natively only supports one tunnel at a time without root. This would be a distant future type of feature that I'm not presently sure if I want to try and tackle in this app.
That being said, there is a simple way to accomplish what you want. I recommend getting a home router that has both a VPN server and VPN client built in. This way you can always just connect to your personal VPN server at home when you're out, and then your router handle routing to either to your self hosted services or route your internet traffic through the configured vpn client on the router.
I'll mark this one as closed for now, but feel free to comment back and we can chat further through possible solutions.


Hidden elements validation errors

Describe the feature
Hidden elements should add their validation errors as form errors instead of not showing anything.

You can now move validation errors even for hidden elements using the <FormKitMessages /> component.


github: revert all + support for generated files

revert all button

revert sibling generated files

fix for https://github.com/microsoft/pxt-arcade/issues/1964

Double check on the revert logic please. There might be a much easier way that I completely overlooked.


A type to unwrap a boxed type (analogous to Awaited) only works if implemented exactly like Awaited

🔎 Search Terms
unwrap, unbox, awaited
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ (I looked through the whole thing!)

Maybe it has to do with [Structural vs Instantiation-Based Inference]?
(https://github.com/Microsoft/TypeScript/wiki/FAQ#structural-vs-instantiation-based-inference)

This is observable in 4.1.5 as tested in the TS playground; I was unable to test this on prior versions because the Unbox<T> type cannot be defined as such: "Type alias 'Unbox' circularly references itself."
Tried to search for related issues but I'm not sure what keywords are relevant.

⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.6.2#code/PTBQIAgIQewDwKYBMIBcCeAHBECuBnZCASwDs0ALHAMxgBs6YB3MgcwgTgEMBbTOhADpwYUGVQIATtS4BjHLERIAPABUAfBADeoCBABuXOrgQAuCKoDcoXRB5dM5gBTVSzrpNbnVASggBeTX0YYiQ-QIMQpGsAXxsREQgAVVIAI3g2CHxUSS4JVnQIAEZhEETVCmJ8CCQYBGrSGFQIJhhJAGtS0QxsZLT4NU1-Cw44CVIkasVkZTJqKQgANU0Afj70uGVliG9rUFkYUmyISXr6fQRplGG1ABp1J1RvCAAfaHgZjR9zK+UUjcGQ00ACJGs1iHwBDwEKQJEhgRAuNUuKR0HsDkdmhJslcAhA7g9DMYzCM3r8vgFNDo9BjjhsiMNTvhzpcPkgnESTD49npIABRSSSNqmWy0rH1J4jYb0pCCTkIHkQGWCeyYJwcoxcynaWy84AQAVCyQivR6ixYHAAcn+Aw0lpIDSaiPw+GIrFIXFSAjQMDQFogltUluEpogkD0gftB1wdBQqRwZGyKNQxDyRBYqAoiPIHlSxByHkKPRwTEqsiz0djSpwuFIpzoaZQqF91v6mztIdN4bQ+CcACYAMx9vs+XUQMVoCXPYby6x6GLc0AxPYJSA2uCZbK5fKFPtdcqVaq1eoQMEtNqdBKgYvreB9wZ41SjcaTbQGTUkuYLRYQGIQNbrve2y7DYE5MiyVx9niBKPM8ZJsoM3zvEofxtveGhAhAoJOhC-AINCsLIAiSLZmioGHMc2KoJB0GqPcGrEnByGfOo4RUqKFHNDKeLgXQFyQQxXKKvygrChxmKTtk05Kmycofoqyqquq8psTqoYiUaJqmhOVHSbOtgLrEK5lGubabgWO4QAOtwtGWWaMDA7TIhAjDNHQxDtDgACCTBcPmLH7pAFRVOeHT4Pu17+uuA4PsMT6cC+1RaHYDguG4JCkPMkgQAAYjZggFR4rD4OYX7ZQA+khKKFHEehrDlz4wq+gmfpl375YVnglRlWUQJV2rVWOAFtjFyxjuYpAIBcki2CB+ycScZx8aySgDrR9GSk+8EoV8PwIdFgLath4KQvhMJwsRyKouiC1UVca03HRhIfkx5Ksdq1Ljgt3GMkt-FsgOLWLrYkAAOoXiV4mUVOUoyUocnEgpslKUDH1jmDENaTSt0w0+M7yQZi7LvEJn6ny3CnS0+ZZgACkKPBVAgNmlsQ5Z4IQEA+X5cIPs2eBtl0EAHiFnC8HhoVORFOkSnTMAMxzj30fKTGy-LCCIWj2MSZg9OM3iquM4IvEXEDio63LhuZjCykfqpn1muDYVY19Em6bD+nzkTlhAA
💻 Code
interface Boxed<T> {
  value: T;

  map: (fn: (arg: T) => void) => void;
}

type Unbox<T> = T extends Boxed<infer V> ? Unbox<V> : T;

const resolveBoxed = <T>(t: T | Boxed<T>): Boxed<Unbox<T>> => {
  return "not implemented" as any;
};

const testBoxed = <T>(value: T | Boxed<T>) => {
  const boxed = resolveBoxed(value);
  // Error:
  const test: T = boxed.value;
};

🙁 Actual behavior
I receive the error:
Type 'Unbox<T>' is not assignable to type 'T'.
  'T' could be instantiated with an arbitrary type which could be unrelated to 'Unbox<T>'.

🙂 Expected behavior
I would not expect an error.
Additional information about the issue
What I find curious is that the following implementation of Unbox<T> does work:
type Unbox<T> = T extends { map(fn: infer F, ...args: infer _): any }
  ? F extends (value: infer V, ...args: infer _) => any
    ? Unbox<V>
    : never
  : T;

This implementation is inspired by the implementation of Awaited<T>.  As shown in the provided TS playground, an analogous version of my testBoxed function using promises works.
Is this a bug? I understand that it may not be!  However, it's not intuitive to me why adding this extra layer of indirection/conditional type suddenly makes things work.  Given the premise of my example, I would expect things to either always work or always fail, regardless of the implementation of Unbox<T> (assuming it is meant to recursively unwrap a Boxed<T>).
Thanks!

I don't think that the testBoxed function is correct. For instance assume that T itself is Boxed<number>, then boxed.value is of type number which is not assignable to T.

I would expect things to either always work or always fail, regardless of the implementation of Unbox<T> (assuming it is meant to recursively unwrap a Boxed<T>).

I would definitely not expect that. Even if the two implementations did exactly the same thing, it doesn't mean that TypeScript can statically analyze them in the same way. Now I don't know exactly why the second one works, but the fact that there is a difference in behavior isn't particularly surprising to me, you often have to be careful with how exactly you implement a given generic type so that it will work in all situations you care about.

Thanks for weighing in @guillaumebrunerie.

I don't think that the testBoxed function is correct. For instance assume that T itself is Boxed, then boxed.value is of type number which is not assignable to T.

Yes, good point.  I recognize this ambiguity.  Without an extends constraint on the generic, T | Boxed<T> is sort of equivalent to just T, at least until T is bound to a specific type.  (If I could do T extends Not<Boxed<T>> then it might make sense!)
That said, I'm not sure it's incorrect—or at least no more incorrect than the type for Promise.resolve() in the standard library 😄   (Implementing resolvedBoxed with overloads does not seem to change the behavior.)
// From typescript/lib/lib.es2015.promise.d.ts

interface PromiseConstructor {
    // ...
    resolve(): Promise<void>;
    resolve<T>(value: T): Promise<Awaited<T>>;
    resolve<T>(value: T | PromiseLike<T>): Promise<Awaited<T>>;
}

I can accept that different implementations of Unbox<T> will behave differently for what appear to me to be obscure reasons.  I can just follow the implementation of Awaited<T>, since I know that will continue to work in future versions.
I'll go ahead and close this issue.


Multithreaded Application under debugger very slow.

I have an application/library that uses multiple threads. It normally runs in a few seconds, but when launched under the debugger using python (current file)
Environment data

VS Code version: Version 1.25.0-insider (1.25.0-insider)
Extension version (available under the Extensions sidebar): 2018.6.0
OS and version: Mac OS 10.13.5 (Macbook Pro 2017 15 inch)
Python version: CPython 3.6.5 installed via PyEnv
Type of virtual environment used : venv

Actual behavior
Code runs quickly to the point where threads are spun up. Then, it doesn't hit the following line of the main thread.
Attempting to pause doesn't seem to work.
If you set no breakpoints it does run to completion without issue.
Expected  behavior
Expect after the threads are started (less than a second of time) for the next line of the main program to be reached by the debugger.
Steps to reproduce:
I was able to reduce this to three files: watch.py, bidy.py, repro.py
Archive.zip
Setup Environment

python3 -m venv venv3
source venv3/bin/activate
pip install google-cloud-firestore

In VS Code

Set breakpoint on line 64 doc_ref.set({ which follows the call to spawn threads
run current file for repro.py

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
> cd /Users/crwilcox/workspace/repro-vscode ; env "PYTHONIOENCODING=UTF-8" "PYTHONUNBUFFERED=1" /Users/crwilcox/workspace/google-cloud-python-firestorewatch/venv3/bin/python /Users/crwilcox/.vscode-insiders/extensions/ms-python.python-2018.6.0/pythonFiles/PythonTools/visualstudio_py_launcher.py /Users/crwilcox/workspace/repro-vscode 56482 34806ad9-833a-4524-8cd6-18ca4aa74f14 RedirectOutput,RedirectOutput /Users/crwilcox/workspace/repro-vscode
/repro.py

Was this with the old or the experimental debugger? And if not the experimental debugger then try that and let us know if that worked.

I had tried with both debuggers with similar results. If there is additional data I can collect let me know.

@crwilcox nope, threads are just hard.

@brettcannon 100% understand.  I recall having issues like this before in the VS Debugger also a few years back. Thank you for looking into this.

Please can you try debugging with the latest version (extension) and let us know how it is.

I just tried after updating and still seeing the same issue. Breakpoints on the main thread are hit, but the breakpoints on other threads are not.
{
            "name": "Python: system 1",
            "type": "python",
            "request": "launch",
            "program": "${workspaceRoot}/tests/system.1.py",
        },

VS Code: Version 1.27.0-insider (1.27.0-insider)
Python Extension: 2018.7.1

@crwilcox could you file this at https://github.com/microsoft/ptvsd?

@crwilcox FYI the reproducer you provided requires some FIRESTORE_CREDS.
I just did a stupid little app and the threading performance was fine, but I do see what you mean about not breaking on multiple threads (the debugger does see the other threads, though):
import concurrent.futures
import importlib.util

FILES = "bidi.py", "repro.py", "watch.py"

def read_source(path):
    with open(path, 'rb') as file:
        return importlib.util.decode_source(file.read())

executor = concurrent.futures.ThreadPoolExecutor(max_workers=3)
for source in executor.map(read_source, FILES):
    print(source)

Narrowed it down:
import threading

numbers = range(3)

def double(number):
    doubled = number * 2
    return doubled

threads = []
for num in numbers:
    thread = threading.Thread(target=double, args=(num,))
    thread.start()
    threads.append(thread)

for thread in threads:
    thread.join()

So this won't stop on the breakpoints, but logpoints are executed! So there's something going on, but I do remember some issue with getting threads to pause. @karthiknadig any ideas?

Looks like it has been fixed in masterin ptvsd, so should be sent out with the September release of the extension.

@crwilcox
Please could you test this in the latest development version of the extension.
https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md#development-build

@DonJayamanne it seems latest builds are working. There is another behavior now (breaking on non-breakpointed lines) but this is resolved. Closing.

breaking on non-breakpointed lines

Please could you file an issue for that? Thanks

@DonJayamanne Gladly. I am still trying to figure out how to describe what is happening but as soon as I nail down what is going on I will open a new issue. Thanks!


use envsubst to resolve env before passing envoy.yaml file to envoy

similar to https://github.com/open-telemetry/opentelemetry-demo/blob/main/src/frontendproxy/Dockerfile#L11

Note: please make sure we follow common convention when asking environment variables from developers. For e.g. in python its os.getenv(NAME). Docker also passes environment variables without the $ sign, and only uses that convention when it needs to retrieve environment variables locally (so that it doesn't conflict/confuse the declaration with retrieval)


Old rustfmt version used

Updated to latest & edited travis config

All these sweeping code changes cause conflicts. Might I suggest we hold off for a while till the code settles a bit?

@sjmackenzie It's up to you and @r8d8 about when we update the rustfmt version, but you can do a simple cargo fmt --all and all your conflicts should be resolved.

@sjmackenzie I don't use nixcrates or NixOS's build system to build rustfmt.
I directly run cargo install rustfmt --vers 0.9.0 --force and it gives me a rustfmt at ~/.cargo/bin. So I can then just do PATH=~/.cargo/bin:$PATH cargo fmt --all.

Ah okay I ran $ nix-env -i rustfmt a long time ago, this conflicted. Now
it works.


Let mypy check asv_bench

 tests/conftest.py:8: error: Skipping analyzing "numba": module is installed, but missing library stubs or py.typed marker  [import]
asv_bench/benchmarks/cohorts.py:45: error: "Callable[[Cohorts], Any]" has no attribute "unit"  [attr-defined]
asv_bench/benchmarks/cohorts.py:46: error: "Callable[[Cohorts], Any]" has no attribute "unit"  [attr-defined]
asv_bench/benchmarks/cohorts.py:47: error: "Callable[[Cohorts], Any]" has no attribute "unit"  [attr-defined]
asv_bench/benchmarks/combine.py:73: error: Argument 5 to "_initialize_aggregation" has incompatible type "None"; expected "int"  [arg-type]
tests/test_core.py:11: error: Skipping analyzing "numpy_groupies.aggregate_numpy": module is installed, but missing library stubs or py.typed marker  [import]
tests/test_core.py:11: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
tests/test_core.py:81: error: Module "flox.core" has no attribute "T_Func2"; maybe "T_Func" or "T_Funcs"?  [attr-defined]
tests/test_core.py:995: error: Argument "method" to "groupby_reduce" has incompatible type "Literal['split-reduce']"; expected "Literal['map-reduce', 'blockwise', 'cohorts']"  [arg-type]
tests/test_core.py:1362: error: Argument 3 to "_validate_reindex" has incompatible type "str"; expected "Literal['map-reduce', 'blockwise', 'cohorts']"  [arg-type]
tests/test_core.py:1368: error: Argument 3 to "_validate_reindex" has incompatible type "str"; expected "Literal['map-reduce', 'blockwise', 'cohorts']"  [arg-type]
tests/test_core.py:1373: error: Argument 3 to "_validate_reindex" has incompatible type "str"; expected "Literal['map-reduce', 'blockwise', 'cohorts']"  [arg-type]


Got error when running lnd on mainnet

I cannot start the lnd service properly and got the following error:
unable to load RPC credentials for bitcoind: please set all or none of bitcoind.rpcuser, bitcoind.rpcpass, and bitcoind.zmqpath
And I found that bitcoind.zmqpath is not set in my lnd.conf:
It works after adding bitcoind.zmqpath=tcp://<IP_ADDRESS>:29000 to lnd.conf.

Thanks - I updated the lnd.conf and will test run it.


GPU Support Utilities [preview -- do not merge]

When setting a script or model with "GPU" allow SmartRedis to distribute the request to any available GPU if mulitple GPUs have previously been configured via a select_gpus command.

Codecov Report

Merging #232 (513d78f) into develop (a78f629) will decrease coverage by 1.25%.
The diff coverage is 58.08%.

@@             Coverage Diff             @@
##           develop     #232      +/-   ##
===========================================
- Coverage    82.46%   81.20%   -1.26%
===========================================
  Files           51       51
  Lines         2840     2969     +129
===========================================
+ Hits          2342     2411      +69
- Misses         498      558      +60

Impacted Files
Coverage Δ

include/client.h
100.00% <ø> (ø)

include/redisserver.h
100.00% <ø> (ø)

src/cpp/client.cpp
84.59% <4.76%> (-2.69%)
:arrow_down:

src/python/module/smartredis/client.py
95.09% <50.00%> (-0.70%)
:arrow_down:

src/cpp/redis.cpp
69.77% <65.95%> (-2.63%)
:arrow_down:

src/cpp/redisserver.cpp
94.59% <100.00%> (+0.07%)
:arrow_up:

This approach didn't work -- abandoning the branch


refactor: use rdFingerprinGenerator

Changelogs
This PR addresses the deprecation warning when rdkit>=2014 is installed. See #98 and https://github.com/datamol-io/datamol/issues/225 for more details.

Refactoring fingerprint atom pair, rdkit, morgan, topological, and their count fingerprints to FingerprintGenerator.

Checklist:

[x] Was this PR discussed in an issue? It is recommended to first discuss a new feature into a GitHub issue before opening a PR.
[ ] Add tests to cover the fixed bug(s) or the new introduced feature(s) (if appropriate).
[ ] Update the API documentation if a new function is added, or an existing one is deleted. Eventually consider making a new tutorial for new features.
[x] Write concise and explanatory changelogs below.
[x] If possible, assign one of the following labels to the PR: feature, fix or test (or ask a maintainer to do it for you).

Mostly copy-pasted from https://github.com/datamol-io/datamol/pull/226. However, the radii for ECFP and ECFP-count remains unchanged unlike the original PR. Passed all tests in tests/test_fp.py.

@isty2e  tests are failing (the fingerprints have changed), also needs to run black and ruff.

        See the module's __doc__ string for more info.
        """

        if memo is None:
            memo = {}

        d = id(x)
        y = memo.get(d, _nil)
        if y is not _nil:
            return y

        cls = type(x)

        copier = _deepcopy_dispatch.get(cls)
        if copier is not None:
            y = copier(x, memo)
        else:
            if issubclass(cls, type):
                y = _deepcopy_atomic(x, memo)
            else:
                copier = getattr(x, "__deepcopy__", None)
                if copier is not None:
                    y = copier(memo)
                else:
                    reductor = dispatch_table.get(cls)
                    if reductor:
                        rv = reductor(x)
                    else:
                        reductor = getattr(x, "__reduce_ex__", None)
                        if reductor is not None:
>                           rv = reductor(4)
E                           RuntimeError: Pickling of "rdkit.Chem.rdFingerprintGenerator.AtomInvariantsGenerator" instances is not enabled (http://www.boost.org/libs/python/doc/v2/pickle.html)

../../../../conda/envs/molfeat-dev/lib/python3.11/copy.py:161: RuntimeError

The attempt to deepcopy the default params in FP_DEF_PARAMS failed because of "atomInvariantsGenerator": rdFingerprintGenerator.GetMorganFeatureAtomInvGen() in fcfp and rdkit.Chem.rdFingerprintGenerator.AtomInvariantsGenerator not being serializable. I can think of a few solutions, but is there any recommendation?

You can try to update __getstate__ and __setstate__ to manage the serialization in a custom way. That should take care of FPCalculator (note that you also needs to check that to_state_dict is working properly).
For the test set, it's very likely that you might need to modify the test_state.py file a bit.
If you do have another approach in mind, would be happy to discuss it. Also let me know if you are stuck and need help.

Since rdkit.Chem.rdFingerprintGenerator.AtomInvariantsGenerator is implemented in C++, using __getstate__ will require wrapping the invariantsgenerator in another class, which might be inefficient. A few alternative solutions:

Implementing a custom deepcopy-like class which tries deep copying but falls back to shallow copying for a non-serializable instance - This may share the AtomInvariantsGenerator instance over multiple instances of FPCalcualtor.
Doing similar things but initialising another AtomInvariantsGenerator instance upon failure - Each FPCalculator will have its own AtomInvariantsGenerator instance as an attribute. This will also involve defining a factory function for that purpose, but if more non-serializable objects will be added to the params, the implementation can be a bit boilerplate-like and messy.
Shallow copying - likely problematic I think?

I was thinking of some simple custom class loading so in set state, you define a serializable proxy representation of the C++ object that cannot be pickled, then in getstate, you map that back  into the rdkit object.
I like 2, as I am not sure what sharing the same object would implies on the long term. Overall only 3 is a no go IMO.

Considering extensibility, I just implemented a wrapper for AtomInvariantsGenerator and updated changelogs of this PR. This got more complicated than I expected, but I hope it works well.

Awesome, please run black and ruff as the linting is failing.

Awesome, please run black and ruff as the linting is failing.

I thought I've run them but somehow the CI has been blocked by linting issues. Maybe some configuration or version mismatch here? A pre-commit hook would be appreciated.

@isty2e Thank you for your suggestion. We address the code-check issue in a separate PR to ensure this one stays focused on the primary changes.
For this PR, could you update the ruff version to 0.5.7 and re-run ruff check ..
Once that’s done, we should be good to go.

Merged main and pushed the changes.

@maclandrol Could you take a final look and resolve the remaining conversations?


Document symbol doesn't expose the detail property upstream

yaml-language-server computes document symbols of YAML properties with a detail field containing the property value.
This information is not exposed upstream by monaco-yaml.
See https://github.com/remcohaszing/monaco-yaml/blob/545e6a6bc443b5c96db7b7d2e06a0dbc1967771a/src/languageFeatures.ts#L344
A change to:
  detail: item.detail,

appears to fix it.
Our use-case is following what is described in response to https://github.com/remcohaszing/monaco-yaml/issues/41, i.e. we're making use of getDocumentSymbols() undocumented API.

Thanks for reporting this! I’ll gladly fix this, or even better, accept a pull request. :)

Thanks for the prompt reply.
Here is the PR: https://github.com/remcohaszing/monaco-yaml/pull/138


Docs: fix diagram

Revert "how it works" diagram back to how it was. Happy to discuss changes to our tech marketing, but I want to be consulted first.

:warning: I see this error when I check on the preview

FYI @gerhard as it relates to https://github.com/dagger/dagger/pull/4532/commits/6f1f8e03e1e5d1ea5bd5fd3d4093b6b35460c0e7


Revert "Make power grid check event force APCs off (#17935)"

This reverts commit d21e4a1d4e6ad89e2baacd3e744c83278cc3b02c.
Removing intended gameplay is cringe, pretty much every ss13 server lets you turn the power back on forcibly and it allows for some level of counter-play during power outages instead of "oh no power's out i guess there's nothing that can be done lol".
Arguably engineering should be able to reset substations to turn it back on at a dept level, but shrug.
Changelog
:cl: moony

tweak: You can turn APCs on during power grid checks again.

ig reverting disabling on construct then


Use separate worker to handle markdown parsing and task tracking

At the moment, the cardboard logic swings into action when the view is opened in obsidian.  When this happens, cardboard parses the vault to find all the tasks ready to put on whatever boards have been defined.  I want to split this parsing (as well as keeping track of edits to files) to a worker which will start when Obisidian launches and run for as long as the application is open.  This worker will essentially be a cache of tasks ready to be displayed so when a view is opened it can read from this cache which should lead to faster loading of boards.
However, the main reason for doing this is that it is going to be important for Cardboard to be able to track edits to files so it knows if tasks have moved (due to edits) when it comes to providing drag and drop - as each task is going to have to be associated with a card that appears in (perhaps) multiple columns on (perhaps) multiple boards.  If Cardboard is only running when the view is open then it will be blind to changes that happen when it is not open, and this will increase the liklihood of it loosing track of cards and keeping them in their desired order in columns.
There are probably some dragons hidden here (as they say)!   I have not explored this - even in thought - yet.  Plus I have no idea how to build something which will have 2 separate elm applications in it (as the plugin is written in elm).

...and released....


pod level port-mapping support

This PR is to implement pod-level port-mapping ( #382 ), which include

[x] portmapping as a pod level object in pod spec
[x] API and command line for port mapping operation
[x] port mapping operation in pod life cycle management routines
[x] move iptables code from runv back to hyperd
[x] range port mapping

Almost done, will do test/fix and add more unit test cases

Functional test finished, usage:
Port Mapping configuration in Pod Level
{
  "portmappings": [{
    "containerport": "80",
    "hostport": "3000",
    "protocol": "tcp",
  },{
    "containerport": "8000-8080",
    "hostport": "3000-3080",
    "protocol": "tcp",
  }]
}

Publish port from command line
hyperd@[Go:(Workspace)]➜ sudo ./hyperctl run -t --rm --publish 3000:1300 busybox:latest /bin/sh
/ # nc -l -p 1300
aaa
/ # exit

correspond request from outside
# nc <IP_ADDRESS> 3000 <<END
aaa
END

Publish port range
hyperd@[Go:(Workspace)]➜ time sudo ./hyperctl run -t --rm --publish 3000-3100:1300-1400 busybox:latest /bin/sh
/ # nc -l -p 1300
aaa
/ # exit

Dynamically change portmapping with hyperctl ports subcommands
hyperd@[Go:(Workspace)]➜  sudo ./hyperctl ports add -p 3000:1300  busybox-latest-4488498752
hyperd@[Go:(Workspace)]➜  sudo ./hyperctl ports ls  busybox-latest-4488498752
Protocol            Host Ports          Container Ports
tcp                 3000                1300
hyperd@[Go:(Workspace)]➜  sudo ./hyperctl ports delete -p 3000:1300  busybox-latest-4488498752
hyperd@[Go:(Workspace)]➜  sudo ./hyperctl ports ls  busybox-latest-4488498752
Protocol            Host Ports          Container Ports
hyperd@[Go:(Workspace)]➜

added an example pod for podmapping:
examples/port-mapping.pod:
{
        "id": "port-mapping-test",
        "containers" : [{
            "name": "pmtest",
            "image": "busybox:latest",
			"command": ["/bin/nc", "-l", "-p", "1300"]
        }],
        "resource": {
            "vcpu": 1,
            "memory": 128
        },
        "portmappings": [{
			"containerport": "1300-1310",
			"hostport": "3000-3010",
			"protocol": "tcp"
		}]
}

ready for review @bergwolf

the new commit re-enable the in sandbox portmapping for hypernetes, controlled by (same as before):

disableIptables configuration entry in config file
portmappingWhiteLists fields in pod spec

An example pod proviede in hyperd/examples/port-mapping-in-sandbox.pod.
Note: the "in sandbox portmapping" doesn't do NAT in hyperd, it should be completed by other components. i.e. during test of this feature, you should access the ip address of the container instead of the host's.

LGTM!


RegEx Doc Variable Functionality

For reference: boxes are the "Line #" and "Beg Pos"
When boxes are unchecked, set value to -1 (not currently the case for Line #)
When boxes are checked, change displayed default value to 0 (not currently the case for Beg Pos)
Change description for Line # to (Use if exact Regular Expression match is not desired)

When Line # box is checked, it should stay checked even if the Line # is 0. Currently unchecks itself if you check the box and save the value as 0.
When you uncheck the Line # box, it should clear out the values for Beg Pos and Num Chars (uncheck box and no longer have value)


[.NET] Review use of casts

Lots of places where we're using hard (throwing) casts when we could be using the as keyword. We should review and make sure we're doing The Right Thing.

Nice-to-have cleanup issue, but we should handle this with the convergence effort


Summary for a single PR's result

Not everyone wants comments on the PRs themselves, some checks are just noisy. We should support a summary view, either on a dedicated page or just as a PR comment.
Summary page should also support re-running build, for intermittent issues, help development of GopherCI (not having to send another PR each time), and possibly rerun tests if the base branch changes (but we should detect this as being discussed in #25)
See related #3, #17, #27

Web UI deployed in #76.

If it's deployed, where can I see it?

I asked the same thing earlier -> https://gci.gopherci.io/analysis/18 is a live example, but there are more mockups/detailed views around, I think


Fix service stop on EL6

sysvinit template (https://github.com/silpion/ansible-tomcat/blob/master/templates/service_sysvinit.j2) did not define any PID file.
EL6 killproc rely on PID file.
Simply add PID file on /var/run/tomcat.pid

Link issue #7

Hi, I've that one tested and integrated with variables according to {{ tomcat_service_name }} variable in feature/tomcat8 branch. I'll close this once feature/tomcat8 has been merged to next release branch.

Implemented with current release.

Should we close/discard the pull request. Support is now available.


License of Qt?

I don't understand the license of Qt?
Should my desktop application be open-source for me to use NodeGUI and therefore Qt ?
My application is going to be a commercial software. What kind of Qt license do i need for that?

You should be fine. QT has an LGPL license. As long as you dont physically link the QT binaries, your fine.
The rule of thumb is "If the user can remove the copy of QT and supply their own, its A-OK"


Refactor Inquirer to new package structure

Inquirer has been completely rewritten in recent times. What we have been installing is the old version, which is still maintained.
This is what the maintainer said about it:

Inquirer recently underwent a rewrite from the ground up to reduce the package size and improve performance. The previous version of the package is still maintained (though not actively developed), and offered hundreds of community contributed prompts that might not have been migrated to the latest API. If this is what you're looking for, the previous package is over here.

Source
I've been refactoring it and it turned out to be quite some work, which also led to a couple of questions, because some features have been dropped in the new packages.
This issue is for discussing the implementation.
Implementation

do check out my associated PR #5511 which has exactly what I suggest below here.

Packages
We swap the packages inquirer and @types/inquirer with @inquirer/input, @inquirer/confirm and @inquirer/select.
Prompt util
We create a prompt util in utils/prompt.ts to wrap interactions with inquirer, because inquirer is ESM and cannot be stubbed. We create three separate prompt functions in there: prompt.forConfirmation, prompt.forInput and prompt.forSelection. These functions have a single parameter for passing prompt configuration. (typed the same as what inquirer expects)
We import the correct inquire package (@inquirer/input, @inquirer/confirm, @inquirer/select) when it is needed and pass the prompt config parameter into the inquire prompt call.
Cli runtime
We create two static prompt functions in the CLI runtime class, which can be used to toggle the spinner and run the prompts. Cli.promptForSelection and Cli.promptForConfirmation, just like currently with Cli.prompt. Cli.promptForInput is currently not necessary as there is no occasion in the code base where this would be used.
...and of course: replace all instances of where inquirer is used with the new prompt util and all instances where Cli.prompt was used with the new static functions.

Any thoughts on this @pnp/cli-for-microsoft-365-maintainers?

Why not keep the current Cli.prompt method and abstract all inquirer intricacies away without having to change our code?

Well, that is a possibility. I see a couple of downsides:
Some functionality has been dropped from inquirer, like using either 1 or multiple prompts, optionally linking them through the when property.
Also in the old way you can pass in questions and answers as separate objects, but in the new structure this is just one object. One prompt, with a default value.
The structure has changed significantly.
If we would work around that we would have to do quite some coding to do it right and to connect those data structures. While we also would be missing out on working with inquirer prompts in a typed way.
I'd say it's better to change it up. Even if its a lot of work.

And also I think the new prompt functions are simpler and therefore more elegant and straightforward.

To ask a question in return: why would we build an abstraction layer?
The only reasons that come to mind:

to save time refactoring
to decouple more from inquirer

Personally I'd say the first would be a bad reason and the second can be done anyway.
Also I'd dislike if we had to build a lot of abstraction to make sure we can accommodate a 'list of multiple questions' that is currently only used in the m365 setup command. Id say: leave the implementation of how many questions and what order etc in the command itself, let's keep the functions simple and elegant:
Are we requesting a Boolean? Let's prompt for one. Are we requesting input: let's prompt for that.
An added benefit is dat stubbing prompts in tests are nicely separated as well.
Curious te hear your response @cli

Any feedback on this one @pnp/cli-for-microsoft-365-maintainers ?

Good arguments @martinlingstuyl. +1 to refactor as you proposed

Followup question: what do you think is better:
// 1. prompt options in the form of an object that can be passed into inquirer 1 on 1.
prompt.forConfirmatiom(promptOptions:Options)
// Pro's: no abstraction between what inquirer needs and we give
// Cons: less simple and elegant

// 2. prompt options in the form of (only the necessary) parameters
prompt.forConfirmatiom(message: string, defaultValue: boolean)
// pro: elegant and simple
// con: extra inquirer options not easily added

// 3. do both through overloads, so you can use what you need.


Add type complexity of algos

https://www.programiz.com/dsa/selection-sort this website explains it pretty good, we can learn there and then implement a simpler version on our site

Done


Support onebranch when generating yaml file in ADO repo

Most services have enabled OneBranch in ADO repo, so when generating yaml config for shiftleft pipeline, we will also support onebranch pipeline.

Appears to be related to shift left. Since we're reevaluating shift left all up, closing this.


When will the dataset format be released?

I saw that the dataset part is TBD, for now can we get a brief idea of how input data is formated? Is it based on the llava instruction fine tuning json format?

i.e., how did you formatted ./ms_jsonl_dataset/oven_entity_train_0.5.jsonl?


/etc/netbird/config.json is being modified by client process

Describe the problem
I had working server with connected clients. I changed management port from default 443 to 9443.
To Reproduce
Have client installed and connected. then stop client netbird down Modify /etc/netbird/config.json
   ...
    "ManagementURL": {
        "Scheme": "https",
        "Opaque": "",
        "User": null,
        "Host": "vpn.xxx.eu:443",

change port 443 to 9443 and then start the client netbird up
you will see error message
2024-02-12T16:46:05+01:00 WARN client/cmd/root.go:195: retrying Login to the Management service in 1.135610787s due to error rpc error: code = Unknown desc = getting device authorization flow info failed with error: context deadline exceeded

then open  /etc/netbird/config.json and you will see it was modified and port 443 is set again.
Expected behavior
/etc/netbird/config.json should never change unless being created for first time
A clear and concise description of what you expected to happen.
client should connect to new url
Are you using NetBird Cloud?
no
Please specify whether you use NetBird Cloud or self-host NetBird's control plane.
self hosted
NetBird version
025.5
NetBird status -d output:
Daemon status: LoginFailed

Run UP command to log in with SSO (interactive login):

 netbird up

If you are running a self-hosted version and no SSO provider has been configured in your Management Server,
you can use a setup-key:

 netbird up --management-url <YOUR_MANAGEMENT_URL> --setup-key <YOUR_SETUP_KEY>

More info: https://docs.netbird.io/how-to/register-machines-using-setup-keys

@PavelNiedoba I've just conducted tests on the up and down commands, and it appears that they function as expected, with the daemon being responsible for maintaining the management URL. You can indeed establish the management URL via the up -m ... command, and it should persist in the configuration.
Regarding the second comment on service, I attempted the following steps:

Stopped the netbird service using netbird service stop.
Modified the port in /etc/netbird/config.json.
Restarted the service with netbird service start.
Upon restart, I confirmed that the new port is indeed in use.

In your log output, it complains about vpn.xxx.eu:443. The clients get that from the management can you confirm how this is configured there?
It seems the behavior aligns with expectations. Let me know if further investigation is needed!

@surik I have same problem , I have changed the managment port to 9443 and it works, but client still try to connect to signal service with 443 port. what's meaning that you mentioned "the clients get that from management"? where should I config it? management UI , or management container?  thanks :)


UnboundLocalError: local variable 'new_value' referenced before assignment

I've got the following code:
image_metadata = {"0th": encoded_ifd, "Exif": encoded_exif, "GPS": encoded_gps}
pp.pprint(image_metadata)
exif_bytes = piexif.dump(image_metadata)
piexif.insert(exif_bytes, file)

It outputs this:
{'0th': {271: 'Canon',
         272: 'A-1',
         315: 'Jonathan Gazeley',
         33432: '© 2021 Jonathan Gazeley'},
 'Exif': {34850: 3,
          34867: 100,
          36867: '2021-08-26T22:01:00Z',
          37377: '0.00080000',
          37381: '2.0',
          37383: 2,
          37386: '50.0',
          41989: '50.0',
          42016: '1d580fb5-a40f-46e2-abb0-9ee658dcc0e3',
          42033: '12345',
          42035: 'Canon',
          42036: 'FD 50mm f/1.8',
          42037: '22222'},
 'GPS': {}}
Traceback (most recent call last):
  File "/home/jonathan/git/camerahub/tagger-cli/main.py", line 169, in <module>
    exif_bytes = piexif.dump(image_metadata)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/tagger-cli-SSoXMnv6-py3.10/lib/python3.10/site-packages/piexif/_dump.py", line 68, in dump
    exif_set = _dict_to_bytes(exif_ifd, "Exif", zeroth_length)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/tagger-cli-SSoXMnv6-py3.10/lib/python3.10/site-packages/piexif/_dump.py", line 335, in _dict_to_bytes
    length_str, value_str, four_bytes_over = _value_to_bytes(raw_value,
  File "/home/jonathan/.cache/pypoetry/virtualenvs/tagger-cli-SSoXMnv6-py3.10/lib/python3.10/site-packages/piexif/_dump.py", line 261, in _value_to_bytes
    four_bytes_over = new_value
UnboundLocalError: local variable 'new_value' referenced before assignment

Is this a bug in piexif or am I using it wrong? Piexif 1.1.3 on Python 3.10.2.

I get the same error on Python 3.8.10 with piexif 1.1.3 using code taken directly from the repository example exif.py
gps_ifd = {
piexif.GPSIFD.GPSVersionID: (2, 0, 0, 0),
piexif.GPSIFD.GPSAltitudeRef: 0,
piexif.GPSIFD.GPSAltitude: ele,
piexif.GPSIFD.GPSLatitudeRef: lat_ref,
piexif.GPSIFD.GPSLatitude: (lat_deg, lat_min, lat_sec),
piexif.GPSIFD.GPSLongitudeRef: lon_ref,
piexif.GPSIFD.GPSLongitude: (lon_deg, lon_min, lon_sec),
}
exif_dict = {"GPS": gps_ifd}
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes, fpath)
Traceback (most recent call last):
File "/home/wplaird/Documents/Middle Creek/Maps/GIS/GoogleMaps/Flyover/src/app/make_layer_files.py", line 291, in
updated = update_images(df_img_files,df_points)
File "/home/wplaird/Documents/Middle Creek/Maps/GIS/GoogleMaps/Flyover/src/app/make_layer_files.py", line 193, in update_images
exif_bytes = piexif.dump(exif_dict)
File "/home/wplaird/Documents/Middle Creek/Maps/GIS/GoogleMaps/Flyover/src/venv/lib/python3.8/site-packages/piexif/_dump.py", line 74, in dump
gps_set = _dict_to_bytes(gps_ifd, "GPS", zeroth_length + exif_length)
File "/home/wplaird/Documents/Middle Creek/Maps/GIS/GoogleMaps/Flyover/src/venv/lib/python3.8/site-packages/piexif/_dump.py", line 335, in _dict_to_bytes
length_str, value_str, four_bytes_over = _value_to_bytes(raw_value,
File "/home/wplaird/Documents/Middle Creek/Maps/GIS/GoogleMaps/Flyover/src/venv/lib/python3.8/site-packages/piexif/_dump.py", line 247, in _value_to_bytes
four_bytes_over = new_value
UnboundLocalError: local variable 'new_value' referenced before assignment

I think I figured this out.  The root problem is piexif has terrible error checking.
This error means a value you passed, likely an integer or float, needs to be expressed as a Rational (or SRational).
For instance, ExposureTime is a rational and must be passed like (1, 300) which translates to 1/300s.
In the case of GPS, piexif.GPSIFD.GPSLatitude and piexif.GPSIFD.GPSLongitude values need to be passed as 3 rational numbers... ((-84, 1), (30, 1), (1, 2))

Nice one @aaronwmorris. I gave up on piexif ages ago because of this (and other) issues, but this week I started using pyexiv2 and found that it too handles rationals in this way. I've already got functions in my code for converting decimal GPS to degrees/minutes/seconds GPS, so I'm going to tweak that to return rationals instead. Thanks for the tip.


Project page width

The project page has a wider width than the other nav pages.
Do ya'll know what's up?
I can't figure out what its supposed to be done to fix that.
@mateoclarke @luqmaan
:cat2:

They were using different layouts
https://github.com/open-austin/open-austin-org/blob/dc784640137da1693122d9eb3a2a8921395a032b/_layouts/project.html#L2
https://github.com/open-austin/open-austin-org/blob/dc784640137da1693122d9eb3a2a8921395a032b/events/index.html#L5

think that first link is actually wrong, but either way. the project index page was using the layout: default when it should've been using layout: page


unexpected behavior

if a is a vector[N] then
target += a
seems equivalent ("seems" because I just know by testing it) to
target += sum(a)
I would expect that instead the first line would throw a compilation error since target is a real value and a is a vector.

This is intended behavior.  It's documented in the reference manual section "Increment Log Density"  in the subjection "Vectorization".
I can see where the expectation of a compilation error would come from and in retrospect, that might have been a better decision since we don't have a lot of operations that produce vectors of log densities.  Nevertheless, we're going to leave it like this for now and I'm going to close this issue.


ENOENT error

I don't know where exactly I need to post this issue I am having but someone please help me i am losing my mind here.
So I have a small bot for discord, and I am using JIMP for image manipulation. I want to create an image, add things to it, send it to discord channel then delete it. So my code works fine, but sometimes it gives me this error
my/pic/dir is my linux full path to image directory

Error: ENOENT: no such file or directory, stat 'my/pic/dir'
errno: -2,
code: 'ENOENT',
syscall: 'stat',
path: 'my/pic/dir' } Promise {

	var i1 = Jimp.read(GetUserAvatar);
	var i2 = Jimp.read(__dirname + "/images/image1.png");

	var Card = __dirname + "/images/" + user.id + ".png";

	Promise.all([i1, i2]).then(async images =>
	{
			images[0].scaleToFit(122, 124).quality(100)
			images[1].composite(images[0], 100, 120).quality(100).write(Card));
		});

		iReloadImageCache5[user.id] = setTimeout(async function ()
		{
			message.channel.send("", { files: [Card] });

			iDeleteCard[user.id] = setTimeout(async function ()
			{
				if(fs.existsSync(Card))
				{
					await fs.unlinkSync(Card);
				}

			}, 5000);

		}, 600);

Without knowing where exactly the error occurs in this execution, my guess is that either the writing is happening to later or the deleting is happening too soon for the message.channel.send method.
I suggest removing the need for a temporary file altogether and using buffers to pass to Discord. You may also want to check into seeing if the two source images can be retrieved via buffer.
Writing/reading to file not only takes a lot of time, but it can present some race conditions if you're not constantly doing things asynchronously.
Something like the following. You may need to edit/tweek, as I'm not able to test exactly what you're doing.
var i1 = Jimp.read(GetUserAvatar);
var i2 = Jimp.read(__dirname + "/images/image1.png");

var Card = __dirname + "/images/" + user.id + ".png";

Promise.all([i1, i2]).then(async images =>
{
	images[0].scaleToFit(122, 124).quality(100);
	images[1].composite(images[0], 100, 120)
		.quality(100)
		.getBuffer(Jimp.AUTO, (err, buffer) => {  // Returns a buffer with an automatic MIME type matching the original file
			if(err) {  // There was an error, do something about it
				console.log('Oh no');
				return;
			}
			message.channel.send("", { files: [buffer] });  // discord.js supports sending the Buffer type as an attachment
		});
});

You sir, ARE MY SAVIOUR.  This is exactly what I wanted: no image save, direct edit and send thorough discord. Thanks from all my heart sir!

Happy to help!

In the original code, I can tell you it was because you weren't using await/async, which would cause things to start and finish in the wrong order.


[Swift+WASM] [IRGen] Disable COMDAT for reflection metadata

LLVM's Wasm COMDAT code assumes each COMDAT will be in its own section. This works for C++ on Clang, since each COMDAT is emitted into its own .rodata. section, but not for Swift metadata, which are all placed in the same section.
Disable COMDAT support when emitting reflection metadata.
This matches the behaviour on ELF (where COMDATs are disabled) and MachO (which doesn't support COMDAT)
This shouldn't affect existing platforms.

@ddunbar @MaxDesiatov This avoids an LLVM assert when building stdlib for WebAssembly: should be helpful for SR-9307.
@compnerd: You added the COMDAT support originally for Windows/COFF, right? Should the check for COMDAT support use a whitelist instead of a blacklist, since ELF, MachO, and now WASM all disabled it?

This feels wrong.  The reason that ELF is disabling it is because of a bug in gold, it should be enabled otherwise.  This is a size issue.
Why does this not work on WASM?  It should - the sections are coalesced (.rodata.* -> .rodata).  The same should occur with the metadata.

@compnerd As I mentioned, WASM only supports comdats with section coalescing: Swift puts all the metadata in the same section, not in individual sections, so LLVM asserts with a cannot rename symbol name error because the comdat code always tries to start a new section when encountering comdat.

Yes, they should be in unique section names (see how -ffunction-sections -fdata-sections work in ELF).  That should work just fine, and would be better IMO.

Can one of the admins verify this patch?

@zhuowei Are you still pursuing this?

He doesn't, at least to my knowledge. I can pick it up, but it would make sense to do that in a separate PR probably, so feel free to close this one.


Is adding new viz different now?

@mistercrunch
I like Caravel a lot and am trying to adding other nvd3 viz into it. I found below examples, and followed, but it didn't work -- I got an error message from explore.js when I selected the new viz in creating slice. I wonder if the process is different now and there are other files I need to change? Many thanks!
https://github.com/airbnb/caravel/pulls?q=is%3Apr+label%3Aexample+is%3Aclosed

The detailed error message is as below:
explore.0.11.0.entry.js -- s.default[t.form_data.viz_type] is not a function

Do you have any backtrace in the caravel python app logs? Have you added your class to caravel.viz.viz_types_list ?

Yes I did and I could select the new Viz from the drop down list, but it just didn't work . I also added in ../../visualizations/main.js vizMap.

I guess I know the reason... Thank you:)

The problem is the JS I added is not included in explore.0.11.0.entry.js. Is there anything I need to do to generate new explore.0.11.0.entry.js? Thank you for helping.

@github35 are you using npm run dev to build client side assets/js in development?

@ascott There seems to be a lot issues of building on Windows system. I will further explore any other possibilities. Thank you! Caravel is amazing. It will be great if we can customize visualization from browser, e.g. http://echarts.baidu.com/demo.html#heatmap-cartesian.

@github35 can we close this?

@xrmx Sure. Thank you!


Environment variables are not being defined while debugging

I use VS Code to start a debugging session and in the configuration I define a value for PORT yet it is always undefined. I cannot seem to access these environment variables. Is there another way to access these environment variables?
var port = process.env.PORT || 8001;
Below is the launch.json that I am using for a sample project to try to access environment variables. I'd like to be able to use launch configurations to create multiple configurations with different environment variables.
{
    "version": "0.1.0",
    // List of configurations. Add new configurations or edit existing ones.
    "configurations": [
        {
            // Name of configuration; appears in the launch configuration drop down menu.
            "name": "Launch server.js",
            // Type of configuration.
            "type": "node",
            // Workspace relative or absolute path to the program.
            "program": "server.js",
            // Automatically stop program after launch.
            "stopOnEntry": false,
            // Command line arguments passed to the program.
            "args": [],
            // Workspace relative or absolute path to the working directory of the program being debugged. Default is the current workspace.
            "cwd": ".",
            // Workspace relative or absolute path to the runtime executable to be used. Default is the runtime executable on the PATH.
            "runtimeExecutable": null,
            // Optional arguments passed to the runtime executable.
            "runtimeArgs": ["--nolazy"],
            // Environment variables passed to the program.
            "env": {
                "NODE_ENV": "development",
                "PORT" : 8005
            },
            // Use JavaScript source maps (if they exist).
            "sourceMaps": false,
            // If JavaScript source maps are enabled, the generated code is expected in this directory.
            "outDir": null
        },
        {
            "name": "Attach",
            "type": "node",
            // TCP/IP address. Default is "localhost".
            "address": "localhost",
            // Port to attach to.
            "port": 5858,
            "sourceMaps": false
        }
    ]
}

The "env" attribute is a dictionary of strings. Please pass the PORT number as a string and not as a number.
We will try to improve the schema for "env" so that your case will be flagged as an error.

Thanks. I saw lower in the launch config that there was another port value which is a number and was copying that instance. Is it possible to define these as numbers?

Any update per this issue, i am getting undefined for my environment variables while in debug mode

@montera82 the issue discussed here was a 'user error' and might only be related to your problem if you are using non-string typed values in the "env" section of your launch configuration. If this is the case please fix it as discussed above.
If you have a different problem, please create a new issue with the detailed steps and infor about your OS and node version.

hi @weinand ,
i need to know how to source my environment variables when on debug mode.
All my environment variables are stored in a file in my root folder named .env ( which has an entry like so
export DATABASE_HOST=<IP_ADDRESS>
)
Now when running the project from command line, i can do
Source .env
Then run
npm start
and the project will be able to resolve the variables.
How do i achieve the same when running same project on debug mode.
Thanks

@montera82 you probably have already a launch.json that has a environment variable:
"env": {
    "NODE_ENV": "development"
},

Just add your environment variables to that like this:
"env": {
    "NODE_ENV": "development",
    "DATABASE_HOST": "<IP_ADDRESS>"
    // more env vars
},

Make sure that all env var values are strings.
You can find debugging help here: https://code.visualstudio.com/docs/editor/debugging

Works well, thanks
someone will need to add this on the getting started article, i could not find there.

/cc @gregvanl

Is there any other route for defining runtime env-vars other than the tasks.json file? For example, something that would be suitable for secrets that shouldn't be in source control?


Firefox autoplay

asciinema does not work at all in Firefox if autoplay is disabled (media.autoplay.enabled)

media.autoplay.enabled can't have any impact on the player because it's not a browser media plugin but a Javascript/React.js element. Maybe you have some other FF extension that is blocking asciinema's .js file.


why some lines in gistic peak are not straight?

Hi developers,
I noticed some lines in this gistic2 are not straight, how can I change it?

Hi, I'd like to bump this question. I wonder the same thing. It is also shown on the docs (link below). Why is this the case?
Link: https://rdrr.io/bioc/maftools/man/gisticChromPlot.html

Can this be reopened? An answer still hasn't been provided.
On Sun, 22 Oct 2023, 13:04 github-actions[bot], @.***>
wrote:

Closed #837 https://github.com/PoisonAlien/maftools/issues/837 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/PoisonAlien/maftools/issues/837#event-10732426713,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7FRVOUXQ7NEC52N6UAOITYAR5JPAVCNFSM5XSRZHI2U5DIOJSWCZC7NNSXTWQAEJEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW4OZRGA3TGMRUGI3DOMJT
.
You are receiving this because you commented.Message ID:
@.***>


Phase4

Implements Phase 3 of #1 - Add support for IBC Connection machinery

[x] complete/import the ics03 machinery from ibc-rs
[x] state will now need to be able to store connection ends
[x] should now be able to manually complete connection handshake between two chains

Testing

Follow the steps outlined in the README.md to setup a test environment running a basecoin chain (i.e. basecoin-0) and two ibc chains (ibc-0 & ibc-1).
Run the following command to create a connection between basecoin-0 and ibc-0 ->

$ RUST_BACKTRACE=1 hermes create connection ibc-0 basecoin-0
# ...
Success: Connection {
    delay_period: 0ns,
    a_side: ConnectionSide {
        chain: ProdChainHandle {
            chain_id: ChainId {
                id: "ibc-0",
                version: 0,
            },
            runtime_sender: Sender { .. },
        },
        client_id: ClientId(
            "07-tendermint-0",
        ),
        connection_id: Some(
            ConnectionId(
                "connection-0",
            ),
        ),
    },
    b_side: ConnectionSide {
        chain: ProdChainHandle {
            chain_id: ChainId {
                id: "basecoin-0",
                version: 0,
            },
            runtime_sender: Sender { .. },
        },
        client_id: ClientId(
            "07-tendermint-0",
        ),
        connection_id: Some(
            ConnectionId(
                "connection-0",
            ),
        ),
    },
}

Note that opening a connection in the opposite direction may fail intermittently - this is a known bug in Tendermock's AVL impl. See the tracking issue here -> https://github.com/CharlyCst/tendermock/issues/2

Also note that we must depend on the basecoin/phase-4 branch of ibc-rs for multiple reasons which include ->

Verification methods in the ibc-rs module are incomplete and call todo!().
basecoin-rs uses a different ProofSpec and ibc-rs currently assumes that all Tendermint chains use the Cosmos SDK specific ProofSpec.

Sorry for the lag in getting to this. I've been trying to set this up today and I haven't been successful in creating a connection unfortunately.
See this gist for my output logs.
When you say this:

Also note that we must depend on the basecoin/phase-4 branch of ibc-rs for multiple reasons

Does that mean that I need to build hermes from that branch?

Does that mean that I need to build hermes from that branch?

That comment is outdated, sorry for not updating it. We need to build hermes from the basecoin/phase-4-1 branch, because we need a version of hermes that has the same proto defs and support for custom ProofSpecs. We also need to tell hermes to use basecoin's ProofSpecs in the config.toml.
I'll update the README.md with this info.
[[chains]]
id = 'basecoin-0'
rpc_addr = 'http://<IP_ADDRESS>:26357'
grpc_addr = 'http://<IP_ADDRESS>:9093'
websocket_addr = 'ws://localhost:26357/websocket'
rpc_timeout = '10s'
account_prefix = 'cosmos'
key_name = 'testkey'
store_prefix = 'ibc'
gas_price = { price = 0.001, denom = 'stake' }
clock_drift = '5s'
trusting_period = '14days'
proof_specs = '''
[
  {
    "leaf_spec": {
      "hash": 1,
      "prehash_key": 0,
      "prehash_value": 0,
      "length": 0,
      "prefix": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    },
    "inner_spec": {
      "child_order": [
        0,
        1,
        2
      ],
      "child_size": 32,
      "min_prefix_length": 0,
      "max_prefix_length": 64,
      "empty_child": [
        0,
        32
      ],
      "hash": 1
    },
    "max_depth": 0,
    "min_depth": 0
  },
  {
    "leaf_spec": {
      "hash": 1,
      "prehash_key": 0,
      "prehash_value": 0,
      "length": 0,
      "prefix": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    },
    "inner_spec": {
      "child_order": [
        0,
        1,
        2
      ],
      "child_size": 32,
      "min_prefix_length": 0,
      "max_prefix_length": 64,
      "empty_child": [
        0,
        32
      ],
      "hash": 1
    },
    "max_depth": 0,
    "min_depth": 0
  }
]
'''


Update README.md

Hey, So the WINDOW_README.md link is not working in README.md .

yes it works well done

Please merge it .

Fixed already thanks a lot for the shout!


Filter columns of type date in style by value component

Fixes https://github.com/CartoDB/cartodb/issues/7873.

specs!

Thanks @matallo. Well spotted! I will try to add some basic tests.
About the new behaviour, this is how it looks after filtering out columns of type "date".

@CartoDB/design are you cool with this? Do you think that No column results found with 'postedtime' message might be a bit confusing? Thanks!

I do think it might be. I would say something more along the lines of "The usage of date columns to Style by Value is not permitted. Please select a different column.", or something like that.
@csobier Any thoughts on how to simplify that sentence or the idea?

Right now the same message is used when a column is not present in the dataset and when it has been filtered out (eg: the_geom and the_geom_webmercator and now any date type column).

We could make it more general and say "That type of column is not supported when styling by value." but I wouldn't use "No column results found with 'x'" because that's not really the case. They do have a column with that name, and we did find it, we're just not showing it because they can't use it there.

From what I am seeing we're (re)using a component that allows choosing a column from a given set of columns. The error message is also defined by this component. Example of a different use of this same component:

👆 Only agg_value is displayed. Search will only search in agg_value, otherwise 👇

If you ask me, we should change that...

We can change this but we will need to think how to make it work for each different use case. It is quite a beefy change and I think it should be prioritised and perhaps addressed by a regular Builder member. Adding @ramiroaznar to the loop. Thanks for your input @arianaescobar!

Happy to! Thanks for asking!

Is this specific to date columns only? "Date values are not available when styling by value".
If that component should change, are we able to modify the type of column in the message? (number, date, string, etc) or should it be generic for all uses? If so, then I agree with Ariana- any of the following would be ok:

"That type of column is not supported when styling by value"
"This data type is not applicable when styling by value"
"No compatible values are available when styling by value"

IMHO @arianaescobar's logic is right. But let's fix this issue. And if users complain or Design thinks it is a onboarding priority, let's open a new ticket.
:bandera: LGTM

But this is part of the issue, though. When we're excluding a data type from the feature, we should explain why. I understand if you prefer opening another ticket but we should definitely do it and not wait for a complaint.

As @alonsogarciapablo pointed out, this component is reused in other BUILDER parts, such as analysis:

So if we decide to change the message, it should be pretty generic and all @csobier suggestions are invalid.

This is the template that we use to generate the message for every component that uses a searchable list:
    "custom-list": {
      "placeholder": "Search by %{typeLabel}",
      "no-items": "There are no %{typeLabel} items",
      "no-results": "No %{typeLabel} results found with '%{query}'",
      "add-custom-result": "Add custom value"
    }

In the case of a column selector, we set typeLabel to column and that is why the error says No column results found with 'postedtime'.

@ramiroaznar Not necessarily because there could be the case where the user searches for a column that doesn't exist. In that case, that message is valid.
We're talking about filtering out columns because they can't be used for a certain feature. In that case, we could use a generic message like "That type of column is not supported in this feature".

Roger that! :+1:

The thing is that the component is currently not aware of all columns (only the filtered ones) so it is not possible (as it is right now) to check if what the user typed is indeed a non supported column and display a more specific error message in that case.

That would be enough, right?
Is it a filtered column? -> Show unsupported message
else -> let the user select the column (if it exists, of course)

That would be enough but we cannot do that right now.
Think of the component as a list where you specify a set of items that you want the users to be able to select and a search box that will only search in that set of items. The component has no idea about other items (eg: filtered columns).

Example:

👆  eg: We are explicitly displaying only agg_value, so the list of columns doesnt know anything about the rest of the columns.

What I am trying to explain is that the component that displays the list of columns and allows users to search that list is a generic component. It only knows about a list of generic searchable items and knows nothing about columns, types of columns, etc.

I feel like my brain is exploding 😛
In that case, merge it as you have it now.  We should invest some time in improving it.

@arianaescobar Would we make designers happy (and save some kittens) if we merge this now and open an issue describing this problem so that we come back to it at some point?

@alonsogarciapablo less unhappy, for sure haha

Here is the issue for future reference: https://github.com/CartoDB/cartodb/issues/13142

🚀


Beefing up my (mis)understandings on contribution guidelines

There are some additional helpful things to know when working with ASP.NET Core docs. This isn't organized. I'm just going to list them in no particular order right now. My main goal is to solidify my (mis)understandings. :smile: However, this might be a basis for a PR for contribution guidelines. Let me know if and how you'd like to proceed.
Some of these might just be flat-out wrong, but that's the point here. I'm a bit lost on what the official MS secret style manual states. Sometimes, it's difficult to discern the rules from the docs because authors and reviewers have variably allowed different patterns and practices.
:cow2: The Beef :cow2:

Don't use tips ~> [!TIP]~
Format indentation of code by content and use the correct DocFX language (see table below).
Filenames should be set in * (asterisks) to make them render in italics (e.g., *myfile.txt* :point_right: myfile.txt).
Links and URL segments in-text should be set in backticks to make them render as code.
Title and header casing is sentence case. Capitalize the first word and any proper nouns.
Use xref link formatting (e.g., xref:fundamentals/logging).
Use header anchors over link anchors where possible. For the Logging doc header How to create logs, link to the header as opposed to setting up an anchor link (~~). Lowercase the anchor text and use dashes for spaces. To link to How to create logs in the Logging doc, use [create logs](xref:fundamentals/logging#how-to-create-logs).
When adding external links into a document, strip out the language if present (e.g., remove the en-us part of links to English versions of webpages). Test the modified link in a browser to confirm it works.
When adding a list of additional resources at the end of the document, use the header "Resources" (e.g., ## Resources).
When creating a sample, do not include License.txt or licensing information at the top of C# files.
Avoid "foobar" anywhere in docs and samples. Using "foo" or "Foo" is permitted in code samples and descriptions but probably isn't the best choice in most cases. Can more guidance be provided here? ... Can we have the full list?
Do not use an apostrophe with plural abbreviations (e.g., URLs).
Generally when nesting bullets in outlines, try to have at least two bullets at any level in the outline (i.e., follow your 3rd grade teacher's old skool outlining rules. "There's no such thing as a single bullet list or level."
Generally when writing paragraphs, try to use more than one sentence. "There is no such thing as a one-sentence paragraph." Exceptions: (1) When the sentence is intended to lead the reader directly to a list, image, or code. Authors often use a colon at the end of the sentence and show the list, image, or code. (2) When the sentence is part of a set of numbered steps (e.g., in tutorials or instructions).
Commas in lists: Chicago, MLA, and many scientific style manuals (e.g., Council of Biology Editors) suggest the use of "serial commas" in lists. Every item in the list before the last item receives a comma. For example, a list of three fruits is formatted "peaches, pears, and bananas." I think the MS secret style manual conforms to this rule.
Use IEC naming for digital object sizes. For example: 1 kibibyte (KiB) = 2^10 bytes = 1,024 bytes.
Use a space when spelling out or abbreviating digital object sizes. For example: 1 mebibyte = 1 MiB = 1,024 kibibytes = 1,024 KiB :point_left: Note the space after the numbers.
Don't use code formatting (backticks) in headings and titles.
Normally reserved characters for HTML (<, >) do not need to be encoded as < and > in-text. The build system will encode them automatically. If you need to encode something that starts with an ampersand in-text, such as & or <, encode the ampersand and leave the rest as text: &amp; and &lt;.
No matter how many times a doc is read/edited, always run the text through a spell checker.
Always build the doc locally in DocFX before submitting a PR. Check the layout, image/code links/highlights, and broken links. Broken links should appear in the console window when the doc is built.
Check the build report for warnings by clicking the green checkmark next to the build in GH. Note that if a doc has warnings, the build will still show a green checkmark. You must click and observe the build report to confirm that there were no problems even if the commit shows a (misleading) green checkmark.
When the user should supply a value in a sample (code, codeblock, on in-text code), use braces (e.g., {application root}\.vs\config). Angle brackets are used in spots (e.g., <application root>\.vs\config). There are examples using capital letters (e.g., APPLICATION_ROOT\.vs\config).

Code Specifications

Content
DocFX Language
Indentation (spaces)

C#
csharp
4

HTML
html
4

CSS
css
4

JavaScript
javascript
2

XML
xml
2

JSON
json
2

Console
console
2

Text
-
2

@GuardRex  we plan to link to the MS style guide which should be coming out soon.

ping @pkellner ... this is the one I was telling you about. I need to review it again for accuracy, but I think there are still some undocumented gems in here. I'll take another look at this shortly.

Thanks!
On Sat, Mar 10, 2018 at 8:45 AM, Luke Latham<EMAIL_ADDRESS>wrote:

ping @pkellner https://github.com/pkellner ... this is the one I was
telling you about. I need to review it again for accuracy, but I think
there are still some undocumented gems in here. I'll take another look at
this shortly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Docs/issues/2617#issuecomment-372043894, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAOuEsea7lPsSx16ebd6getwHaZruvdoks5tdAM8gaJpZM4LvA8e
.

--
Peter Kellner
https://www.linkedin.com/in/peterkellner99

Touched it up here and there. It's correct now.


Support for push constants

I don't seem to find support for push constants in SPIRV-Reflect. Following shader:
#version 450

layout(set=1,binding=2) uniform texture2D mytexture1;
layout(set=1,binding=3) uniform texture2D mytexture2;

layout(push_constant,  binding = 1, std430) uniform PD {
	vec4 section;
} pd;

layout(location=0) out vec4 pepo;

void main() {

	pepo=pd.section;
}

Compiled to SPIR-V, then running spirv-reflect, outputs:
generator       : Khronos Glslang Reference Front End
entry point     : main
source lang     : GLSL
source lang ver : 450
source file     :
shader stage    : PS

  Output variables: 1

    0:
      spirv id  : 9
      location  : 0
      type      : float4
      semantic  :
      name      : pepo
      qualifier :

  Descriptor bindings: 2

    Binding 1.2
      spirv id : 20
      set      : 1
      binding  : 2
      type     : VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE (SRV)
      count    : 1
      accessed : false
      name     : mytexture1

    Binding 1.3
      spirv id : 21
      set      : 1
      binding  : 3
      type     : VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE (SRV)
      count    : 1
      accessed : false
      name     : mytexture2

With no trace of the push constant. Would appreciate some hint on where this information is obtained, or spirv-reflect updated to also show how to obtain this information.

My bad, was looking for the wrong term.
Would still be appreciate if supported in spirv-reflect tool, though.


publish to maven central instead of bintray

https://github.com/sbt/sbt/issues/6294
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter

jfyi: every sbt build is broken today because of Bintray brown-out session https://status.bintray.com/

thanks for reporting! I wasn't aware of the brownout - will get a version on maven asap.

1.0.3 is on its way to maven.

Awesome thanks for the fast support!!


Verify CAP/DAP requests automatically

Since all protocol responses should be verified except for a few exceptions (e.g. DAP's stepBack), the verification should be performed automatically. This can prevent situations like https://github.com/ruby/debug/pull/559#discussion_r835736078 and also make the API easier to use (getting response from the same method call).
There are 2 exceptions though. Both of them are DAP requests:

stepBack doesn't return response "yet".
stackTrace's response doesn't match the schema. I think this is something to be fixed in another PR.

This refactor can actually centralize those exceptions and make them easier to manage. And sooner or later they should go anyway.

I like this idea 👍

stackTrace's response doesn't match the schema.

Could you be more specific?

If you verify the stackTrace request, you'll get
  -------------------
  | Failure Message |
  -------------------

  result:
  {
    "type": "response",
    "command": "stackTrace",
    "request_seq": 10,
    "success": true,
    "message": "Success",
    "body": {
      "stackFrames": [
        {
          "name": "Foo::Bar.a",
          "line": 5,
          "column": 1,
          "source": {
            "name": "debug-20220330-24493-xudwvq.rb",
            "path": "/private/var/folders/yg/hnbymwxd5pn7v94_clc59y6r0000gn/T/debug-20220330-24493-xudwvq.rb",
            "sourceReference": null
          },
          "id": 4
        },
        {
          "name": "<module:Foo>",
          "line": 7,
          "column": 1,
          "source": {
            "name": "debug-20220330-24493-xudwvq.rb",
            "path": "/private/var/folders/yg/hnbymwxd5pn7v94_clc59y6r0000gn/T/debug-20220330-24493-xudwvq.rb",
            "sourceReference": null
          },
          "id": 5
        },
        {
          "name": "<main>",
          "line": 1,
          "column": 1,
          "source": {
            "name": "debug-20220330-24493-xudwvq.rb",
            "path": "/private/var/folders/yg/hnbymwxd5pn7v94_clc59y6r0000gn/T/debug-20220330-24493-xudwvq.rb",
            "sourceReference": null
          },
          "id": 6
        }
      ]
    },
    "seq": 12
  }

  The property '#/body/stackFrames/0/source/sourceReference' of type null did not match the following type: integer

Related code
Even if the fix itself may be simple, fixing this will also affect all the recorded raw tests. So I think it's better to do it in another PR.

@ono-max can you give this another look? thx

Great! LGTM


WordPress unavailable after installation complete

Problem
After WordPress is installed, the root path returns a 503 Service Temporarily Unavailable.

Fixed: 2f3bb7602852b0d0e676e90cb75f71e9bcb52676


update: improve JP version of README

Improves Japanese translation of README. That's it.

great! thank you for translation


Add full ANSI Support

Description
I'm doing an ascii art project, and I noticed that it would be awesome to have a profile picture in Neofetch, but there's a problem: for some reason, Neofetch treats 8-bit colors as actual characters.
This means that if I have, for instance, ^[[38;231;0;255m hi mom it will trhow the neofetch system information about 12 characters to the right, instead of the 1 expected.
I know this is hard af to explain, and my poorly written text doesn't help, so I have an image to give as an example:

As you can see the information went far away, this is because it sees the ansi color as a char. For example, in the first line, we have
╏0╏
I have no idea how hard it is to fix this issue, but it shouldn't be that hard, as I was kind of able to fix it with simple tweaks.

Now, you can argue that if I'm using chars to make colored art, why don't I use images in the first place?
And if you say that, I just gotta tell you to stop, this way of thinking hurts my feelings and f u

I guess this isn't needed, but if you guys need the ascii art to see the bug this one might be useful:
profile.ascii.txt
I also have a smaller version of the same ascii art
smallest-profile.ascii.txt

I've fixed it by changing line 4072 from line=${line//█/ } to line=$(echo -e "$line" | sed -E 's/█//g; s/\x1B\[[0-9;]*[a-zA-Z]//g')