Can't start new sync

Steps to reproduce

Instal XBS on Chrome (on Mac)
type a password in the password form to create a new sync. The form become red
the "next" button can't be clicked

Expected behaviour
I should go to the next step
Actual behaviour
I can't click on the "next" button
Client app information
App Platform: Chrome
App Platform Version:  1.4.0
Other info

The big red bar means you haven't met the password complexity criteria, use a more complex password. #48 addresses making the validation requirements clearer to the user.

Can you tell me the criteria. I didn't find it.
And for your info, I tried a very complex password (30 char, capital, special char, but it's still the same)

Have a read of this post from #42 as there's some more information there. It allows most complex passwords but if you use common words then it rejects it. The problem is that the source dependency doesn't list the requirements, so unfortunately I can't be any clearer until this issue is resolved, sorry. 🙏


Rework ArchivePublishArtifact to not use an eagerly created AbstractArchiveTask

This blocks jar from using the lazy task API because ArchivePublishArtifact uses the jar task directly.

So, I’ve found the problem with the gradle/gradle build.  The problem is that when we realize a lazy task through the TaskCreatingProvider, we don’t remove it from the pending store.  This means that it if we then remove the task, it can still be re-created when iterating over the collection or something similar.
A simple fix would be to just have TaskCreatingProvider remove the provider from the backing store when the provider is realized.  However, this issue is symptomatic of the underlying problem which is that the contract of DomainObjectCollection allows you to add any sort of Provider and handles removing it from the pending store as part of its operations, but makes no guarantees about what happens if that Provider is realized outside of the collection.
There's probably a couple of options here:

Leave it as is and let any Provider somehow handle things itself (e.g. the Provider has some hook into the pending store outside of DomainObjectCollection such as being created by DefaultTaskContainer).
Provide some semantics on DomainObjectCollection where a Provider (or user of the provider) can manage this itself.  For instance, an unregister() method to remove a provider from the collection.
Disallow any type of Provider and require a known type of provider.  For instance, DomainObjectCollection only allows providers of a certain type that are created by the collection and are guaranteed to do the appropriate things to clean it up in the pending store when realized.  Seems like this could also be implemented as some sort of generic decoration around an existing provider.
Another approach altogether would be to just clean it up after the fact - i.e. the next time we try to access the Provider through the pending store, we simply ignore it (and remove it) if it is already realized.  This would probably also require a special type of provider that can tell us if it's realized or not.

There might be other options I'm not thinking about right now.  I think I'm going to proceed with the "simple fix" for now (since the only place we're really using this stuff right now is tasks) but I'd appreciate feedback (or other ideas) on the options above for a longer term solution.

Seems like this makes #710 more important too.
On the gradle/gradle side, is there something better we could do in the build that wouldn't require removing the jar task?

I remember when fixing the remove case with 4.8, I played around that removing a task would also search for the registered provider and remove them as well. I didn't push the code as we settle on fixing it differently but that could be another way to fix this. However, this would only work for the named containers. We won't be able to solve this for the DomainObjectCollection. Disallowing external Provider could be a great way to go for now but that would limit the use case for the lazy API in order context outside of Task creation.
I see this as fixing TaskCreatingProvider is 1 day vs disallowing is multi-day vs a generic option is a week. At this very instant, we could just do the quick fix. For lazy task configuration, I think we only need disallowing to make sure no one shoots themselves in the foot.

Instead of removing the task, I think we can just check to see if there's a default artifact or not.

Sounds like there are 3 separate issues here:

The gradle/gradle build removes a task. This is always a bad idea and we should change the build to not do this, regardless of what we choose to do with the other 2 issues.
remove() does not work when used with a task defined using register(). We should fix remove() so that it works with a task that has not been realised and fails with a task that has.
Tasks that aren't managed by the task container can be added using addLater(Provider) and add(Task) and addAll(Collection<Task>). We want the task container to own the lifecycle of every tasks it contains, so it should be an error to call any of these methods on a task container. However, in general, it should be entirely possible to add a calculated value to a container (i.e. add something to a collection of T using a Provider<T>), so we shouldn't remove the method and it should still work in general on a DomainObjectCollection.


Use proper init process

We are having a lot of zombie processes in our process list:
root      2408  0.0  0.0 413628  2876 ?        Sl   Apr18   0:11  \_ /usr/bin/containerd-shim 9aa19a2252d9f05bec000dde8054f939e78159155967d9724bc13fdc95d1502f /var/run/docker/libco
bin       2435  3.0 14.2 5293812 1754428 ?     Ssl  Apr18  37:21  |   \_ /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/atlassian/bamboo/conf/loggi
bin       3434  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3480  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3514  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3522  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3635  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3658  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3683  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3705  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3725  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3738  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3770  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       3787  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       4177  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       4199  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       4813  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin       4832  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin      10591  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin      10620  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>
bin      11061  0.0  0.0      0     0 ?        Z    Apr18   0:00  |       \_ [ssh] <defunct>

(continues for 1000s of lines).
The SSH processes are most probably created by Bamboo when it fetches Git repositories from Bitbucket.
This issue is probably related to the fact that Java is the main process in the docker container, and could easily be solved by using tini or dumb-init in the entrypoint script.

Having seen this problem in our environment, I'm putting together a fix for this. It is based on top of my fix for #4, so I need/want to wait to see what happens to it before I push this one.


Fix codecov workflow

It's very late...

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


App name is not showing everywhere in Windows

App name is not showing while hovering over taskbar icon or while alt + tabbing

Fixed with commit #de78e26a
Thanks to Gerald over on reddit for helping with this. Reddit post


ISPN-13873 Handle Accept header to serialize the events

https://issues.redhat.com/browse/ISPN-13873

Created an EventLog serializer using the
ConfigurationSerializer interface.

I am using the stuff that we already have to serialize configuration, since that can handle the EventLog object, but pretty much all of the serialization classes have Configuration in the name.
Now we have:
{
  "log" : {
    "instant" : "2022-07-26T11:33:08.666580Z",
    "category" : "LIFECYCLE",
    "content" : {
      "level" : "INFO",
      "message" : "ISPN100010: Finished rebalance with members [jbolina-34174, jbolina-58560], topology id 2"
    },
    "additional" : {
      "context" : "caching-listen",
      "scope" : "jbolina-58560",
      "detail" : null,
      "who" : null
    }
  }
}

log:
  instant: "2022-07-26T11:11:22.912906Z"
  category: "LIFECYCLE"
  content:
    level: "INFO"
    message: "ISPN100002: Starting rebalance with members [jbolina-9736, jbolina-46792], phase READ_OLD_WRITE_ALL, topology id 2"
  additional:
    context: "caching-listen"
    scope: "jbolina-9736"
    detail: ~
    who: ~

<?xml version="1.0"?>
<log instant="2022-07-26T11:31:07.318201Z" category="LIFECYCLE">
    <content level="INFO" message="ISPN100002: Starting rebalance with members [jbolina-23979, jbolina-17669], phase READ_OLD_WRITE_ALL, topology id 2"/>
    <additional context="caching-listen" scope="jbolina-23979" detail="" who=""/>
</log>

Want to check with you all first. This is changes the object format for the log, currently is:
{
  "message":"ISPN100002: Starting rebalance with members [jbolina-29050, jbolina-38947], phase READ_OLD_WRITE_ALL, topology id 2",
  "category":"LIFECYCLE",
  "level":"INFO",
  "time":1658846192341,
  "owner":"",
  "context":"caching-listen",
  "scope":"jbolina-38947"
}

Do we keep the format that is currently used or it is OK to change it?

Do we keep the format that is currently used or it is OK to change it?

It's OK to change it as the current format was never in a stable release, only DevXX.
It would be good if we could include an integration test consuming the events in the various formats via server/tests.

However, tt would be good if we could include an integration test consuming the events in the various formats via server/tests.

Added a simpler version for now, where we verify specifically the log events. What do you think? When we publish more events in the listener we update the tests to be more generic on the content validation.

Oooops, I need to update the docs to reference the headers.

Just one comment and then I think we're good to go.

Thanks @jabolina


RFC: Add lenient query mode to Tantivy

Closes #5
Inspired by https://gist.github.com/bcoe/6505434
The goal is not to remove possibly poorly formatted queries but to try and take it as if the user was actually typing what they wanted, but didn't know that tantivy interprets some characters as special.
The goal is to escape these special characters and then pass them into the query parser. If that doesn't work - I'm thinking we should either return some kind of Empty query or the AllQuery.

[ ] does Tantivy have an escape character for special symbols?
[ ] my current filter method is naive and could probably be written better with regards to memory and speed and all the things.

Just synced with master, and fixed a unit test.


Trådfri gateway security improvements using DTLS

Just got this from The Ikea of Sweden Trådfri Team.
I hope you're already aware of this, I don't understand the technical details but I assume that this is a breaking change for pytradfri.

We at IKEA would like to inform you about a change to our TRÅDFRI Gateway. We are very happy to see your interest in our gateway and have seen that you are using the CoAP interface. We consider the CoAP interface as our internal interface not developed for third party usage and therefore we do not offer any technical support for this usage. However that does not mean that we want to hinder your work in any way.
There are some security improvements in a soon coming update that we would like to inform you about since it will break your implementation. Technically the improvement is that the TRÅDFRI Gateway will start using DTLS Identities which you will need to handle in your application.
Please use the Following string to connect to the TRÅDFRI Gateway and create a new DTLS Identity.
coap-client -m post -u "Client_identity" -k "SECURITY_CODE" -e '{"9090":"IDENTITY"}' "coaps://IP_ADDRESS:5684/15011/9063"
SECURITY_CODE is what is labelled on the Gateway label, IDENTITY is any string that is representing the connection.
You will then get back a PRE_SHARED_KEY that can be use in all traffic after that.
coap-client -m get -u "IDENTITY" -k "PRE_SHARED_KEY" "coaps://IP_ADDRESS:5684/15001"
We also would like to request that the SECURITY_CODE that is printed on the gateway is never stored permanently in your application.
Best regards
IKEA of Sweden Trådfri team

Thanks for the heads up, this is something we'll need to support.

Is my assumption correct regarding breaking change? The change was going to be introduced today so users of pytradfri (including use from HASS etc) should postpone the firmware upgrade (if possible) until pytradfri has been updated?

Too late for me ... my gateway upgraded its firmware and I can not use tradfri anymore. This is error I get when using from home assistant:
decrypt_verify(): found 24 bytes cleartext decrypt_verify(): found 18 bytes cleartext 2017-10-31 13:43:52 ERROR (MainThread) [homeassistant.setup] Error during setup of component tradfri Traceback (most recent call last):   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/setup.py", line 191, in _async_setup_component     result = yield from component.async_setup(hass, processed_config)   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tradfri.py", line 111, in async_setup     allow_tradfri_groups))   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tradfri.py", line 125, in _setup_gateway     api = yield from api_factory(host, key, loop=hass.loop)   File "/srv/homeassistant/lib/python3.5/site-packages/pytradfri/api/aiocoap_api.py", line 152, in api_factory     yield from request(Command('get', ['status']))   File "/srv/homeassistant/lib/python3.5/site-packages/pytradfri/api/aiocoap_api.py", line 117, in request     result = yield from _execute(api_commands)   File "/srv/homeassistant/lib/python3.5/site-packages/pytradfri/api/aiocoap_api.py", line 109, in _execute     api_command.result = _process_output(res, parse_json)   File "/srv/homeassistant/lib/python3.5/site-packages/pytradfri/api/aiocoap_api.py", line 176, in _process_output     return json.loads(output)   File "/usr/lib/python3.5/json/__init__.py", line 319, in loads     return _default_decoder.decode(s)   File "/usr/lib/python3.5/json/decoder.py", line 339, in decode     obj, end = self.raw_decode(s, idx=_w(s, 0).end())   File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode     raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

This handshake will require some changes to this lib and to Home Assistant, so don't expect a quick fix :(

@hanpal I'm playing with this but I don't know which coap-client version they are referring to since the libcoap version does not support -k and -u parameters. Any idea?

https://github.com/ggravlingen/pytradfri/blob/master/script/install-coap-client.sh supports it

Added a URL filter for fw.ota.homesmart.ikea.net in my router. Hope this works....

Shouldn't be too hard. I think we open connection to another endpoint, get the key, then use that key moving forward.

the update just rolled out. wasn’t quick enough to block wan access for the gateway.

@balloob should this behave more like media_player.bravia ? They've asked that we don't store the security key in any configs. So should we get the user to enter it, which we then exchange for a token, which is stored?

In that case, why not also get the IP adress from the user. If that is stored somewhere together with the client PRE_SHARED_KEY, we can get rid of ip/key settings in user scripts.

#92

@lwis correct, in Home Assistant we get the security key as normal, use it to fetch an access key and only store the access key. We will not store the security key.

This should work if your gateway has been accidentally updated before a new pytradfri version has been released:

Block internet access to the gateway
Perform factory reset. The gateway then reverts to a pre-stored version (the one available when it was manufactured). The gateway will try to update to the latest version after factory reset but this will be prohibited according to 1.

It looks like the gateway only provides the PSK once. So if you run the first command store the result. I haven't found a way to request the PSK a second time.

@mories76 same here, don't get the psk the second time I run the command

So what if you request the PSK and forget it? Factory reset?

@hanpal you'll probably have to switch identity.

@mories76 and @hanpal: this magic command gave me a new PSK :)
coap-client -u "Client_identity" -k "gatewaykey" -v 0 -e '{"9090":"GGRAVLINGEN"}' -m POST "coaps://<IP_ADDRESS>:5684/15011/9063"
(Seems it generates based on what you send into the 9090-attribute).

@ggravlingen in the first request we requested a PSK for the identity IDENTITY,  you have now requested a PSK for the identity GGRAVELIGEN, looks like @lwis is using the identity pytradfri

I am, but the request from aiocoap isn't working :(

I have a updated gateway with 1.2.42 and pytradfri 3.0.4 with it is still working (using synchronous functionality). How could this be?

@hanpal
Thanks for posting this :-). While I wasn't using pytradfri directly but fiddling with my own code atm, I was a bit confused why yesterday's code wasn't working anymore and why the gateway responded with "4.01 Unauthorized" when I tried it with libcoap/coap-client.
Some notes on investigation I did, the NEW_PSK_BY_GW (const 9091 in those decompiled Java sources) appears to survive a reboot, so it's stored permanently on the gateway, at least in the short term, time will show if it'll remain forever. Probably only a factory reset will invalidate it.
Also, you can only request a key for the same CLIENT_IDENTITY_PROPOSED (9090) once. If you try the same again it'll respond with "4.00 Bad Request".
That allowed me to hotfix my scripts pretty quickly by just replacing Client_identity and the permanent key with one it gave me on my request.

Sharing the latest findings when run with aiocoap. Feel free to share what's wrong. :smile:
root@patrik-HP-EliteBook-8460p:/usr/src/app# python3 test.py <IP_ADDRESS>
decrypt_verify(): found 24 bytes cleartext
decrypt_verify(): found 52 bytes cleartext
decrypt_verify(): found 291 bytes cleartext
decrypt_verify(): found 239 bytes cleartext
decrypt_verify(): found 235 bytes cleartext
decrypt_verify(): found 237 bytes cleartext
decrypt_verify(): found 212 bytes cleartext
decrypt_verify(): found 304 bytes cleartext
Task was destroyed but it is pending!
task: <Task pending coro=<DTLSClientConnection._run() running at /usr/local/lib/python3.5/dist-packages/aiocoap/transports/tinydtls.py:160> wait_for=<Future pending cb=[Task._wakeup()]>>
Exception RuntimeError('Event loop is closed',) can not be represented as errno, setting -1.
Error received in UDP connection under DTLS: [Errno 9] Bad file descriptor
Exception ignored in: <generator object DTLSClientConnection._run at 0x7f18ab59e4c0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/aiocoap/transports/tinydtls.py", line 180, in _run
  File "/usr/lib/python3.5/asyncio/selector_events.py", line 622, in close
  File "/usr/lib/python3.5/asyncio/base_events.py", line 572, in call_soon
  File "/usr/lib/python3.5/asyncio/base_events.py", line 357, in _check_closed
RuntimeError: Event loop is closed

Thanks for posting this :-). While I wasn't using pytradfri directly but fiddling with my own code atm, I was a bit confused why yesterday's code wasn't working anymore and why the gateway responded with "4.01 Unauthorized" when I tried it with libcoap/coap-client.

Some notes on investigation I did, the NEW_PSK_BY_GW (const 9091 in those decompiled Java sources) appears to survive a reboot, so it's stored permanently on the gateway, at least in the short term, time will show if it'll remain forever. Probably only a factory reset will invalidate it.

Also, you can only request a key for the same CLIENT_IDENTITY_PROPOSED (9090) once. If you try the same again it'll respond with "4.00 Bad Request".

Would it make sense to generate client identity randomly every time we start? This would make the whole system more robust but not sure if gateway would be able to handle this (will it start deleting unused client identities?)

I'm on 1.2.42 gateway version, it force installed it's self last night.  My lights still work except I can't set 255 brightness, 0-254 works but not 255.  No error messages and i've rebooted both HA and the gateway

@Mrono it broke for me, I am using pytradfri via home-assistant which uses DTLS

In case it helps: This is what I'm doing in the ioBroker tradfri adapter and it works:

Connect with Client_identity / security code to check if that is correct
If a stored identity is found, try to reconnect with that one. Otherwise continue with 4.
If (2.) succeeded, we're done. Otherwise, reconnect with the Client_identity / security code and continue with 4.
Generate a new identity/psk pair and store it.
Reconnect with the new identity/psk pair.

@AlCalzone That doesn't 100% respect IKEA's wish though to not permanently store the PSK printed on the device, if I understand you correctly.
Ideally, in the Home Assistant example, you only ask the user during setup of the gateway for the ip address and key on the device, create your own login data with your app's name, save these and discard the key printed on the device again. This setup phase only would need to be repeated if you reset the gateway or have a new one.
Though other than getting a "4.00 Bad Request" I didn't yet figure out how else to avoid a name clash. Or put differently, if you use something fixed for your identity and the user had done the setup before but doesn't have the key matching the identity anymore you can't get a new one unless you modify your name.

@MiniMeOSc I guess you're right. That seems to be the long-term version, however I needed a quick fix to get it working asap.
The response does come with no content-type set, so I'm skipping the usual payload parsing and use JSON.parse directly.

Support was added in ed1fea1685e5c53d431b83cbe670c707c05b8244.

I have had everything working before the Tradfri update but now i don't know what to do to get this back working again.
Can you guys give any tips or a script on what to do to get this working again on my Rpi?
Tia.

@4tnight the example_*.py files in the root are a good place to start, and you should just need to install libcoap via the script or requirements.txt via pip depending on if you're using the sync/async api.

@lwis thanks, i will try tonight.

i got the following message:
pi@raspberrypi:~/Downloads/pytradfri-4.0.0 $ python3 example_async.py <IP_ADDRESS>
Traceback (most recent call last):
File "example_async.py", line 19, in
from pytradfri.api.aiocoap_api import APIFactory
File "/home/pi/Downloads/pytradfri-4.0.0/pytradfri/api/aiocoap_api.py", line 9, in
from aiocoap.transports import tinydtls
ImportError: cannot import name 'tinydtls'

Please do not use this issue for support.

Sorry @balloob to post here against your explicit advise to not use github for support. I did a lot of googling and if someone searches for the problem with tinydtls google links to this issue.
My solution was to reinstall homeassistant completely. My installation was modified too much and I lost track of my changes and all the executed commands.
So to help @4tnight here is my solution:
as root or sudo
pip3 freeze | xargs pip3 uninstall -y
in your .homeassistant directory remove deps:
rm -rf ./deps/
pip3 install homeassistant
pip3 install aiohttp
pip3 install websockets

after this start/restart hass. It takes a while because it compiles and installs other libraries (DTLSSocket, psutils, cpuinfo, jsonrpc-async and others) again.

@linuxlurak I don't think there is a issue with using GitHub for support, but please create a new issue if it's not related.

Thx @linuxlurac for your reply. I installed the home-assistant update and everything’s  is working now.

Can anyone tell me why HomeAssistant keeps throwing endless and continuous messages like these:
decrypt_verify(): found 149 bytes cleartext decrypt_verify(): found 153 bytes cleartext decrypt_verify(): found 165 bytes cleartext decrypt_verify(): found 147 bytes cleartext decrypt_verify(): found 155 bytes cleartext decrypt_verify(): found 153 bytes cleartext decrypt_verify(): found 165 bytes cleartext decrypt_verify(): found 149 bytes cleartext decrypt_verify(): found 147 bytes cleartext decrypt_verify(): found 155 bytes cleartext decrypt_verify(): found 149 bytes cleartext decrypt_verify(): found 147 bytes cleartext decrypt_verify(): found 153 bytes cleartext decrypt_verify(): found 165 bytes cleartex
I believe this is coming from the IKEA Trådfri integration. How can it be stopped?

Any update regarding this? I am seeing the same thing with my custom integration using the pytradfri library.


Update 404.md

Community Contribution
Link to live project, video, or image:

Sharing

[ ] I would be happy to have my project shared on The Coding Train's social media!

Instagram:
Twitter:

Thanks for your suggestion! Also took the opportunity to add a missing period that I noticed when looking at the pull request.


Build(deps-dev): Bump rimraf from 4.4.1 to 5.0.1 (#4867)

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

Merged in f55025a1cfc6e2b8295e7d0b9f5e77b456542ea7


Cow: Watch usukshop.com

Cow requests the watch of the watch_keyword usukshop\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

usukshop\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Add icons for Origin Protocol

Hello team,
We have a request to add the images for the Origin Protocol token suite to AW mapping for non-zero value assets.
The assets are on Ethereum Mainnet addresses:
OGN	0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26	origintoken.eth	Origin Token
OUSD	0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86	ousd.eth	                Origin Dollar
wOUSD	0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62	wousd.eth	        Wrapped OUSD
OGV	        0x9c354503C38481a7A7a51629142963F98eCC12D0	ogv.eth                    Origin Dollar Governance
veOGV	0x0c4576ca1c365868e162554af8e385dc3e7c66d9	veogv.eth Vote Escrowed Origin Dollar Governance
and images can be found at: https://github.com/OriginProtocol/origin-website/tree/master/static/img/coins
Thank you!

[ ] detect tokens
[ ] icons

@hieronymus4826 added icons and the tokens should already be autodetected when they have non-zero balances


Meiotic cell cycle, missing parentage?

Cheers,
Antonia.

Hi @Antonialock
It's currently a child of 'reproductive process'. The definition of sexual reproduction sounds to me like the process starts after meiosis "A reproduction process that creates a new organism by combining the genetic material of two organisms. " but I suppose that can be changed.
Pascale

So reproductive process starts with combination of genetic material. Conjugation in yeast, fertilization (?) in animals. That seems sensible.
Where does it end? i.e.
A) ends with the production of new sexually competent cells (i.e. gametes in animals)
B) end with the production of offspring
The comment to the 'sexual reproduction' term states
"Sexual reproduction may be seen as the regular alternation, in the life cycle of haplontic, diplontic and diplohaplontic organisms, of meiosis and fertilization which provides for the production offspring."
This implies to me that sexual reproduction is capable of "going on and on" (i.e. ends with the production of new gametes).
I'm not an expert in sex in various organisms, but I don't know of any cases where meiosis isn't needed?

Yes sexual reproduction also creates offspring....but this is not part of the reproductive process per se?
(Like in mitotic cell cycle you typically need to have cell growth, but cellular growth isn't considered an intricate part of the mitotic cell cycle)

So reproductive process starts with combination of genetic material. Conjugation in yeast, fertilization (?) in animals. That seems sensible.
Where does it end? i.e.
A) ends with the production of new sexually competent cells (i.e. gametes in animals)
B) end with the production of offspring
The comment to the 'sexual reproduction' term states
"Sexual reproduction may be seen as the regular alternation, in the life cycle of haplontic, diplontic and diplohaplontic organisms, of meiosis and fertilization which provides for the production offspring."
This implies to me that sexual reproduction is capable of "going on and on" (i.e. ends with the production of new gametes). The offspring is a 'by product' of the reproductive cycle

Here's an interesting quote from a page about reproduction of fungi:
http://website.nbm-mnb.ca/mycologywebpages/NaturalHistoryOfFungi/ReproductionDiscussion.html

Sexual reproduction always involves meiosis at some point in the life cycle of an organism.

Might also be worth getting SGD's point of view, @srengel

Also worth getting a plant point of view, with respect to alternation of generations in plants, @tberardini

It looks like the more specific children of 'meiotic cell cycle', like 'female meiosis I' are descendants of 'sexual reproduction' at a more granular and more informative level.

opened related issue #14251 but don't want to clutter this ticket with that discussion

i don't think meiosis should be child of sexual reproduction.   in animals that reproduce via parthenogenesis, can't meiosis sometimes occur?

Yes it looks like both animals and plants can undergo   asexual
reproduction...apparently it doesn't create as much variation as sexual
reproduction (but obviously more than cloning yourself) and may also help
with DNA repair. Fascinating!
On Thu, 21 Sep 2017 at 16:57, Stacia Engel<EMAIL_ADDRESS>wrote:

i don't think meiosis should be child of sexual reproduction. in animals
that reproduce via parthenogenesis, can't meiosis sometimes occur?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/geneontology/go-ontology/issues/14243#issuecomment-331201476,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMI00hiat0mcCjCw61DHbDLehRC5LkPOks5skod6gaJpZM4PdHCS
.

--
Antonia Lock, PhD
PomBase Biocurator, http://www.pombase.org
Department of Genetics, Evolution and Environment,
The Darwin Building,
University College London
London WC1E 6BT, UK

I needed a "catch all term" for the three parts of pombe reproduction "conjugation with cellular fusion" "meiotic cell cycle" and "ascospore formation", I was hoping I could go with sexual reproduction, but I guess I can't go more specific then than "reproduction"?

There doesn't seem to be anything to do here. As @Antonialock indicated, it looks like the appropriate grouping term she can use is 'reproduction'. I
'm closing this, but let me know if I've missed something.


Are there any plans to include cli tool for this?

Awesome. Let me take a stab at it this weekend.

I think will close this, this issue is stale to long. Besides, I still can't imagine how CLI tools will work with faker.

I have a use case for a CLI tool. I wanted to generate a json file with dummy data for a given struct. If I could do this via CLI instead of writing code on my own, that would be great. The command would look some thing like this:
faker -type "StructName" -o "out.json"
# or
faker -type "StructName" -format="toml" -o "out.toml"


Erroneous "file not found" upon running 'rails metadata:scan'

I have gotten the website up and running without issues by following the guide in README.md. But when I try to populate the database by running rails metadata:scan, I encounter a bug telling me that the file that it is trying to process cannot be found.
The file is 100% there. The number of files and the name of the file are correctly identified by the program during scanning, yet it reports on the next line that the file cannot be found. Ultimately, the script fails at the first video file with the error Failed encoding... and Errors: no output file created.
I've tried to do some troubleshooting but I'm not skilled enough. Could the bug perhaps be similar in nature to this issue at streamio-ffmpeg?
Full output from terminal:
user@server:~/src/StashServer$ rails metadata:scan
I, [2017-04-17T22:10:44.157153 #25200]  INFO -- : Starting scan of 487 files
I, [2017-04-17T22:10:44.253758 #25200]  INFO -- : /home/user/.x/videos/CORRECT-TITLE-OF-VIDEO.mp4 not found.  Calculating checksum...
E, [2017-04-17T22:10:44.721037 #25200] ERROR -- : Failed encoding...
["/usr/local/bin/ffmpeg", "-y", "-v", "quiet", "-ss", "98.2842", "-i", "/home/user/.x/videos/CORRECT-TITLE-OF-VIDEO.mp4", "-vframes", "1", "-f", "image2", "-q:v", "5", "-vf", "scale='320:-1'", "/home/user/.x/metadata/screenshots/9b36d390ad03df460540513c841c5757.thumb.jpg"]

Errors: no output file created.

rails aborted!
FFMPEG::Error: Failed encoding.Errors: no output file created. Full output:
/var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/transcoder.rb:112:in `validate_output_file'
/var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/transcoder.rb:45:in `run'
/var/lib/gems/2.3.0/gems/streamio-ffmpeg-3.0.2/lib/ffmpeg/movie.rb:200:in `transcode'
/home/user/src/StashServer/lib/stash_metadata/tasks/scan.rb:72:in `make_screenshot'
/home/user/src/StashServer/lib/stash_metadata/tasks/scan.rb:64:in `make_screenshots'
/home/user/src/StashServer/lib/stash_metadata/tasks/scan.rb:26:in `block in start'
/home/user/src/StashServer/lib/stash_metadata/tasks/scan.rb:9:in `each'
/home/user/src/StashServer/lib/stash_metadata/tasks/scan.rb:9:in `start'
/home/user/src/StashServer/lib/tasks/metadata.rake:15:in `block (2 levels) in <top (required)>'
/var/lib/gems/2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy.rb:14:in `block in run_rake_task'
/var/lib/gems/2.3.0/gems/railties-5.0.1/lib/rails/commands/rake_proxy.rb:11:in `run_rake_task'
/var/lib/gems/2.3.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:51:in `run_command!'
/var/lib/gems/2.3.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in `<top (required)>'
/home/user/src/StashServer/bin/rails:9:in `require'
/home/user/src/StashServer/bin/rails:9:in `<top (required)>'
/var/lib/gems/2.3.0/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in `load'
/var/lib/gems/2.3.0/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in `call'
/var/lib/gems/2.3.0/gems/spring-2.0.1/lib/spring/client/command.rb:7:in `call'
/var/lib/gems/2.3.0/gems/spring-2.0.1/lib/spring/client.rb:30:in `run'
/var/lib/gems/2.3.0/gems/spring-2.0.1/bin/spring:49:in `<top (required)>'
/var/lib/gems/2.3.0/gems/spring-2.0.1/lib/spring/binstub.rb:31:in `load'
/var/lib/gems/2.3.0/gems/spring-2.0.1/lib/spring/binstub.rb:31:in `<top (required)>'
/home/user/src/StashServer/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => metadata:scan
(See full trace by running task with --trace)
user@server:~/src/StashServer$

Notice line 2 after running the scan command. It correctly identifies the file before giving an error that it is not found.
EDIT
I see from line 22 of /lib/stash_metadata/tasks/scan.rb that this is the intended message for vidoes where the checksum hasn't been calculated before. I wonder what part failed in my case then because it aborts before any of the other messages are printed to the screen?

Fixed by manually creating the folder /metadata/screenshots/ (after running the ffmpeg command manually with verbose output, an error was given to this effect).

I'm going to reopen this as this is a bug related to the scraper.  It should be creating these folders if they don't already exist.


Remove usage of dom-bind-notifier

@diliger, can you do this while working on the current changes?
Part of https://github.com/Starcounter/Starcounter/issues/3568

I found dom-bind-notifier in the Products app only at one place on the SupplierPage#L12.
<dom-bind-notifier observed-object="{{model}}" path="model" deep juicy-style="             itemName: dom-bind-notifier;             hidden: true;         "></dom-bind-notifier>
Should I just remove it and push?

Yes

Done.


Updating READMEs to have valid external links

Thanks for cleaning this up!
Found small things to comment on.

Thank you, I've resolved all the comments

Build error:
[WARNING] Failed to resolve old artifacts: Failed to find a version of artifact 'com.azure:azure-communication-sms:jar:RELEASE' that would correspond to an expression '^\d+\.\d+\.\d+$'. The versions found were: [1.0.0-alpha.20200928.0, 1.0.0-alpha.20200925.0]. The API analysis will proceed comparing the new archives against an empty archive.

Guess we need to reference the beta version?

Build error:
[WARNING] Failed to resolve old artifacts: Failed to find a version of artifact 'com.azure:azure-communication-sms:jar:RELEASE' that would correspond to an expression '^\d+\.\d+\.\d+$'. The versions found were: [1.0.0-alpha.20200928.0, 1.0.0-alpha.20200925.0]. The API analysis will proceed comparing the new archives against an empty archive.

Guess we need to reference the beta version?
Its actually an issue with verifying the readme, I will look into it :)
(verify-readme-codesnippet) on project azure-communication-chat: Command execution failed. Process exited with an error: 1


Bootstrapped Django 3.1.

(to be merged after the stable/3.0.x branch is created following Django 3.0 alpha)

The commits for each feature removal should also add an entry under "Features removed in 3.1" in the release notes.

Thanks Tim for reminding me :+1:

@carltongibson Thanks :+1:


Documentation for container probes show scheme outside the httpGet

*URL: https://docs.score.dev/docs/reference/score-spec-reference/#container-definition
Describe issue

Suggested fix
Move the scheme bits into the httpGet. Deduplicate the httpGet part.

Tackling this now.


Add a defined Start phase

Right, first attempt at pull request, I've added you as a 'reviewer' which seems logical. Let's see how it works.
You should be able to comment, both on individual lines and at higher levels. I'm not sure if you can edit directly in a PR review, but I imagine that you can do that too where it is the most expedient thing to do.
As it stands, I don't think you'll be able to merge changes onto the master branch as I'm the only one who has those permissions at present and I'm trying to work out the best workflows. But we can go back and forth until we're happy and then I'll merge into master when we're ready.

One thing I forgot to do in this pass was to add notes as appropriate to indicate differences from the original E40k rules. Should probably add these on another pass before merge into the master branch.

I've fixed a few 'aircraft' references that should be 'flyers', and added a 'prepare Initiative counters' step to the Start phase - both in the Start phase doc and in the turn sequence doc.

@IJW-Wartrader I couldn't work out how to 'accept' your edits, but I agree with them all - I made further minor tweaks to just a couple of them. I'll send this to you to review again - let's see how it works. I do still need to add notes to highlight differences from the original E40k rules, but lets see how the next steps work and I'll do this as a separate task if necessary.

Hmmm, nope, still blocked. I think I'll force the merge and hope that things become more clear next time.


OTS verify endpoints

Add OTS verify endpoint

OTS verify, OTS info as well as testnet support for OTS: PR #123
Will be part of the next release!


feat: Negative rotation

Indicator arrow in drop down menus need arrow animation to revert back instead of cycling full 360 to get to .identity

@andrej8888 Pushed working demo to this branch using your code to rotate an element.
What really means rotate by180negative?
In my case I would expect that animation works like this:

Your code evokes me:

The arrow shows the direction of rotation.

@smajdalf the end result is the same but isSelected ? rotate(.by180) : rotate(.by0)]

https://user-images.githubusercontent.com/78155066/122299360-2dc78e80-cefe-11eb-9cc7-65613330e939.MP4
First varianty without negative rotation
https://user-images.githubusercontent.com/78155066/122299385-36b86000-cefe-11eb-96b6-6658a9e5f4f1.MP4
With negative rotation

The whole solution with rotation is far from being perfect. Even the previous solution we had. By18Negative would evoke me going from 0 to -180 not from 180 to 0. Even -2 * .pi is equal to 360, so basically, the name of the case is wrong. From the documentation, the whole rotation with positive values is going clockwise. In case you want to rotation counterclockwise, you should use negative values.
On the other side -> your solution is only working in specific scenarios. Try using this:

by90 -> by180Negative
by90 -> by0
The behaviour is same, and I think it could be confusing.

The problem is the whole rotate method.
Every rotation transformation is animating clockwise or counterclockwise based on the distance it needs to do.
Basically, it means:

by90 (90) -> by180Negative(-360, 0, 360): The nearest is animating counterclockwise

by90 (90) -> by0(-360, 0, 360): The nearest is animating counterclockwise

Why your solution is working? Cause you been lucky and put there valid numbers. Because of this, we should make the case .custom(degree) instead of by180negative, it would not be confusing but still far from being perfect. We should redesign the whole solution around the rotation process, cause we are lucky that is working.

@smajdalf I agree but,
Then whole premise of rotating "by" some degrees fails and is confusing in the case of  isSelected ? rotate(.by180) : rotate(.by0)  because if you rotate by 0 you don't rotate at all. It really should be rotate at
and instead of doing             self?.transform = CGAffineTransform(rotationAngle: CGFloat(rotateBy.rotationValue))
we should do             self?.transform = CGAffineTransform.identify.rotate(rotationAngle: CGFloat(rotateBy.rotationValue))
above the identify matrix to achieve the desired rotation even after multiple operations a e should somehow state the direction of rotation as well


peer to peer code review

Met all the project requirements and managed to catch linter problems
Use rspec to test the code and you should be ready to go.

Thank you sir


Multiple component provided by Activity

The current implementation allows an Activity to provide a component to any subclass implementing HasComponent<C> interface. For instance UserListFragment.java
private void initialize() {
    this.getComponent(UserComponent.class).inject(this);
    this.userListPresenter.setView(this);
}

But what about further fragments inside the same Activity. Imagine I want to add some OtherFragment.java later in the same Activity, which needs some OtherComponent. As the Activity can implement HasComponent<C> for only one type it cannot provide OtherComponent to the new Fragment.
I'm new to android-clean-architecture and maybe I'm missing something. Maybe this is not the propper way to achieve what I want, any advice?
Thanks!

public class MainActivity extends AppCompatActivity {

    private UserComponent userComponent;
    private OtherComponent otherComponent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initialize components
        AppComponent appComponent = ((MyApplication) getApplication()).getAppComponent();
        userComponent = appComponent.userComponent(new UserModule());
        otherComponent = appComponent.otherComponent(new OtherModule());

        // Inject into fragments
        if (savedInstanceState == null) {
            UserListFragment userListFragment = new UserListFragment();
            OtherFragment otherFragment = new OtherFragment();

            userComponent.inject(userListFragment);
            otherComponent.inject(otherFragment);

            getSupportFragmentManager().beginTransaction()
                .add(R.id.fragment_container, userListFragment)
                .add(R.id.fragment_container, otherFragment)
                .commit();
        }
    }

    public UserComponent getUserComponent() {
        return userComponent;
    }

    public OtherComponent getOtherComponent() {
        return otherComponent;
    }
}


[Rakefile] Use automatiek to manage vendoring

This uses my new gem to manage vendoring.
\c @indirect

Looks good to me.


Link directly to Github issue tracker.

With the migration, we might as well link directly. This gives the npmjs page on Esprima to display the actual issues and pull requests.

:+1:

Can also update the docs as well - https://github.com/jquery/esprima/blob/gh-pages/doc/index.html


Redesign a Filter pages

A filter is not look good in UI. So I want to change a design in al pages which have filters. Please assign this to me , I want to contribute in this one.

kindly share some design if you find something

kindly connect in discord for more communication and share design with your issue number

Yeah, Hi.. There have many issues are raised in filter UI because It fixed in left of a page

It was not comfortable for users
Responsive is not workable when It is in left side
UI is not designed for a every product page

Here is a solution!!

This UI contain vertical filter options,

Looks clean and clear
It makes also responsiveness easily

Pls review it. after you said, I will submit a design to a Figma design file and I'm ready to work for a responsive too


Automatic Decoder derivation hangs when used across files

Took me an hour to hunt this down in a work project. The gist of it is that I have a case class for which I automatically derive Decoder instances using io.circe.generic.auto. Within this case class there is a nested field (it's a couple of levels down) that contains a field typed to an option of another case class. This last case class got turned into a sealed trait during a refactoring. At this point I could no longer compile my project: scalac simply ran forever and failed to terminate. "Forever" in this case can be defined as more than 10 minutes for a ~1,200 SLOC project.
The situation is best illustrated with a live example: https://gist.github.com/maxaf/0cf0398d16c219099ae0
Run sbt compile and watch it spin. I've left it for more than 10 minutes, and it never finishes. What's funny is that  dumping the contents of model.scala and main.scala into a single file & compiling that works fine. Also, :paste-ing the whole pile of goo into the REPL works as well!
The only conclusion I can make is that I've probably run into a scalac bug that manifests when circe is trying to automatically derive a Decoder for a type hierarchy housed in another file.
PS: thanks for circe! It's incredibly useful and saves me a ton of time. Except when scalac fails to terminate, of course. :)

Hey @maxaf, sorry this issue slipped by me (I was camping when it arrived and somehow never noticed it). Feel free to bother me on Gitter or Twitter or here if I ever just let something sit for weeks.
The good news is that I just confirmed that I can reproduce this issue in 0.3.0 and that it's fixed in 0.4.0 (not head or the snapshot, which aren't updated yet, but I'm hoping to have the release out tonight).

Thanks & no worries! I worked around the (still unknown to me) root cause by rearranging my compilation units. 0.4.0 looks awesome, looking forward to it!
Through a form of differential diagnosis I've pursued this issue and the general slowness of compiling any derived circe instances. The main insight was that compilation performance tanks when target directories are located on a slow file system. In my case this was a VirtualBox shared directory inside a Vagrant-managed VBox instance. I gained back more than 40% of compilation time by moving target directories to a faster file system by way of an sbt plugin.
Could you explain in a nutshell what the root cause of this issue was? I never thought that placing code in one file or another might affect anything apart from restrictions on deriving from a sealed type.

This now compiles in seconds (in 0.8.0 and earlier). There are a lot of things that changed in #247 and I don't remember at the moment which pieces are most likely responsible for clearing this up, but I'm going to go ahead and close the issue since it's not a problem any more.


About the mask data

Hello! Thank you for sharing your awesome work~ I am really interested in your work. I notice that there is an argument named abstention-mask-dir in your script. Could you please release the mask data? Thanks a lot!

Hello, thank you for your interest in our work. Here is the data for XSum:
https://drive.google.com/file/d/1zZrhxOAgD2qc4dMrFpXrYxHm-XC85yYY/view?usp=sharing
I will upload the pre-processing scripts soon.

Thanks a lot!


Automated cherry pick of #10122: fix(region): check the global network situation when expanding the network

Cherry pick of #10122 on release/3.7.
#10122: fix(region): check the global network situation when expanding the network

Codecov Report

Merging #10123 (da89673) into release/3.7 (0ff3997) will increase coverage by 2.06%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release/3.7   #10123       +/-   ##
================================================
+ Coverage         5.98%    8.05%    +2.06%
================================================
  Files              848      107      -741
  Lines           131795    13003   -118792
================================================
- Hits              7887     1047     -6840
+ Misses          123206    11836   -111370
+ Partials           702      120      -582

Flag
Coverage Δ

aFlag
8.05% <0.00%> (+2.06%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/auth_totp.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/idp.go
1.84% <0.00%> (ø)

pkg/apigateway/handler/misc.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/resource.go
0.00% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.74% <0.00%> (-0.01%)
:arrow_down:

pkg/hostman/diskutils/nbd/lvmutils.go
4.70% <0.00%> (-0.24%)
:arrow_down:

pkg/monitor/alerting/eval_context.go
34.25% <0.00%> (-2.75%)
:arrow_down:

pkg/multicloud/esxi/network.go
0.00% <0.00%> (ø)

pkg/scheduler/test/prepare.go

... and 662 more

Continue to review full report at Codecov.

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


--gpu-preferences has suspicious default setting (possible security issue?)

After killing VSCode when it locked up, I executed ps aux | grep code and found the following (of several) processes running:
joshua.+ 18474  0.5  0.2<PHONE_NUMBER>20 ?       Sl   16:22   0:03 /usr/share/code/code --type=gpu-process --enable-features=SharedArrayBuffer --disable-features=SpareRendererForSitePerProcess --disable-color-correct-rendering --no-sandbox --gpu-preferences=KAAAAAAAAACAAABAAQAAAAAAAAAAAGAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA --service-request-channel-token=3390307351534986627

The --gpu-preferences setting doesn't look sane; it looks like input you'd use to overflow an unsantized string buffer. Is this normal?
Version info:
Version: 1.39.2
Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
Date: 2019-10-15T15:33:40.634Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 4.4.0-148-generic,
Ubuntu 14.04 LTS

Steps to Reproduce:

Open VSCode from the launcher.
Execute ps aux | grep code to see the output.

Does this issue occur when all extensions are disabled?: Yes

This is expected https://stackoverflow.com/questions/52677555/strange-gpu-preferences-of-chrome


Idea: In-console visualizations

I was doing some improvements to my Transformation Inspector and I got an idea for Console Plus I wanted to run by you:
Allowing return value lines to have visualization widgets in-line in the console. This wouldn't be far off from the visualization already done for vectors etc in the viewport.
Some things like Transformations can't be visualized in the viewport, but it would be nice to bring up a better view of it in the console. For example:

This could also be extended to other things, for instance:
An array of points. The console widget could be expanded to some options:

Points
GL_LINES. GL_LINE_LOOP, ...
draw3d, draw2

Would be very useful for visually debugging and experimenting.
Is this something you'd be interested to feature in this extension? Would you accept PR for this?

I am definitely interested. I was already looking into it, when I thought about exposing Ruby object properties as hierarchical trees (maybe by embedding Firefox's lazy loading object trees and implementing REP protocol, but that single feature would have multiplied this extension's code).
It would not be too difficult to hard-code a single new visualization type in addition to the existing ones, but in the long-term I need to figure out an interface to make it extendible with more visualizations without blowing up the code.

Can you point me to where I'd start in trying to add such a prototype visualizer? Would it be in Ruby or JS?

The interactivity is added client-side in JavaScript. Look into feature_highlight_entity.js, after tokenization and highlighting (with Ace's highlighter). So the output is already split into colorized HTML tags and annotated with CSS classes depending on the type of token.

Define a regexp pattern to detect transformations in the output from their Ruby inspect string, and capture its object id. (If the desired string has been split into multiple HTML tags, one can avoid that by adding the string as a new token in mode-ruby_sketchup.js). But #<Geom::Transformation:...> is probably a single HTML tag with class sketchup.entity.
Define a function analog to addEntityHighlight that is given the matched HTMLElement and current state of the Regexp object and does something with it. For transformation, you could register an onclick event handler which will toggle a child element containing the matrix table.
In detectVisualizableElements, add a pattern match and call that function.
You can register an action callback
dialog.on('get_transformation_matrix') { |action_context, object_id| ... }
in feature_highlight_entity.rb and then do
Bridge.get("get_transformation_matrix", object_id).then(function(matrix){ ... })
where you receive the matrix and generate the HTML table.


Magic code textfield shows navigate textfield arrow with keyboard

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to login screen
Enter email -> Click continue
Open keyboard to enter magic code

Expected Result:
It should not show navigate arrows, If shown it should work to navigate through Code textfields.
Actual Result:
It shows textfield navigation arrow -> Clicking on which nothing happens.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[x] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/236699450-372c375e-709b-451d-a35f-27ae2089c6bd.MP4
https://user-images.githubusercontent.com/43996225/236699539-55105bc8-8e52-422c-b7c7-a5b2d1f16e79.MP4
Expensify/Expensify Issue URL:
Issue reported by: @dinaljivani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683418137709749
View all open jobs on GitHub

https://github.com/Expensify/App/issues/16629#issuecomment-1526104925


Reptile Optimizer?

Is there a chance to investigate whether the One-Shot Reptile optimizer can deliver results comparable to Bayesian / Evolution?
I observed that the Bayesian / Evolution combo usually requires data samples in excess of a certain threshold but for some reasons, every once in a while, it performs well on a dataset with just 100 samples. Obviously, that begs the question if the Reptile K-shot approach would work well on more small datasets?
Reptile seems to be computationally fairly inexpensive, offers exponential loss decay within the first 10 fits, and when implemented in PyTorch, it can run on the GPU -  a nice bonus for training on larger datasets.
Notebook:
https://github.com/AdrienLE/ANIML/blob/master/ANIML.ipynb
Paper:
https://arxiv.org/abs/1703.03400
Article:
https://towardsdatascience.com/paper-repro-deep-metalearning-using-maml-and-reptile-fd1df1cc81b0

I looked into it, still trying to feed into this forecast domain

It required cost function, learn from gradient descent, metalearning. Evolution strategy is an evolution algorithm, not required to define a cost function.
When talking about cost function to minimize, examples from q-learning are not really great in our case.

Valid point. Meanwhile, I spent more time with gradient-free RL agents, especially neuroevolution and it occurs to me that gradient descent becomes more of a liability in RL and it actually isn't even needed.
Speaking of optimization, have you tested different fitness functions to select the best agent?
The way I read your code is, that the fitness function to score simply states "maximize profit" and especially the neuroevolution agents do just that. However, while screening the trade log, I was wondering if a more nuanced fitness function would stabilize the otherwise volatile trade pattern generated by the best agent?
For example, instead of maximizing profit, one can ask what actually causes consistently profitable trades?
To my knowledge, there are really only very few factors such as:

Success-rate: The percentage of trades that make money
(Average) winner size: The dollar amount of a winning trade
The total trade rate: How often the agent trades with the two parameters above.

(WR * Avg(TP)) -(LRAvg(FN))
WL = 100%
For example, if your method has a 50% success rate and your average winner is two times bigger than your average loser, you have an edge. Here’s why: Average return on a trade = 50% * 2R – 50% * R
1R - 0.5R = 0.5R
R is the percentage of your capital at risk. If you risk 2% of your capital per trade, then, in this case, your average return per trade or investment is 2%*0.5=1%.
20.5=1 %
30.5=1.5 %
4*0.5=2 %
If you take 30 trades in a month, your total annual return is expected to be 30%.
To let train a RL agent to trade consistently profitable, the reward function needs to be different.

Be right more often – to have a very high success rate, the agent will need to learn how to choose better setups.

 This is possible if the agent learn how to construct highly-asymmetric trades, where the upside is open-ended and the downside is limited. Buying calls or puts provides exactly that. Asymmetric trades let you achieve extraordinary returns out of ordinary moves in the underlying stocks while keeping your risk limited.

In practice, that means:
WR : Win Rate in %
LR : Loss Rate in %
Avg(TP) : Average Winning Trade return in $
Avg(FP) : Average Loss Trade return in $
Edge = (WR * Avg(TP)) - (LR*Avg(FN))
Reward Function
R1 : WR > LR                     ¶ Be right more often
R2 : Avg(TP)  > Avg(FP)    ¶ Average winner is (much) bigger than your average loser.
R2 : Edge > 0.5                  ¶ Don't lose money
Reward = Max(R1+ R2+R3)
Technically, a RL agent optimized for that reward function should outperform conventional agents and algos by a fair margin because the reward function incents a higher frequency of high-quality trades.

this is really cool!
My crafted reward function is really simple, yep, ROI percentage. we should improve it. I want to try yours. thanks!

Okay,
please share some benchmark numbers once you tested your agent.
I saw your real-time agent. Cool stuff.
In case you want to automate data loading & adding more features such as technical indicators, I wrote some stock utils that do all that in a lean workflow.
https://github.com/marvin-hansen/StockUtils
Depending on the case, I saw model accuracy improvements of 10% (XGBoost classification) and ~20% for regression models using PyTorch &  Fast.ai models. Both when using proc-flow nr. 4 & 5.
https://github.com/marvin-hansen/StockUtils/blob/master/src/procs/ProcFlow.py
In the meantime, I take a closer look at how to make Neuroevolution with Elite selection work on the feature set I get from ProcFlow.

@marvin-hansen are there any resources on how to. Implemet reptile for time series data

@augmen No.
Try FB Prophet instead.
https://facebook.github.io/prophet/


Updated to angular2-rc.0

Since yesterday, angular2-rc.0 is out. The whole angular2-package moved to their own name scope @angular/ which is a breaking change.
So I changed the angular- and rxjs-Versions in the package.json as well as the import statements to reflect the new path.
Since there are no tests yet I tested it manually & locally on one of my projects and it was working perfectly.

looking at https://github.com/gdi2290/angular2-hmr/pull/9 I would say there are now two similar PRs in pipe

Uh okay, didnt see that one. Since #9 also adds some typings and was earlier it's probably better to merge tha none.

sorry https://github.com/gdi2290/angular2-hmr/pull/9 was merged as 0.6.0


Upgrade governance1 components

Description:

Split from the gov endpoints PR. Some work was done in on the following commit: https://github.com/cosmos/voyager/pull/1463/commits/516ab541204b5a584f4735718ce9be0a36516faa
Note: The changes are the deletions on that commit

Closing in favor of #1401


Operator-Function Performance

Summary
The changes made as part of #289 are likely to have some not-insignificant impact on the performance of the interpreter. We need to work out how to best minimise this impact.
Value
We gain a more uniform language for analysis without undue impact on the performance of the compiler.
Specification

[ ] Work out where any performance degredation in the interpreter is coming from.
[ ] Eliminate this degredation to the best of our ability.

Acceptance Criteria & Test Cases

Any performance degredation has been minimised.

Invalidated for now. Will likely be worked on in part by marcin as part of stdlib.


After Linux is connected to redis, multithreaded data writing is stuck. The requirement is that up to 300 threads write JSON format data to redis.

Hi, sorry for the delayed response.
You cannot share a redisContext object across threads like you're attempting to do as hiredis does not contain any synchronization logic.
That said, if you truly have the need to write with 300 concurrent threads, it's unlikely a single redis-server will be able to process that volume anyway, as Redis is single-threaded.
One option would be to create a redisContext per-thread, and another would be to use async hiredis and a thread-safe append-only queue.  Push the messages you want to be delivered into the queue and then process them in the async callback.

Closing this as it's not a bug in Hiredis but happy to help answer any additional questions you have.


Try to use tensorflow:devel baselines

https://github.com/tensorflow/addons/pull/1888#issuecomment-635937963
Please double test on your setup.

In parallel I've requested to push on Dockerhub an image without the source layer to recover addtional 500+MB with  https://github.com/tensorflow/build/issues/6

This would mean that we know longer use the same compiling toolset that makes us manylinux2010 compliant (dt7). I'd prefer we not differ our dev environment from the toolchain that we use in our official package. Is this just to save docker image space?

Yes was just cause I don't belive in a short term Docker unification on the upstream side.
But as we i don't know the story about d7 in the domain of devel vs custom_ops images I close this


[Bug/漏洞]  Json recipe for infinity catalyst not seen by crafttweaker

Checks / 检查

[X] I confirm that I have searched for existing issues / pull requests before reporting to avoid duplicate reporting./我确认在报告之前我已经搜索了现有的问题或者拉取请求，以避免重复报告。
[X] I confirm that I followed the Docs and read the Changelog, but this problem still exists./我确认我按照文档配置并阅读了Changelog，但这个问题仍然存在。
[X] I confirm that I noted that if I don't follow the instructions, the issue may be closed directly./我确认我已经检查，如果我不按照说明进行操作，该问题可能会被直接关闭。

Java Version / Java版本
17
Minecraft Version / Minecraft版本
1.20.1
Avaritia-Reforge Version / Avaritia-Reforge版本
<IP_ADDRESS>
Description / 描述
Used Craftweaker to use this https://github.com/Nova-Committee/Re-Avaritia?tab=readme-ov-file#infinitycatalyst as it seemed like a json recipe and yet it failed to load, on checking with craftweaker i saw that its not even being seen by said mod and
A) its not working
B) not a Json recipe and should be labeled better
Even if it is not B I would reccomend Adding more examples for each recipe type just like the craftweaker one at minumum, this as before will help confustion as this my second time here now for what looks like json code.
What be even better Is, but doesn't have to happen is a rework to show the code better up an front as well
To Reproduce / 重现
use crafttweaker and this mod
use the code like json in crafttweaker
craftweaker errors
Log / 日志
N/A no output to main log
Config / 配置
N/A

{
"type": "avaritia:infinity_catalyst_craft",//Infinity Catalyst recipe type
"category": "misc",
"ingredients": [
{
"item": "minecraft:emerald_block"
},
{
"item": "avaritia:crystal_matrix_ingot"
},
{
"item": "avaritia:neutron_ingot"
},
{
"item": "avaritia:cosmic_meatballs"
},
{
"item": "avaritia:ultimate_stew"
},
{
"item": "avaritia:endest_pearl"
},
{
"item": "avaritia:record_fragment"
}
]
}

you can use crafttweaker to change this recipe

the recipe cant change result item


I want to upload an android unit test result logs in discord. Is this possible?

@medwrdsx
I think i can.
If it is the same workflow, you can refer to the result log.
If you realize it with a different job.
https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts


Add a shader warning when the uniform buffer limit is exceeded

This target to fix (partially?) https://github.com/godotengine/godot/issues/55674

by adding this warning showed when the uniform buffer limit has been breached:

Thanks!


"no subsystem for mount" Error

Hello Team,
I am getting below error while trying to start docker
Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:53: mounting \\\"cgroup\\\" to rootfs \\\"/var/lib/docker/aufs/mnt/5c5ba2dd2eb23394e9040d56e3e48768ecd74fc5cf1fea90cff81859787c96b0\\\" at \\\"/sys/fs/cgroup\\\" caused \\\"no subsystem for mount\\\"\""\n"
OS - VERSION="18.04.4 LTS (Bionic Beaver)"
Docker Version - Docker version 1.12.3, build 6b644ec
Can someone please help here?

----You try to configure the go locale

@chenhao424055  Can you please explain more and how can i resolve this ?
Also my kernal version - 4.15.0-1065-aws
systemed version - systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid

Oh, I see

Hi @sidharthaggarwal you can raise your question in docker forum https://forums.docker.com/.
This repo is mostly related to cookbook related issues.
Closing this issue


Multiple @releations between models throw errors

Bug description

When you try to link 2 or more relations in UserPermission model to the User model its not working and error pop up.
 ERROR  Oops, an unexpected error occured!
error: Error validating model "User": Automatic related field generation would cause a naming conflict. Please add an explicit opposite relation field.
  -->  schema.prisma:28
   |
27 |     updated                 User[]              @relation("ClientUpdatedByUser")
28 |     updatedUserPermission   User[]              @relation("UserPermissionUpdatedByUser")
   |
error: Error validating model "UserPermission": Automatic related field generation would cause a naming conflict. Please add an explicit opposite relation field.
  -->  schema.prisma:41
   |
40 |     updatedAt       DateTime        @updatedAt
41 |     createdBy       User?           @relation("UserPermissionCreatedByUser")
   |
error: Error validating model "UserPermission": Automatic related field generation would cause a naming conflict. Please add an explicit opposite relation field.
  -->  schema.prisma:42
   |
41 |     createdBy       User?           @relation("UserPermissionCreatedByUser")

How to reproduce

Setup a clean<EMAIL_ADDRESS>standard env
Run prisma2 migrate save --experimental

Expected behavior
Multiple 2 or more (3, 4, 5,....) relations between 2 models should work, because as shown in the example sometimes its needed. Otherwise the createdBy / updatedBy columns getting Int or String data to save, and this is not prisma2 like.
Prisma information
Failing:
datasource mysql {
    provider = "mysql"
    url      = "mysql://user:password@localhost:3307/prisma"
}

generator client {
    provider = "prisma-client-js"
  }

model User {
    id                      Int                 @id @default(autoincrement())
    email                   String              @unique
    password                String
    firstname               String
    lastname                String
    userPermissions         UserPermission[]    @relation("UserPermissionLink")
    isBlocked               Boolean             @default(false)
    blockedReason           String?
    blockedAt               DateTime?
    createdAt               DateTime            @default(now())
    updatedAt               DateTime            @updatedAt
    createdBy               User?               @relation("ClientCreatedByUser")
    updatedBy               User?               @relation("ClientUpdatedByUser")
    created                 User[]              @relation("ClientCreatedByUser")
    createdUserPermission   User[]              @relation("UserPermissionCreatedByUser")
    updated                 User[]              @relation("ClientUpdatedByUser")
    updatedUserPermission   User[]              @relation("UserPermissionUpdatedByUser")
}

model UserPermission {
    id              Int             @id @default(autoincrement())
    client          Client
    user            User[]          @relation("UserPermissionLink")
    isBlocked       Boolean
    createdAt       DateTime        @default(now())
    updatedAt       DateTime        @updatedAt
    createdBy       User?           @relation("UserPermissionCreatedByUser")
    updatedBy       User?           @relation("UserPermissionUpdatedByUser")
}

Working, but without the second and third relation in UserPermission model createdBy / updatedBy User?
datasource mysql {
    provider = "mysql"
    url      = "mysql://user:password@localhost:3307/prisma"
}

generator client {
    provider = "prisma-client-js"
  }

model User {
    id                      Int                 @id @default(autoincrement())
    email                   String              @unique
    password                String
    firstname               String
    lastname                String
    userPermissions         UserPermission[]
    isBlocked               Boolean             @default(false)
    blockedReason           String?
    blockedAt               DateTime?
    createdAt               DateTime            @default(now())
    updatedAt               DateTime            @updatedAt
    createdBy               User?               @relation("ClientCreatedByUser")
    updatedBy               User?               @relation("ClientUpdatedByUser")
    created                 User[]              @relation("ClientCreatedByUser")
    updated                 User[]              @relation("ClientUpdatedByUser")
}

model UserPermission {
    id              Int             @id @default(autoincrement())
    client          Client
    user            User[]
    isBlocked       Boolean
    createdAt       DateTime        @default(now())
    updatedAt       DateTime        @updatedAt
    createdBy       Int?
    updatedBy       Int?
}

Environment & setup
On my local Macbook Pro, macOS 10.15.3

OS: Mac OS
Database: MySQL
Prisma version<EMAIL_ADDRESS>binary version: 377df4fe30aa992f13f1ba152cf83d5770bdbc85
Node.js version: v12.16.1

I can also confirm this in the context of the Prisma VSCode extension:

Or just prisma2 validate on the model you posted:

So this is not migrate related.

This is still valid in "@prisma/client": "^2.0.0-beta.2"
I have a User that has a profile picture and an avatar image being stored in an Image table:
(I've tried a number of combinations of @relation, with and without all the options - fields, references, etc)
model User {
  id           Int    @default(autoincrement()) @id
  name         String
  profilePic   Image  @relation("ProfilePicImage", fields: [profilePicId], references: [id])
  profilePicId Int    @map("profilePic")
  avatar       Image  @relation("AvatarImage", fields: [avatarId], references: [avatarPic])
  avatarId     Int
}

model Image {
  id   Int    @default(autoincrement()) @id
  name String
  avatarPic Int @unique
}

I'm getting Error validating model "User": Automatic related field generation would cause a naming conflict. Please add an explicit opposite relation field. on the User.avatar field.

This looks to be related though: https://github.com/prisma/prisma/issues/1483

The above does solve the issue ..
I've left some ramblings there for anyone to follow - you probably want to read through them all before jumping in. This will hopefully save some hair pulling.
Remember, the side you put the "longer" @relation tag on is the side the foreign keys will be created and the name must be the same on both sides of the relation.

Yes, you would need to disambiguate the relations so the Prisma knows which keys it should while referencing to the relation. So the model here would look something like this:
model User {
  id                        Int              @id @default(autoincrement())
  email                     String           @unique
  password                  String
  firstname                 String
  lastname                  String
  userPermissions           UserPermission[] @relation("UserPermissionLink")
  isBlocked                 Boolean          @default(false)
  blockedReason             String?
  blockedAt                 DateTime?
  createdAt                 DateTime         @default(now())
  updatedAt                 DateTime         @updatedAt
  createdBy                 User             @relation("ClientCreatedByUser", fields: [id])
  updatedBy                 User             @relation("ClientUpdatedByUser", fields: [id])
  created                   User[]           @relation("ClientCreatedByUser")
  createdUserPermission     User[]           @relation("UserPermissionCreatedByUser")
  updated                   User[]           @relation("ClientUpdatedByUser")
  updatedUserPermission     User[]           @relation("UserPermissionUpdatedByUser")
  updatedUserPermissionBack User[]           @relation("UserPermissionUpdatedByUser")
  User                      User?            @relation("UserPermissionCreatedByUser", fields: [userId], references: [id])
  userId                    Int?
}

model UserPermission {
  id        Int      @id @default(autoincrement())
  user      User[]   @relation("UserPermissionLink")
  isBlocked Boolean
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
  createdBy User     @relation("UserPermissionCreatedByUser", fields: [id])
  updatedBy User     @relation("UserPermissionUpdatedByUser", fields: [id])
}

I am not sure why we labelled this as a bug in the past. This is a clear.

@pantharshit00
Because at this time of reporting, it was a bug and the linking was not implemented.

Oh ok, then I am going to close it.


How to run client when device restarts?

How to we configure a Rpi that runs this nodejs app that communicates with Iot Central when the device itself restarts for whatever reason (power outage)? Like how do we reestablish the connection to send out telemetry? Like how does this script auto run when the device is simply turned on without having to run the node script.js command?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ec1d0558-8037-5162-cea2-03bc56e24bc8
Version Independent ID: 23e26af9-b9ac-ef9a-601d-27eb4c323233
Content: Tutorial - Connect a generic client app to Azure IoT Central
Content Source: articles/iot-central/core/tutorial-connect-device.md
Service: iot-central
GitHub Login: @dominicbetts
Microsoft Alias: dobett

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
Please also do visit Microsoft Q&A the home for technical questions and answers at Microsoft.


write_to_file does not write correct recipe source

The write_to_file currently takes the command-line arguments passed to cook-import, instead of the passed link parameter. This leads to metadata like this:
>> source: --link

Thanks for submitting the issue! 🙏🏽  However, this is a duplicate issue of #9 and #11.


Fix example to use quickSync instead of sync

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Nice catch ⚾
/lgtm

Nice catch ⚾
/lgtm

/close

/close


Remove 'blocked' IBC xfer Status

Remove 'blocked' status, and just left "congested", because users are confused about whether they can attempt IBC transfers.
Reason: There is currently an anomalous tx stuck in the Osmosis -> Cosmos Hub channel, which is making the transfer button say 'blocked'. This is confusing many users. The button for such an important function perhaps should have more consideration before telling users that it's blocked. It is not clear that they can still attempt to transfer, (and that it will most likely work, as many users report).

I think we should also prevent the button from turning red if a wallet is not connected. I noticed that in the preview.

I can push a commit if you're up for it. For the higher threshold as well.

https://github.com/osmosis-labs/osmosis-frontend/pull/1065
Just merged. Please update this branch. We could still increase the number of minutes required to return each status.


InsertEntryAsync does not work with HockeyApp crash manager installed

I'm developing an Android app.
HockeyApp crash manager enables an app to deliver crash reports.
When I call InsertEntryAsync, with HockeyApp enabled, ti crashes my app and reports an error which has nothing to do with Simply Odata nor HockeyApp.
I tried combinations:
CrashManager disabled, InsertEntryAsync presented - works
CrashManager enabled, InsertEntryAsync not presented - works
CrashManager enabled, InsertEntryAsync presented - does not work
This line in MainActivity is an initialization of the HockeyApp:
HockeyApp.Android.CrashManager.Register(this, hockeyAppId);
The second line is causing the crash:
var insertCommand = client.For<Account_Product_Recent>().Set(item);
return await insertCommand.InsertEntryAsync(true);

Hi,
I have no idea what HockeyApp CrashManager is, so it is impossible for me to guess what can be a reason for the crash. With such issues it may help checking the application stack when it crashes, at least it can give some clue about the source of the crash.


Question: Just curious, what was the reason for setting this up with the Serverless Framework? Are you open to allowing others to contribute setting up the infrastructure using terraform as another deployment alternative?

IMO Serverless is the right framework for deploying application code whereas Terraform/CF are the right frameworks for deploying infrastructure.
Serverless does the hard work of packaging your Lambda functions, creating Lambda Layers, setting up IAM Roles, and creating API Gateways without you needing to explicitly create that infrastructure.
I don't see a need to include Terraform deployment versions as this will just double the maintenance effort.

I'm not that familiar with the serverless framework, but looking into it a bit, I understand your point of view


Create Sage Rstudio AMI

install synapser

I would suggest no larger than t3.small
On Thu, Feb 27, 2020 at 4:09 PM Thomas Yu<EMAIL_ADDRESS>wrote:

@thomasyu888 commented on this pull request.
In packer/sagebio/rStudioAmi-LATEST/template.json
https://github.com/Sage-Bionetworks/ami-provisioner/pull/26#discussion_r385442274
:

],

"provisioners": [

 {

   "ansible_env_vars": [

     "ANSIBLE_SSH_ARGS='-o IdentitiesOnly=yes'",

     "JcConnectKey={{user `JcConnectKey`}}"

   ],

   "playbook_file": "playbook.yaml",

   "type": "ansible"

 }

],
"variables": {

 "AmiUsers": "563295687221,055273631518,804034162148,237179673806",

 "Department": "Platform",

 "ImageName": "rStudioAmi-LATEST",

 "InstanceType": "t3.large",

Ya it doesn't have to be that large. What do you suggest?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/Sage-Bionetworks/ami-provisioner/pull/26?email_source=notifications&email_token=AA4GYFRTRRQLMMV6ASHVGTTRFBI3XA5CNFSM4K5BATJ2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCXJAQGI#discussion_r385442274,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4GYFSVDVTX4YXHLWLLGW3RFBI3XANCNFSM4K5BATJQ
.

This AMI is complete.  I didn't add in reticulate, because I was having issues with python pathing when using reticulate, but I added:

synapser
devtools
tidyverse
BiocManager


hi, run cli segmentation fault in now os

./bin/cli
[1]    18242 segmentation fault  ./bin/cli

rt

Knock...Knock


consolidate settings validation

Currently settings are validated in the miniconf handler but then later also again when applying them in the rf channels.
If possible, there should be one location where e.g. the settings bounds are verified, preferrably in the (authoritative) driver layer.

Check whether https://docs.rs/miniconf/latest/miniconf/trait.TreeDeserialize.html#setter-field-attribute cuts it.

#400


[2.21.91 wpewebkit] JavaScriptCore fails to build

Building wpewebkit with PACKAGECONFIG = "remote-inspector"
Looks like the JavaScriptCore fails to compile
| /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.91-r0/build/DerivedSources/ForwardingHeaders/JavaScriptCore/ARM64Assembler.h:459:48: warning: 'JSC::ARM64Assembler::LinkRecord::<anonymous union>::RealTypes::m_compareRegister' is too small to hold all values of 'JSC::ARM64Assembler::RegisterID {aka enum JSC::ARM64Registers::RegisterID}'
|                  RegisterID m_compareRegister : 6;
|                                                 ^

I don't have an ARM64 board here, so won't be able to help much... This was likely fixed already in WebKit trunk, can you check maybe?

I'm trying the Trunk but it looks like the network/SVN server is throttling the connection.  Taking a few hours to pull down that code.

Looks like Trunk fails the same way. I'll have to go back to a stable version I think.
| /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/1.trunk-235780-r0/build/DerivedSources/ForwardingHeaders/JavaScriptCore/ARM64Assembler.h:459:48: warning: 'JSC::ARM64Assembler::LinkRecord::<anonymous union>::RealTypes::m_compareRegister' is too small to hold all values of 'JSC::ARM64Assembler::RegisterID {aka enum JSC::ARM64Registers::RegisterID}'
|                  RegisterID m_compareRegister : 6;
|                                                 ^

Downstream also fails:
| CMake Error at /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/1.downstream-20180424-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
|   Could NOT find WPEBackend (missing: WPE_INCLUDE_DIRS WPE_LIBRARIES)
| Call Stack (most recent call first):
|   /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/1.downstream-20180424-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
|   Source/cmake/FindWPEBackend.cmake:47 (find_package_handle_standard_args)
|   Source/cmake/OptionsWPE.cmake:83 (find_package)
|   Source/cmake/WebKitCommon.cmake:61 (include)
|   CMakeLists.txt:154 (include)

Do you build with -Werror? I've built JSC for AArch64 just now, those errors are "just" warnings for me.

Good point. Looks like I missed the actual error because it was further up the page, and off the screen:
/local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.92-r0/wpewebkit-2.21.92/Source/WebCore/page/Page.cpp:1520:33: error: incomplete type 'WebCo      re::HTMLMediaElement' used in nested name specifier
      if (auto bestMediaElement = HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager))
                                  ^~~~~~~~~~~~~~~~
 /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.92-r0/wpewebkit-2.21.92/Source/WebCore/page/Page.cpp:1520:101: error: 'MediaElementSession'       has not been declared
      if (auto bestMediaElement = HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager(MediaElementSession::PlaybackControlsPurpose::ControlsManager))
                                                                                ^~~~~~~~~~~~~~~~~~~
 /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.92-r0/wpewebkit-2.21.92/Source/WebCore/page/Page.cpp:1521:27: error: 'class WebCore::Chrome      Client' has no member named 'setUpPlaybackControlsManager'
          chrome().client().setUpPlaybackControlsManager(*bestMediaElement);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.92-r0/wpewebkit-2.21.92/Source/WebCore/page/Page.cpp:1523:27: error: 'class WebCore::Chrome      Client' has no member named 'clearPlaybackControlsManager'
          chrome().client().clearPlaybackControlsManager();

This might be fixed by https://github.com/Igalia/meta-webkit/pull/34

Is this fixed then?

Sorry, not had a chance to go back and try yet.

Ping @mrstinky

TL;DR: Looks like it built OK.
Sorry for the delay, we ended up going with 2.20.2 as it was the latest stable at the time, so I never went back to this, and I've since moved on from this project now.
Is this fix a backported patch for that particular version? So I assume I have to build 2.21.91 to check this fix. Can you just confirm that I've done this right:
I resynced, looked for the change in the log, then checked out the hash;
$ git checkout 5c4a988561ca0fa3fb7fe0e8eab74797766fe856
Previous HEAD position was c1bcb24... Add new PACKAGECONFIG USE_OPENJPEG (#69)
HEAD is now at 5c4a988... Add upstreamed patches for wpewebkit_2.21.91 needed to build package

Confirmed that the patches appeared in the directory:
/poky/meta-webkit/recipes-browser/wpewebkit/wpewebkit
0001-REGRESSION-r217927-GTK-WPE-GSTREAMER_GL-Video-appear.patch
0001-REGRESSION-r217927-WPE-2.22-GSTREAMER_GL-Video-appea.patch
fix-189500.patch
fix-189506.patch
fix-189540.patch

Forced my recipe to use 2.21.91, started a rebake, and confirmed that it was building 2.21.91
cat recipes-browser/wpewebkit/wpewebkit_2.21.91.bbappend
# set the configuration options, and build this version in preference
PACKAGECONFIG_pn-wpewebkit = "remote-inspector"
DEFAULT_PREFERENCE = "1"

Confirmed patches applied:
tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.91-r0/temp/log.do_patch

NOTE: Applying patch '0001-REGRESSION-r217927-WPE-2.22-GSTREAMER_GL-Video-appea.patch' (../meta-webkit/recipes-browser/wpewebkit/wpewebkit/0001-REGRESSION-r217927-WPE-2.22-GSTREAMER_GL-Video-appea.patch)
NOTE: Applying patch 'fix-189500.patch' (../meta-webkit/recipes-browser/wpewebkit/wpewebkit/fix-189500.patch)
NOTE: Applying patch 'fix-189506.patch' (../meta-webkit/recipes-browser/wpewebkit/wpewebkit/fix-189506.patch)
NOTE: Applying patch 'fix-189540.patch' (../meta-webkit/recipes-browser/wpewebkit/wpewebkit/fix-189540.patch)

rebake was successful

Yep, the fix patches were upstreamed. Let's close this then :) Thanks for the quick reply!


Does not grab multi-select options

For select dropdowns that have the multiple attribute, only the last option is grabbed.
https://www.w3schools.com/tags/att_select_multiple.asp

The solution to this is to set the name of the select as an array. So the name should be name=value[], not name=value.


Stability of releases & Beta channel

Hey everyone,
First of all, thank you for always being quick to release fixes! However, there’s a concern many of us frontend developers working in e-commerce agencies have been discussing over the past few weeks, if not months.
Unfortunately, the quality of recent releases seems to have declined, causing significant issues in production stores and, perhaps even more critically, impacting the theme development process. We’ve encountered instances where the tool breaks down every few minutes, JSON templates are lost or overwritten, sometimes unrelated errors to the actual cause, and the issues only get resolved through hotfix releases (which we appreciate, by the way!).
Since this is the only tool available for developing and deploying themes, it’s essential to have a stable version that functions reliably. Would it be possible to establish a beta channel where new features can be pre-released and tested? I’d be more than happy to use the beta channel as my primary option but still have the ability to switch to a stable version in the event of a major bug.
Looking forward to hearing your thoughts on this. Thanks!

Seconded! Thanks @gbcatrinoiu for proposing this.

@karreiro
What about if we opened up the platform for third-party tools so developers have more choice on the amount of tools?
I get a first-party tool is the best case scenario but having more tools to interact with themes etc. would be much better in cases where developers can't use the first-party option.
I'm still on the opinion that we should have stable, beta and alpha channels - something that's industry standard usually.
It just doesn't strike confidence that we as developers have to report these issues in an already closed ecosystem.

Thanks again for these comments, @gbcatrinoiu @rcasimmons!
We've been heavily relying on the use of snapshots [1] [2] [3] as a strategy to shorten the feedback loop with CLI users and have more stable releases.
In the future, when larger changes are introduced, we're going to establish a temporary Beta channel, so we can globally validate and test the new implementation with CLI users. It should be similar to the one we did with the dev preview; however, we're going to invest even more in communication, so we can engage more developers there (we understand it wasn't the case in the case in the 3.67 release).
I'm closing this issue for now. Also, I'd like to publicly thank you, @isaacroldan, for adding the /snapit into the repository -- as I mentioned, that was instrumental in shortening our feedback loop with theme developers.


[Bug Report] ttnn.remainder op gives nan after recent sfpu-float-32 commit from Dec11 causing tt-forge test_remainder fail

(Opening bug for PR/tracking purposes, issue mostly understood now, flagged yesterday in slack - thanks @KalaivaniMCW )
Describe the bug
The tt-forge-fe test called test_remainder is failing with incorrect output (nans) after tt-metal uplift on Dec12, I bisected it to be caused by tt-metal commit b959916b5a which wasn't too difficult since we were tracking tt-metal daily.
I don't have good tt-forge-fe repro results (never tried it locally just on CI) aside from:

Checkout tt-forge-fe at commit 74546e658a (contains just this tt-metal change that causes problem)
and build according to instructions https://docs.tenstorrent.com/tt-forge-fe/build.html
run pytest forge/test/mlir/test_ops.py::test_remainder

Better to reproduce in tt-metal directly next section:
To Reproduce
ttnn repro result are easier and working already - put this in a python file called test_remainder.py and run it with python test_remainder.py
import torch
import ttnn

with ttnn.manage_device(0) as device:
    input1 = torch.randn(2, 32, 32)
    input2 = torch.randn(2, 32, 32)
    torch_output = torch.remainder(input1, input2)

    input1 = ttnn.from_torch(input1, dtype=ttnn.float32)
    input2 = ttnn.from_torch(input2, dtype=ttnn.float32)

    input1 = ttnn.to_device(input1, device, memory_config=ttnn.DRAM_MEMORY_CONFIG)
    input2 = ttnn.to_device(input2, device, memory_config=ttnn.DRAM_MEMORY_CONFIG)

    input1 = ttnn.to_layout(input1, ttnn.TILE_LAYOUT)
    input2 = ttnn.to_layout(input2, ttnn.TILE_LAYOUT)

    output = ttnn.remainder(input1, input2)

    output = ttnn.to_torch(output)
    print(output)
    print(torch_output)

Output:
TorchTensor([[[nan, nan, nan,  ..., nan, nan, nan],
              [nan, nan, nan,  ..., nan, nan, nan],
              [nan, nan, nan,  ..., nan, nan, nan],
              ...,
<snip>
tensor([[[ 0.7699,  0.6809,  0.0599,  ..., -0.2512, -0.0408,  0.0277],
         [ 0.3033,  0.6022, -0.2856,  ..., -1.2751,  0.0034,  1.2214],
         [-0.1675,  0.7429,  0.0169,  ..., -0.1604, -0.5683, -0.0239],
         ...,

Gives Nans at b959916b5a, passes one commit earlier at 2f59d5e02e .  Also passes with bfloat16 instead of float32.
024-12-11 (b959916b5a) by GitHub (Author<EMAIL_ADDRESS>: #15483: Binary sfpu ops for Float32 precision (#15805)
2024-12-10 (2f59d5e02e) by GitHub (Author<EMAIL_ADDRESS>: Clang-tidy incremental scan for branches (#15888)

Expected behavior
Good looking output, not Nans

Related to #15780 issue
The above test is passing on my working branch https://github.com/tenstorrent/tt-metal/pull/15992
will update once it is ready

Thank you for the PR @KalaivaniMCW!

I see #15992 was merged (thank you), and I pulled latest tt-metal commit 388e187b27f8924ea09512719f666407c40f6bd9 at that merge into tt-mlir (released it just now) after testing against tt-forge-fe that original remainder op is now passing. Going to mark this closed.