[FEAT] Available for testing

First, I'd like to thank you for this! Beautiful! :+1:
I have a 49PUS8303 and I'm available for testing any new feature :smile:
Looking forward to MQTT integration also - definitely big progress for home automation...

Hey @mtzro2003, thank you for your kind words! I was not sure if anybody was actually using this script, so I haven't really worked on Pylips recently... (since it already solves my use cases as it is)
So yeah, haven't really realized that people are waiting for updates, will try to do something about MQTT support in the coming week or two... I have a working prototype, just need to polish it a bit.

Hey @mtzro2003, thank you for your kind words! I was not sure if anybody was actually using this script, so I haven't really worked on Pylips recently... (since it already solves my use cases as it is)
So yeah, haven't really realized that people are waiting for updates, will try to do something about MQTT support in the coming week or two... I have a working prototype, just need to polish it a bit.

Hi, forgive my ignorance but will MQTT support have any bearing on input selection (hdmi) or lack of?

@gb160, no, the input selection is not possible with the API - there is nothing I can do as even the official app does not have this functionality. You can do it with ADB, although it is not super reliable in my experience (there is a link somewhere in the beginning of the Readme).

@eslavnov Thats a shame as unfortunately my TV is not Android, its just Linux.
Ive managed to achieve channel switching via CEC commands, but its messy as hell...its a real shame the API has this function missing.
Cheers for the reply anyway.

@mtzro2003, I've pushed a new version with some new commands and MQTT support - would you mind giving it a try? It is basically rewritten from scratch, so I hope I did not break anything, lol

First thing tomorrow morning when I arrive @office. :D
Gonna report back!
On Sun, Apr 21, 2019, 22:11 Evgeny Slavnov<EMAIL_ADDRESS>wrote:

@mtzro2003 https://github.com/mtzro2003, I've pushed a new version with
some new commands and MQTT support - would you mind giving it a try? It is
basically rewritten from scratch, so I hope I did not break anything, lol
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/eslavnov/pylips/issues/9#issuecomment-485275291, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAQWPIQ6AEKW6W37CAQIK63PRS36BANCNFSM4HEHULBA
.

Sorry for not being able to report sooner...
Here's what I did so far after upgrading.
As I used pylips from command line with user and password, I put those in settings.ini and tried to run pylips - TV was OFF:
$ cat settings.ini
[DEFAULT]
verbose = True
MQTT_listen = False
MQTT_update = False
num_retries = 3
update_interval = 3
[TV]
host = <IP_ADDRESS>
port =
apiv =
user = XXXXXXXXXXXXX
pass = XXXXXXXXXXXXX
protocol =
[MQTT]
host = <IP_ADDRESS>
port = 1883
user = pylips
pass = XXXXXXXXXXXXXX
TLS = False
topic_pylips =
topic_status =
$  python3 pylips
Checking API version and port...
Trying http://<IP_ADDRESS>:1925/6/system
Connection refused
Trying http://<IP_ADDRESS>:1925/5/system
Connection refused
Trying http://<IP_ADDRESS>:1925/1/system
Connection refused
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.

--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

IP <IP_ADDRESS> seems to be offline. Exiting...

Question: shouldn't it try to ping first and THEN try to connect to API?
Second, TV ON:
$ python3 pylips.py
Checking API version and port...
Trying http://<IP_ADDRESS>:1925/6/system
Traceback (most recent call last):
  File "pylips.py", line 412, in <module>
    pylips = Pylips("settings.ini")
  File "pylips.py", line 72, in __init__
    if self.check_paired() is False:
AttributeError: 'Pylips' object has no attribute 'check_paired'

On line 72, I believe it should be if self.check_if_paired() is False
I added apiv = 6 to settings.ini and it worked:
$ python3 pylips.py
Please enable mqtt_listen in settings.ini or provide a valid command with a '--command' argument

Gonna test it further with MQTT and get back to you

I turned OFF the TV (standby actually), by remote, and pylips reports that it's ON. Here's the JSON that is posted to the MQTT topic:
{"power_on": true, "volume": 0, "muted": true, "cur_app": "org.droidtv.playtv", "ambilight": {"styleName": "FOLLOW_VIDEO", "isExpert": false, "menuSetting": "COMFORT", "stringValue": "Comfort"}, "ambihue": false}

Getting the power state from command line reply:
$ python3 pylips.py --host <IP_ADDRESS> --user XXXXXXXX --pass XXXXXXXXXXXXXXXXXXXX --command powerstate
Checking API version and port...
Trying http://<IP_ADDRESS>:1925/6/system
Sending GET request to https://<IP_ADDRESS>:1926/6/powerstate
Request sent!
{"powerstate":"Standby"}

Also, when TV is in standby pylips continues to interrogate the API, querying ambilight config, acivities and audio level.
Maybe, when it detects that the TV is in standby or OFF, it should query only the powerstate.
After a while, it reports that the powerstate changed - TV was responding to ping:
{"power_on": false, "volume": null, "muted": false, "cur_app": "NA", "ambilight": null, "ambihue": false}

Another issue:
If apiv parameter in settings.ini is configured manually, pylips gets no reply from the TV. When I leave it blank, everything is OK:
$ cat settings.ini
[DEFAULT]
verbose = True
MQTT_listen = True
MQTT_update = True
num_retries = 3
update_interval = 3
[TV]
host = <IP_ADDRESS>
port = 1925
apiv = 6
user = XXXXXXXXXX
pass = XXXXXXXXXX
protocol = https://
[MQTT]
host = <IP_ADDRESS>
port = 1883
user = pylips
pass = XXXXXXXXXX
TLS = False
topic_pylips = pylips/Livingroom_TV/command
topic_status = pylips/Livingroom_TV/status
openhab@openhab:~/pylips$ python3 pylips.py
Started MQTT status updater
Sending GET request to https://<IP_ADDRESS>:1925/6/audio/volume
Connected to MQTT broker at <IP_ADDRESS>
Sending GET request to https://<IP_ADDRESS>:1925/6/audio/volume
Sending GET request to https://<IP_ADDRESS>:1925/6/audio/volume
Sending GET request to https://<IP_ADDRESS>:1925/6/activities/current
Sending GET request to https://<IP_ADDRESS>:1925/6/activities/current
Sending GET request to https://<IP_ADDRESS>:1925/6/activities/current
Sending GET request to https://<IP_ADDRESS>:1925/6/ambilight/currentconfiguration
Sending GET request to https://<IP_ADDRESS>:1925/6/ambilight/currentconfiguration
Sending GET request to https://<IP_ADDRESS>:1925/6/ambilight/currentconfiguration
Sending POST request to https://<IP_ADDRESS>:1925/6/menuitems/settings/current
Sending POST request to https://<IP_ADDRESS>:1925/6/menuitems/settings/current
Sending POST request to https://<IP_ADDRESS>:1925/6/menuitems/settings/current
^CTraceback (most recent call last):
  File "pylips.py", line 412, in <module>
    pylips = Pylips("settings.ini")
  File "pylips.py", line 95, in __init__
    self.start_mqtt_updater(self.verbose)
  File "pylips.py", line 409, in start_mqtt_updater
    time.sleep(int(self.config["DEFAULT"]["update_interval"]))
KeyboardInterrupt
openhab@openhab:~/pylips$ nano settings.ini
openhab@openhab:~/pylips$ cat settings.ini
[DEFAULT]
verbose = True
MQTT_listen = True
MQTT_update = True
num_retries = 3
update_interval = 3
[TV]
host = <IP_ADDRESS>
port = 1925
apiv =
user = XXXXXXXXXX
pass = XXXXXXXXXX
protocol = https://
[MQTT]
host = <IP_ADDRESS>
port = 1883
user = pylips
pass = XXXXXXXXXX
TLS = False
topic_pylips = pylips/Livingroom_TV/command
topic_status = pylips/Livingroom_TV/status
openhab@openhab:~/pylips$ python3 pylips.py
Checking API version and port...
Trying http://<IP_ADDRESS>:1925/6/system
Started MQTT status updater
Connected to MQTT broker at <IP_ADDRESS>
Sending GET request to https://<IP_ADDRESS>:1926/6/audio/volume
Request sent!
{"muted":false,"current":1,"min":0,"max":60}
Sending GET request to https://<IP_ADDRESS>:1926/6/activities/current
Request sent!
{"component":{"packageName":"NA","className":"NA"}}
Sending GET request to https://<IP_ADDRESS>:1926/6/activities/tv
Request sent!
{"channel":{"ccid":1141,"preset":"117","name":"PRO TV HD"},"channelList":{"id":"allcab","version":"8"}}
Sending GET request to https://<IP_ADDRESS>:1926/6/ambilight/currentconfiguration
Request sent!
{"styleName":"FOLLOW_VIDEO","isExpert":false,"menuSetting":"COMFORT","stringValue":"Comfort"}
Sending POST request to https://<IP_ADDRESS>:1926/6/menuitems/settings/current
Request sent!
{"values":[{"value":{"Nodeid":2131230774,"Controllable":true,"Available":true,"string_id":"Switch on","data":{"value":false}}}],"version":0}
^CTraceback (most recent call last):
  File "pylips.py", line 412, in <module>
    pylips = Pylips("settings.ini")
  File "pylips.py", line 95, in __init__
    self.start_mqtt_updater(self.verbose)
  File "pylips.py", line 409, in start_mqtt_updater
    time.sleep(int(self.config["DEFAULT"]["update_interval"]))
KeyboardInterrupt

Hey @mtzro2003 , thank you for your input - this is extremely useful!

Question: shouldn't it try to ping first and THEN try to connect to API?

Well yes, but actually no :) PING sometimes takes quite a lot of time to complete, so I am using it purely as a safety net to help me debugging possible problems. So the logic is "Try the endpoints => if no response, then try to ping => let user know what has happened (e.g., if TV is responding to PING, but not the endpoints, then it's probably an API version issue...). So it's a feature, not a bug - although I do admit it's somewhat counter-intuitive. Maybe I should look into PING parameters and set a short timeout or something, I dunno. I'll think about it.

On line 72, I believe it should be if self.check_if_paired() is False

Yep, my bad!

I turned OFF the TV (standby actually), by remote, and pylips reports that it's ON. Here's the JSON that is posted to the MQTT topic:

Great, my TV behaves differently in Standby mode... Sometimes I really hate Phillips...

Maybe, when it detects that the TV is in standby or OFF, it should query only the powerstate.

Yeah, I think this is a good idea given how your TV handles standby mode.

After a while, it reports that the powerstate changed - TV was responding to ping:

Sorry, not sure what you mean here. TV was responding to ping, but Pylips was reporting it as OFF?

If apiv parameter in settings.ini is configured manually, pylips gets no reply from the TV. When I leave it blank, everything is OK:

Thanks, there is a small bug in port discovery (1925 vs 1926), should be easy to fix.
I should be able to make all the fixes today or tomorrow, I'll let you know when it's ready.

After a while, it reports that the powerstate changed - TV was responding to ping:

Sorry, not sure what you mean here. TV was responding to ping, but Pylips was reporting it as OFF?

Here's how my TV, Philips 49PUS8303, behaves when you turn it "OFF" bye remote - OFF is actually a standby, something like when you turn off the screen on an Android phone or tablet:
when I press the OFF button, the screen (of course) turns off, but the TV continues to respond to ping and to API interrogations.
after some time (something like 5 minutes), the TV stops responding to ping and to API
What I meant was that pylips (in MQTT mode) reported the powerstate as ON even is the TV was turned "OFF" by remote. Querying directly the powerstate from command line (pylips old-style) reported that the TV is in standby.
Not sure how to explain further.
I'll wait for the new version and I'll fiddle with it some more...

Got it, thanks! Mine behaves the same with the exception that my "Standby" mode lasts for 5-10 seconds, then it becomes "OFF" and the API stops responding, so I don't really implement a proper "Standby" mode. That's super-easy to fix, will do to.
Thank you again for your help, it's extremely hard to catch all the edge cases with just one TV model...

@mtzro2003 Quick question:

If apiv parameter in settings.ini is configured manually, pylips gets no reply from the TV. When I leave it blank, everything is OK:

So I've noticed that in the first scenario (where you had specified apiv 6) the port is 1925 in the config, that's why it's failing. In the second scenario (with blank apiv) the port is being overriden by apiv discovery, that's why it works.
So the question is: did you manually specify port 1925 in config (then it is working as intended) or was port 1925 added at some point by Pylips (then it's a bug). Thanks!

Damn!
Indeed, there is a typo in settings.ini... My bad! I put the port
manually and it was the wrong one...
The port should be 1926.
On Thu, Apr 25, 2019 at 11:55 AM Evgeny Slavnov<EMAIL_ADDRESS>wrote:

@mtzro2003 https://github.com/mtzro2003 Quick question:
If apiv parameter in settings.ini is configured manually, pylips gets no
reply from the TV. When I leave it blank, everything is OK:
So I've noticed that in the first scenario (where you had specified apiv
6) the port is 1925 in the config, that's why it's failing. In the second
scenario (with blank apiv) the port is being overriden by apiv discovery,
that's why it works.
So the question is: did you manually specify port 1925 in config (then it
is working as intended) or was port 1925 added at some point by Pylips
(then it's a bug). Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/eslavnov/pylips/issues/9#issuecomment-486580187, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAQWPIWJJVZFIO6X62BPJFLPSFWY3ANCNFSM4HEHULBA
.

Nice, one less bug to fix! :) Thanks for a quick response, appreciate it!

I've pushed an update, check it out when you have time! Thanks!

Well, it's running smoothly for 1 day -  no issues so far.
Didn't yet had time to integrate it with openHAB - just 2-3 status items: powerstate, volume and such.
I'll be out of town for the next week so, when I'll get back, I'll dig into it some more.
Wonderful job, @eslavnov, thousand thanks!

Good to hear! Thank you again for your help with the testing!

In the mean time...
How would I use MQTT to retrieve the ambilight brightness for example...
From what I understand, I should post to topic_pylips (in my case pylips/Livingroom_TV/command) a JSON like:
{ "command": "post", "path": "menuitems/settings/current", "body": {"nodes":[{"nodeid":2131230769}]} }

where<PHONE_NUMBER> is the menu entry for ambilight brightness.
But how do I get the return value (JSON) in such a use case?
Also, it looks like I can't get it to work from command line, not MQTT - see below curl is working, but pylips is not, username and password are the same. What am I missing? (pylips is not running in MQTT mode in the example)
$ cat settings.ini
[DEFAULT]
verbose = True
MQTT_listen = True
MQTT_update = True
num_retries = 3
update_interval = 3
[TV]
host = <IP_ADDRESS>
port = 1926
apiv = 6
user = XXXXXXXXX
pass = XXXXXXXXXX
protocol = https://
[MQTT]
host = <IP_ADDRESS>
port = 1883
user = pylips
pass = XXXXXXXXXX
TLS = False
topic_pylips = pylips/Livingroom_TV/command
topic_status = pylips/Livingroom_TV/status

$ python3 pylips.py --command post --path menuitems/settings/current --body '{"nodes":[{"nodeid":2131230769}]}'
Sending POST request to https://<IP_ADDRESS>:1926/6/menuitems/settings/current
Request sent!

   <title>Status page</title>

Bad Request

The request could not be understood by the server due to malformed syntax

You can get technical details here.

Please continue your visit at our home page.

$ curl -sS -X POST --digest --insecure -u XXXXXXXX:XXXXXXXXXXXX -d '{"nodes":[{"nodeid":2131230769}]}' https://<IP_ADDRESS>:1926/6/menuitems/settings/current
{"values":[{"value":{"Nodeid":2131230769,"Controllable":true,"Available":true,"string_id":"Brightness","data":{"value":2}}}],"version":0}

One more thing: maybe it would be useful to increase the verbosity... For example, to log MQTT messages from subscribed topic and published messaged to the other one...

Hey, so there was a small bug that affected some of the POST requests, I've just pushed a fix and updated README with better examples (see MQTT section), let me know if this helps with your issue. I've also noticed that you are sending different body when using pylips vs curl, so this might also be the reason....

For example, to log MQTT messages from subscribed topic and published messaged to the other one...

You can just subscribe to the MQTT topics from any client and see what's being published, so I am not sure there is much sense in logging it in Pylips...

let me know if this helps with your issue.

Yes, now it's working - same command as above:
$ python3 pylips.py --command post --path menuitems/settings/current --body '{"nodes":[{"nodeid":2131230769}]}'
Sending POST request to https://<IP_ADDRESS>:1926/6/menuitems/settings/current
Request sent!
{"values":[{"value":{"Nodeid":2131230769,"Controllable":true,"Available":true,"string_id":"Brightness","data":{"value":2}}}],"version":0}

I've also noticed that you are sending different body when using pylips vs curl

What is different? I don't see any difference between them... But nevermind, now pylips is working :+1:
Moving forward and trying one of your examples: to change brightness through MQTT.
Running
$ mosquitto_pub -h <IP_ADDRESS> -u pylips -P XXXXXXXXXXXXX -t pylips/Livingroom_TV/command -m '{"command":"post", "path": "menuitems/settings/update", "body": {"values":[{"value":{"Nodeid":2131230769,"Controllable":"true", "Available":"true","string_id":"Brightness", "data":{"value":10}}}]}}'

I saw somewhere on pylips' output a Please provide a 'path' argument error.
Taking a look at the code I noticed the following lines:
                    if message["command"] == "get":
                        if len(path)>0:
                            return print("Please provide a 'path' argument")
                        self.get(path,self.verbose)
                    elif message["command"] == "post":
                        if len(path)>0:
                            return print("Please provide a 'path' argument")

changing the len(path)>0 to len(path) == 0 got it working :smile:
Trying  mosquitto_pub -h <IP_ADDRESS> -u pylips -P XXXXXXXXXXXX -t pylips/Livingroom_TV/command -m '{"command":"ambilight_brightness", "body":{"value":10}}' doesn't work, but my python knowledge is limited...
python3 pylips.py --command ambilight_brightness --body '{"value":10}' works, but sending the command to MQTT topic doesn't

updated README with better examples (see MQTT section)

Well, the examples are always welcome, but my question was about GETTING the value of ambilight brightness.
Something like below, but using MQTT:
$ python3 pylips.py --command post --path menuitems/settings/current --body '{"nodes":[{"nodeid":2131230769}]}'
Sending POST request to https://<IP_ADDRESS>:1926/6/menuitems/settings/current
Request sent!
{"values":[{"value":{"Nodeid":2131230769,"Controllable":true,"Available":true,"string_id":"Brightness","data":{"value":1}}}],"version":0}

How can something like that be archived using MQTT?
I tried posting the following to the topic_pylips:
$ mosquitto_pub -h <IP_ADDRESS> -u pylips -P XXXXXXXXXXXX -t pylips/Livingroom_TV/command -m '{"command":"post", "path":"menuitems/settings/current", "body":{"nodes":[{"nodeid":2131230769}]}}'

and I see the result in pylips' output:
Request sent!
{"styleName":"FOLLOW_VIDEO","isExpert":false,"menuSetting":"COMFORT","stringValue":"Comfort"}
Sending POST request to https://<IP_ADDRESS>:1926/6/menuitems/settings/current
Request sent!
{"values":[{"value":{"Nodeid":2131230774,"Controllable":true,"Available":true,"string_id":"Switch on","data":{"value":false}}}],"version":0}
{"values":[{"value":{"Nodeid":2131230769,"Controllable":true,"Available":true,"string_id":"Brightness","data":{"value":1}}}],"version":0}

but how can I receive the API reply THROUGH MQTT?

What is different? I don't see any difference between them... But nevermind, now pylips is working 👍

Sorry, I've misread your commands, they are indeed the same!

I saw somewhere on pylips' output a Please provide a 'path' argument error.

 I really need to research how to write tests in Python...

Trying mosquitto_pub -h <IP_ADDRESS> -u pylips -P XXXXXXXXXXXX -t pylips/Livingroom_TV/command -m '{"command":"ambilight_brightness", "body":{"value":10}}' doesn't work, but my python knowledge is limited...

Hmm, that's strange - it works for me, I've just tested it. Is the message actually getting published? (use mosquitto_sub to check your topic).

but how can I receive the API reply THROUGH MQTT?

Ah, I see what you mean, but I am not sure how this can be implemented. Since you are just publishing a message over MQTT, you can't really get anything back. I've envisioned this purely as a control method (e.g., "set the brightness to X") as opposed to "get the current brightness" (with the exception of some status items that I manually collect like power, mute, etc.). Theoretically speaking, I can publish a response as an MQTT message on a separate topic, for example, but how are you going to map a specific response to a specific command? If I dump all raw responses into the same topic, it will be a mess of different responses/formats. Creating a separate topic for each command is also not an option (we have 80+ commands). Finally, I could send responses in a format like {"your_command":{...}, "your_response":{...} - this could work, but you still need to write some logic on your side to parse it correctly, so it also kinda sucks.
I would recommend just using the manual mode with --verbose False for such use-cases:
python3 pylips.py --command post --path menuitems/settings/current --body '{"nodes":[{"nodeid":2131230769}]}' --verbose False

{"values":[{"value":{"Nodeid":2131230769,"Controllable":true,"Available":true,"string_id":"Brightness","data":{"value":10}}}],"version":0}

But if you have any better ideas how to handle replies over MQTT, I am all ears...

But if you have any better ideas how to handle replies over MQTT, I am
all ears...

One idea would be to design some configurable (by user) status message...
Something like you have in available_commands.json where someone can add
at any time his own commands.
Could be interesting...
As I'm out of town for the next week, I'll have time to think about it and
maybe come up with a proposal. :smile:
If not feasible, then the pylips in command line mode is the only way -
which is not at all bad.
Once again, excellent job! Many-many-many thanks!!! :laughing:
On Mon, Apr 29, 2019 at 10:50 AM Evgeny Slavnov<EMAIL_ADDRESS>wrote:

What is different? I don't see any difference between them... But
nevermind, now pylips is working 👍
Sorry, I've misread your commands, they are indeed the same!
I saw somewhere on pylips' output a Please provide a 'path' argument error.
 I really need to research how
to write tests in Python...
Trying mosquitto_pub -h <IP_ADDRESS> -u pylips -P XXXXXXXXXXXX -t
pylips/Livingroom_TV/command -m '{"command":"ambilight_brightness",
"body":{"value":10}}' doesn't work, but my python knowledge is limited...
Hmm, that's strange - it works for me, I've just tested it. Is the message
actually getting published? (use mosquitto_sub to check your topic).
but how can I receive the API reply THROUGH MQTT?
Ah, I see what you mean, but I am not sure how this can be implemented.
Since you are just publishing a message over MQTT, you can't really get
anything back. I've envisioned this purely as a control method (e.g., "set
the brightness to X") as opposed to "get the current brightness" (with the
exception of some status items that I manually collect like power, mute,
etc.). Theoretically speaking, I can publish a response as an MQTT message
on a separate topic, for example, but how are you going to map a specific
response to a specific command? If I dump all raw responses into the same
topic, it will be a mess of different responses/formats. Creating a
separate topic for each command is also not an option (we have 80+
commands). Finally, I could send responses in a format like {"your_command":{...},
"your_response":{...} - this could work, but you still need to write some
logic on your side to parse it correctly, so it also kinda sucks.
I would recommend just using the manual mode with --verbose False for
such use-cases:
python3 pylips.py --command post --path menuitems/settings/current --body '{"nodes":[{"nodeid":2131230769}]}' --verbose False
{"values":[{"value":{"Nodeid":2131230769,"Controllable":true,"Available":true,"string_id":"Brightness","data":{"value":10}}}],"version":0}
But if you have any better ideas how to handle replies over MQTT, I am all
ears...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/eslavnov/pylips/issues/9#issuecomment-487481637, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAQWPIVB2JKXBGZWS524YT3PS2SC7ANCNFSM4HEHULBA
.

I'll close this issue for now, please create a separate one with your proposal when you come up with one. Thanks!


Modify Intake forms for Mobile/Cellular

As an analyst
I want to be able to have a future intake for Mobile/Cellular data coverage
So that we can support the cellular coverage for BC
Description:
if needed
Acceptance Criteria:

[ ] Applicants can apply for cellular funding

{Page Name}
Screen
[wireframe 1]
[wireframe 2]

[ ] .

Page Behaviours

[ ] .
[ ] .
[ ] .

Validations

[ ] .
[ ] .
[ ] .

Actions

[ ] .
[ ] .
[ ] .

Not included:

.
.

Implementation Details

DB:

.
.

Middleware:

.
.

Frontend:

.
.

Tests:

.
.

Documentation:

.
.

NDIT will be handling the mobile/cellular intake so closing this ticket


Angled bracket color becomes red incorrectly in TypeScript

When I use TypeScript with angled brackets < > spread across multiple lines, the color of the brackets changes from blue/blue to white/red. This happens in a .ts file with no extensions enabled, using the Dark+ or Dark Modern themes.

Proper coloring when no line break:

type DetailedSettingsWithVeryLongName = {
  description: string;
};

type ConfigFunction = <InputType, OutputType>(config: {}) => any;

const setup = (configure: ConfigFunction) => ({
  task: configure<
    DetailedSettingsWithVeryLongName,
    DetailedSettingsWithVeryLongName
  >({}),
});

Possibly related: https://github.com/microsoft/vscode/issues/157322

Details
```
Version: 1.82.3 (system setup)
Commit: fdb98833154679dbaa7af67a5a29fe19e55c2b73
Date: 2023-10-02T10:51:22.294Z
Electron: 25.8.1
ElectronBuildId: 24153832
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
```

/duplicate

@hediet What issue is this a duplicate of?


How to train pose_net?

I changed the input of pose_net to 2-frame snippets images for the purpose that I want to estimate the the pose between target-frame image and its next frame image. But the result turn to be strange, like that:
Epoch: [ 1] [    1/ 4590] time: 5.4610/it loss: 1.265
[[ 5.5594608e-02  4.1611232e-02 -2.9045379e+00 -2.4940830e-04
7.8899926e-04  1.1408931e-03]]
Epoch: [ 1] [    2/ 4590] time: 0.6910/it loss: 1.345
[[ 5.4365378e-02  4.0248752e-02 -2.8675201e+00  4.0297356e-04
5.0060626e-05  4.3766299e-04]]
Epoch: [ 1] [    3/ 4590] time: 0.7220/it loss: 0.920
[[ 5.3226665e-02  3.9065529e-02 -2.8294766e+00  1.0433119e-03
-6.4546510e-04 -2.9349671e-04]]
Epoch: [ 1] [    4/ 4590] time: 0.7360/it loss: 0.700
[[ 5.3099021e-02  3.8820472e-02 -2.8395672e+00  1.3501836e-03
-1.1050075e-03 -1.0100374e-03]]
Epoch: [ 1] [    5/ 4590] time: 0.7090/it loss: 0.605
[[ 5.3082950e-02  3.8819354e-02 -2.8512640e+00  1.3580802e-03
-1.4360860e-03 -1.3620675e-03]]
Epoch: [ 1] [    6/ 4590] time: 0.7270/it loss: 0.694
[[ 5.3565979e-02  3.9367087e-02 -2.8749318e+00  1.0619831e-03
-1.4116894e-03 -1.2049747e-03]]
Epoch: [ 1] [    7/ 4590] time: 0.7130/it loss: 1.242
[[ 5.3712413e-02  3.9615326e-02 -2.8820136e+00  8.1495516e-04
-1.3181081e-03 -1.1293018e-03]]
Epoch: [ 1] [    8/ 4590] time: 0.7580/it loss: 1.189
[[ 5.3978346e-02  3.9846379e-02 -2.8900311e+00  6.0747087e-04
-1.1298185e-03 -1.1336819e-03]]
Epoch: [ 1] [    9/ 4590] time: 0.7700/it loss: 0.841
[[ 5.4268718e-02  4.0138055e-02 -2.9024613e+00  3.9428068e-04
-1.0965415e-03 -1.1796508e-03]]
Epoch: [ 1] [   10/ 4590] time: 0.7210/it loss: 0.654
[[ 5.4592371e-02  4.0351395e-02 -2.9127421e+00  2.6452739e-04
-9.6347183e-04 -1.3487849e-03]]
Do you think this 6-dof pose is right?Then I test the pose_net，its result to be the same pose between different images,like that:
Progress: 1/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
Progress: 2/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
Progress: 3/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
Progress: 4/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
Progress: 5/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
Progress: 6/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
Progress: 7/4071
[[ 5.5594608e-02  4.1611228e-02 -2.9045382e+00 -2.4940830e-04
7.8899920e-04  1.1408930e-03]]
I check out the input, the inputs is correct, they are different image, but the result is same. Do you have some idea for this problem?

Does the depth map look reasonable?


Show number of results (when using filter)

When using the filter, the number of results/hits is not shown.
(Feedback from WG meeting 2023-06-06)
This also applies to the complete list. During the DARIAH annual event in Mai 2022 a visitor didn't see the scroll bar and asked if there were only 15 courses in the database.
Always showing the number of results will solve both.

agreed.
we could implement a line at the bottom of the list that says
showing X entries out of Y
and include an icon (like << 1 2 3 >>) that is clickable to show more results

@PixlTracer

When implementing it, I would suggest to show it at the top, so that the user sees it, directly after applying the filters.
What you are suggesting is pagination? Did you notice that currently all the results are shown, without pagination? Are you suggesting to change this?


Port Visualization - Correlation of weekly deaths between situations

Port http://vis.scrc.uk/scotland/situation-correlation-2/situation-correlation-2.html into the new platform.

Done.


Cannot refetch user data once logged in

How do we refetch an user once their state has changed to logged in?

Just like you would invalidate any query of react-query, by invalidating its key.
Here's the key of the useUser() query: https://github.com/alan2207/react-query-auth/blob/master/src/index.tsx#L37 ([authenticated-user])
so queryClient.invalidateQueries(["authenticated-user"]) should do the trick here.
See also https://tanstack.com/query/v3/docs/react/guides/query-invalidation

A small repo reproducing the issue would help a lot understanding what's going on

I tried whatever you sent and it worked for me. Great work, keep going!

From: Mehdi Achour @.>
Sent: Friday, May 5, 2023 10:35 PM
To: alan2207/react-query-auth @.>
Cc: Thanvir Ibrahim @.>; Author @.>
Subject: Re: [alan2207/react-query-auth] Cannot refetch user data once logged in (Issue #27)
A small repo reproducing the issue would help a lot understanding what's going on
—
Reply to this email directly, view it on GitHubhttps://github.com/alan2207/react-query-auth/issues/27#issuecomment-1536541598, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6JT7DDIJ2UPLYWXF66WJQLXEUXO7ANCNFSM6AAAAAAWIXHHZU.
You are receiving this because you authored the thread.Message ID: @.***>


MSID: 98521 Version: 1 DOI: 10.1101/2<IP_ADDRESS>0860

MSID: 98521
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>0860
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=98521
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0860

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/98521v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>0860
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/98521/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c18) has a publication-type='other'. Is that correct?
warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c21) has a publication-type='other'. Is that correct?
warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c25) has a publication-type='other'. Is that correct?


Fails to parse www.uberspace.de

Seems to be an issue with the following lines:
				if (parts.Count == tldRule.LabelCount)
				{
					return null;
				}

// Uberspace : https://uberspace.de
// Submitted by Moritz Werner<EMAIL_ADDRESS>uber.space
*.uberspace.de
is a part of the publicsufflix list, and marked as TLD


Add support for declaring component metadata rules in settings

Context
This pull request builds on top of #14854 .
In a similar fashion to repositories, settings may declare "global"
rules which are applied if, and only if, a project doesn't declare
any specific component metadata rule.
There are three different modes for rules:

prefer project rules: this is the default, if a project declares
component metadata rules, then they are used instead of the settings
rules
prefer settings rules: if set then any rule declared in a project
is going to be ignored and a warning is issued, explaining what is
declaring a rule
fail on project rules: similar to the previous case but failing
instead of warning

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


Organize in folders by show name

So after url mirrors stopped working and getting "last update failed" error I switched to magnet links. Downloading is now working just fine but downloaded episodes are no longer organized in folders by their show name, they remain in their original folder instead.

My Transmission setting is following

Could you please tell me if I am doing something wrong or if this an issue of Catch? Thank you
//and yes, I've already tried to reinstall both Transmission and Catch I do have checked the Organize in folders by show name option in Catch setting :)

The organize setting doesn't work if you have magnet links and "open automatically". If you disable "open automatically" magnets will be organized in folders but saved as .webloc files that don't get picked up by Transmission watch, so you'll have to.. open them manually :)

Hello, thx for quick feedback. Is there any other solution that will remain
the possibility of automatic downloading and organizing? Like using
utorrent instead of Transmission maybe?
--
Lukas
Sent with Airmail
Dne 27. října 2016 v 10:10:38, Giorgio Calderolla<EMAIL_ADDRESS>napsal/a:
The organize setting doesn't work if you have magnet links and "open
automatically". If you disable "open automatically" magnets will be
organized in folders but saved as .webloc files that don't get picked up by
Transmission watch, so you'll have to.. open them manually :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mipstian/catch/issues/133#issuecomment-256575968, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AWBg4XoJ-YDC7HlG_ZMt7rXDn6wsbVY0ks5q4Fx-gaJpZM4KiAqb
.

Not that I know of. But you can make up for the organization part by using a media player app that does that automatically regardless of folders. I use one called Infuse for example.


[bugfix] ignore gitkeep on first model mapper

Ignore gitkeep on creating models in config/elasticsearch.js

thanks a lot


codecov.yml: add comments to the PR

… to make codecov more visible

@lucasgarfield @regexowl that comment is not what we want I guess, but it might work as you expected once this is merged :-D

Sounds good to me! Looking forward to see coverage reports again :rocket:
I've dug through frontend a bit - this is how the codecov config looks like: https://github.com/osbuild/image-builder-frontend/blob/main/codecov.yml and this is how the comments looked like when the codecov in frontend worked: https://github.com/osbuild/image-builder-frontend/pull/987#issuecomment-1458115047
Not sure if it's helpful in any way, but hey - maybe for reference or so :sweat_smile:

I've never find it useful :stuck_out_tongue:

I've never find it useful 😛

Tests in general or coverage reports 😅🙃
I'm motivated to make them useful


About evaluateGT mesh

Hello, I have a simple question.  The grid in ScanNet dataset is incomplete and has many holes; I wonder if this will affect the generated grid and its evaluation of Acc and other metrics


Actions: New org level CI/CD admin role to enable management of Actions settings

Summary
Previously, the ability to manage CI/CD and package management was limited to organization administrators which resulted in a high burden on these individuals or teams. Organization administrators can now delegate CI/CD and package management-related controls to other users and teams.
Intended Outcome
Today, many customers are overburdening their Git admins by also making them into CI/CD admins, due to their only being one permission. Others are having to take their CI/CD admins and make them 'global GitHub Admins' which, given the ever-growing functionality, in GitHub is a significant scope for their role. Each org admin account has a large blast radius if compromised, so reducing the number of Org admins and having the right Role Based Access Controls (RBAC) in place is top of mind for a lot of customers.
How will it work?
We will provide a series of fine grained permissions focused on providing permissions to manage settings and configurations for CI/CD at an organization level. These settings include:

Actions General Settings
Actions Runners
Actions Runner Groups
Organization Actions Secrets
Organization Actions Variables
Actions Packages

Organization admins can use these setting when creating a Custom Organization Role for individual Organization Members or Teams.
We will use the work by the authorization team that allows organization admins to create and assign Custom Organization Roles.

🚢 This has shipped: https://github.blog/changelog/2024-03-06-actions-fine-grained-permissions/


Grouping/filtering hosts by label

It would be useful to be able to filter and/or group the hosts on the InfraStructure/Hosts page by host labels. For example, if I have a "role" label defined on some hosts, I would like to group all the hosts that have the same value for the "role" label into a visually distinct group. Another example would be to only show hosts that have a specific label and value combination. Simple globbing on the value would be nice to have.

+1 I am going through this right now in our infrastructure testing environment. Lots of machines very cluttered.

:+1:

This is actually a duplicate of https://github.com/rancher/rancher/issues/1824


Include what you use for library and tests

Summary:
We need to review all of the code and remove all the overincludes.
For tests, it's not clear to me that we want to have minimal includes.  The advantage of having the broad library include is that it checks interactions;  the advantage of including what you use is that it shows you what needs to be included and will be a whole lot faster.
I missed some tests when I fixed #236.
Description:
Some of the tests and most of the header files include more headers than just the one it needs.
Current Version:
v2.9.0

@bgoodri or @thelseraphim, do you know how we could run iwyu on header files and get meaningful output?
https://github.com/stan-dev/stan/wiki/include-what-you-use
We don't want to run it on the big include files: stan/math/{prim, rev, fwd, mix}/{scal, arr, mat}.hpp, but we want to run it on all the include files past that. I'm not even sure how to call it on one file.

I don't know how to prevent iwyu from running on meta-headers, but you can just ignore the output for those files. It often gets confused by Eigen.
find stan/math/ -name '*.hpp' -print0 | parallel -0 -j8 make -k -j1 {}-test CC=iwyu "&>" {}_iwyu.out
find . -name '*_iwyu.out' -print0 | xargs -0 tar -rf /tmp/iwyu.tar
gzip /tmp/iwyu.tar
find stan/math -name "*_iwyu.out" -type f -print0 | xargs -0 /bin/rm -f

I figured out how to use iwyu on our header files automatically, if there is still interest?
Take a look at this output:
peter@gtower:~/stan/math$ make test-iwyu
./runiwyu.sh -Xiwyu --check_also='*hpp' -Xiwyu --no_fwd_decls -std=c++1y -pthread -D_REENTRANT -Wno-sign-compare      -I lib/tbb_2019_U8/include -O3  -I . -I lib/eigen_3.3.3 -I lib/boost_1.72.0 -I lib/sundials_5.1.0/include -O0 stan/math/mix/fun/typedefs.hpp 2>&1 | tee tmp_iwyu_output | grep -q "has correct #includes/fwd-decls" || cat tmp_iwyu_output
./runiwyu.sh -Xiwyu --check_also='*hpp' -Xiwyu --no_fwd_decls -std=c++1y -pthread -D_REENTRANT -Wno-sign-compare      -I lib/tbb_2019_U8/include -O3  -I . -I lib/eigen_3.3.3 -I lib/boost_1.72.0 -I lib/sundials_5.1.0/include -O0 stan/math/mix/functor/grad_hessian.hpp 2>&1 | tee tmp_iwyu_output | grep -q "has correct #includes/fwd-decls" || cat tmp_iwyu_output

stan/math/mix/functor/grad_hessian.hpp should add these lines:
#include <ext/alloc_traits.h>                          // for __alloc_traits...
#include "Core"                                        // for Matrix, DenseC...
#include "stan/math/fwd/core/fvar.hpp"                 // for fvar
#include "stan/math/rev/core/grad.hpp"                 // for grad
#include "stan/math/rev/core/nested_rev_autodiff.hpp"  // for nested_rev_aut...
#include "stan/math/rev/core/var.hpp"                  // for var

stan/math/mix/functor/grad_hessian.hpp should remove these lines:
- #include <stan/math/fwd/core.hpp>  // lines 4-4
- #include <stan/math/prim/fun/Eigen.hpp>  // lines 5-5
- #include <stan/math/rev/core.hpp>  // lines 6-6
- #include <stdexcept>  // lines 7-7

The full include-list for stan/math/mix/functor/grad_hessian.hpp:
#include <ext/alloc_traits.h>                          // for __alloc_traits...
#include <vector>                                      // for vector
#include "Core"                                        // for Matrix, DenseC...
#include "stan/math/fwd/core/fvar.hpp"                 // for fvar
#include "stan/math/rev/core/grad.hpp"                 // for grad
#include "stan/math/rev/core/nested_rev_autodiff.hpp"  // for nested_rev_aut...
#include "stan/math/rev/core/var.hpp"                  // for var
---
... [lots more output]

Here I tweaked mix/fun/typedefs.hpp so I could give an example of a file that iwyu wouldn't flag.
You can see it complaining about stuff in mix/functor/grad_hessian.hpp.
It wants use to add "stan/math/fwd/core/fvar.hpp", but <stan/math/fwd/core/fvar.hpp> works too, so we don't need to switch to relative-includes to keep iwyu happy or anything like that.
There are some issues with Eigen, but they might be managable.
I added this target to make/tests:
############################################################
#
# Target to verify header files within Stan include
# as little as possible
##
IWYU_TESTS := $(addsuffix -iwyu,$(call findfiles,stan,*.hpp))

%.hpp-iwyu : %.hpp
	./runiwyu.sh -Xiwyu --check_also='*hpp' -Xiwyu --no_fwd_decls $(CXXFLAGS) -O0 $^ 2>&1 | tee tmp_iwyu_output | grep -q "has correct #includes/fwd-decls" || cat tmp_iwyu_output

.PHONY: test-iwyu
test-iwyu: $(IWYU_TESTS)

That's not production quality, but it demonstrates the idea I think.
Basically "make test-iwyu" delegates to "make stan/math/prim/err/check_nonnegative.hpp-iwyu", and the compile command for that is to invoke iwyu and check the output. If the output includes "has correct #includes/fwd-decls" then we throw away the output. If the output does not include that phrase we print it out.
"--check_also="*hpp"" because iwyu by default only gives output for things that look like cpp files.
"--no_fwd_decls" because by default iwyu prefers forward declaring things to include the headers for them, and we prefer to include headers.
runiwyu.sh is just:
#!/bin/bash

../include-what-you-use/build/include-what-you-use $@

I had to compile iwyu locally because the version in my distro's repositories was too old to support the --no_fwd_decls argument.

Thanks for looking into this.
I think some of these might be dangerous because of order-of-include issues.  That's not being preserved, is it?
The bigger issue is which of those headers is better for understandability and longer-term maintainability.  This is directly related to the level of includes.  It's much much easier and more maintainable to just include the whole of rev/core.hpp than to cherry pick exactly what's needed.  For example, the suggested replacement includes two header files, "Core" and <ext/alloc_traits.h>, that I've never heard of.  And nested_rev_autodiff.hpp is relatively obscure as a direct include.

iwyu prefers forward declaring things over including the headers for them, and we prefer to include headers.

Any idea why?

Looks neat! But yeah along with Bob my concern is that it's kind of toilsome to try to get exactly the right headers need for each header. I remember working on the gp_exp_quad stuff and spending like 2-3 hours banging my head on the keyboard trying to get the includes right. including a top level header instead makes things a lot easier
If you are interested in adding some tooling to stan I think it would be v cool to have easy access to fuzzers, static analysis tools, and sanitizers.

Any idea why?

Something about an old version of the google style guide. I didn't really look into it.
The "Core" header is Eigen/Core ... I don't know why its just called Core. That can actually be fixed with a thing iwyu calls an include mapping. alloc_traits is a new one on me as well.
I guess I should clarify I'm not suggesting anything. As far as I'm concerned, now that their are kinda-sorta-working instructions for how to use iwyu attached to this ticket, that's mission accomplished.
If we wanted to actually use this ... it would be a mistake to try to add it to the build process. If anything someone might want to use it to look for stuff and then fix it manually. So for example, plain_type includes itself; and apply_vector_unary uses is_container but doesn't (directly) include it. I'm not even suggesting that.

Even the header tests can be challenging, because of the prim vs. autodiff distinction.  I wound up having to include more than I'd like there for some functions.  That's sort of the opposite problem, though.


rustfmt fails to format types with doc comments

This issue appeared while using rustfmt through the cargo-expand tool.
An issue created on the cargo-expand repo has been closed in order to re-open it here since the bug is thought to reside on the rustfmt side according to @dtolnay .
Link to former issue: https://github.com/dtolnay/cargo-expand/issues/111
There is a very similar issue that has already been fixed at rustfmt: https://github.com/rust-lang/rustfmt/issues/3981
You can reproduce this bug (via cargo-expand) with the following code:
const _: () = {
    /// Breaks cargo-expand's formatting
    struct A;
};

This bug is severe for debugging our project as it causes parts of the expanded code to have no formatting at all as can be seen in the following picture.

Thanks for reaching out with the report, but I fear this issue isn't really yet actionable. When you get a chance would you please break this down into a minimal reproducible input that can be directly fed to rustfmt? That'll make it much easier for someone here to take a look vs. having to install and execute additional tools and try to get familiar with expected vs actual behavior.
For what it's worth, generated code typically does not play well with rustfmt, in many cases because the explicit decision was made long ago for rustfmt to bail in cases where it's impossible to format a given construct within the max_width constraints. This happens a lot in cases with long call chains, closures with large bodies as args, and multiple hierarchical blocks.
The screenshot of code is not decipherable, but given the wall of text and the described behavior i'd not be surprised if that's what's happening

Hey @calebcartwright thank you for your response.
I don't think it is connected to the timeout or bailout what you just described.
Also I provided a minimum example above that fails with cargo expand, e.g. everything is pasted in one line instead of properly be formatted into multiple lines.
I will post the minimum example above here again: Run cargo expand on the following snippet.

const _: () = {
    /// Breaks cargo-expand's formatting
    struct A;
};

And it will be formatted to:
const _: () = { # [doc = " Breaks cargo-expand's formatting"] struct A ; };

I opened https://github.com/dtolnay/cargo-expand/issues/111 before and @dtolnay told me to open an issue for rustfmt since they believed that it is very unlikely to be a problem with cargo-expand.

@Robbepop - to be clear, I was asking for a minimal snippet for rustfmt that demonstrates the behavior, so that information would be inline and more readily available to folks here, make it easier for rustfmt contributors to include test cases, and to avoid needing rustfmt contributors to download and run cargo expand just to be able to investigate.
To be honest I'm still not 100% certain whether we've gotten to that point, but if I understand you correctly that the code in question is your last snippet:
const _: () = { # [doc = " Breaks cargo-expand's formatting"] struct A ; };

then i'd be curious to know what version of rustfmt you are using, and what if any configuration options you may have overridden, because this formats fine for me producing:
const _: () = {
    #[doc = " Breaks cargo-expand's formatting"]
    struct A;
};


Improvements to Conversation Transfer : Cold Transfer

Hi,
I am using the flex template and I have requirement to remove the transferring agent only when the transfered agent accept the newly created transfer task. As I can see currently it is removing the transferring agent as soon as the new transfer request is created. Any way to get this done ? Thanks in advance

Hi @mster429! This should be possible. When performing a cold transfer, the plugin provides a removeFlexInteractionParticipantSid parameter to the invite-participant serverless function to remove the existing participant during transfer. You would need to modify this logic to not remove the participant at this time, and instead use the separate remove-participant serverless function upon task acceptance.

Hi @dremin ,
Thanks for your reply. But I am wondering on how to get the task status. Do I need to add custom code there or can I use the existing code and do some modifications to get it done. As I understood we are not checking the task status in the conversation transfer routine anywhere

Hi @mster429, there are a few ways you can react to task/reservation acceptance, I'd suggest one of these:

From the plugin side, using a before/after AcceptTask action listener using the flex hooks framework
From the server side, using a TaskRouter event callback for the reservation.accepted event

Hi dremin,
I could implement this using the action listener framework. Thanks for your support


GUI Apps That Are Defaults With Linux Distro's Don't Work.

Version
OS Build 19044.1865
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 22.04LTS
Other Software
No response
Repro Steps
https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
Follow all instructions posted on the above link.

The image above has ABSOLUTELY NO Windows 10 based Linux GUI images (Microsoft only shows a picture of their useless Windows 11 Operating System having Linux GUI apps installed and running fine).
It shows only Windows 11's GUI feature working.
When I took that screenshot, it didn't get the Start Menu.
The thing is, GUI is actively being refused.
I have absolutely no Linux applications in my Start Menu (please see screenshot below), although all distro's come with Gimp and Gedit by default, this is a fact (except for Arch or Debian, but correct me if I'm wrong).

Expected Behavior

GUI applications to actively accept remote connection to the Linux distro. 2. Expect WSL 2 GUI's feature to actually work. 3. Linux GUI apps to actually show in the Start Menu.

Actual Behavior
When I attempt to run either Gimp or Gedit:
Cannot open display: (When I ran gimp)
And;
gedit
(gedit:43): Gtk-WARNING **: 09:57:37.387: cannot open display: "Insert.IP.Address.Here" (replace "Insert.IP.Address.Here" with your systems IP Address).
Diagnostic Logs
Not applicable as I have no idea where they are stored.

As noted Prerequisites section of the tutorial you linked:

You will need to be on Windows 11 Build 22000 or later to access this feature.

Support for Linux GUI applications is not directly available in Windows 10.
There are "unofficial" solutions for running Linux GUI applications on WSL on Windows 10:

I believe the quickest and easiest solution is to utilize xrdp in Linux, install Xfce4, and connect to your distribution using Windows Remote Desktop Connection.  See here for the steps to do this on Ubuntu 20.04.  I believe it's the same for 22.04, but I haven't set it up there just yet myself.

Third-party X servers for Windows as noted here.  Note that in addition to the steps in that answer, you'll probably need to open a firewall port to allow network communication between Windows and WSL2.

If you have any problems getting these running, you might want to ask in either:

A discussion here in this repo.
Ask Ubuntu for Ubuntu-specific topics.
Super User for general topics.

Also to cover:

all distro's come with Gimp and Gedit by default

Distributions for WSL are typically more barebones in nature before they are designed primarily as developer environments, not full desktop environments.  The Ubuntu distribution for WSL, for instance, is based on Ubuntu Server, not Desktop, and does not include Gimp nor Gedit by default, although it's certainly possible to install them (and it sounds like you have).

Gimp and Gedit did come with my Ubuntu install by default.
I didn't have to install them.
All the Distro needed was an update after a full upgrade, and that updated everything in it.
I installed XFSR, after installing the Ubuntu Gnome Desktop environment.
When I started the xfsr service with sudo service xfsr start the startup was fine.
I used the Remote Desktop Connection app, entered all details correctly, the Distros IP Address in this case, it connected for a very brief amount of time.
After attempting to log in to the Xorg session (another session I installed), the connection dropped because it was actively refused.

It went into an irrecoverable state after I hit Enter to log in.

My remote connection always fails.

For f*** sakes:

Now its telling me I have an active connection to a remote desktop when I don't.

I can PROVE this.
I looked through the entire Windows Task Manager.

@NickDeBeenAIE  I don't know if you had a chance to read my answer I linked from Ask Ubuntu regarding xrdp (linked above), but running Gnome on WSL is a pretty advanced topic, and I don't recommend it for most users.
The main issue is that Gnome relies on Systemd, but Systemd and WSL aren't currently compatible.  Systemd requires that it run as PID1, but WSL's /init process needs to run as PID1 given the WSL architecture.
It's possible to work around this, as I demonstrate in that answer (at a very basic level), but doing it correctly is much more complex.  I also haven't tried it recently, and it's very likely that it requires additional effort in 22.04 that wasn't necessary when I did it in 20.04.
As mentioned above, if you need to use XRDP, I recommend Xfce4 as a "lightweight" desktop environment that doesn't rely on Systemd.

[!quote] I don't know if you had a chance to read my answer I linked from Ask Ubuntu regarding xrdp (linked above), but running Gnome on WSL is a pretty advanced topic, and I don't recommend it for most users. [!quote]

This is because it takes me to what looks like "the front desk" so to speak.

That was accidental. Didn't mean to do that.

When I followed the Gnome (Ubuntu) instructions to export Ubuntu shell:
 sudo export GNOME_SHELL_SESSION_MODE=ubuntu
sudo: export: command not found
So its probably going to be the exact same thing as another export command, because I only execute commands as sudo as in my experience with Linux distros.
Exporting as the normal user is never a good idea.
Following the last 2 instructions:
nsenter: cannot open /proc/21777/ns/time: No such file or directory
Failed to start xrdp.service: Transport endpoint is not connected See system logs and 'systemctl status xrdp.service' for details.

And just FYI, what you've gotten so many users like me to do, is lock ourselves out of the Ubuntu Desktop by posting that answer as it had the opposite effect on me.

@NickDeBeenAIE  As I said, I don't recommend it because it does change WSL behavior.  However, if three's a problem, with the proof-of-concept there, you should be able to recover by doing a wsl --shutdown.  That will remove the namespace and make sure that Systemd is no longer running.

Well isn't exporting a shell of anything a sudo thing?
I am attempting to install said Linux Distro in a VM, but its not fully installing as the installer crashes.
The VM service I'm using is VMWare Workstation 16 (non-commercial).
The last time I installed this on a Windows 11 install was after an AMD driver update.
Windows 11 as a result was complete s***, and failed to boot and repair.
So, I installed VMWare on my now Windows 10 install, and it made the screen flicker slightly, so I'm afraid of rebooting, because it did exactly the same thing when I had Windows 11.
I fear that VMWare has corrupt something critical.

WSL is shut down at this time and the feature is disabled.
Linux is better in a VM.

Found the perfect solution:

Install WSL 2 on Windows 10
Install your GUI application with apt-get (i.e. gimp)
Use MobaXTerm Free to connect to your WSL : https://mobaxterm.mobatek.net/
Call the Linux GUI application directly on the terminal


[1.12] Fix flaky test_pod_application_metrics test

High-level description
Fix flaky test_pod_application_metrics by getting the task's container ids and asserting the ids instead of checking for the number of running containers, which can fail assertions occasionally if previous tests' containers were not torn down completely or any other cases where other containers might be running at the same time.
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS_OSS-4571 test_metrics test_pod_application_metrics failed with 'Test should create 2 containers'

Checklist for all PRs

[x] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change: integration test change
[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

@mesosphere-mergebot label Ready For Review

@janisz @branden this is ready for review (backport of https://github.com/dcos/dcos/pull/4028)


Property source ordering incorrect if env var spring_profiles_active overlaps with requested profiles

The issue relates to the ordering of the returned property sources when using the native repository and the profiles of the server itself overlap with the profiles requested via REST.
For example suppose you have the following configuration files within the spring.cloud.config.server.native.search-locations directory:

application.properties
application-dev1.properties
service1-dev1.properties
service1-dev2.properties

Then if you start the Spring Cloud Config Server with the native profile enabled and issue the following command:
curl http://localhost:8080/service1/dev1,dev2|jq .propertySources[].name

You should (and do) get the following results:
"file:config-files/service1-dev2.properties"
"file:config-files/service1-dev1.properties"
"file:config-files/application-dev1.properties"
"file:config-files/application.properties"

However if you start the config server and set environment variable spring_profiles_active to include a profile also included in the curl request:
spring_profiles_active=dev1 mvn spring-boot:run

When you issue the curl request above you actually get the following results:
"file:config-files/service1-dev2.properties"
"file:config-files/application-dev1.properties"
"file:config-files/service1-dev1.properties"
"file:config-files/application.properties"

Notice that application-dev1.properties appears before service1-dev1.properties.
Interestingly the issue only seems to occur when the environment variable spring_profiles_active is set with a profile which overlaps with a profile supplied on a REST request.
Moreover the issue does NOT occur if the environment variable is set using uppercase (i.e. SPRING_PROFILES_ACTIVE) or as a system property (i.e. -Dspring.profiles.active=dev1). So either of the following server start commands will NOT have the same problem:
SPRING_PROFILES_ACTIVE=dev1 mvn spring-boot:run

mvn spring-boot:run -Dspring.profiles.active=dev1

I've created a sample repository which can be referenced to easily reproduce the described problem.

Is it still a problem with Finchley.RELEASE?

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Add default export to CJS

picocolors.browser.cjs and other cjs should have default export to be ready for bugs like https://github.com/postcss/autoprefixer/issues/1425
For instance, module.exports.default = module.exports will fix the case.

Good lord, those CJS compatibility issues are blowing my mind...


chore: remove unneeded nix configs

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1248  👈
#1247
#1246
#1245
#1244
#1243
#1242
main

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

Join @NathanFlurry and the rest of your teammates on  Graphite


Adds v5  new client subcommands

Specifically, CLIENT ID and CLIENT UNBLOCK.

@andymccurdy agreed - merging @RoeyPrat's PR to address that.


consolidate JS assets in templates

Each time a data point is selected in the eta-V plot, a callback is invoked by Bokeh to render the plot update template. The template contained several JavaScript assets that were already loaded in the original page template. This PR consolidates the required JS assets into the original eta-V plot template so that they do not need to be requested on each callback.

Testing on Nimbus shows a significant reduction in the load time for the lightcurve and source detail after clicking a source in the eta-V plot.


incorrect command in README.md please fix

./stargazers cockroachdb/cockroach --token=f87456b1112dadb2d831a5792bf2ca9a6afca7bc
Error: unknown command "cockroachdb/cockroach" for "stargazers"
Run 'stargazers --help' for usage.
failed running command ["cockroachdb/cockroach" "--token=f87456b1112dadb2d831a5792bf2ca9a6afca7bc"]: unknown command "cockroachdb/cockroach" for "stargazers"

the correct command seems
./stargazers  -r cockroachdb/cockroach --token=f87456b1112dadb2d831a5792bf2ca9a6afca7bc


Support spot output timeout config

Required for all PRs:

[ ] Updated associated README.md.
[ ] Wrote appropriate unit tests.

resolves #

/approve

/cherry-pick release/1.5-alpha1


Doc navigation header inactive for direct tutorial links

    There's an interesting (existing) problem here. If you navigate to any of the *existing* tutorials links (i.e. without any new default routes) whether the overview table or a tutorial directly:

https://swiftpackageindex.com/getstream/effects-library/main/tutorials/tutorial-table
https://swiftpackageindex.com/getstream/effects-library/main/tutorials/effectslibrary/getting-started

there is no way to navigate to other doc pages from here. The only working navigation link is back to the package page (or author) in the nav bar, since the tutorial pages don't have any sidebar to navigate.

This behaviour is different from when you navigate to a tutorials page via the docs. In that case the documentation drop-down still works and you can go back to the main (or whatever) documentation entry point that way.
Originally posted by @finestructure in https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/issues/2062#issuecomment-1275971969

The inactive one is missing the <div class="choices"> wrapper:

vs


Flatten attribute output

Right now, makesurface fillfacets outputs attributes as a sub-object:
{
  qt: qt,
  attributes: {
    attributename1: value,
    attributename2: value,
    ....
  }
}

For database updating, it seems as if a flatter structure will be beneficial:
{
  qt: qt,
  attributename1: value,
  attributename2: value,
  ....
}

cc: @ian29

Doing this looks like it may create a cascade of expensive refactors, going to handle inline for now.


Improve Parameter error messages

The error messages raised by Parameters are pretty inconsistent and often lack context.
For now with this PR I'm just seeking feedback on a utility I've added that builds a message supposed to prefix most of (if not all) the errors raised by Parameters. I've just adapted the type validation performed by Number to show the error messages emitted in various situations:

(I'd hope to get this into the 2.0 release.)

@philippjfr this is ready.

Thanks. Now seems like a good chance to make the error message a bit cleaner. Instead of ", not type <class 'str'>", can it be either ", not <class 'str'>", or ", not type 'str'", (my preference, I think)? I'm a bit confused why it comes out that way right now, as if I do "type('st')" I get "str", not the confusing version.

Yes that'd be a good idea! I won't have time to take care of that now though.

Ah, apparently Python only shows the __name__ of the type when used interactively, so it would be f", not '{print(type(str).name)}'" (yielding "not 'None'").


Type Narrowing in Object Literal Lookup for React

TypeScript Version:  3.9.2
Search Terms: type narrowing, react
Expected behavior:
A lookup in an object literal could narrow the type that is used as key to that object. That would help in React which does not allow switch in curly braces.
Actual behavior:
Typescript does not narrow the type which makes it impossible to use discriminated unions in object literals in React curly braces.
Related Issues:
No related issues found.
Code
import React from 'react'

type MessageType =
      | {
            type: 'EMAIL'
            subject: string
            message: string
      }
      | {
            type: 'MESSAGING'
            message: string
      }

const ContactComponent = ({ messageType }: { messageType: MessageType }) => (

            {{
                  EMAIL:

                              subject: {messageType.subject} // type narrowing does not kick in

,

                              message: {messageType.message}

,

,
                  MESSAGING:

                        message: {messageType.message}

            }[messageType.type]}

)

Output
import React from 'react';
const ContactComponent = ({ messageType }) => (React.createElement("div", null, {
    EMAIL: React.createElement("div", null,
        React.createElement("div", null,
            "subject: ",
            messageType.subject,
            " // type narrowing does not kick in"),
        ",",
        React.createElement("div", null,
            "message: ",
            messageType.message),
        ","),
    MESSAGING: React.createElement("div", null,
        "message: ",
        messageType.message)
}[messageType.type]));

Compiler Options
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "useDefineForClassFields": false,
    "alwaysStrict": true,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "downlevelIteration": false,
    "noEmitHelpers": false,
    "noLib": false,
    "noStrictGenericChecks": false,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "esModuleInterop": true,
    "preserveConstEnums": false,
    "removeComments": false,
    "skipLibCheck": false,
    "checkJs": false,
    "allowJs": false,
    "declaration": true,
    "experimentalDecorators": false,
    "emitDecoratorMetadata": false,
    "target": "ES2017",
    "module": "ESNext"
  }
}

Playground Link: Provided

All keys on the object literal are computed before it is indexed, so there are many ways to get runtime observable breakage by allowing this kind of type narrowing.

Ok then I guess this cannot be improved, too bad.


what is means dacc.first and dacc.second

what is means dacc.first and dacc.second

dacc.first is the fine-grained sentiment classification accuracy. dacc.second is similar but for the binary case.


[Feature Request] Implementing Route filtering by prefix

I generally think that filtering by route prefix would be a better option, since I could actually want to generate a yaml file just for a specific subset of my api routes (i.e. /api/v2 and exclude /api/v1), even though they don't necessarily have any different middleware. Besides, as fare as I notice, the prefix option is currently unused.
I can gladly implement it, I'm just asking before submitting any pr since you may not agree that filtering by prefix would be a better option (for whatever reason).

Yes, you can go for sure!


Use the XDG Base Directory Specification

Right now the directories are hard-coded for each OS.
I really like that the directories that are currently used – even though hard-coded – adheres to the standard directories of each OS:

The macOS Standard Directories
I don't use Windows, this is the best I could find.
The XDG Base Directory Specification as a fallback.

It would be really cool if the paths were first checked using the XDG Base Directory Specification and fall back to the OS-specific locations.

$HOME for the home directory
$XDG_DATA_HOME for the local data directory. $HOME/.local/share by default.
$XDG_CONFIG_HOME for the config directory. $HOME/.config by default.

The downloads and installation directory are not part of the specification but can be defined as custom directories and can already be configured using downloads_location and installation_location.
As an alternative/bonus it would also be cool if the local data and config directories could be changed using environment variables – $BOB_DATA_HOME and $BOB_CONFIG_HOME maybe?

Bob used to use XDG via dirs, but I eventually removed it due to #95
I currently have no intention of adding it back, maybe in the future but not now as it seems like effort for no reward.
Regarding the bob env vars I am not a fan of this for several reasons:

Config file already exists(ofc you can't change the config file location this way but it is what it is) and adding another way of configuring bob seems a bit bloaty for me like how in cpp you can do 1 thing in 10 different ways.
To have the env vars persistent the user will have to interact with his system way too much which I am not really a fan of.

I can reconsider this at some point but not now.

@MordechaiHadad How about a single environment variable to be able to change the location of the config file? I think that would be a reasonable compromise 🤔
It won't change way of configuring bob and it would be completely optional and interaction with the system would be marginal.
As I said it would be cool to be able to do that as a "nice to have", but if that's not an option I can close the issue.

@RobertAudi that is a good idea I agree

@RobertAudi Added $BOB_CONFIG env var

@MordechaiHadad Just checked it out and it works perfectly. Thanks a lot!


Funds have not been received to the Firefly wallet

Issue description
I made an iota transfer from a Binance wallet almost a day ago. Funds have not been received to the Firefly wallet
Firefly version
1.2.0
OS details
Windows 7
Can the issue be reliably reproduced?
Yes
Steps to reproduce the issue
Cancellation of a transaction or transfer of funds to a wallet
Expected behaviour
Cancellation of a transaction or transfer of funds to a wallet
Actual behaviour
Cancellation of a transaction or transfer of funds to a wallet
Errors
1

Hello,
I think it is no issue with the Firefly wallet. You should contact the Binance support to get this done. You can check your address with the explorer (https://explorer.iota.org/mainnet). When the balance is not on the address then the exchange hasn´t done the transfer yet.

Hello, I think it is no issue with the Firefly wallet. You should contact the Binance support to get this done. You can check your address with the explorer (https://explorer.iota.org/mainnet). When the balance is not on the address then the exchange hasn´t done the transfer yet.

I dont think so, i hve the same problem even the exchnge did it, and even restoring my wallet with the seed phrase. The only thing that coulb be interfering is the firewall, because the wallet is always disconnected, not sure...let's check it..

@Soulparaxis Have you received the tokens from Binance in your Firefly wallet? If not what's the status of the network? Is your wallet connected to the network?

I have the same issue. The network is disconnected and I get the following error message: errornodechrysalisNodeInactive

@Soulparaxis Have you received your tokens?

Yes i did, thank you so much for your follow-up!
El El jue, 23 dic 2021 a las 0:56, MiKeF05 @.***>
escribió:

@Soulparaxis https://github.com/Soulparaxis Have you received your
tokens?
—
Reply to this email directly, view it on GitHub
https://github.com/iotaledger/firefly/issues/1650#issuecomment-999947121,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWUWKTO6LQCGIQ6VQ7DXXJDUSJQSBANCNFSM5IWWW42A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Same with me!!! I sent from bitpanda on 12/22/21 and I didn't receive anything in my wallet?!
See picture below for details:

Your address starts with atoi... This is an address for the testnet. You have created a developer profile which is connected to the testnet. You need to create a new profile and restore your profile without checking the developer profile.


Reduce memory consumption while querying corgi in subscription

Also refined/simplified various functions in corgi module

Updated in OLCS-463 some additional context. Plan to merge it tomorrow and give it a try and see if problem persists.
Have to take into account the worst case scenario e.g., when a subscription has thousands or even tens of thousands of components. Will prob add some patches to cover the case in next few days.


Release docs pdf on hydra

PDFs here: https://hydra.iohk.io/build/4042241

bors merge

One thing though: what is a link to the latest build (without job number).  This would be useful to include in a README.md file.

Thanks


[Feature] More badges and Country Enum & Seeder

Feature

Added 2 more badges for the project status
Fully prepared CountryCode Enum
Added seeder for Countries

Codecov Report
Base: 98.46% // Head: 98.92% // Increases project coverage by +0.46% :tada:

Coverage data is based on head (e5dedf9) compared to base (1e686e4).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##               main       #4      +/-   ##
============================================
+ Coverage     98.46%   98.92%   +0.46%
- Complexity       50       72      +22
============================================
  Files            19       27       +8
  Lines           130      186      +56
============================================
+ Hits            128      184      +56
  Misses            2        2

Impacted Files
Coverage Δ

src/Http/Controllers/LanguageController.php
100.00% <100.00%> (ø)

.../Http/Requests/Language/LanguageDestroyRequest.php
100.00% <100.00%> (ø)

...rc/Http/Requests/Language/LanguageIndexRequest.php
100.00% <100.00%> (ø)

src/Http/Requests/Language/LanguageShowRequest.php
100.00% <100.00%> (ø)

...rc/Http/Requests/Language/LanguageStoreRequest.php
100.00% <100.00%> (ø)

...c/Http/Requests/Language/LanguageUpdateRequest.php
100.00% <100.00%> (ø)

src/Http/Responses/LanguageResource.php
100.00% <100.00%> (ø)

src/Models/Language.php
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


lib.data: implement equality for View, reject all other operators.

This is an alternative of #964 for discussion purposes.

If accepted, this PR should also add a documentation change to data.rst.

We have discussed this PR, which is a breaking change of a feature that was never released nor specified one way another in an RFC, on the 2023-11-27 weekly meeting. The disposition was to merge.


 I am going to combine these jsons using MultiZarrToZarr.
Below is an example of CanESM5.
'./jsons/ts_Amon_CanESM5_historical_r19i1p1f1_gn_185001-201412.nc.json',  './jsons/ts_Amon_CanESM5_historical_r19i1p2f1_gn_185001-201412.nc.json',  './jsons/ts_Amon_CanESM5_historical_r8i1p2f1_gn_185001-201412.nc.json',  './jsons/ts_Amon_CanESM5_historical_r17i1p2f1_gn_185001-201412.nc.json',  './jsons/ts_Amon_CanESM5_historical_r11i1p2f1_gn_185001-201412.nc.json',  './jsons/ts_Amon_CanESM5_historical_r5i1p1f1_gn_185001-201412.nc.json', ...
Each json encodes an ensemble member r##i#p#f#, which has dims (time, lat, lon). The member info is marked as variant_label in the zarr attributes:
.zattrs: "{ "CCCma_model_hash": "7e8e715f3f2ce47e1bab830db971c362ca329419", ......, "tracking_id": "hdl:21.14100/d1ffa59d-8d7b-4cef-9a9a-7c75cdacebe1", "variable_id": "ts", "variant_label": "r19i1p1f1", "version": "v20190429" }"
Specifying concat_dims=["variant_label"] fails this task.
fnames = glob('./jsons/*CanESM5*.json')
json_files = ['file://' + os.path.abspath(fname) for fname in fnames]
mzz = MultiZarrToZarr(
    json_files,
    concat_dims=["variant_label"],
    identical_dims=['lat','lon','time'],
    remote_protocol='file'
)
out = mzz.translate(None)
with open('ts_CanESM5_historical_combined.json', 'wt') as fp:
    json.dump(out, fp)

I could use xr.open_mfdataset to open these jsons by assigning a coord to each member.
def add_coord(ds):
    ds.coords['member'] = ds.attrs['variant_label']
    return ds

#fname is a list of json files.

m_list = []
for js in tqdm(fnames):
    with open(js) as f:
        m_list.append(fsspec.get_mapper("reference://",
            fo=json.load(f), remote_protocol="file",
            remote_options={"anon": True}))

ds = xr.open_mfdataset(m_list, combine='nested', decode_times=False,
                       engine='zarr', coords='minimal',concat_dim='member',
                       data_vars='minimal', compat='override',preprocess=add_coord)

I am wondering if there is a similar argument that let MultiZarrToZarr use attribution to concat files?

have a look at the coo_map parameter for this. In particular, coo_map={"member": "attr:variant_label"} might do what you're looking for.

It worked! Thanks!


The example in the readme doesn't use mailcheck anymore

The url to kickstarter in the readme under https://github.com/mailcheck/mailcheck#what-does-it-do doesn't use mailcheck anymore i didn't get email suggest

Here is an example for anyone that wants to test it out quickly:
https://codepen.io/ianneub/pen/BajKKBy

Hey, this library is no longer maintained.
I rewrote it entirely and update it for 2022 and onward: https://github.com/ZooTools/email-spell-checker

💙 Written in TypeScript and removed jQuery
✅ Fixed a couple of bugs like this or this
🚀 Reduced bundle size to <2KB.
✨ Update TLDs (69+) and added modern startup domains (like .io, .so, .xyz or .dev)
🙏 Implemented suggestions that people made in this repo that were ignored.

Link: https://github.com/ZooTools/email-spell-checker
Come check it out and give it a ⭐ for the effort.


[Feature]: Don't stack new tradeable loot

Describe the feature
After a recent m+ run I got an item I already had in my bags but only the new one was tradeable. Would be a nice QoL change if the new one would show in recent items instead of stacking with the old one. Now you have to go for separate bag view to find the slot the new item is in.
Describe the implementation
Stated above.

Oh sorry for duplicate didn't see #346


[CI] Fix Github Action

Currently, all GitHub actions on the forked repo seem to fail with similar error messages. Investigate and fix.

All the actions are fixed. Code Coverage badge is also fixed.

PR - Black
PR - UnitTest
PR - Mail Credentials
PR - Code Coverage


Adds tests for some client handlers

Also, restructures the test suite classes to use them across client and server tests.
Related to #24

Codecov Report

Merging #27 into master will increase coverage by 4.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #27      +/-   ##
==========================================
+ Coverage   13.85%   18.07%   +4.21%
==========================================
  Files          12       12
  Lines         166      166
  Branches        1        1
==========================================
+ Hits           23       30       +7
+ Misses        143      136       -7

Impacted Files
Coverage Δ

rpc/src/main/scala/client/implicits.scala
100% <0%> (+100%)
:arrow_up:

...c/main/scala/client/handlers/ChannelMHandler.scala
100% <0%> (+100%)
:arrow_up:

Continue to review full report at Codecov.

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


Article Property search pagination broken

The pagination for the article properties doesnt work. it only shows 1 page even if there is more.
So you cant choose your properties if you have too many because you can only see the first page.

I also have this issue which is a huge problem.

We are currently fixing this for the 6.2.1. This should be fixed in the next couple of days.
https://issues.shopware.com/issues/NEXT-8764 here is the ticket for this (only german though)
We have experienced this behavior in some modules and will try to fix it globally.
Sunny regards
Pantrtxp

Awesome, thank you @pantrtxp 👍


Dynamic rows with children that change size post-render are not re-measured

Ran into an issue with images inside the dynamic rows.
Images are rendered as placeholders first. When the asset is loaded, the image component is re-rendered to correct dimensions. However, as the image component is a child of the virtual row, the row and the virtualizer are unaware of the size change.
This causes either a larger-than-intended gap between the elements, or an overlap.
I was able to mitigate it by

Saving the row container node (same that is attached to measureRef) to a separate ref.
Drilling down an onLoad callback prop
Calling measureRef manually with the node saved on step 1 inside onLoad.

It feels a bit cumbersome though. I wonder if this could be resolved inside the library, e.g. by having a resize observer on select nodes. In DIY testing of that idea without touching the library code though I ran into lots of re-rendering that decimated the performance.
I understand that maybe there is no good one-size-fits-all solution for this. In this case, maybe we could at least improve the ergonomics of re-measuring individual rows somehow.
Or maybe there is a way to handle this case already and I'm just unaware of it. keyExtractor doesn't seem to be the solution here because nothing about the row itself changes.

Re-tried the resize observer solution. Attaching both observer and measureRef in a way that measureRef is always called first seems to resolve the performance issues. When scrolling and components are initially mounted, measuring happens directly through measureRef and observer callback no-ops. When a mounted component resizes, measurement is updated through the observer callback.
I guess this handling could be left to the implementation author, although we could add a warning and an example to the docs.

@khovansky-al can you share your code, I am having a similar case where everything is dynamically changing and need to handle all updates manually.

Have a look at https://github.com/tannerlinsley/react-virtual/issues/28 there i explain bit more caveats with measureRef and using ResizeObserver.

I really like the following solution from @piecyk and would love to see it in this library somehow!
https://codesandbox.io/s/usevirtualresizeobserver-04-11-2021-75ye2?file=/src/useVirtual.tsx
it comes from somewhere in the little rabbit hole that @piecyk links (here's another step in the rabbit hole)
the codesandbox is from his other comment here
the thing that gives me the most discomfort is having to write a wrapper "useVirtual" with a "import useVirtual as useVirtualImpl". but yeah if i ever have some time and energy i think i'd like to support this as some kind of opt-in behavior like much of the rest of how use-virtual is built.


Configurable Quake Mode window width, to accommodate ultra-wide resolutions

Summary
Quake Mode (https://github.com/microsoft/terminal/pull/9274) provides, well, a Quake-like console that appears on use of a global hotkey. This console window opens at the maximum width of the active workspace, however, creating usability issues on ultra-wide displays.
Consider a user sitting at the center of this screenshot:

Proposal
Allow for a user-configurable width, preferably in relative sizing units (to accommodate resolution changes).
Example:
{
  // ...
  "quakeMode.window.width": "50%"
}

So, IMO quake mode is more of an "easter egg" mode than anything else. If you want exactly the behavior of quake mode, then bind quakeMode. If you want some other behavior, then feel free to bind something else. I personally just use
{ "keys": "win+`", "command": { "action": "globalSummon", "monitor": "any" } },

which just activates the window where it is, without all the other "quake mode" hijinks. So you could bind that, and the window would still obey the normal initialRows, initialCols, etc. Does that seem like a reasonable solution?
(we've also got #9992 tracking "allow users to set settings per-window name", which would let users change the initialPosition, initialRows, etc for the _quake window).

LOL. Yeah, that makes sense.
@zadjii-msft, perhaps we can roll this into "per-window launch properties" where a launch size/initial width for _quake specifies magic?

This mode was communicated as such at Build 2021:

Quake Mode allows users to quickly open a new terminal window from anywhere in Windows with a simple keyboard shortcut.

I wasn't aware of the global summon action so I'll try that out. I'll be looking for positioning configuration of that window as well.
If the team consensus is that Quake Mode was designed to be a gimmick and not unlike how it was communicated at Build 2021, then feel free to close this issue.

Meh, yea, that's what we get when we try distilling a big release like this into two sentences 😆
There's actually quite a lot of configuration possible - see the docs for globalSummon

If the team consensus is that Quake Mode was designed to be a gimmick and not a useful feature.

This is not the team's consensus. An "easter egg" that is a specialization of a much more featureful feature is not "a gimmick" that was designed to be "not a useful feature."
Please assume positive intent when you're on this repository. :smile:

Thanks @DHowett no negative vibes intended. But I completely disagree with your characterization of Quake Mode as an easter egg. It's not communicated that way via official Microsoft comms channels.
@zadjii-msft's workaround is great, so no changes needed. Closing issue.

Thanks @DHowett no negative vibes intended. But I completely disagree with your characterization of Quake Mode as an easter egg. It's not communicated that way via official Microsoft comms channels. And "easter egg" implies "no support", hence my comment. Happy to be wrong there.
Regardless, @zadjii-msft's workaround is great, so no changes needed! Closing issue.

Sorry but how did you mannaged to adapt quake mode on ultra wide using the globalSummon directives ? I would like to open the quake mode at the middle of a really big screen with 50% width

@xinxilas I didn't. Wasn't worth the trouble.

Lol, ill try to use some custom globalsummon with without quake mode then 😂


Not all files showing in 4.0.0

I installed 4.0.0 and not all the files appear to be showing. When I mount with Google OCAML they're available but when mounting with Plexdrive they're not.  The only thing i'm noticing is there are duplicate directories on the ones that seem to have missing files.  Has anyone else seen this?

Thought this was fixed for 4.0. Will need more information as not everybody is seeing this problem.

Rclone Mount

Plexdrive mount

Going to need to get a dump of your database.
Sent from my iPad

On Jun 10, 2017, at 8:06 PM, hrc1079<EMAIL_ADDRESS>wrote:
Rclone Mount
Plexdrive mount
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

not the greatest linux user here.  What's the best way of doing that?

plexdrive.zip
I think this is what you're after.

Any ideas? The only workaround I can do at the moment is create a new directory and place the files in there.  I then re-pointed Sonarr to go to the newly created directory.  I tried deleting the problem directories and for some reason they just remained on Plexdrive.  Deleted the database and re-cached didn't solve the issue either.

Update to 4.1.0-latest-nightly


Cannot get image for Apple M1 chip

I have downloaded the layerdiffuses nodes, and the workflow does not throw runtime error.
However, I cannot get image from the workflow

And after loaded the checkpoints, there is message
WARNING SHAPE MISMATCH diffusion_model.input_blocks.0.0.weight WEIGHT NOT MERGED torch.Size([320, 12, 3, 3]) != torch.Size([320, 4, 3, 3])
Merged with diffusion_model.input_blocks.0.0.weight channel changed from torch.Size([320, 4, 3, 3]) to [320, 12, 3, 3]
MacOS 14.4.1, Apple M1 Pro

Don't know why, but it just fixed itself... The message is not the issue, you can ignore it.


Fix link to BUILD file in android readme.

Simple syntax error.

Can one of the admins verify this patch?

@tensorflow-jenkins test this please


Fix new subscription with plan combination

error: the subscription expiry time (ends_at) of the plan defined for the member was defined according to the main plan (table.plans) invoiceperiod and invoice interval.
example
main plan 1 year
selected plan 3 years (combination)
ends_at = now + 1year :(
fix: the subscription expiry time (ends_at) of the plan defined for the member is now defined according to the selected combination plan invoice period and invoice interval.
example
main plan 1 year
selected plan 3 years (combination)
ends_at = now + 3year :)

Thanks, I'll take a look as soon as I can


Grouping coverage reports by module in multimodule projects

Hi there!
First of all, thanks for creating and maintaining this amazing tool — it’s been a huge help!
I have a question regarding the organization of Kover reports in a multimodule application. My setup includes:

An app module (acting as the merging module),
Several library modules (feature modules).

At the moment, everything works perfectly, and I get a detailed coverage report, as shown in the screenshot below:

However, I was wondering if it’s possible to group the coverage results by module rather than displaying every single package. Specifically, I’d like to see a report where coverage is summarized at the module level, something like this (in HTML format, of course):

This kind of grouping would make the reports much cleaner and easier to analyze at a high level.
Is there any existing way to achieve this? Or perhaps a workaround that you could suggest?
Thanks in advance for your time and help!

Hi,
unfortunately, at the moment it is not possible to generate a single HTML file with grouping by modules.
You can try to generate separate HTML files for each project, but this will complicate the configuration and increase the number of Gradle tasks.
kover {
    currentProject {
        // create variant named 'feature1' from based on release build variant
        copyVariant("feature1", "release")
    }

    reports {
        variant("feature1") {
            // show classes only for ':feature1' project
            filters.includes.projects.add(":feature1")
        }
    }
}

Duplicate https://github.com/Kotlin/kotlinx-kover/issues/272

ok, thanks for your support!


[RESTEASY-1992] Prepare tests for extended support for multivalue @*Param

Add aditionall tests for extended support for multivalue @*Param

Rename (and improve) original MultiValuedParamTest to MultiValuedParamDateProxyTest

This test uses java.util.Date class as multivalue param
This test uses proxy (String parameter is defined in proxy, server uses collections in end-point), proxy is not related with this feature

MultiValuedParamDateNoProxyTest

Same as MultiValuedParamDateProxyTest, but proxy is not used at all in this test

MultiValuedParamCustomClassTest

This test uses custom deployment class

MultiValuedParamCdiTest

Server end-point is defined as a CDI bean

Jira: https://issues.jboss.org/browse/RESTEASY-1992
3.6.1 PR: https://github.com/resteasy/Resteasy/pull/1660
Upstream PR: https://github.com/resteasy/Resteasy/pull/1659

@marekkopecky, aren't all (well, nearly all) classes managed beans now?

@marekkopecky , very nice.

Aren't all (well, nearly all) classes managed beans now?
Well, I'm not an CDI expert, but AFAIK, just classes with "Bean defining annotations" are managed beans (see the CDI spec, chapter 2.5.1) or beans can be defined in beans.xml. Anyway, the point of the MultiValuedParamCdiTest test is that user set(/change) scope of end-point. MultiValuedParamCdiTest uses RequestScoped annotation. Default CDI scope is Dependent ...

@ronsigal PR updated, thank you for the review!


Publish 1.0.4 to pub.dev

Hello! Can you please publish 1.0.4 (with the gap changes) to pub.dev. Looks like the latest there is 1.0.3, and it is broken on the latest Flutter stable 3.13.1. Thank you!

Hey! I've just published 1.0.5 with the gap changes and without the upper constrain for Dart 3.0


Add more sample templates

Add more sample templates in more languages and more platforms, including:

[ ] ReactNative
[ ] CSS
[ ] Swift (macOS)
[ ] Objective-C (iOS)
[ ] Objective-C (macOS)
[ ] Kotlin (Android)

The barrier to this right now is an Int-based font weight, which is available from NSFontManager.weight(of:.

Also worth looking at creating templates that have built in accessibility support, e.g. on iOS the template could implement:

Bold text
Dynamic Type
Darkened colours
Reduce transparency


MTN Ghana new phone numbers doesn't work (059*******)

Describe the bug
MTN Ghana new phone numbers doesn't work with the library, it reports that the phone number i invalid whiles it is valid eg.<PHONE_NUMBER> is a valid MTN Ghana phone number
Package version
intl_phone_number_input: ^0.5.2+2
Flutter version
flutter version:  1.22.5
To Reproduce
Steps to reproduce the behavior:

Install Plugin in Project
Enter any 10 digits starting with 059
See error

Expected behavior
Phone number is not valid

did you find solution i have same issue on my country from same number format ?

Yes @foxmedo, I worked in the next update for me. Which country are you in so we help you

observing this issue again for Ghana phone numbers starting with 059 or 025
Package version
intl_phone_number_input: ^v0.7.0+2
Flutter version
flutter version: 2.10.3 (stable)
To Reproduce
Steps to reproduce the behavior:
Install Plugin in Project
Enter any 10 digits starting with 059 or 025
See error
Walkthrough shows getParsedPhoneNumber throws an exception and returns null

How did you solve this problem?

@josecaseiro set errorMessage=null which disables validation on the phone numbers