[FEAT]: Sync only one of the components of a profile

Description of the unfavorable solution
I changed hotkeys, so I want to trigger the sync of hotkey component of the used profile (without having to create a different profile and manage switching between the two).
Describe the feature you would like to have
May be a save/reload button in the profile options page or through a subcommand(?)
Additional context
No response

@1ku1 I created a beta release containing some new command could you try it.
0.5.10-beta.0
You could install it via a plugin of mine VARE or add the release files manually
I am waiting for your feedback hop this fit your needs

@4Source
Thanks. I tried it. It seems to work correctly and I have two notes:

There is no reload partially. For example, only import hotkeys.
There isn't an easy way to set a profile as default without applying it (reloading from it).

Create a test Vault1, Vault2, make changes to Vault2 only
Create settings profile Test.
Set Test as default for Vault1 , save to it.
Set it as default for Vault2. Now your changes in Vault2 are overridden because the profile has to be reloaded.

There is no reload partially. For example, only import hotkeys.

Had this but not function properly this requires some struktural changes I try to add it.

There isn't an easy way to set a profile as default without applying it (reloading from it).

Create a test Vault1, Vault2, make changes to Vault2 only
Create settings profile Test.
Set Test as default for Vault1 , save to it.
Set it as default for Vault2. Now your changes in Vault2 are overridden because the profile has to be reloaded.

What your are calling default is the selection of the profile. I think this is the expected behavior your are switching to a profile this means you would like to have the settings in this profile to be loaded. What are you trying to achieve may there is a solution to this

I created a new beta release 0.5.10-beta.2 with the Load partially command and a command that allows to save the current settings to a specified profile

@4Source
I have tried beta 2. Things seem to work correctly

What your are calling default is the selection of the profile. I think this is the expected behavior your are switching to a profile this means you would like to have the settings in this profile to be loaded.

Not necessarily. see below

What are you trying to achieve may there is a solution to this

For example, if you want to export only the hotkeys of Vault 2, you won't be able to run the command save current profile partially because hotkeys will be overwritten by setting the profile as default.

If I understand you correctly you would like to save the current hotkey settings to a not selected profile.
This is possible with Save to profile partially there you could select the target profile and the settings you would like to save

This is possible with Save to profile partially there you could select the target profile and the settings you would like to save

You are right, but in short, I have to be careful whenever I install and configure settings-profiles to a new vault so as not to overwrite the profile. I want to be able to set it as default one to read to/write from for this new vault then calmly examine which settings I want to import and export.
When setting up the new vault, overwriting everything default/local is kinda scary 😅

Ok I think your are using the plugin completely different than I do.
To clarify:

You would like to be be able to switch to a profile in a new vault (or any other) without loading the settings from the profile in the vault?
Note: I can add this but I don't understand what your scared of by loading setting in an empty vault 😅
You would like to have a message before changes are saved to a profile?

You would like to be be able to switch to a profile in a new vault (or any other) without loading the settings from the profile in the vault?

Yes, please.

Note: I can add this but I don't understand what your scared of by loading setting in an empty vault 😅

It is not empty, since I usually copy over the .obsidian file of the vault with the closest use case to quickly "install the plugins" and have the settings closest to what I need. I then review and move from there.
On the other hand, even when I create an empty vault, I don't like to overwrite the defaults without review first.

You would like to have a message before changes are saved to a profile?

I think that would be helpful. You can always add a checkbox "Don't ask again".

It is not empty, since I usually copy over the .obsidian file of the vault with the closest use case to quickly "install the plugins" and have the settings closest to what I need. I then review and move from there.

Why you don't let this do this plugin you just need to install this one and than you can just install them by selecting profile
Ok I will work on this

Why you don't let this do this plugin you just need to install this one and than you can just install them by selecting profile

I plan to. Once I can tell it which settings and plugins to ignore :D

Ok I will work on this

Thanks a lot

The profile switcher now allows to switch without loading
0.5.10-beta.3

Could you test the new Commands, are there working? I will also do more testing and the I will merge it.

I tried it and the new command is working (to the extent of my testing). I have a small suggestion: to have the same option in the settings page: in a new clean vault > settings-profile settings page > when you click switch to profile: maybe show a small drop down menu with:

Select
Select and apply

Thanks


Further health metrics v2

Cleanup based on code review of #36.

@dominikschulz: would you mind cutting a new release with binaries now that this is merged?

Released 0.3.2 right now. Docker image is up, will build linux binaries later.

Thanks! Just one question: it looks like the binaries for release 0.3.2 are named 0.3.1. Can you confirm that they actually contain the code for release 0.3.2?

Sorry, that was a mistake. There should be properly named binaries available now.


[WB-3694] - remove symlink for windows

Link to JIRA issue
https://wandb.atlassian.net/browse/WB-3694

@KyleGoyette suggested that we can close it for now


Change quality Video

How can i change quality video ?

Any leads on this? can we even change quality?

I don't have any solution with this issue.

Duplicate of issue #27


Support backgrounding with Ctrl+Z

Is your feature request related to a problem? Please describe.
I am really enjoying this tool. I'm planning a talk where my reason for wanting to use the terminal is a lot of demo integration. It would be very nice if I could Ctrl+Z to background the app, do part of my demo, then fg to get back to the slide I left off on.
Describe the solution you'd like
This should be built-in to the terminal, so I think the app just needs to not intercept this keybind

I did some more digging and this might actually require work in the upstream packages slides uses:
https://github.com/charmbracelet/bubbletea/issues/497
https://github.com/charmbracelet/bubbletea/pull/500

Thanks for digging @WardBrian! I appreciate it and yeah seems like this is blocked on upstream packages.

https://github.com/charmbracelet/bubbletea/pull/1054 was recently merged, adding support for this in bubbletea. Presumably this will be included in the next release, and all that would be needed in slides is an update/re-compile?


[Feature request] Provide the backup service by default.

Motivation/Problems
The current structure doesn't provide the backup service. Therefore, when we faces the database broken or something unpredictable, the maintainer couldn't restore it back easily.
Proposed resolution
We could use some useful tools like below which provides backup for Postgres and easily backup to S3.

https://github.com/appleboy/docker-backup-database

I think this kind of maintenance setup is out of scope for a Docker example. As said  in https://github.com/mattermost/docker/issues/74#issuecomment-994156202:

(please have common sense in place, and a good backup!)

A backup is rather a feature of the underlying deployment platform, and cannot be taken into account from each deployment individually. As is a hard requirement on S3 or local disk stores, which may not be available in all environments.
Secondly, the project that you suggest seems low on maintenance, as there is only a single person that is responsible for it. (https://github.com/appleboy/docker-backup-database/graphs/contributors)
Should we rather rephrase this issue, in so it covers to document suitable backup strategies, like the one suggested by you? We could begin to populate the GitHub wiki here, and invite others to do the same.
For a production-ready backup of an instance, next to the database, I would also suggest to keep a copy of the volumes directory, which also contains state of the application.

@almereyda
Yeah, I agree with you. It sounds like a good plan that we write a WIKI or some document of backup strategies.


Linker improvements

Breaking changes

Require a memory model in each input module.
Error out when merging input modules using different SPIR-V versions, whereas before the linker would allow that scenario and use the highest version for the linked module.  (#4135)

Non-breaking behaviour changes

Replace an error with a warning when going universal limits, as some implementations might accept higher limits.
Only check for universal limits right before emitting the linked binary as, for example, passes like type de-duplication might reduce the amount of IDs present.

Improvements and bug fixes

The tests benefited from some code factorisation and tweaks regarding what was considered as EXPECT_* versus ASSERT_*.
Avoid having the ID count overflow when merging binaries.
Use existing macros instead of hardcoded values.
In spirv-link, do not write to disk if linking failed.
Improve the help message of spirv-link. (#4135)

The  IdsLimit.OverLimit test runs too long for our bots. There's a cutoff of 300s.
I will look at shortening it or disabling it.

Thank you for the review! It sadly triggers an error with non-clang compilers, which is addressed in #4685.
Even IdsLimit.UnderLimit one is taking quite a lot of time.
IdsLimit.Overflow could probably be modified to fake a high ID bound while being nearly empty, but that won’t work for the other two.

Thanks for the followup!
I have a moment now and may disable the test for now, and look at those tests in more detail to patch them to reenable them.

[ RUN      ] IdsLimit.UnderLimit
[       OK ] IdsLimit.UnderLimit (258286 ms)


Kubernetes scenario

Summary
(Summarize the problem solved by this PR, and how to verify it manually)
Please check the relevant options

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Dependency update
[ ] Refactoring
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] This change requires a documentation update
[ ] This change requires execution against OCP (use run tests phrase in comment)

Checklist:

[ ] Example scenarios has been updated / added
[ ] Methods and classes used in PR scenarios are meaningful
[ ] Commits are well encapsulated and follow the best practices

run tests


D435激光功率问题

D435激光是红外光吧？光辐射功率多少？是否小于5mw/mm2

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ R200 / F200 / SR300 / ZR300 / D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
<Describe your issue / question / feature request / etc..>

D435激光是红外光吧？
-是的  波長 850nm
光辐射功率多少？是否小于5mw/mm2
-D435 激光 是符合  激光安全 最高的 Class 1  等級  (裸眼)
Class 1, IEC 60825-1:2007 Edition 2, IEC 60825-1:2014
Edition 3
國內對應的就是 GB /T 7247.14 一類 激光產品

那光辐射功率是否小于5mw/mm2?对比了两个国标GB 、T 7247.14和我们这边需求的GB/T 3836.22-2017，没有查到类似数据。

另外还想问下相机可用的距离范围是多远？5m吗?

-5m 還是會有深度影像但
基本上兩米內精準度可達2% RMS error 內, 隨著距離加長 error 變大 fill rate 變小
下面白皮書有到4 m 的 error 曲線
https://dev.intelrealsense.com/docs/tuning-depth-cameras-for-best-performance
-辐射功率是小于5mw/mm2

Dear zouzoujia,
could we close this issue?


jQuery-Tubular Plugin, html5Sortable drag and drop chrome bug.

Built a drag and drop webpage builder where users can drag and drop elements onto a template, they can also add a youtube video as a video background.
Bug
If a user loads a background video before dragging and dropping anything in to the page, this stops the users from being able to add from the drag and drop elements from html5Sortable.  The page does not crash. This has only happened in the latest version of Chrome. All other browsers if works as expected.
As other come across this recently?

Could you please include a minimalistic example where the issue can be reproduced, e.g. on JSFiddle?

Could you please include a minimalistic example where the issue can be reproduced, e.g. on JSFiddle?

https://codepen.io/TerabitPaul/pen/jXzMOO


3D Objects for the samples

High quality 3d assets to support samples

Objects must be 1 handed.
Demo must run on Quest.
Use the Standard Shader to maximise compatibility (and not having to add too many textures)

Something box shaped (like a book)
Something spherical (like an apple)
Something cylindrical (like a bottle)
Something toroid shaped (like a big valve)
Something ring-shaped (like a crown)
Something to hit stuff, (a 1 handed sword? a bat?)
Some stuff with a precise grab pose (scissors, or a tea cup, or a pencil, or chop sticks)

Joints:

A lever

A drawer

A door

A fixed handle in space (hand rail?) straight

Pair of hands, in theme.

Theme ideas:
Witch hut (we are not going to add any magic/liquids)
Crazy laboratory (same as above?)
Japanese room (pity we cannot move for now some chopsticks, katanas are two-handed)
Medieval peasant house (skyrim style)
Pirate tavern?
Futuristic cyberpunk lab/room

This will go onto a separate repo


Add preview image

Addresses https://github.com/intermine/bluegenes-GO-term-visualizer/issues/13

@xtopolis This is perfect - thank you so much for your contribution! ❤


Echo Dot can't discover ha-bridge MiLight devices.

Hello,
I have setup ha-bridge and configured two devices. They work well from the Test button but I have been unable to get Alexa to discover them. My setup:
Win 10 - <IP_ADDRESS>
Java 1.8.0_91
Echo Dot - <IP_ADDRESS>
Xyxel C1100Z router with PC connected via ethernet
I was able to proxy my Hue hub but have since powered it off in case it was confusing discovery. I have reset devices connected to Alexa. I have also tried various command line settings based on messages here. My current launch command is:
java -jar -Djava.net.preferIPv4Stack=true ha-bridge-3.5.1.jar
I'm sure I'm just being dense about something but so far I haven't had any success.
Thanks,
Jeff
2016-11-26 17:31:20,403 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener - ended, restart found
2016-11-26 17:31:20,403 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v3.5.1) reinitialization requessted....
2016-11-26 17:31:20,408 [main] INFO  com.bwssystems.HABridge.BridgeSettings - Cannot set permissions for config file on this system as it is not supported. Continuing
2016-11-26 17:31:20,409 [main] INFO  spark.webserver.JettySparkServer - >>> Spark shutting down ...
2016-11-26 17:31:20.411:INFO:oejs.ServerConnector:main: Stopped ServerConnector@1eed57{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:80}
2016-11-26 17:31:20,412 [main] INFO  spark.webserver.JettySparkServer - done
2016-11-26 17:31:20,412 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from config file: data/habridge.config
2016-11-26 17:31:20,429 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge initializing....
2016-11-26 17:31:20,430 [main] INFO  com.bwssystems.HABridge.SystemControl - System control service started....
2016-11-26 17:31:20,432 [Thread-98] INFO  spark.webserver.JettySparkServer - == Spark has ignited ...
2016-11-26 17:31:20,432 [Thread-98] INFO  spark.webserver.JettySparkServer - >> Listening on <IP_ADDRESS>:80
2016-11-26 17:31:20.432:INFO:oejs.Server:Thread-98: jetty-9.3.z-SNAPSHOT
2016-11-26 17:31:20.436:INFO:oejs.ServerConnector:Thread-98: Started ServerConnector@17050ce{HTTP/1.1,[http/1.1]}{<IP_ADDRESS>:80}
2016-11-26 17:31:20.437:INFO:oejs.Server:Thread-98: Started @1348753ms2016-11-26 17:31:20,436 [main] INFO  com.bwssystems.HABridge.devicemanagmeent.DeviceResource - HABridge device management service started....
2016-11-26 17:31:20,437 [main] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Hue description service started....
2016-11-26 17:31:20,438 [main] INFO  com.bwssystems.util.UDPDatagramSender - Initializing UDP response Seocket...
2016-11-26 17:31:20,438 [main] INFO  com.bwssystems.util.UDPDatagramSender - UDP response Seocket initialized to: 50000
2016-11-26 17:31:20,440 [main] INFO  com.bwssystems.HABridge.hue.HueMulator - Hue emulator service started....
2016-11-26 17:31:20,444 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener starting....
2016-11-26 17:31:20,460 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: lo ... has addr /<IP_ADDRESS>
2016-11-26 17:31:20,461 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: Adding lo to our interface set
2016-11-26 17:31:20,461 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: eth3 ... has addr /<IP_ADDRESS>
2016-11-26 17:31:20,461 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: Adding eth3 to our interface set
2016-11-26 17:31:20,461 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - UPNP Discovery Listener running and ready....
2016-11-26 17:31:21,403 [qtp21031115-127] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Traceupnp: upnp device settings requested:  from <IP_ADDRESS>:80
2016-11-26 17:31:21,409 [qtp21031115-127] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Traceupnp: upnp device settings template filled with address: <IP_ADDRESS> and port: 80
2016-11-26 17:31:21,409 [qtp21031115-127] INFO  com.bwssystems.HABridge.upnp.UpnpSettingsResource - Traceupnp: upnp device settings template filled with address: <IP_ADDRESS> and port: 80
2016-11-26 17:32:39,454 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.
2016-11-26 17:32:39,454 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true
2016-11-26 17:32:39,456 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: SSDP packet from <IP_ADDRESS>:50000, body: M-SEARCH * HTTP/1.1
HOST: <IP_ADDRESS>:1900
MAN: "ssdp:discover"
MX: 15
ST: urn:schemas-upnp-org:device:basic:1
2016-11-26 17:32:39,463 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8::upnp:rootdevice

2016-11-26 17:32:39,463 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: uuid:2f402f80-da50-11e1-9b23-50e5495643b8
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8

2016-11-26 17:32:39,463 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8

2016-11-26 17:32:39,554 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: isSSDPDiscovery found message to be an M-SEARCH message.
2016-11-26 17:32:39,554 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: isSSDPDiscovery found message to be valid under strict rules - strict: true
2016-11-26 17:32:39,556 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: SSDP packet from <IP_ADDRESS>:50000, body: M-SEARCH * HTTP/1.1
HOST: <IP_ADDRESS>:1900
MAN: "ssdp:discover"
MX: 15
ST: urn:schemas-upnp-org:device:basic:1
2016-11-26 17:32:39,563 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8::upnp:rootdevice

2016-11-26 17:32:39,563 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate2 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: uuid:2f402f80-da50-11e1-9b23-50e5495643b8
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8

2016-11-26 17:32:39,563 [main] INFO  com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: urn:schemas-upnp-org:device:basic:1
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8

As you asked in another thread: I did reboot the Echo Dot without any change in behavior.

If I'm understanding the logs correctly this section sees the message from the Echo and responds with a 200 message (PC .3, Echo .15):
2016-11-26 17:32:39,456 [main] INFO com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: SSDP packet from <IP_ADDRESS>:50000, body: M-SEARCH * HTTP/1.1
HOST: <IP_ADDRESS>:1900
MAN: "ssdp:discover"
MX: 15
ST: urn:schemas-upnp-org:device:basic:1
2016-11-26 17:32:39,463 [main] INFO com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate1 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.15.0
hue-bridgeid: 50E549FFFE5643B8
ST: upnp:rootdevice
USN: uuid:2f402f80-da50-11e1-9b23-50e5495643b8::upnp:rootdevice

So your echo (<IP_ADDRESS>) is sending out upnp messages and the ha-bridge responds. The next item you should see in the log is the echo either ask for the description xml file or get the lights from the bridge. You don't have any other messages in the posting to tell.

The first message has the entire output that I'm seeing from HA-Bridge.

Well, unfortunately then, the echo is not completing the handshake or is it thinks it has everything.

I unplugged my Wink Hub 2, Wink Relay, and Hue Bridge. Then I restarted HA-Bridge and rebooted the Echo Dot. Same issue.
Is it possible that the response from the echo isn't making it across the router? The PC is on Ethernet. However, since the first request by the Dot comes through I would think this wouldn't be the case but I've never done any work on the UPnP protocol.
With the number of similar issues over the weekend I'm wondering if something changed in HA-Bridge or with the Echo. Just clutching at straws though.

Would anything on your windows machine block the output?

Not that I'm aware of. I made sure it has device discovery enabled. Previously it was connected through an Ethernet cable connected to a Linksys range extender but I have since run a line directly to the router. I haven't found anything in the router that would be blocking UPnP.
I recently moved but if I can find my Apple Airport Extreme I'll try setting that up. I'm not too thrilled with the Zyxel router but it was easier to let CenturyLink do their thing when I moved. ;-)
So am I understanding the situation correctly?
2016-11-26 17:32:39,563 [main] INFO com.bwssystems.HABridge.upnp.UpnpListener - Traceupnp: sendUpnpResponse discovery responseTemplate3 is <<<HTTP/1.1 200 OK
HOST: <IP_ADDRESS>:1900
CACHE-CONTROL: max-age=100
EXT:
LOCATION: http://<IP_ADDRESS>:80/description.xml
The above is showing the bridge sending out the response to the Echo discovery but the Echo isn't responding - or at least the messages are making the round trip. Is that correct?
Interesting... One page on Amazon states the latest software is <IP_ADDRESS>, another states 561179520, and my Dot reports 564186420. Hooray for consistency. I'm guessing the last one is the latest version but don't really know. I can't seem to find when it was last updated.
I'll keep looking but am at a bit of a loss.
Thanks for the assistance.
Jeff

That is my assessment with the info you have given.

Currently I have two devices configured in HA-Bridge that work well with the test buttons. Is it possible that there is an error in configuring these that would cause them fail discovery? I've used the button that opens up a new tab and outputs the arrays (sorry, away from that system at the moment). I see the output for each device.
Would a line break in the on/off commands cause any issues? For example (sample from documentation):
[{"item":"http://<IP_ADDRESS>:8180/do/this/thing"},
{"item":"http://<IP_ADDRESS>:8180/do/the/next/thing","delay":1000,"count":2},
"item":"http://<IP_ADDRESS>:8180/do/another/thing"}]
I put line breaks between each channel of the MiLight commands to make it more readable.

Line breaks are not supported. It is one long character sequence.

Does it discard them or does it break the bridge? The test buttons are firing OK. When I get home I'll make sure there are no line breaks in any of the devices and try again.

It may ignore the last line or there is an error that is being thrown and in your log when deserializing it.

 It was the Windows Firewall that was blocking things. Since we were seeing part of the conversation it didn't occur to me. This is the setting I modified:
https://www.photosync-app.com/photosync/en/help/connectivity/answers/how-to-change-the-windows-10-network-type-from-public-to-private.html
I don't know if that's the best way to handle it but it works for now.
As a side note, the line breaks don't seem to bother anything. For reference here's the crazy device I setup:
[{"item":"udp://<IP_ADDRESS>:8899/0x450055"},
{"item":"udp://<IP_ADDRESS>:8899/0xC50055"},
{"item":"udp://<IP_ADDRESS>:8899/0x4E1B55"},
{"item":"udp://<IP_ADDRESS>:8899/0x470055"},
{"item":"udp://<IP_ADDRESS>:8899/0xC70055"},
{"item":"udp://<IP_ADDRESS>:8899/0x4E1B55"},
{"item":"udp://<IP_ADDRESS>:8899/0x490055"},
{"item":"udp://<IP_ADDRESS>:8899/0x408455"},
{"item":"udp://<IP_ADDRESS>:8899/0x4E1B55"},
{"item":"udp://<IP_ADDRESS>:8899/0x4B0055"},
{"item":"udp://<IP_ADDRESS>:8899/0x40B055"},
{"item":"udp://<IP_ADDRESS>:8899/0x4E1B55"},
{"item":"udp://<IP_ADDRESS>:8899/0x450055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x430055"},
{"item":"udp://<IP_ADDRESS>:8899/0x440055"},
{"item":"udp://<IP_ADDRESS>:8899/0x440055"},
{"item":"udp://<IP_ADDRESS>:8899/0x440055"},
{"item":"udp://<IP_ADDRESS>:8899/0x440055"},
{"item":"udp://<IP_ADDRESS>:8899/0x440055"}]
It is working just fine now that I resolved the firewall issues. Why the crazy commands? I'm setting all four channels at once, each to a specific color and dim level. Then on channel one I'm setting the white balance to half way between cool and warm so both the cool and warm LEDs are lit. Next I'll search for a command that lets me set a specific white balance in the white channel but for now this works even if the white balance has been changed manually.
Thank you for all your patience and assistance on this.
Jeff

Glad it's working. Closing.


How to see loss per epoch when training?

Can you show me how to set up that?
I've just trained model with my own data. But I cannot see the loss per epoch  when training. It only indicated like this:
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:root:Number of classes is 94
INFO:root:UNK label is 2
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:root:Number of classes is 94
INFO:root:UNK label is 2
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Scale of 0 disables regularizer.
INFO:tensorflow:Create CheckpointSaverHook.
2020-02-06 04:23:33.057670: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
INFO:tensorflow:Restoring parameters from aster/logs/model.ckpt-500
INFO:tensorflow:Saving checkpoints for 501 into aster/logs/model.ckpt.
INFO:tensorflow:global_step/sec: 2.27519
INFO:tensorflow:global_step/sec: 2.46377
INFO:tensorflow:global_step/sec: 2.46537
INFO:tensorflow:global_step/sec: 2.48628
INFO:tensorflow:Saving checkpoints for 1000 into aster/logs/model.ckpt.

Were you able to see the loss? If so, could you please share how you did it. Thanks


modcc: AVX512 vectorisation backend

Basic features:

Compile with -t avx512
Automatically set up by CMake if USE_OPTIMIZED_KERNELS is on and VECTORIZE_TARGET is set to KNL
Generic SIMD printer that contacts a SIMD backend for emitting the actual SIMD intrinsics

Note: tested with intel compiler only.

I get compilation errors, specifically within the CUDA printer:
[  1%] Building CXX object modcc/CMakeFiles/compiler.dir/cudaprinter.cpp.o
/home/bcumming/nestmc-proto/modcc/cudaprinter.cpp: In constructor ‘CUDAPrinter::CUDAPrinter(Module&, bool)’:
/home/bcumming/nestmc-proto/modcc/cudaprinter.cpp:461:46: error: use of deleted function ‘CPrinter::CPrinter(const CPrinter&)’
             auto cprinter = CPrinter(*module_);
                                              ^
In file included from /home/bcumming/nestmc-proto/modcc/cudaprinter.cpp:3:0:
/home/bcumming/nestmc-proto/modcc/cprinter.hpp:9:7: note: ‘CPrinter::CPrinter(const CPrinter&)’ is implicitly deleted because the default definition would be ill-formed:
 class CPrinter : public Visitor {
       ^~~~~~~~
/home/bcumming/nestmc-proto/modcc/cprinter.hpp:9:7: error: use of deleted function ‘TextBuffer::TextBuffer(const TextBuffer&)’
In file included from /home/bcumming/nestmc-proto/modcc/cprinter.hpp:6:0,
                 from /home/bcumming/nestmc-proto/modcc/cudaprinter.cpp:3:
/home/bcumming/nestmc-proto/modcc/textbuffer.hpp:7:7: note: ‘TextBuffer::TextBuffer(const TextBuffer&)’ is implicitly deleted because the default definition would be ill-formed:
 class TextBuffer {
       ^~~~~~~~~~
/home/bcumming/nestmc-proto/modcc/textbuffer.hpp:7:7: error: use of deleted function ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(const std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
In file included from /home/bcumming/nestmc-proto/modcc/cprinter.hpp:3:0,
                 from /home/bcumming/nestmc-proto/modcc/cudaprinter.cpp:3:
/usr/include/c++/6.2.1/sstream:721:7: note: declared here
       basic_stringstream(const basic_stringstream&) = delete;

I've just tried it with gcc 5.3.0 and I didn't get any error. Let me try with a more recent one.

I've just compiled it with gcc 6.2 and I'm not getting any error apart from some warnings.


[$1000]  iOS/iPad - Chat - Message “User is typing” is not showing

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:

Open Expensify iOS App on iPhone or iPad - User A
Open staging.new.expensify.com on any other device - User B
Open chat between user A and user B
Start typing message from user A to user B
User B sees a message in the status bar at the bottom of the chat - 'User A is typing'
Start typing message from user B to user A

Expected Result:
User A sees a message in the status bar at the bottom of the chat - 'User B is typing'
Actual Result:
Message “User B is typing” is not showing
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
[x] iOS / native -  iPhone 14 Pro / iOS 16.5.1. iPad Pro 9.7 / 16.5.1
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.47-3
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://github.com/Expensify/App/assets/43996225/9694ffd9-445d-49c1-bdb6-e38a13b036f3
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d9ef6fa5815b630d
Upwork Job ID:<PHONE_NUMBER>745653760
Last Price Increase: 2023-07-31

Please send me backend and mobile codes

My Expensify account email<EMAIL_ADDRESS>My upwork profile: https://www.upwork.com/freelancers/romans111?s=996364627857502209

Hey @Timon0305 the mobile code is the same as web/desktop and is located within this repository. The backend isn't open source.

Okay, got it.

Proposal
Please re-state the problem that we are trying to solve in this issue.
On native 'User is typing' not showing
What is the root cause of that problem?
We haven't used useCallback for native to restrict the recreation of the function which we used for web.
https://github.com/Expensify/App/blob/8cdb506e97e8382f4bc55b0f48784f576fbb2789/src/hooks/useReportScrollManager/index.native.js#L23
https://github.com/Expensify/App/blob/8cdb506e97e8382f4bc55b0f48784f576fbb2789/src/hooks/useReportScrollManager/index.js#L25
Due to this the pusher typing event gets unsubscribed as scrollToBottom is in the dependency for it.
https://github.com/Expensify/App/blob/8cdb506e97e8382f4bc55b0f48784f576fbb2789/src/pages/home/report/ReportActionsView.js#L140-L192
What changes do you think we should make in order to solve the problem?
Seems regression from https://github.com/Expensify/App/pull/23729 cc: @hannojg
We need to add useCallback for the scrollToBottom function in native also.

Okay, I can fix this issue.

Hi. I'm willing to be amongst the contributors. Could you please guide me on this matter?

oh yeah, lets add that to the native implementation as well!

Thanks @robertKozik for the review, assigning @Pujan92 🚀

@robertKozik PR is ready for review!

@robertKozik @marcochavezf wondering if this should be considered for a bonus or not as the PR is raised within a day of the assignment.

Payment Summary:
External issue reporter - N/A
Contributor that fixed the issue - @Pujan92 $1000 + $500 (3 day bonus) = $1500 paid in Upwork
Contributor+ that helped on the issue and/or PR - @robertKozik agency C+, no manual payment

@robertKozik bump for final steps on checklist. Thanks

[ ]  [@robertKozik] The PR that introduced the bug has been identified. Link to the PR: Seems regression from https://github.com/Expensify/App/pull/23729 as there it was only fixed for the web app, not for native.
[ ]  [@robertKozik] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
[ ]  [@robertKozik] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[ ]  [@robertKozik] Determine if we should create a regression test for this bug. Regression test was introducted in the https://github.com/Expensify/App/pull/23729 issue. It will cover this one also.
[ ]  [@robertKozik] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. N/A

@laurenreidexpensify sorry for keeping you waiting on that one. I've lost it in the avalanche of GitHub notifications 😅


Should figma.instance, figma.children and figma.nestedProps wait for the layer to also become undefined instead of breaking?

I'm trying to create some docs using figma code connect and some components have a component inside when a variant it's true and when it's false the component disappears and the code connect breaks...
Example:
We have this default variants:

And the layer tree looks like this:

And when we turn Leading variant into false the layer tree looks like this:

I'm trying to get the icon inside these ". Item / Leading Node" using a figma.instance because Icon it's also a "variant"... When i see a component with the Leading=true it work pretty well but when i see a component with Leading=false it break all the code connect of that component...
Here is the code example:
import React from "react"
import figma from "@figma/code-connect"

import { Component } from "@components"

figma.connect(
  Component,
  "...",
  {
    props: {
      leadingIcon: figma.nestedProps('. Item / Leading Node', {
        icon: figma.instance('Icon')
      })
    },
    example: (props) => <Component {...props} leadingIcon={props?.leadingIcon.icon} />,
  },
)

Hey! This should be working after a recent change, if you wrap the nestedProps call in a boolean:
props: {
  leadingIcon: figma.boolean("Leading", {
     true: figma.nestedProps('. Item / Leading Node', { icon: ... })
     false: { icon: undefined }
    })
}

Not that you'll want to provide a fallback object in the false case

I am going to close this issue but please let us know if you continue to see this issue


Explain all about CSS Flex box .

Description
Explain all about the CSS Flexbox with an example.
Domain
Frontend Dev HTML/CSS/JS
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

can i also get to work on this? @Ghulamyazdani

Yeah sure @Divyanshigarg go ahead!!

/assign


Fix a spelling error in docs/guides/bitballs.md

Coverage remained the same at 96.262% when pulling ba61a3995224d31c0507c930b5e3788c9dcb73ca on bitballs-stroke-spelling into 8cbbf78fa72646b40d1ff03be66755121c6a8789 on master.


Missing required module 'SQLiteObjc'

Error description:

I integrated  SQLite.swift in the static library through Swift Package Manager, uncheck when Choose package products and targets is operated;
Click + in Target -> Build Phases -> Dependencies to add SQLite dependencies;
When import SQLite in Swift file, report this error Missing required module'SQLiteObjc'.

Since I need to reference SQLite.swift in multiple static libraries, I cannot add it to Link Binary With Libraries, otherwise it will cause duplicate symbols error.
I would like to ask how to use SQLite.swift in multiple static libraries, thank you very much!

I've just faced the same issue while installing SQLite.swift via SPM

Seems to still be an issue :( with carthage

These sources should be removed, see  #1104

Note that the integration happens via SPM, so I don't see why changes to project.pbxproj would fix the issue?

@maciekish This fixed manual subproject inclusion for me.

Could somebody using SPM try this change?


Please add me

Please I would like very much if you could add me to your kodi dev skills
<EMAIL_ADDRESS>Thanks in advance

Already added you


Validate SR URIs to only allow http and https schemes

Connection validations should ensure that Schema Registry URIs only use https or http schemes.

@rhauch Do you think it's worth adding a validation check on the Form input for this ?

@noeldevelops, yes, it probably would be a faster UX if they enter an invalid URL.


Do not inseart page break between table and it's caption

If a table would start at the very end of a page but there is not enough space for it, a page break can be inserted between the caption and the table. This is obviously undesirable. As a workaround, one can insert a manual page break before the table, but  it should not be needed.

This is already supported. See https://docs.asciidoctor.org/pdf-converter/latest/breakable-and-unbreakable/#breakable


The "citation_pdf_url" meta tag download link doesn't use https

Describe the bug
When running angular on server side & having an apache in front of it to ensure https access the "citation_pdf_url" shows as http.
This leads to an issue where users are not able to download publication file(s) via links from Google Scholar in Google Chrome and Microsoft Edge browsers.
To Reproduce
Checkout the following url's:

https://unsworks.unsw.edu.au/entities/publication/fd08fc25-48dc-40bc-b673-deb232f31faa
https://demo7.dspace.org/entities/publication/1974d7d3-9648-4dbe-b083-56374f5314e4

Expected behavior
The "citation_pdf_url" should be in https if the server is running on https.

The cause of this issue seems to be that the ServerHardRedirectService uses the protocol and the host of the incoming request to determine the origin. So if you're not using https on the angular server directly but instead put a different server in front of it and redirect internally over http this will be wrong.
I suggest adding an optional config property, to set the origin. If it's missing we fall back to the current code.
This can be done in 2 hours. Atmire would like to claim it.


feat: add drawer or allow panel to be used inside a container

🙋 Feature Request
The panel component is useful but it's limited in its uses since it cannot be hosted inside a parent container. Having a drawer component, like the one in the react implementation of fluentui would be great.
🤔 Expected Behavior
Host a panel like component inside the main content area or other containers
💻 Examples
Any drawer implementation like the ones in the react implementation of flueentui

Hi,
Indeed, this could be an interesting improvement. But it is currently not yet planned in FluentUI Blazor. maybe for a next major release. Or if you'd like to create a PR with this feature, you're welcome :-)

Moving this to discussion to gauge interest


Split AuthInfoService.save interface method into create and update

Originally identified in this post.
Currently, the interface method AuthInfoService.save is used to both create and update an instance of AuthInfo.
I'd like to request splitting AuthInfoService.save into AuthInfoService.create and AuthInfoService.update. The main benefits being:

avoid some difficulties in implementing a method that either has to create or update circumstantially
make the interface more clear as it conforms to common CRUD operations

We should generally find a consistent naming scheme for the data access layers. Currently we have three types of layers.

Services -> (AuthInfoService, IdentityService)
DAOs -> (AuthInfoDAO, AuthenticatorDAO)
Layers -> CacheLayer

The usage is as follows:

Layers can be used in DAOs or services to provide access to a single storage technology.
DAOs can be used in services to persist the data independently from a persistence layer.
Services are used in the Silhouette API directly to delegate operations to an underlying storage API.

Common terms for data access operations are the following:

save, store, upsert -> Is used mostly for insert and update operations, consolidated in a single operation
insert, create -> To insert or create data
update -> To update data
find, retrieve, select, read -> To find, retrieve, select or read data
remove, delete -> To remove or delete data

For me the term create implies that if I call such method, that it creates something new and returns this created data. So I personally don't like the term for a method that gets already created data passed to save it in a persistence layer. For the other methods I would suggest to use more common method names, they do not imply a special type of database type. What I mean is that as example the term select is for me to much associated with SQL.
So I would suggest the following naming scheme:

save -> for insert and update in a single operation
insert
find/retrieve
update
remove

DAOs should not have a save method because not every storage system has a consistent method to handle insert and update operations in a single operation.
For DAOs I like more the term find and for services I like more the term retrieve.
Any suggestions?

I think follow you thinking in terms of using create at the persistence layer. Personally, an API with insert and update makes the usage clear, so I don't have any objections.
But I'm not sure why the interface should differ between between the data access layers? Is it to make it more explicit which layer you're dealing with?

After scratching my head around this issue, I think insert is also to SQL centric. I would suggest to use add as a replacement for the data access layer.
Why other names for the service layer. The service layer contains the business logic which uses the data access layer to persist the business models. But it's method names shouldn't be to data centric because the methods should encapsulate business functions. I think it's also bad practice to use a add or update method on a business service because this terms are more appropriate for data centric operations and not for business centric operations. In a service you have mostly a save method to store an entity and then you use the DAO to either add or update it.
I'm unsure if we should use service layers for data centric operations in the context of Silhouette. Maybe we should use the repository pattern. Repositories can then have the same naming scheme as the DAOs and they can be used inside the service layers of the users application.
@igorbernstein Any suggestions?

@nadirabid I've submitted a pull request(#334) which fixes this issue


Add topic "Open Graph protocol"

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I am not the sole author or employee of a company who created the topic or collection I'm changing.

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[x] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Open Graph, among Twitter Cards, as well as Dublin Core, link-rel canonical, Microformats, and RDFa, is a well-established metadata protocol for webpages.

Something that does not neatly fit into the binary options above

[x] My suggested edits are not about an existing topic or collection, or at least not a single one
[ ] My suggested edits are not about curating a new topic or collection, or at least not a single one
[x] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

My pleasure, @ahpook! 🚀

I checked the topic page recently and this (the code block) doesn't look right—any idea what causes it?


[Event Hubs] Add a sample for buffered producer

Adding a sample and publishing it. Feel free to suggest better ideas for it :)

Do we want to run the dev-tool to update the samples in the same PR? I think it will be a good test of having samples for beta and stable versions of a package side by side and see how the publishing works
cc @witemple-msft

@ramya-rao-a I ran into problems with running the publishing command and I am still talking to @witemple-msft about it. Fixing the issues might require updating import statements in other samples and I do not want to do that in this PR.
I will open another one for publishing.

@ramya-rao-a any more thoughts?

Since this has 40 odd comments already, I will merge it now, but I can address any future comments if any in another PR.


Changes in Backend Go code ('db' package)

Hey @PradyumnaKrishna have made a few suggestions for improvements in your go code -
1)QueryRow instead of Query: We can used QueryRow instead of Query in the GetPublicKey function since you're expecting only one row. This simplifies the code and is more efficient.
2)Named Return Values:  i can modify the NewConn function to use named return values. This makes it clear what the function is returning and improves code readability.
3)Consistent Error Return: I can modified the SaveUser function to return an error. This ensures that you can handle errors in the calling code, providing a more robust implementation.
4)Error Handling: I can add error handling throughout the code. It's essential to handle errors appropriately to prevent unexpected crashes and to provide meaningful error messages.
These changes aim to enhance the reliability, clarity, and maintainability of the codebase. Please review and let me know if any further adjustments are needed. Also, please assign this issue under codepeak'23.

Sure you're welcome to contribute.


Setting default route does not change from /app/home

Not sure if this is an issue with this deployment or OpenSearch in general, but when setting the default route in Advanced Settings to another url, it saves the change and the url is a valid relative url, but it doesn't actually change anything. Clicking to Home still takes you to /app/home and not the page I have in settings.
I'm running OpenSearch 1.3 and siem deployment version 2.7.1
Does anyone else see this behaviour?

This is now sorted. I was using the AWS SSO with saml based authentication, and needed to update my "Application start URL" and it now works as I need it to.
https://.es.amazonaws.com/_dashboards


Unsupported photos

A few photos are not not getting downloaded properly, they just show an error message while opening.

Solved the problem now, the program will automatically detect unsupported photos and delete them.
Thanks for pointing it out!


Can't calculate ppl for sentences of different lengths.

I want to use it to calculate ppl for sentences of different lengths to check the fluent of sentence in some Specific application scenarios. Howerer i can't set the input for seq_len,  e.g: if seq_len<max_len do pad, if seq_len>max_len cut of it. And i suspect that transformerXL training segment by segment limit the calculate variance sentences ppl. Please provide some solutions, Thanks!

This is not a limitation of Transformer-XL. However, the feature is not included yet and you will need to make some changes for that purpose.

I find it have a affect parameter of men_len to use predict variance sentence's ppl,  if i set men_len>0 it may let me get differtent ppl in same sentence. but if i set men_len=0, it may like vanilla Transformers. what i should to use men_len. and train the model ? I want to use the benefit of Transformer-XL. Thanks again !

If you use the same order of sentences as in the original text corpus, you will always get the same perplexity. If you are interested in the perplexity of a sentence without context, you might set mem_len=0. In this case, Transformer-XL is still better than vanilla Transformers because of better training (see our results on Billion Word in the paper).


[#518] Update yarn-berry to v3.1.1 - releases/4.13

Addresses # 518
Description
This PR fixes an issue with the current version of yarn-berry causing the CI pipeline to fail when checking dependencies for the JS SkillV3 bot.
Detailed Changes

Updates yarn-berry to the latest 3.1.1 version.
Updated the yarn.lock file.

Testing
The following image shows the CI pipeline finishing successfully.

Promoted https://github.com/microsoft/BotFramework-FunctionalTests/pull/532


Add right gradients

Context:
This PR will allow using gradients in themes, by writing them with a CSS-like syntax in the theme file.
The PR title says right because currently, gradients in non-right angles do not give the best result

great work thanks!


Update project for Python 3+

Currently the project was developed under python version < 3. This issue was address to update the project python version to 3+.

Dear colleagues. I've updated the project to use python 3 syntax. But I've not permissions to push my branch (issue/108) because I've not permissions for it. I would like to contribute to project. Can you give permissions for publish my updates to develop branch through a pull request?

@mqwilber I think you've used this most recently and have a Python 3 fork, right? Want to have a review and potential merge? We should probably keep a v2.x version somewhere also since it's already done.

Actually @mqwilber I'm not really using macroeco actively at this point, but I think you might be? Do you want me to transfer ownership of the repo to you?

Dear @jkitzes, thanks for the rapid answer. Do you think that I could submit my pull request to the @mqwilber repository?

I think that might make sense since Mark already has a Python 3 version as well, I believe. Closing this issue for this repo.


change get_atom_slice to not use an allocator.

instead, have it be sent a [255]u8 buffer, and then return a slice out of that.

not necessary anymore due to how we treat atoms


Built In Collection Constructor Type Checking Prohibitively Slow

Hey all,
I tried switching some of the Python numba code to use Vec and vec-of to construct lists and found the performance degraded by a ton. After doing some profiling, I saw all the time was in type checking, in particular typechecking XOR constraints. Which makes sense because I have a few different types of vecs and it has to infer what type it is based on the contents.
I also noticed that most of the time was spent cloning the assignments hashmap, which happens when handling the XOR:
https://github.com/egraphs-good/egglog/blob/92b3d9d04fb8ecde2194578db7aa480fd6217429/src/constraint.rs#L128-L131
I thought, hm, if cloning is so expensive, then maybe we should try a copy on write hashmap, so that cloning is O(1)? I gave this a go and saw that the benchmark I was running (this is total time of Python + Rust) went from 1143.05 seconds to 10.92 seconds! A 100x speedup?
But then I noticed that on code that doesn't use a lot of vec collections, switching to the immutable data structure slows things down by a few %.
So for now, I'll probably just avoid vec-of, but I wanted to open this issue just to warn folks if they are using it when they have multiple types of vec's registered, that it maybe be really slow.
There is likely a way to solve this with some refactoring of the type checking logic.

Great find!
We should try to address this issue, imo the small % slowdown with switching to an immutable data structure is worth it if it fixes the problem.
In the long term, my opinion is still that the constraint-based typechecker is way too complex, and we should design a more principled type system that can be checked efficiently.

I had a hunch that my issue was due to my large expression sizes. I would add a big (tens of thousands of expressions) expression tree to egglog, all as one expression. This is relatively inefficient, since there are a lot of duplicated nodes.
I recently added CSE to the Python egglog bindings transparently (https://github.com/egraphs-good/egglog-python/pull/179) creating let bindings automatically when a user inserts an expression to the e-graph, so that the type checking is less stressed out.
This was a huge performance improvement regardless and now with this change, I see no improvement with immutable data structures on the collection code. So I'll close this issue.

I think it would still be useful to fix the original issue though- since there might be users who don't use the python binding and generate big S-expressions. Maybe we should reopen this issue?

Sure


Njw dispatch refactor

@JoeCohen here's how I was thinking about handling the dispatch concept.  Note that I spotted a bug in how ApplicationController#index is currently defined.  I don't think we can use class attributes since there isn't a good way to initialize the subclass versions of these attributes.  This in effect means that you'd have to explicitly set the ones you don't want to provide values which kind of defeats the purpose of having them in the parent class.  After playing around with it, I figured out that you could get the desired behavior by defining a couple of class level methods.  There may be a better way to do this in Ruby, but this seems to behave correctly.

Coverage: 93.501% (-0.005%) from 93.505% when pulling 73ef1f404288ec86b5a825d0b847a593eab23e7d on njw-dispatch-refactor into b0e7815d2ce151d2cc54ab6e64e4279e467b6e8e on main.

Nice & super-DRY. Thank you!

There may be one difference, re always_index: true. I''ll think about this and get back to you.

I like the simplicity.
Incidentally, if we go this route, maybe consider renaming some index params that, although locally unambiguous, are not consistent with analogous params in other controllers: i'm thinking of the observations index especially. For example, instead of :user, :project — :by_user, :for_project. It might make them easier to remember. But i don't feel strongly about it.

I've satisfied myself that this PR doesn't change the behavior of #index.
(That behavior is sometimes surprising. For instance:

https://mushroomobserver.org/collection_numbers/1 shows that collection number, while
https://mushroomobserver.org/collection_numbers?id=1 gets an index of all collection numbers.

I think index essentially ignores the id param.
But that's outside the scope of this PR.)

I agree that -- in the long run -- it would be good to rename the param
keys and make them as uniform as possible across different controllers and
scopes.
But I personally don't want to tackle it this PR because:
(a) it's a lot of work that's independent of, and shouldn't delay, the core
refactor;
(b) raises an issue about breaking 3rd party urls.
It would be nice to have param keys be at least
One little thing: "by_user" and "by: user" are (probably) pronounced the
same and look similar. It's a tiny bit more mental work to separate them.
See Clean Code, ch. 2 ("Use Pronounceable Names").
Could we avoid this issue? Maybe "created_by_x" and "sorted_by: x"?
On Sat, Feb 4, 2023 at 10:12 AM andrew nimmo @.***>
wrote:

@.**** approved this pull request.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1329#pullrequestreview-1284100294,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFGZLCR7ABXE3EFTC53WV2LXPANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

Sorry to stick my nose in but this is a point I see come up a lot.
While I love having consistency, there is an issue with requiring code to
reflect external representations.  In this case we want (if I understand
correctly based on insufficient perusal of the code, sorry) to make sure
the parameter in the URL be the same as the method name?  And have the same
naming pattern across multiple controllers.  The latter makes a little more
sense to me, but they aren't entirely decoupled.  I think config/routes.rb
is the place to draw a firm boundary between what the URLs are and what the
code is.  This business where refactoring code requires changing URLs and
therefore breaking all sorts of browser caches and external links doesn't
make sense to me.
Maybe these issues are not really a problem in this particular case.  I
just want to keep raising this point so that people keep it in mind.  It
definitely has happened in the past.
On Sat, Feb 4, 2023 at 2:56 PM Joseph D. Cohen @.***>
wrote:

I agree that -- in the long run -- it would be good to rename the param
keys and make them as uniform as possible across different controllers and
scopes.
But I personally don't want to tackle it this PR because:
(a) it's a lot of work that's independent of, and shouldn't delay, the core
refactor;
(b) raises an issue about breaking 3rd party urls.
It would be nice to have param keys be at least
One little thing: "by_user" and "by: user" are (probably) pronounced the
same and look similar. It's a tiny bit more mental work to separate them.
See Clean Code, ch. 2 ("Use Pronounceable Names").
Could we avoid this issue? Maybe "created_by_x" and "sorted_by: x"?
On Sat, Feb 4, 2023 at 10:12 AM andrew nimmo @.***>
wrote:

@.**** approved this pull request.
—
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/1329#pullrequestreview-1284100294
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAALDFGZLCR7ABXE3EFTC53WV2LXPANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1329#issuecomment-1416837135,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNK3BEHM4A3ECY5BNS3WV2X75ANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I was partly wrong. id is doing something. In particular:
https://mushroomobserver.org/collection_numbers?id=1 gets the page containing collection number 1 of the index of all collection numbers.

Jason:
Thank you for chiming in and for the reminder about cache breakage.
I really didn't want to change the url's in this PR.
Now I really, really don't want to do it.

Joe

On Sat, Feb 4, 2023 at 12:31 PM Jason Hollinger @.***>
wrote:

Sorry to stick my nose in but this is a point I see come up a lot.
While I love having consistency, there is an issue with requiring code to
reflect external representations. In this case we want (if I understand
correctly based on insufficient perusal of the code, sorry) to make sure
the parameter in the URL be the same as the method name? And have the same
naming pattern across multiple controllers. The latter makes a little more
sense to me, but they aren't entirely decoupled. I think config/routes.rb
is the place to draw a firm boundary between what the URLs are and what the
code is. This business where refactoring code requires changing URLs and
therefore breaking all sorts of browser caches and external links doesn't
make sense to me.
Maybe these issues are not really a problem in this particular case. I
just want to keep raising this point so that people keep it in mind. It
definitely has happened in the past.
On Sat, Feb 4, 2023 at 2:56 PM Joseph D. Cohen @.***>
wrote:

I agree that -- in the long run -- it would be good to rename the param
keys and make them as uniform as possible across different controllers
and
scopes.
But I personally don't want to tackle it this PR because:
(a) it's a lot of work that's independent of, and shouldn't delay, the
core
refactor;
(b) raises an issue about breaking 3rd party urls.
It would be nice to have param keys be at least
One little thing: "by_user" and "by: user" are (probably) pronounced the
same and look similar. It's a tiny bit more mental work to separate them.
See Clean Code, ch. 2 ("Use Pronounceable Names").
Could we avoid this issue? Maybe "created_by_x" and "sorted_by: x"?
On Sat, Feb 4, 2023 at 10:12 AM andrew nimmo @.***>
wrote:

@.**** approved this pull request.
—
Reply to this email directly, view it on GitHub
<

https://github.com/MushroomObserver/mushroom-observer/pull/1329#pullrequestreview-1284100294

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AAALDFGZLCR7ABXE3EFTC53WV2LXPANCNFSM6AAAAAAUQ3SC5M

.
You are receiving this because you were mentioned.Message ID:
@.***
com>

—
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/1329#issuecomment-1416837135
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAYTNNK3BEHM4A3ECY5BNS3WV2X75ANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1329#issuecomment-1416843865,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFF3NG2RLSXUQ6S5G2LWV24B3ANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you were mentioned.Message ID:
@.***>

Agree this is not the PR for that... but LOL - you guys do realize... I just finished changing nearly every URL and parameter on the site!
Especially in the case of indexes. Those are all routed through a single index route and not differentiated by routes anymore, so changing the name of an index param doesn't affect the routes. It will break links that have the param, but should not break cached queries. The only code that has to change is the param name, the params in the template links or forms that send or process that param, and the tests.
Of course the params themselves are debatable, but I've spent untold hours for no purpose other than to make this code more predictable and less taxing to learn for outsiders. So if a few param tweaks here and there would help that, breaking somebody's bookmarked but uncached link once again hardly seems like a reason not to do it.

Also agree that i params don't need to strictly reflect action names.
But i think maybe that proposal was aiming to simplify the dispatch code... no strong feelings about it.
The big advantage of consistency from a newbie point of view (I still feel like a newbie) is  that it makes the codebase much less mentally taxing to get a handle on. I can dip into a controller file and feel like i know where i'm going, when we repeat similar patterns.

Us beginners (beginner?) appreciate those changes. 👍
I don't know where I come out on breaking 3rd party urls.
On Sat, Feb 4, 2023 at 3:12 PM andrew nimmo @.***>
wrote:

Also agree that i params don't need to strictly reflect action names.
But i think maybe that proposal was aiming to simplify the dispatch
code... no strong feelings about it.
The big advantage of consistency from a newbie point of view (I still feel
like a newbie) is that it makes the codebase much less mentally taxing to
get a handle on. I can dip into a controller file and feel like i know
where i'm going, when we repeat similar patterns.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1329#issuecomment-1416873071,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFGQ2RB7FGHCUVBG7WDWV3O4DANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes that's the reason; the cop might help us out in the future.
(I also like shorter lists, but thought that the cop was useful. I also
don't feel strongly about it.)
On Sat, Feb 4, 2023 at 4:22 PM Nathan Wilson @.***>
wrote:

@.**** commented on this pull request.
In app/controllers/collection_numbers_controller.rb
https://github.com/MushroomObserver/mushroom-observer/pull/1329#discussion_r1096602856
:

rubocop:disable Rails/LexicallyScopedActionFilter
before_action :pass_query_params, except: :index
before_action :store_location, except: [:index, :destroy]

rubocop:enable Rails/LexicallyScopedActionFilter

Is the main reason for this to avoid disabling the cop? I guess that seems
reasonable. I don't feel strongly about this, but I like that the except
list is shorter.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1329#discussion_r1096602856,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFAA2WTAMN2GNZVJKRDWV3XFFANCNFSM6AAAAAAUQ3SC5M
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

I agree that -- in the long run -- it would be good to rename the param keys and make them as uniform as possible across different controllers and scopes. But I personally don't want to tackle it this PR because: (a) it's a lot of work that's independent of, and shouldn't delay, the core refactor; (b) raises an issue about breaking 3rd party urls. It would be nice to have param keys be at least One little thing: "by_user" and "by: user" are (probably) pronounced the same and look similar. It's a tiny bit more mental work to separate them. See Clean Code, ch. 2 ("Use Pronounceable Names"). Could we avoid this issue? Maybe "created_by_x" and "sorted_by: x"?
…
On Sat, Feb 4, 2023 at 10:12 AM andrew nimmo @.> wrote: @.* approved this pull request. — Reply to this email directly, view it on GitHub <#1329 (review)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALDFGZLCR7ABXE3EFTC53WV2LXPANCNFSM6AAAAAAUQ3SC5M . You are receiving this because you were mentioned.Message ID: @.*** com>

I like "created_by_x" and "sorted_by: x" (I was also thinking "order_by", but don't have a strong opinion).  "by" is kind of ambiguous.  However, I also agree that this change is out of scope for this PR.

I'm not terribly concerned about browser caches.  I'd rather not break external links, but it's hard to know how important that really is.  The current PR should break anything and the general mechanism allows us to continue to have backwards compatibility if we want.  At the same time I totally understand Nimmo's perspective on this.  Realistically less mental burden for new devs seems more important than maintaining external links as long as there isn't a huge amount of churn.  Ideally we'd put in something that mapped the old URLs to the new ones, but that's a pain and creates more clutter.

I feel like my point is being missed here -- no doubt because I'm presenting my case poorly.  I'm talking about very basic separation of concerns here.  If you develop a library or class that's used all over the place, you don't go around changing the public interface willy nilly because you want the public interface to more closely reflect internal refactoring.  Obviously.  Everyone here would presumably agree with this basic tenet of computer science!  And I'm not saying that's what's happening here, because I simply don't have time to read and understand what's going on.  But I see the symptoms: I see refactoring of code to cure ABC violations -- obviously purely internal -- and I see corresponding changes to the public interface -- URLs.  So I just wanted to raise this issue to make sure it's being considered.

I do see your concern and in general agree with the principle that such things should be adjustable independently if there is good reason for it.  I believe the code in this PR does that.  In my view the question is more about what do we want the external interface to be.  Obviously there is some weight for maintaining the existing interface.  However, if that interface is overly complex, inconsistent, or confusing, it may make sense to change even at the cost of breaking how things worked in the past.  What I think this exercise is telling us is that the existing interface could be cleaner.  Whether that cleanup is worth the cost is what we're discussing.  The AbcSize violations have already been fixed.  What those changes have revealed is that it might make sense to consider using better names in the params to avoid having to explicitly specify the mapping.  This follows in the Rails tradition of "intelligent defaults".  The trade off is whether changing the interface is justified by making the code simpler to comprehend by future and current developers.

Okay, that's fine, I feel heard.  As Nimmo said, that's what his CRUD refactoring has been all about for going on a year now! :)  And maybe this is yet another example of how Trailblazer's way of organizing concerns will make a common recurring problem (our URLs keep changing!) much less of an issue in the future.

🚧 In order to reduce email noise, I'm temporarily closing PR #1329 while I work on it. (I hope to re-open it by this evening.)

I'm finally done fiddling with this PR, so it's ready to go.
I plan on waiting until Fri. 10 March for any comments, and merging if there are none.
I'm not expecting review from @mo-nathan, as there are 34 files changed -- way over the limit of 20 that he mentioned. (I ended up modifying the tests as well as the controllers.)


Setup github actions

GitHub Actions Setup
Tasks
Setup github actions to:

Automatically add the hacktoberfest-accepted label to merged pull requests for an issue.
Automatically add the hacktoberfest and hacktoberfest2023 labels to newly created issues.
Comment assigned, tagging the user as soon as someone is assigned to an issue.

Context
GitHub Actions can help streamline our development and contribution processes by automating certain repetitive tasks. These tasks, as mentioned above, will be beneficial for tracking contributions related to Hacktoberfest.

Hey @dhaneshragu, i am interested in resolving this issue. Can you suggest me some resources to work on this?

Hey @dhaneshragu, i am interested in resolving this issue. Can you suggest me some resources to work on this?

You can refer to this link: https://docs.github.com/en/actions/learn-github-actions/

I want to work on this issue. Can you assign it to me?

Hey @dhaneshragu, I want to work on this issue. Can you assign it to me?

@Anish-Sarawgi assigned it to you.

hey @dhaneshragu i would like to work on this
i have made  github action for  hacktober and hactober2023 label for new issues
can you assign it to me ?

Hey @vivekreddy049 , If @Anish-Sarawgi doesn't repond within tomorrow evening, I'll assign this to you.

Hey @dhaneshragu, i have created a PR  to add tags in newly created issues. You can assign the other two GitHub Actions to @vivekreddy049. And please review my PR.

@Anish-Sarawgi , inorder to accept the PR, you have to complete all the given tasks, partial completion can't be accepted.

@vivekreddy049 you are assigned. submit PR within 6th October.

@dhaneshragu I have added a PR regarding this issue. Please have a look.

There is already a PR made by assignee and we're reviewing it.

It's okay. But this issue helped me learn the basics of github actions, so just tried to make a contribution. Thanks.

It's okay. But this issue helped me learn the basics of github actions, so just tried to make a contribution. Thanks.

@harshiitsingh , all of your 3 issues are not working. kindly test it properly.


"Got an unexpected keyword argument" with valid argument

Environment details

OS: Ubuntu
Python version: 3.7.3
pip version: 18.1
google-api-python-client version: 1.7.10

Steps to reproduce
from googleapiclient import discovery
service = discovery.build('photoslibrary', 'v1', credentials=credentials)
items_request = service.mediaItems().search(albumId='an_album_id')

Will generate this stacktrace:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "./.venv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 715, in method
    raise TypeError('Got an unexpected keyword argument "%s"' % name)
TypeError: Got an unexpected keyword argument "albumId"

The problem is that the Resources's methods are built from the description https://www.googleapis.com/discovery/v1/apis/photoslibrary/v1/rest (or https://photoslibrary.googleapis.com/$discovery/rest?version=v1) and in those descriptions, there is no parameters for the 'mediaItems:search', even if the documentation says so: https://developers.google.com/photos/library/reference/rest/v1/mediaItems/search
Thanks!

Hello! The photos API is maintained separately. Here is their support page. The Photos API has Java and PHP client libraries, but not one for Python. You can interact with the Photos REST API via requests in Python.
If a Python client library is of interest, please let the Photos team know in this issue.

For anyone looking for a more complete example including auth:
import json
import pickle
import os.path
import requests
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

ALBUM_ID = 'put_album_id_here'

def main():
    credentialsFile = 'client_secret.json'
    pickleFile = 'token.pickle'

    SCOPES = ['https://www.googleapis.com/auth/photoslibrary.readonly']
    creds = None
    if os.path.exists(pickleFile):
        with open(pickleFile, 'rb') as token:
            creds = pickle.load(token)
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                credentialsFile, SCOPES)
            creds = flow.run_local_server()
        with open(pickleFile, 'wb') as token:
            pickle.dump(creds, token)

    url = 'https://photoslibrary.googleapis.com/v1/mediaItems:search'
    payload = {'albumId': ALBUM_ID}
    headers = {
        'content-type': 'application/json',
        'Authorization': 'Bearer {}'.format(creds.token)
    }
    res = requests.post(url, data=json.dumps(payload), headers=headers)
    print(res.text)

if __name__ == '__main__':
    main()

A more complete event which includes auth and interaction with photosevice:
import os
import pickle

from google_auth_oauthlib.flow import InstalledAppFlow
# noinspection PyPackageRequirements
from google.auth.transport.requests import Request
from googleapiclient.discovery import build

# Get from env variable
FILE_PATH = 'path/to/client_secret.json'
scopes=['https://www.googleapis.com/auth/photoslibrary.appendonly']

def valid_or_authorise():
    """

    From: https://developers.google.com/people/quickstart/python

    Returns:

    """
    # The file token.pickle stores the user's access and refresh tokens, and is
    # created automatically when the authorization flow completes for the first
    # time.
    creds = None
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    # If there are no (valid) credentials available, let the user log in.
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                FILE_PATH, scopes)
            creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

    return creds

def photos_service():
    credentials = valid_or_authorise()
    return build(
        serviceName="photoslibrary",
        version="v1",
        credentials=credentials,
        discoveryServiceUrl="https://photoslibrary.googleapis.com/$discovery/rest?version={apiVersion}"
    )

if __name__ == "__main__":
    photos_service_ = photos_service()
    for m in filter(lambda s: not s.startswith("_"), dir(photos_service_)):
        print(f"{m}:", list(filter(lambda s: not s.startswith("_"), dir(getattr(photos_service_, m)()))))

For anyone else running into this who want to keep using the python client, you can patch in the missing parameters as a workaround until Google will fix it's discovery document:
service = build('photoslibrary', 'v1', ...)

search_params = {
  "albumId": {
    "description": "Identifier of an album. If populated, lists all media items in specified album. Can't set in conjunction with any filters.",
    "location": "query",
    "type": "string"
  },
  "pageSize": {
    "description": "Maximum number of media items to return in the response. Fewer media items might be returned than the specified number. The default pageSize is 25, the maximum is 100."
    "location": "query",
    "type": "integer",
    "format": "int32"
  },
  "pageToken": {
    "description": "A continuation token to get the next page of the results. Adding this to the request returns the rows after the pageToken. The pageToken should be the value returned in the nextPageToken parameter in the response to the searchMediaItems request.",
    "location": "query",
    "type": "string"
  },
  "filters": {
    "description": "Filters to apply to the request. Can't be set in conjunction with an albumId.",
    "location": "query",
    "type": "object"
  }
}

service._resourceDesc['resources']['mediaItems']['methods']['search']['parameters'].update(search_params)
request = {'albumId': album_id}
service.mediaItems().search(**request).execute()


Cloudformation: Parsing errors

Yor v0.1.52
Run yor tag -d . in a folder containing the following three examples.
Mappings:
  MyMap:
    Key: "Value"

Resources:
  ExampleResource:
    Type: AWS::Lambda::Function
    Properties:
      Description: An example template
      Environment:
        Variables:
          BROKEN_FIND_IN_MAP: !FindInMap [Mappings, MyMap, Key]

Resources:
  ExampleResource:
    Type: AWS::Lambda::Function
    Properties:
      Description: An example template
      Environment:
        Variables:
          BROKEN_INT: 10

Resources:
  ExampleResource:
    Type: AWS::Lambda::Function
    Properties:
      Description: An example template
      Environment:
        Variables:
          BROKEN_JOIN: !Join ['-', ['a', 'b', 'c']]

Gives me the following errors:
ERROR: json: cannot unmarshal array into Go struct field Function_Environment.Properties.Environment.Variables of type string
2021/06/07 16:01:51 [WARNING] There was an error processing the cloudformation template example.yml: json: cannot unmarshal array into Go struct field Template.Resources of type string
ERROR: json: cannot unmarshal number into Go struct field Function_Environment.Properties.Environment.Variables of type string
2021/06/07 16:01:51 [WARNING] There was an error processing the cloudformation template example_2.yml: json: cannot unmarshal number into Go struct field Template.Resources of type string
ERROR: json: cannot unmarshal array into Go struct field Function_Environment.Properties.Environment.Variables of type string
2021/06/07 16:01:51 [WARNING] There was an error processing the cloudformation template example_3.yml: json: cannot unmarshal array into Go struct field Template.Resources of type string
  __    __
  \ \  / /
   \ \/ /___  _  ____
    \  /  _ \| |/  __|
    | |  |_| |   /
    |_|\____/|__|v0.1.52
 Yor Findings Summary
 Scanned Resources:	  0
 New Resources Traced: 	  0
 Updated Resources:	  0

Thanks for reporting @dmeskis !
Will take a look at this

It seems to be an issue in our downstream dependency, goformation


Added a new metric (energy score)

What's new:

A new metric: energy score, which is a multivariate generalization of CRPS
proportions_mae is now proportions_mean_norm, to be a bit more correct in our naming

Correct me if I'm misremembering, but "mean absolute error" is defined on scalars, not vectors, and we were summing the MAE over lineages to resolve this. This is equivalent to taking the "mean L1 norm of the error", so I use that name now

I realized quickly that joining samples and data was going to happen in every metric function, so that is its own function now

I took a stab at what unit tests could look like for this, as @swo mentioned...
It's not perfect, but if we choose to use the L1 norm everywhere, then these expectations have analytic solutions for the case where the forecast distribution is normal. What I did was generate lineage counts per division-day, compute true lineage proportions per division-day, and then created 1000 "forecasts" of this by sampling from a normal centered around the true proportion.
These clearly aren't valid proportions, as they don't sum to 1 and could even be negative, but the L1 norm and energy score computations don't consider these constraints at all and are still valid. I was able to compare the estimates to what the closed-form solutions dictate they should be, and they match up to decent tolerance

Added the hand-derived unit tests for fixed dataframes as discussed! @swo @afmagee42

(Just rebased on the mkdocs commit)


Summary loot doesnt show items and creatures.

Hello Mytherin. As in topic. I download new addresses and new database but summary form still doesnt show dropped items and killed creatures. Popus works but summary not. How can i solve it ?

Try loot@ and then click the All button. If creatures or loot show up, you probably have either the Ignore Low Experience creatures set too high, or you have many items set to No Pickup.

Ok man. I have it now. Just realised it... Im noob...


getLatestPatchNotes() is not work

getLatestPatchNotes is not work, I am not sure if I am using this method correctly
here is my code
from pyrez.api import PaladinsAPI, StatusPageAPI
from pyrez.enumerations.Language import Language

paladins = PaladinsAPI(devId = 'devId', authKey = 'authKey')
data = paladins.getLatestPatchNotes()
print(data)
paladins.close()

and here is error
$ /usr/bin/python3 /media/cow03/NoobCow_CodeSpace/python/misc/paladins_api.py
Traceback (most recent call last):
  File "/media/cow03/NoobCow_CodeSpace/python/misc/paladins_api.py", line 5, in <module>
    data = paladins.getLatestPatchNotes()
  File "/home/cow03/.local/lib/python3.7/site-packages/pyrez/api/PaladinsAPI.py", line 88, in getLatestPatchNotes
    __ = self.getWebsitePost(language=language or Language.English, slug=PaladinsWebsitePost(**_[0]).slug)
  File "/home/cow03/.local/lib/python3.7/site-packages/pyrez/api/PaladinsAPI.py", line 105, in getWebsitePost
    __ = [ PaladinsWebsitePost(**___) for ___ in (_ or []) ]
  File "/home/cow03/.local/lib/python3.7/site-packages/pyrez/api/PaladinsAPI.py", line 105, in <listcomp>
    __ = [ PaladinsWebsitePost(**___) for ___ in (_ or []) ]
TypeError: type object argument after ** must be a mapping, not str

Yo, @cow03haha. Sorry for late reply. It should be working for now. I'll push a release soon.
If you find hard to format obj['content'] / obj.content (RAW HTML), I've added a new method getUrl().
Note: Always returns the latest patch notes on the website, may be not playable/current.


How do I perform BXL analysis over targets with incompatible configurations?

Consider a BXL script that needs to both perform actions via ctx.bxl_actions().actions and run analysis via ctx.analysis().
We must enable execution platforms for the actions to work, via -c build.execution_platforms=//my:platform. However, this breaks analysis when the target pattern includes transitioned targets (both via rule transitions and attrs.configured_dep()) or in general when not all targets are compatible with the same configuration. This will look something like this:
    0: Error in configured node dependency, dependency chain follows (-> indicates depends on, ^ indicates same configuration as previous):
              root//:main_target (root//initial_platform#862bbf0260c42c92)
           -> root//:transitioned_target (root//new_platform#3b9c87e21a60f426)
           -> toolchains//:cxx (^)

    1: Can't find toolchain_dep execution platform using configuration `<unspecified_exec>`

I have tried setting the target_platform and skip_incompatible parameters to ctx.analysis(), but this made no difference.
Here are my observations:

It is possible that specifying all possible platforms as execution platforms would solve this issue, but I see no way to do this, and this would be very inconvenient at best.
Regular builds do not have this issue, the execution platform is properly determined for any target.
I could somewhat work around this if I could filter out targets based on configuration, but I see no way to do that cleanly. I can match on target names or rule names, but that's not quite enough. Even then, I would like to be able to handle those targets, skipping them is not always an acceptable option. Being able to dynamically set the execution platform based on the target platform would potentially help?

Note that the analysis runs fine when I don't set an execution platform, but again this is not an option in order to use actions. I'm not sure which side of the problem should be "fixed" in this case.
If anyone has experience dealing with such a situtation (BXL analysis over configuration-incompatible targets and running actions in the same script), I'd be very interested in hearing about how they do that.

What I think was happening is that my toolchains contained selects with dependencies that had configuration constraints that wouldn't match the execution platform I was passing. This was very easy to hit due to transitions and targets with various constraints.
I'm leaving this issue open as it seems that this could be improved with better error messages or, ideally, a way to not have to specify a single execution platform when running BXL scripts.

I didn't understand anything, but I'd like to help.
Why don't you enable execution platforms globally for everything? In our internal setup it looks like this:
$ buck2 audit config build.execution_platforms
[build]
    execution_platforms = fbcode//buck2/platform/execution:platforms

And this target lists all possible platforms — linux, mac, windows, different cpus etc.
{
  "fbcode//buck2/platform/execution:platforms": {
    "buck.type": "execution_platforms",
    "buck.package": "fbcode//buck2/platform/execution:TARGETS.v2",
    "name": "platforms",
    "default_target_platform": null,
    "target_compatible_with": [],
    "compatible_with": [],
    "exec_compatible_with": [],
    "visibility": [],
    "within_view": [
      "PUBLIC"
    ],
    "metadata": {},
    "tests": [],
    "fallback": "error",
    "platforms": [
      "fbcode//buck2/platform/execution:fat_mac-arm64_linux",
      "fbcode//buck2/platform/execution:linux-x86_64",
      "fbcode//buck2/platform/execution:linux-x86_64-local-only",
      "fbcode//buck2/platform/execution:linux-x86_64-remote-only",
      "fbcode//buck2/platform/execution:linux-aarch64",

You don't specify -c build.execution_platforms on command line, regardless of whether it is build or BXL.

There are a few reasons why we don't set build.execution_platforms:
There is no good default, as there is no single platform that all our targets can build with

build.execution_platforms is a list. From that list, buck2 picks the first which matches target exec requirement (simplified).

My understanding was that execution_platforms is like --target-platforms: the name is plural, but we can only use one

These are very different.
There's a list of execution platforms, for example, it can be windows then linux (local linux and remote execution windows). In single build, one target can be executed locally on linux, and another one remotely on windows.

what rule/providers do you use to generate such a "platforms list" target? Is this documented somewhere?

There's some documentation there https://buck2.build/docs/rule_authors/configurations/#execution-platform-resolution
One platform is registered with execution_platform rule which returns ExecutionPlatformInfo provider.
build.execution_platforms should point to execution_platforms rule (which is not in prelude, but should be) which should return ExecutionPlatformRegistrationInfo() with a list of platforms.
If you plan to use these, consider buck2 audit execution-platform-resolution //my:target command which helps to debug it.

If it is possible to use multiple execution platforms, how is one picked when running buck2 bxl?

From documentation there:
https://buck2.build/docs/api/bxl/bxl.Context/#bxlcontextbxl_actions

This will have the execution platform resolved according to the execution deps and toolchains you pass into this function.

Are they tried in order until one matches?

Yes.

I think I see where the disconnect is, it seems like your execution platforms are quite low level (OS/CPU/RBE constraints).
In our case our toolchains have constraints on e.g. which package manager environment needs to be used for the tools that compose the toolchain to be fetched, which in turn means that a "vanilla" execution platforms is incompatible with our toolchains. This blurs the line between our execution and target platforms, something that I think I should try to separate more.
I will try to make a ExecutionPlatformRegistrationInfo that references all those platforms and see if that helps.

Ok, I did that and it is working as intended. I would like to further untangle our target and execution platforms though: could you explain to me which providers should each provide?

Is it correct that target platforms only need to provide an empty DefaultInfo() and a PlatformInfo()?
Is it correct that target platforms only need to provide an empty DefaultInfo() and an ExecutionPlatformInfo()? Should there be a PlatformInfo() as well?
It seems like the following rule is all that is needed to build an execution platform list, am I missing something (besides maybe an optional fallback attribute, but I'm not sure which type it should have given that the docs say the provider takes a typing.Any)? Do you want me to make a PR to add it to the prelude?

def _execution_platforms_impl(ctx: AnalysisContext) -> list[Provider]:
    return [
        DefaultInfo(),
        ExecutionPlatformRegistrationInfo(platforms = [p[ExecutionPlatformInfo] for p in ctx.attrs.platforms]),
    ]

execution_platforms = rule(
    impl = _execution_platforms_impl,
    attrs = {
        "platforms": attrs.list(attrs.dep(providers = [ExecutionPlatformInfo])),
    },
)

Once I have answers to those, I can make a PR to add this information to the docs: would this be welcome, and if so, can I tag you as reviewer?
Thanks again for your help.

Is it correct that target platforms only need to provide an empty DefaultInfo() and a PlatformInfo()?

Every rule must provide DefaultInfo. Yes, PlatformInfo is how we configuration is created from target label.
(Although we are slowly migrating to configuration factories/modifiers. In the distant future platform rule may not even exist.)

Is it correct that target platforms only need to provide an empty DefaultInfo() and an ExecutionPlatformInfo()? Should there be a PlatformInfo() as well?

You mean, execution platforms?
Check here an example of execution_platforms rule implementations used in e2e tests of buck2:
https://github.com/facebook/buck2/tree/0877eeac4b423c28dbad0c91be2f7ce104137d8d/tests/e2e_util/nano_prelude
(these files were exported to GitHub today; code is not executed in OSS CI yet).
Actual implementation of execution_platforms we use internally is more complicated. (But we should provide some default implementation in prelude).

Do you want me to make a PR to add it to the prelude?

If you can do it without spending too much time on it, please. Otherwise I'll do it myself.

if so, can I tag you as reviewer?

Yep.


WIP: Load validated groups from config

Description:
Following the story of loading platforms with valid config. This PR is the first step in that direction.
To be considered:

Move bootstrap.log_exception to helpers.log_exception or cv.log_exception to prevent circular imports
Same validator approach for platforms. Log the error inside the validator function and pass only correct config back. Probably need to add a test helper for log_exception patching, since it will impact many unit tests

Comments would be appreciated.
Example entry for configuration.yaml (if applicable):
group:
  i_will_fail:
    xname: Johann Travel Time
    entities:
      - sensor.google_travel_time
      - sensor.destination_johann

  i_will_load:
    name: Home
    entities:
      - group.living_room

Checklist:
If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

Pivotal story: https://www.pivotaltracker.com/story/show/118811931
The pivotal story to load platforms with valid config does not relate to the group component, as that is just 1 component and it's own config. ordered_dict validator should not be changed as it is does exactly what it should do since it's part of config_validators: validate a config and raise Invalid if it is not valid.
The pivotal story is about components that have platforms with their own platform schema and which are validated in bootstrap. More specific, this line should be replaced with continue.
I'll close this PR as it is not fixing a problem that needs fixing

No problem, if its only the continue I see your point
My aim was to pull apart config dicts using voluptuous, but seems it is already handled well by config_by_platform so PLATFORM_SCHEMAs are covered.
This PR only cover's CONFIG_SCHEMAs which is limited to groups