Ubuntu 14.10: chef-server-ctl reconfigure fails if procps is already running

Version:
chef server 12 rc5
Environment:
Ubuntu 14.10 x64
Scenario:
install chef server package
Steps to Reproduce:
chef-server-ctl reconfigure
Problem:
/etc/init.d/procps start exits with code 1 if it's running
It's very likely ubuntu bug cause I don't see reason why /etc/init.d/procps start exit with 1 even if it's running but it prevents successful installation of chef server package on Ubuntu 14.10
Log:
==> env-manager-cibuild1: ================================================================================
==> env-manager-cibuild1: Error executing action `start` on resource 'service[procps]'
==> env-manager-cibuild1: ================================================================================
==> env-manager-cibuild1:
==> env-manager-cibuild1:
==> env-manager-cibuild1: Mixlib::ShellOut::ShellCommandFailed
==> env-manager-cibuild1: ------------------------------------
==> env-manager-cibuild1: Expected process to exit with [0], but received '1'
==> env-manager-cibuild1: ---- Begin output of /etc/init.d/procps start ----
==> env-manager-cibuild1: STDOUT:
==> env-manager-cibuild1: STDERR: start: Job is already running: procps
==> env-manager-cibuild1: ---- End output of /etc/init.d/procps start ----
==> env-manager-cibuild1: Ran /etc/init.d/procps start returned 1
==> env-manager-cibuild1:
==> env-manager-cibuild1:
==> env-manager-cibuild1: Resource Declaration:
==> env-manager-cibuild1: ---------------------
==> env-manager-cibuild1: # In /opt/opscode/embedded/cookbooks/private-chef/recipes/postgresql.rb
==> env-manager-cibuild1:
==> env-manager-cibuild1:  68:   service "procps" do
==> env-manager-cibuild1:  69:     action :nothing
==> env-manager-cibuild1:  70:   end
==> env-manager-cibuild1:  71:
==> env-manager-cibuild1:
==> env-manager-cibuild1:
==> env-manager-cibuild1:
==> env-manager-cibuild1: Compiled Resource:
==> env-manager-cibuild1: ------------------
==> env-manager-cibuild1: # Declared in /opt/opscode/embedded/cookbooks/private-chef/recipes/postgresql.rb:68:in `from_file'
==> env-manager-cibuild1:
==> env-manager-cibuild1: service("procps") do
==> env-manager-cibuild1:   action [:nothing]
==> env-manager-cibuild1:   supports {:restart=>false, :reload=>false, :status=>false}
==> env-manager-cibuild1:   retries 0
==> env-manager-cibuild1:   retry_delay 2
==> env-manager-cibuild1:   guard_interpreter :default
==> env-manager-cibuild1:   service_name "procps"
==> env-manager-cibuild1:   pattern "procps"
==> env-manager-cibuild1:   cookbook_name :"private-chef"
==> env-manager-cibuild1:   recipe_name "postgresql"
==> env-manager-cibuild1: end
==> env-manager-cibuild1:

Initial issue in chef repo opscode/chef#2323

https://github.com/chef/opscode-omnibus/pull/696 - a PR exists for this, but needs further work.

A fix for this has been merged and will be available in the next release.


I've written a RedisProvider, are you interested in a contribution?

I've written a Provider for Redis. It stores JSON either directly as a serialized object or using ReJSON if the module is available in the Redis server and the associated node module is included in the project. ReJSON should provide a small performance enhancement when making adding/removing keys with large JSON blobs. I've also made the in-memory cache optional for this Provider.

I'm not the creator, but I'd say making a PR with this would be amazing :)

I've prepared PR #167 for this contribution.


Update examples with Cocoapods 1.0.0

libPods.a in project.pbxproj may cause problems after updating to Cocoapods 1.0.0. Replaced them with libPods-<target>.a

LGTM.


fix deadlock at TransferHandle::WaitUntilFinished

Hi,
I encountered a deadlock when calling WaitUntilFinish, for transfer request which failed. i tried to upload to non existent bucket. from time to time, my process got deadlock. The reason is that transferContext->handle->UpdateStatus method shall be called last, after the part status was changed (and this is the fix).
The waiting thread is waiting on conditional variable and being notified when object status is changed to finished status. however the predicate it uses checks also it does not have pending parts.
A deadlock can occur if the transfer manager change the object status to failed and notify the waiting thread to be awaken, however it did not yet changed the part status, so it is regarded as pending part.
so waiting thread is awaken, checks the predicate and enter a sleep. now no one will awake it again, and this result with deadlock.
If you look at HandlePutObjectResponse you can see, it first change the part status and then the object status. the same behavior shall be done for failed case. I also put the SetError to be before the UpdateStatus call, as thread which is waiting may want to observe the error message on failure case.

Merged


Fix product names

This PR fixes incorrect spelling of our product names, i.e.

Icinga 2 instead of Icinga2,
Icinga Web instead of IcingaWeb2 / Icingaweb2, and
Icinga DB instead of IcingaDB.

Please note that the transition from Icinga Web 2 to Icinga Web is an ongoing process and you will still find Icinga Web 2 here and, but new docs should use Icinga Web.
Additionally, I have corrected the use of Icinga2, referring to the entire Icinga ecosystem, to Icinga.

I rebased.


Add a utility to generate image from a prompt (OpenAI DALL-E)

This is a utility that allows you to generate an image from a prompt. It uses the OpenAI DALL-E image generator, which can take the same API key as the LLM. The output is a link to the generated image, which can be downloaded to a file or rendered depending on the use case. By default a single image of resolution 1024x1024 is generated.

Sorry, I did not mean to the commit the "poetry.lock" file. Could it be removed from the PR?

Sorry, I did not mean to the commit the "poetry.lock" file. Could it be removed from the PR?

yeah ill clean up
btw, thank you for this! very excited to get something for images in :)

Thanks, I also have the dalle-image-generator set up as a tool that can be run from an agent and can also add a notebook showing the usage. Should I add them to this PR or wait until this one is in?

Thanks, I also have the dalle-image-generator set up as a tool that can be run from an agent and can also add a notebook showing the usage. Should I add them to this PR or wait until this one is in?

oooo if you wanted to this pr that would be awesome. i was going to take a stab at that myself (i always find that an example notebook is super nice for showing off the new stuff) but if you already have it that is 💯

I have added the code I mentioned and resolved the merge conflict.


OpenEVSE don't work in HA error - 'utf-8' codec can't decode byte 0xff in position 160: invalid start byte

integration still not working with version 2.1.14
This is the error that appears in the log:
2023-03-17 00:27:09.094 WARNING (MainThread) [openevsehttp.main] Unable to find firmware version.
2023-03-17 00:27:49.469 ERROR (MainThread) [custom_components.openevse] Error fetching OpenEVSE (openevse) data: 'utf-8' codec can't decode byte 0xff in position 160: invalid start byte
2023-03-17 00:27:49.469 WARNING (MainThread) [openevsehttp.main] Unable to find firmware version.
thanks

What OpenEVSE firmware version are you running?

This:

Hello,
I am attaching Ha's log, which you have requested.
thank you so much
home-assistant.log

That device UI you have is unfamiliar.

Looks to me like the GUI V2 which is sort-of-released in 4.1.7 at this point.

@Whastie thanks.
What shows up if you go to http://<IP_ADDRESS>/status ?

changed the firmware version to:

but it still doesn't work
{"mode":"STA","wifi_client_connected":1,"eth_connected":0,"net_connected":1,"ipaddress":"<IP_ADDRESS>","emoncms_connected":0,"packets_sent":0,"packets_success":0,"mqtt_connected":1,"ocpp_connected":0,"rfid_failure":0,"ohm_hour":"NotConnected","free_heap":193192,"comm_sent":2928,"comm_success":2927,"rapi_connected":1,"evse_connected":1,"amp":0,"voltage":240,"pilot":32,"wh":0,"session_energy":278.7555556,"total_energy":0,"temp":307,"temp_max":317,"temp1":307,"temp2":false,"temp3":false,"temp4":false,"state":255,"status":"disabled","flags":1280,"vehicle":1,"colour":6,"manual_override":0,"freeram":193192,"divertmode":2,"srssi":-46,"time":"2023-03-17T15:53:33Z","offset":"+0100","elapsed":9473,"wattsec":1003520,"watthour":0,"gfcicount":0,"nogndcount":1,"stuckcount":0,"solar":0,"grid_ie":0,"charge_rate":0,"divert_update":1,"divert_active":false,"shaper":0,"shaper_live_pwr":0,"shaper_cur":0,"shaper_updated":false,"service_level":2,"ota_update":0,"config_version":0,"claims_version":3,"override_version":2,"schedule_version":0,"schedule_plan_version":0,"vehicle_state_update":3508,"tesla_vehicle_count":false,"tesla_vehicle_id":false,"tesla_vehicle_name":false}

Also seeing this in your log:
2023-03-17 00:31:29.260 ERROR (MainThread) [custom_components.openevse] Error fetching OpenEVSE (openevse) data: Cannot connect to host openevse.local:80 ssl:default [Name does not resolve]

You might want to adjust the host to the IP address since it seems your mDNS isn't working.
Hit the Configure button and adjust the host/IP field and hit Submit.

Hello, I have tried it several times with name and number (ip) and it doesn't work.
That's the first thing I tried before doing this question. Thank you very much for helping me, I hope we deal with the problem.
Thanks

{"mode":"STA","wifi_client_connected":1,"eth_connected":0,"net_connected":1,"ipaddress":"<IP_ADDRESS>","emoncms_connected":0,"packets_sent":0,"packets_success":0,"mqtt_connected":1,"ocpp_connected":0,"rfid_failure":0,"ohm_hour":"NotConnected","free_heap":194556,"comm_sent":7739,"comm_success":7738,"rapi_connected":1,"evse_connected":1,"amp":0,"voltage":240,"pilot":32,"wh":0,"session_energy":285.6441667,"total_energy":0,"temp":302,"temp_max":317,"temp1":302,"temp2":false,"temp3":false,"temp4":false,"state":255,"status":"disabled","flags":1280,"vehicle":1,"colour":6,"manual_override":0,"freeram":194556,"divertmode":2,"srssi":-45,"time":"2023-03-17T17:21:04Z","offset":"+0100","elapsed":9686,"wattsec":1028319,"watthour":0,"gfcicount":0,"nogndcount":1,"stuckcount":0,"solar":0,"grid_ie":0,"charge_rate":0,"divert_update":1,"divert_active":false,"shaper":0,"shaper_live_pwr":0,"shaper_cur":0,"shaper_updated":false,"service_level":2,"ota_update":0,"config_version":0,"claims_version":15,"override_version":6,"schedule_version":0,"schedule_plan_version":0,"vehicle_state_update":8759,"tesla_vehicle_count":false,"tesla_vehicle_id":false,"tesla_vehicle_name":false}

Ok should be working fine then, I don't know why your Home Assistant is attempting to convert it to an SSL connection.

Well I do not know.
Can I verify something in the configuration of ha?
I have no problems with any other equipment.
thank you

Based on your log entries alone it looks like you have some kind of networking issue going on.
Make sure you only have the integration loaded once if you only have a single EVSE charger.

I have uninstalled openvese again and as you can see there is no folder in custom_components.
I have reinstalled again and the same thing is still happening.

Are you still getting the same error messages?

{"mode":"STA","wifi_client_connected":1,"eth_connected":0,"net_connected":1,"ipaddress":"<IP_ADDRESS>","emoncms_connected":0,"packets_sent":0,"packets_success":0,"mqtt_connected":1,"ocpp_connected":0,"rfid_failure":0,"ohm_hour":"NotConnected","free_heap":183504,"comm_sent":13456,"comm_success":13455,"rapi_connected":1,"evse_connected":1,"amp":0,"voltage":240,"pilot":32,"wh":0,"session_energy":285.6441667,"total_energy":0,"temp":285,"temp_max":317,"temp1":285,"temp2":false,"temp3":false,"temp4":false,"state":255,"status":"disabled","flags":1280,"vehicle":1,"colour":6,"manual_override":0,"freeram":183504,"divertmode":2,"srssi":-46,"time":"2023-03-17T19:17:38Z","offset":"+0100","elapsed":9686,"wattsec":1028319,"watthour":0,"gfcicount":0,"nogndcount":1,"stuckcount":0,"solar":0,"grid_ie":0,"charge_rate":0,"divert_update":4,"divert_active":false,"shaper":0,"shaper_live_pwr":0,"shaper_cur":0,"shaper_updated":false,"service_level":2,"ota_update":0,"config_version":0,"claims_version":15,"override_version":6,"schedule_version":0,"schedule_plan_version":0,"vehicle_state_update":15753,"tesla_vehicle_count":false,"tesla_vehicle_id":false,"tesla_vehicle_name":false}

I mean the error message in home-assitant.log is it still giving you that 0xff message?

Hello
I think it stays the same.
I've updated to the latest version you just uploaded, but I still can't start the integration.

home-assistant.log

Does your home assistant not have internet access?

Hello
My HA does have internet access.
Do you have any idea what could be the problem?
thank you

Hi
I think the problem comes from the openevse service, it cannot connect with Ha, if it has a secure https connection, as in my case.
By configuring the computer with this security level openevse cannot access ha.
Although http is configured in the internal network, as in external it is https, the connection method internally and externally is https , but I think that openevse has not solved the connection with this type of connection.
Do you think that this could be the problem?
In that case, I suppose that it is something that you have to try to solve, right?
thank you so much

I think it has to do with the github check that looks for new firmware releases. I have a library update that should solve it.

Please try the 2.1.16 release and see if you still get these error messages.
Thanks.

Hi
the problem continues with version 2.1.16.
I attach two log files.
v1_ access by name openevse.local
v2 access by ip
thank you very much again.
Let's see if we find the problem.
home-assistant_v1.log
home-assistant_v2.log

Cannot connect to host http:80 ssl:default [Name does not resolve]
It says here you're not entering a hostname nor IP address.

Hi
It has to be something else, I'm putting the same ip as on the web if I can access it, but from HA I can't.

Hello
It's the same thing that happened to you before, I don't think anything has changed.
Thank you very much for the help.
home-assistant.log

Hi
This is what appears when I put this ip:  http://<IP_ADDRESS>/config
many thanks for everything.
{"firmware":"8.2.0.EU","protocol":"-","espflash":4194304,"espinfo":"ESP32r3 2 core WiFi BLE BT","buildenv":"openevse_wifi_v1","version":"4.1.7","evse_serial":"X�����FFFFFFFF","wifi_serial":"E05A1BA14DA0","mqtt_supported_protocols":["mqtt","mqtts"],"http_supported_protocols":["http"],"diode_check":true,"gfci_check":false,"ground_check":true,"relay_check":true,"vent_check":true,"temp_check":true,"service":2,"scale":220,"offset":0,"max_current_soft":32,"min_current_hard":6,"max_current_hard":32,"ssid":"MOVISTAR_5BF0","pass":"_DUMMY_PASSWORD","lang":"en","www_username":"","www_password":"","hostname":"openevse-4da0","sntp_hostname":"pool.ntp.org","time_zone":"Europe/Madrid|CET-1CEST,M3.5.0,M10.5.0/3","emoncms_server":"https://data.openevse.com/emoncms","emoncms_node":"","emoncms_apikey":"","emoncms_fingerprint":"","mqtt_server":"<IP_ADDRESS>","mqtt_port":1883,"mqtt_topic":"openevse/cargador1","mqtt_user":"David","mqtt_pass":"_DUMMY_PASSWORD","mqtt_solar":"","mqtt_grid_ie":"openevse/cargador1/power1","mqtt_vrms":"openevse/cargador1/voltage_actual","mqtt_live_pwr":"","mqtt_vehicle_soc":"","mqtt_vehicle_range":"","mqtt_vehicle_eta":"","mqtt_announce_topic":"openevse/cargador1","ocpp_server":"","ocpp_chargeBoxId":"","ocpp_idTag":"","tx_start_point":"tx_pending","ohm":"","divert_PV_ratio":1.1,"divert_attack_smoothing_factor":0.4,"divert_decay_smoothing_factor":0.05,"divert_min_charge_time":600,"current_shaper_max_pwr":0,"tesla_access_token":"","tesla_refresh_token":"","tesla_created_at":18446744073709551615,"tesla_expires_in":18446744073709551615,"tesla_vehicle_id":"","rfid_storage":"","led_brightness":128,"scheduler_start_window":600,"flags":2106890,"emoncms_enabled":false,"mqtt_enabled":true,"mqtt_reject_unauthorized":true,"mqtt_retained":true,"ohm_enabled":false,"sntp_enabled":true,"tesla_enabled":false,"divert_enabled":true,"current_shaper_enabled":false,"pause_uses_disabled":true,"mqtt_vehicle_range_miles":false,"ocpp_enabled":false,"ocpp_suspend_evse":false,"ocpp_energize_plug":false,"rfid_enabled":false,"factory_write_lock":true,"mqtt_protocol":"mqtt","charge_mode":"eco"}

I'm looking into a work around for this, but a proper fix would lie in firmware.

Yes, I suppose the problem is in the firmware, I'll wait until you release new firmware to try it.
If you want me to do a test, count on me to try it.
Thank you very much and I hope you can solve it soon.
all the best

Please see if version 2.1.17 solves your issue.

Hellooooo
It already works!!
You're the best !!
Can you tell me what was happening and what did you do?
many thanks for everything.

Since your evse_fimrware was reporting something with bytes and throwing a UnicodeDecodeError I added a try/except to catch that and process the reply in another way.


Use stable identifiers for faster joins

No attempt to maintain backwards compatibility here.
Synapse issue: https://github.com/matrix-org/synapse/issues/14828
Synapse PR: https://github.com/matrix-org/synapse/pull/14832
Complement PR: https://github.com/matrix-org/complement/pull/583
GMSL PR: https://github.com/matrix-org/gomatrixserverlib/pull/350
MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3706
Spec diff: https://github.com/matrix-org/matrix-spec/pull/1393

Ah. Looks like I need to update to changes in GMSL?


⚠ ClamAV has degraded performance

In b5c2cc4, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in 11e08e8.


Add E.164 format validation for strings

Hello, following the previous discussion, I added validation for the E.164 format on strings using a modified regex from this article.  I removed support for spaces as those don't seem to be permitted. The validation could be further enhanced by prohibiting 0 as the first value since country codes start with 1.
There is an alternative regular expression from the Twilio docs for E.164 numbers. This regular expression permits very short E.164 numbers. It could be used in tandem with the existing string validations like min and max. This would give users the option to adapt the number length further, which seems to be necessary in some instances, according to this stack overflow post.
Cheers
Thank you for your contribution to our project! Before submitting your pull request, please ensure the following:

[x] Your code changes are well-documented.
[x] You have tested your changes.
[x] You have updated any relevant documentation.

This seems good to me. Is there a specific reason this is still a draft PR? My plan is to merge this into v4. String validations like uuid, etc are going to be handled quite differently in Zod 4 but I'm happy to merge this as a starting point before I start the refactor.

Hello, apologies for the delay. I first needed to further investigate in order to be able to add the pr description.
Cheers

Hello, added a section on E.164 to both Readme files.


nox is missing --inplace so HTML artefacts never change

This surprised me, so I had a look. I guess you used our noxfile ... where we forgot to add the --inplace flag to the jupyter execute so that the execution actually changes the notebooks! At the moment, the notebooks run, but their outputs aren't stored anywhere (and our examples' HTML artefacts therefore never change). That's on me, I should have picked up on it in #367.
Originally posted by @ntessore in https://github.com/glass-dev/glass/issues/425#issuecomment-2504931387

Ah, I see it now!


feat: desigWallet support

Duplicate of #1380 with maintainer changes

@thiennv-qng I'm seeing some issues detecting the wallet on the example deployment here. This appears to be a wallet-side issue. https://rainbowkit-example-mkzzcsgd7-rainbowdotme.vercel.app/

@thiennv-qng I'll proceed to merge this PR, but there does appear to be an issue with the detection of the Desig Wallet injected provider. This is likely an issue in the wallet's contentscript implementation


Bug:#[implement] to panic when cast() to an undefined interface

Which crate is this about?
windows
Crate version
0.42.0
Summary
Using #[implement], ITextStoreACP is being implemented.
When an implemented type is added to an unimplemented ITextStoreAnchor with Interface::cast(), the STATUS_ACCESS_VIOLATION panicked.
Expect to return Result=Error.
Pass IUnknown as an argument to ITfThreadMgr::CreateContext(), but the function will check if it's ITextStoreAnchor or not. Don't panic on conversions to unimplemented types.
Toolchain version/configuration
No response
Reproducible example
#[implement(ITextStoreACP)]
struct ReconvTextStore(...);

{
    let text_store = ReconvTextStore::new()?;
    let punk: IUnknown = text_store.cast()?;
    println!("{:?}", punk);
    let punk: ITextStoreACP = text_store.cast()?;
    println!("{:?}", punk);
    let punk: ITextStoreAnchor = text_store.cast()?;  // (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
    println!("{:?}", punk);
}

Crate manifest
No response
Expected behavior
No response
Actual behavior
No response
Additional comments
If you have a small Interface implementation, consider the sample.
After IUnknown, cast() to ITextStoreACP will also panic.

I didn't panic in a small test. Close it and examine it.


decouple window_with_time from observable

Decoupled window_with_time from observable,
please review.
and a Happy New Year! :snowman_with_snow:
Thank you,
Grigoriy

Thank you! And happy new year!

Thank you! And happy new year!


 After that PR is merged the new standalone endpoints page should be improved.
Currently the most important sections are focused around APIs, rather than what a user wants to achieve.
Possible table of contents:

Introduction to endpoints (e.g. high-level description of address, protocol, HTTPS, etc)
Configure endpoints with URLs

URL prefixes

Configure endpoints in code

Endpoint defaults
TCP socket endpoints
Unix socket endpoints
Dynamic port binding
Connection logging

Configure endpoints in appsettings.json

Configure endpoint defaults

Configure HTTPS

HTTPS defaults
Configure endpoints using SNI

Endpoint protocols

@halter73 @tratcher

I'd move appsettings.json above the endpoints API as more commonly used for intermediate scenarios.
HTTPS as a separate node? Wouldn't you cover a lot of that when doing appsettings.json and the endpoints API?

I'd move appsettings.json above the endpoints API as more commonly used for intermediate scenarios.
HTTPS as a separate node? Wouldn't you cover a lot of that when doing appsettings.json and the endpoints API?

HTTPS as a separate node? Wouldn't you cover a lot of that when doing appsettings.json and the endpoints API?

Yes, although I think it is still useful to have a high-level Configure HTTPS section. "I want HTTPS" is such a common task, it will provide a place for people to find which would then link to configuring HTTPS in the appsettings.json and endpoint API sections.
It's complicated to structure this doc because everything is so cross-cutting (you could configure a HTTPS URL in appsettings.json and specify HTTPS defaults in code, etc)
😬

HTTPS as a separate node? Wouldn't you cover a lot of that when doing appsettings.json and the endpoints API?

Yes, although I think it is still useful to have a high-level Configure HTTPS section. "I want HTTPS" is such a common task, it will provide a place for people to find which would then link to configuring HTTPS in the appsettings.json and endpoint API sections.
It's complicated to structure this doc because everything is so cross-cutting (you could configure a HTTPS URL in appsettings.json and specify HTTPS defaults in code, etc)
😬


Bootstrap the repo

Hey @gnumonik, we have some goodies here I want you to check out:

Testing works locally, not yet in CI (noisy Spago)
Added code quality and assistance tools
Nix
CI
ToData/FromData is still untested

I think everything here is good. Going to merge it in a second.

@gnumonik that's it from me today, I didn't manage to generate the instance clauses so if you can, I'd be happy if you could continue with the following:

Turn the test green 1) buildBridge without lens-code-gen tests the generation of a CTL HasConstrIndices/ToData/FromData
Figure out flakiness of writePSTypesWith should produce aeson-compatible argonaut instances if doable
Merge this PR
Introduce the (the essential) changes you have pending in your existing PRs:

your comments and suggestions from here
everything needed to actually generate HasConstrIndices, ToData, FromData

Prepare a PR in Cardax to use the new version

We need to be able to continue user registration tomorrow, for that we need ToData/FromData instances.
Cheers,
Draz

Notes (mainly for my own benefit):

This should finally work the way it needs to for Cardax. We now generate ToData/FromData instances.

I'm punting on the Argonaut/spago2nix stuff for right now. The existing tests say the instances are argonaut compatible and I'm not that sure how to hook up spago2nix output to our flake. I'll come back to this later today if I have time.

I think these changes are sufficient for us to integrate into Cardax. Actually merging now.


Creating packages from a Harvest

PT: https://www.pivotaltracker.com/story/show/171223009

Hey @betacar there are still a few outstanding things here but I would appreciate a review at this point anyway.


docs: import from @remix-run/node instead of remix

Got a createCookie() is not a function today after upgrading my app to 1.3.3
According to https://github.com/remix-run/remix/issues/2503#issuecomment-1079963155, we should not import from remix or @remix-run/server-runtime anymore.

This should still be possible if you're not using PNPM/Yarn P'n'P, since the only recommended import has always been from the remix package with the magicExports.
For people using PNPM/Yarn P'n'P, it was indeed said to use @remix-run/server-runtime as an escape hatch.
However, that package (along with all other packages) was never meant to be a public (non-breaking) API.
This has changed since #2359 was released, but  the remix package is still backwards compatible.
Once @pcattori & I are finished with #2430, we'll also run the codemod on our examples & have a script ready to run the codemod on our docs too.
I think it's best to back off this PR for now, so we keep our docs consistent.

Ok.....


GIF/photo mached to the word

As a user I want to get picture to every word in order to learn quicker.
As a PO I suggested random GIF to the translation from giphy or from 9gag or imgur or sth.

https://www.flickr.com/services/api/flickr.photos.search.html


Location update crash if no lat/long in configuration.yaml

Home Assistant release
0.16.1
Python release
3.4.3
Component/platform:
Owntracks / Mqtt, Mosqitto from 14.04 Ubuntu Package
MQTT Protocol Version
3.1
Description of problem:
Updating the location with Owntracks fails when location is not correct configured - eg. when missing longitude / latidude in configuration.yaml. Stacktrace:
16-03-12 21:36:54 homeassistant.core: BusHandler:Exception doing job
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/core.py", line 794, in job_handler
    func(arg)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/mqtt/__init__.py", line 90, in mqtt_topic_subscriber
    event.data[ATTR_QOS])
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/owntracks.py", line 63, in owntracks_location_update
    see(**kwargs)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/__init__.py", line 214, in see
    device.seen(host_name, location_name, gps, gps_accuracy, battery)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/__init__.py", line 339, in seen
    self.update()
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/__init__.py", line 354, in update
    self.gps_accuracy)
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/zone.py", line 47, in active_zone
    zone.attributes[ATTR_LATITUDE], zone.attributes[ATTR_LONGITUDE])
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/util/location.py", line 42, in distance
    return vincenty((lat1, lon1), (lat2, lon2)) * 1000
  File "/usr/local/lib/python3.4/dist-packages/vincenty/__init__.py", line 42, in vincenty_inverse
    U2 = math.atan((1 - f) * math.tan(math.radians(point2[0])))
TypeError: a float is required

Problem-relevant configuration.yaml entries and steps to reproduce:
homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # C for Celcius, F for Fahrenheit
  temperature_unit: C
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: UTC
...

Reproduce

Install HomeAssistant
Configure mqtt / owntracks
Trigger location-update on Owntracks App

Additional info:

Interesting, Home Assistant should automatically fetch your location if not
submitted
On Fri, Apr 1, 2016, 13:53 Henning Spille<EMAIL_ADDRESS>wrote:

Home Assistant release
0.16.1
Python release
3.4.3
Component/platform:
Owntracks / Mqtt, Mosqitto from 14.04 Ubuntu Package
MQTT Protocol Version
3.1
Description of problem:
Updating the location with Owntracks fails when location is not correct
configured - eg. when missing longitude / latidude in configuration.yaml.
Stacktrace:
16-03-12 21:36:54 homeassistant.core: BusHandler:Exception doing job
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/homeassistant/core.py", line 794, in job_handler
func(arg)
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/mqtt/init.py", line 90, in mqtt_topic_subscriber
event.data[ATTR_QOS])
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/owntracks.py", line 63, in owntracks_location_update
see(**kwargs)
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/init.py", line 214, in see
device.seen(host_name, location_name, gps, gps_accuracy, battery)
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/init.py", line 339, in seen
self.update()
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/device_tracker/init.py", line 354, in update
self.gps_accuracy)
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/zone.py", line 47, in active_zone
zone.attributes[ATTR_LATITUDE], zone.attributes[ATTR_LONGITUDE])
File "/usr/local/lib/python3.4/dist-packages/homeassistant/util/location.py", line 42, in distance
return vincenty((lat1, lon1), (lat2, lon2)) * 1000
File "/usr/local/lib/python3.4/dist-packages/vincenty/init.py", line 42, in vincenty_inverse
U2 = math.atan((1 - f) * math.tan(math.radians(point2[0])))
TypeError: a float is required
Problem-relevant configuration.yaml entries and steps to reproduce:
homeassistant:
Name of the location where Home Assistant is running
name: Home
C for Celcius, F for Fahrenheit
temperature_unit: C
Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
time_zone: UTC
...
Reproduce

Install HomeAssistant
Configure mqtt / owntracks
Trigger location-update on Owntracks App

Additional info:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/balloob/home-assistant/issues/1679

This problem is because the service we used for automatic IP detection no longer works.

@hSpille we changed the code to fetch the location information. It should be available in the latest release. Please re-open this issue if you still have problems. Thanks.


feat: support skipping api version

Support skipping api version (in addition to already supported skip by kind and apiVersion/kind)
Closes https://github.com/yannh/kubeconform/issues/169

Not against it, just a bit concerned the only way to understand how this function really works is by reading the test :thinking:

Could you maybe update the readme to explain how to use this? :pray:

@yannh thanks for looking into this. I've added a usage example.

Let me think about this a bit more, I'm wondering if it might be confusing to have -skip for many different types of parameters... thinking if it might be better to have -skipkind -skip-versions etc, or something else... UI wise I'm a bit concerned this could get confusing :thinking:

This feature is very interesting.
@yannh  would you prefer to have another parameter or to have different possibilities for the skip parameter?


Missing AI Opponent Feature in Tic Tac Toe Game

I noticed that the Tic Tac Toe game currently does not implement an AI opponent, allowing only two human players to compete. This limits the gameplay experience. I suggest adding an AI opponent that can make moves, making the game more challenging and enjoyable for users.

The current Tic Tac Toe game lacks an AI opponent, restricting the gameplay to only two human players. This limits the overall experience. I recommend incorporating an AI opponent to enhance the challenge and make the game more engaging for users.


Re-enable Valgrind on some tests after Zig 0.9

PR #2538 failed Valgrind on some tests, for reasons that will go away once we migrate to Zig 0.9.
Unfortunately Zig 0.9 is currently blocked on that same PR!
To break the dependency cycle, Valgrind has been disabled on those tests for now.
This issue is to re-enable it later.

The configuration for valgrind has gotten a bit more complex in the last 2 years, but I'm pretty sure this is resolved.
Test 1: https://github.com/roc-lang/roc/blob/22423ca98bef41e2f55ae54e11c632bd0610c241/crates/cli/tests/cli_tests.rs#L874
Test 2: https://github.com/roc-lang/roc/blob/22423ca98bef41e2f55ae54e11c632bd0610c241/crates/cli/tests/cli_tests.rs#L212 (commented out)


use

Hello, I need to use leader-line, to use import LeaderLine from "leader-line" in webpack4, but reporting that LeaderLine is not a constructor

Hi @userliuyi, thank you for the comment.
You can import it by using Webpack and skeleton-loader.
https://github.com/anseki/leader-line/issues/8#issuecomment-370147614

No reply came, then this abandoned issue is closed.


Performance Metrics

Basics, understanding about performance metrics of ML model.

Performance Metrics

awesome stuff @JagadishSivakumar

Thank you @somiljain7


rawgit.com is closing down

https://rawgit.com/ is closing down. We need to pick an alternative and change the URLs here https://github.com/maputnik/editor/blob/master/src/config/styles.json

jsDelivr seems good<EMAIL_ADDRESS>


Assets Broken in Menu Routes when using /kalastatic/prototype

So I've run into a bit of an issue when it comes to serving the css and js through the menu route I set up.
After running some tests it seems that when trying to access a js or css file that is not inside the /themes folder then Drupal doesn't even boot—I get a server level 404. This isn't the case for html files which we are already successfully serving at kalastatic/*.
So I'm figuring there must be some sort of .htaccess type file that id ensuring a super quick 404 on css/js files that it assumes are never going to be a thing (even though we do, in fact, want it to be a thing). I don't see an .htaccess anywhere so I'm guessing this sort of thing is handled in some other manner for D8 and at that point my eyes start to glaze over.
I'm thinking this is a @RobLoach type issue. @RobLoach do you know what's causing this and if so do you think there's a way around it?
For now I'm considering serving Kalastatic from /themes/kalastatic/* just in order to get it working as a stop gap but any other suggestions would be welcome.

ok, so I tried prepending the routes with /theme but it still didn't work. It's almost like it knows that it's not a file path.

So I stumbled upon 'web.configwhich looks like it could be the new.htaccess`. And particularly this part of it:
        <rule name="Short URLS" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>

This makes me think that our paths to css/js files SHOULD be hitting index.php but as far as I can tell it's not. I tried putting a print_r() in the index.php and it never gets fired when visiting a css/js url within the prototype. So basically we need to either work out what's stopping this and reverse it or it may be possible to write a rule in web.config that makes sure any request—regardless of extension—make's it's way to Drupal. This is, however, firmly above my pay grade and I will require the melding of keener minds such @RobLoach and @derekderaps.

Had a good jam session with @RobLoach and @derekderaps and aside from some whacky ideas about .kalacss files, we came up with the following solution:

enforce the build folder to live at the web root and make sure it's named kalastatic.
nest all prototype html files inside a folder called prototype.

With this in place the server will find the css and js files because the url path matches the file path.
This means that a user can't provide a path to Kalastatic in the config and renders the main config page pointless. I am, however, seeing this as a stop gap and I'm hoping @RobLoach will be able to figure out some magic that will enable us to provide server config to override the default behaviour that fast 404s the css and js when it doesn't exist in the file system.

Workaround has been taken to build out to /kalastatic. We could fix up the menu routes if we wanted though.

@RobLoach @derekderaps I made an interesting discovery today—the pathing issues we’ve been having with Kalastatic D8 may not be a D8 issue after all. I just noticed on progenity that I’m having the same issue when visiting the prototype at http://progmi.dvm/kalastatic/prototype: the index.html file loads but none of the css/js loads. So, as you know PROGMI is a D7 site, so I checked HSA—same deal. Further, I checked http://sprint-progenitycom.at.kalamuna.com/kalastatic/prototype/index.html which works fine. So it would seem to me that this is an nginx config issue that exists on both DVM and whatever thing fancy @RobLoach is using, or probably more to the point, a default ngnix behaviour.  I did a bit more digging and pinged @pirog about it and he reports that Kalabox does it's best to mimic Pantheon so I'm going to give it a go over there and see whether or not we have the same issues.
@derekderaps are you able to look into getting DVM to mimic Pantheon's nginx config?

https://github.com/kalabox/kalabox-app-pantheon/tree/v2.1/app/config/nginx

Looks like we can customize nginx as needed, just gotta figureo ut the write configs. I'll add it to my list to look at!

Thanks for looking at this @derekderaps. Check out @pirog link to see what they are doing in Kalabox. I haven't confirmed yet that it def works on Kalabox but I will report back when I get a chance

Hmmm, adding in those configs from kalabox didn't seem to make a difference: nginx still won't serve dynamic routes that end in .css and .js. There is another solution, which will be needed in Drupal 8 anyway since it doesn't automatically serve parent path content for non-existent child paths. And the solution is to just read the entire build directory and provide custom routes for each one. Yucky, but necessary.
In D7 land though, I'm just going to go ahead and set Drupal VM's default webserver to Apache, cuz, um, that fixes it!

@derekderaps as I mentioned in Slack, adding routes for ALL THE THINGS that isn't necessary anyway for D8 because I've climbed that mountain already.
See:
https://github.com/kalamuna/kalastatic_dot_module/blob/8.x-2.x/kalastatic.routing.yml
https://github.com/kalamuna/kalastatic_dot_module/blob/8.x-2.x/src/PathProcessor/KalastaticPathProcessor.php
The problem doesn't exist on Pantheon or KB so there has to be a way...

One other note about D7, it only works (with Apache) when Fast404 is disabled. Fast404 essentially does what nginx does by default: for certain filetypes, it detects whether the file exists and skips the whole bootstrap.

The problem doesn't exist on Pantheon or KB so there has to be a way...

I know "there's a way," I just don't know what the setting is and am not motivated to dive into the devops and figure it out.

Alrighty, I've switched the default DrupalVM webserver from nginx to apache. You'll need to either destroy and rebuild or (1) ssh into the box and remove nginx from startup (sudo update-rc.d -f nginx disable) and then restart+provision (vagrant reload --provision).
I would say after adding a note about Fast404 in the Kalastatic documentation, this issue can get closed out. @soniktrooth, where do you think is a good place for that note? Would you do the honours?

Adding a stackoverflow link from @soniktrooth for me to check out.


Generalized coordination

I just added the this function for calculating the generalized coordination numbers. The only thing I do is multiplying the connectivity matrix by the coordination numbers, getting a coordination matrix, and I then sum it up along one axis.
I also added a testing.ipynb to check the calculated CN and GCN values

so far the results of both CN and GCN are incorrect

What does "so far the results of both CN and GCN are incorrect" mean?

sorry, for being unclear. I thought only Brook is working on this. So, I explained what I meant on slack. But basically if you look at the testing notebook, you will see that the coordination numbers for Cu(100) is 4 which is incorrect. It should be 8 instead. And similarly the GCN values are incorrect.


tests: add Node.js 10

Coverage remained the same at 100.0% when pulling 12ec5e53b3a19397d7b5b401e9e68d236bc7a98a on DanielRuf:tests/add-nodejs-10 into de2e7a2ffc4a5007569b62a31956d7b692a011e7 on lukechilds:master.


Fix spark-tests syntax issue [skip ci]

Signed-off-by: Peixin Li<EMAIL_ADDRESS>fix nightly jenkins/spark-tests.sh: line 89: unexpected token]]', expected )' which introduces in missed ) in https://github.com/NVIDIA/spark-rapids/commit/7d1662efb24888d7ef490cacbd8968f7b62e1832#diff-6966e0988f278848f7f517087f3bad25135b36afc2529fbd2641bddce7c9bd56L95

build

build

Going to force merge this since blossom-ci is still unavailable


Unexpected end of JSON input while parsing near '...,"husky":"^3.0.2","is'

Bug report

What is the current behavior?
After running npm install (where webpack is included in package.json) or after running npm install webpack (where webpack is not included in package.json), I get the following error:
npm ERR! Unexpected end of JSON input while parsing near '...,"husky":"^3.0.2","is'
If the current behavior is a bug, please provide the steps to reproduce.
Running npm install (where webpack is included in package.json) or run npm install webpack (where webpack is not included in package.json)

What is the expected behavior?
webpack installs and is added to node_modules and package-lock.json

Other relevant information:
webpack version:  4.41.0 (but also tried with previous version, as far back as 4.0.0)
Node.js version: v10.15.3
Operating System: macOS Mojave 10.14.6
Additional tools: npm --version 6.11.3

Full log output:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   'webpack' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session 90aeb470aa476a5d
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 304 https://registry.npmjs.org/webpack 1042ms (from cache)
8 silly fetchPackageMetaData error for webpack@latest Unexpected end of JSON input while parsing near '...,"husky":"^3.0.2","is'
9 timing stage:rollbackFailedOptional Completed in 1ms
10 timing stage:runTopLevelLifecycles Completed in 2340ms
11 verbose stack SyntaxError: Unexpected end of JSON input while parsing near '...,"husky":"^3.0.2","is'
11 verbose stack     at JSON.parse (<anonymous>)
11 verbose stack     at parseJson (/usr/local/lib/node_modules/npm/node_modules/json-parse-better-errors/index.js:7:17)
11 verbose stack     at consumeBody.call.then.buffer (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/body.js:96:50)
11 verbose stack     at process._tickCallback (internal/process/next_tick.js:68:7)
12 verbose cwd /Users/avizuber/IdeaProjects/backend/www
13 verbose Darwin 18.7.0
14 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "webpack"
15 verbose node v10.15.3
16 verbose npm  v6.11.3
17 error Unexpected end of JSON input while parsing near '...,"husky":"^3.0.2","is'
18 verbose exit [ 1, true ]

Problem on npm side, it looks like someone in your country is blocking the internet, or maybe npm register output invalid information, try contacting with npm technical support, sorry we can't help

Also you cab try to enable/disable internet

the solution ended up being npm clear cache --force and then re-running npm install
¯_(ツ)_/¯

maybe old npm client version?

Use
npm cache clean --force

npm cache clean --force solve my problem

npm cache clean --force solve my problem

Try this series of commands. It worked.
npm cache clean --force
npm install npm@latest -g
npm install
I think the issue is with npm.


Hotfix/add dw interface on dpx2

Status
**PRODUCTION **
Description
This PR is same as #1111 .
But, I am raising the patch version for merge with hotfix.
Related PRs
#1111
Todos

[x] Tests
[x] Documentation
https://github.com/CPFL/Autoware/wiki/DRIVE-PX2-Docker

Thanks @YamatoAndo .
I cleaned CHANGELOG and I'll merge.


[1.11.0] Generate ERD fails on windows

Hi, as mentioned in https://github.com/keonik/prisma-erd-generator/issues/220#issuecomment-1673759844
I'm on windows and unfortunately the newer version is not working for me. I did notice that the SVG gets generated if I manually run the mmdc command without the -p PUPPETEERCONFIG flag.
There is a difference in \Temp\PuppeteerConfig.json for me:
v1.8.0:
{"logLevel":"warn"}

v1.11.0:
{"logLevel":"warn","executablePath":"/usr/bin/chromium-browser","args":["--no-sandbox"]}

My guess is that the executablePath is incorrect and is not needed when running this package against a windows install. It seems related to https://github.com/keonik/prisma-erd-generator/commit/6a619649bd47f46b0e4583bcb670f1756cdeec0c and not the v5 upgrade directly. The default puppeteer launch configuration within mermaid-cli seems to be https://github.com/mermaid-js/mermaid-cli/blob/master/src/index.js#L161C15-L161C15 and not https://github.com/mermaid-js/mermaid-cli/blob/master/puppeteer-config.json

https://github.com/puppeteer/puppeteer/blob/main/README.md#default-runtime-settings
I am trying to avoid going down the OS rabbit hole of puppeteer problems. The link above says if an executable is provided it looks for it. So I'm assuming Windows does not include a packaged Chromium instance by default like Mac and Linux. Is that safe to assume? If so, I need to add a third statement checking if the user has a windows machine similar to my doing for arm64 MacOS users.

Puppeteer on Windows does include a packaged chromium instance located in:
%USERPROFILE%\.cache\puppeteer\chrome\win64-1095492\chrome-win
That is why it was working in the older version when executablePath was undefined, since Puppeteer would do the work and correctly lookup the binary.

Gotcha. So Windows uses the packaged chromium under puppeteer. Hopefully, its safe to assume all Windows machine folks will point to that instance so I can keep the default path for Linux and Mac. I'll work on this asap. For now, check to see if you can work around it by setting the path in the puppeteer config to null.

Hi @keonik thank you for looking into this.
I can confirm that the ERD generation is now working with 1.10.0-alpha.6. However when I run the generate command three separate powershell windows shows up for about 1 second displaying the following error:
ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
The powershell window closes itself after so it's not a huge deal for me personally. Just figured I would let you know. It seems related to the args: ['--no-sandbox'] option and GPU hardware acceleration. If I remove --no-sandbox from the configuration the error dissapears. perhaps no sandboxing is only needed for Linux/Mac?
Again not a huge issue, but might confuse some users after running npm install and generating the ERD

Pushed up to v1.11.1 without the args attached to any config but darwin arm64

Can confirm that it is now working, thank you for looking into this! ❤


NetworkDiscovery freeze

Describe the bug
NetworkDiscovery causes the game to freeze when StopDiscovery gets called from OnServerFound callback.
Repro project
https://1drv.ms/u/s!ArafnbgKcsvygu90RXmOsjXhNzI7MA?e=BiqOVD
To Reproduce
Steps to reproduce the behavior:

Open the attached project 'NetworkDiscoveryBugReport'
Open Scene 'NetworkDiscoveryBugReport'
Run the server from 'Server' Folder
Press 'Play' in Unity Editor

Expected behavior

Log server response endpoint in console.
Stop network discovery
Not freeze

Desktop (please complete the following information):

OS: [Windows]
Build target: [Standalone]
Unity version: [e.g. 2019.3.13f1]
Mirror branch: [Version 13.0.1 from Asset Store]

Additional context
I suppose, the problem is caused by the discovery loop running in an async Task and the callback gets Invoked from there. The StopDiscovery is then executed in the async thread and Unity gets all confused.
I managed to solve it by setting a flag in the script and when the flag is set running StopDiscovery on the main thread, which works correctly. The code is in 'NetworkDiscoveryBugReport' script.

@alesmasiar any chance that you could send us a pull request with your fix, or just post the fix here?

@alesmasiar any chance that you could send us a pull request with your fix, or just post the fix here?

I didn't actually manage to fix the bug, I just found a workaround.
The code for this is included in the repro project I posted. In the 'NetworkDiscoveryBugReport' script, there's the line _networkDiscovery.StopDiscovery();, which causes the game to freeze. If you switch this line with _stopDiscovery = true;, it then runs in the update loop on the main thread and doesn't crash.
I'm not quite sure what's really causing the freeze, but I think it might have something to do with the ReceiveGameBroadcastAsync running as async task, then when ProcessResponse is called in the NetworkDiscovery class, it invokes OnServerFound.Invoke(response); on the async thread as well and that might be causing the issue.

Have the same problem. Managed to work around it by starting a coroutine & waiting one frame before calling StopDiscovery:
        private void OnServerFound(ServerResponse response) {
            Debug.Log("Found server @" + response.uri);

            StartCoroutine(ConnectToServer(response));
        }

        IEnumerator ConnectToServer(ServerResponse response) {
            //Skip one frame, otherwise discovery.StopDiscovery freezes everything.
            yield return null;

            if (!NetworkClient.isConnected) {
                discovery.StopDiscovery();
                NetworkManager.singleton.StartClient(response.uri);
            }
        }

I had the same issue, only on Android.
Delaying the Discovery by one frame as explained above fixes the problem.
I actually got an EndOfStreamException because the ReceiveGameBroadcastAsync method is still being executed while the udpClient that it receives as argument is no longer valid.
EndOfStreamException: ReadByte out of range:NetworkReader pos=0 len=0 buffer=
  at Mirror.NetworkReader.ReadByte () [0x00000] in <00000000000000000000000000000000>:0
  at Mirror.NetworkReaderExtensions.ReadUInt64 (Mirror.NetworkReader reader) [0x00000] in <00000000000000000000000000000000>:0
  at Mirror.NetworkReaderExtensions.ReadInt64 (Mirror.NetworkReader reader) [0x00000] in <00000000000000000000000000000000>:0
  at Mirror.Discovery.NetworkDiscoveryBase`2+<ReceiveGameBroadcastAsync>d__22[Request,Response].MoveNext () [0x00000] in <00000000000000000000000000000000>:0
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext (System.Object stateMachine) [0x00000] in <00000000000000000000000000000000>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0
  at System.Threading

This then snowballs into a non stop spam of this error:
NullReferenceException: Object reference not set to an instance of an object.
  at Mirror.Discovery.NetworkDiscoveryBase`2+<ReceiveGameBroadcastAsync>d__22[Request,Response].MoveNext () [0x00000] in <00000000000000000000000000000000>:0
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0
  at Mirror.Discovery.NetworkDiscoveryBase`2[Request,Response].ReceiveGameBroadcastAsync (System.Net.Sockets.UdpClient udpClient) [0x00000] in <00000000000000000000000000000000>:0
  at Mirror.Discovery.NetworkDiscoveryBase`2+<ClientListenAsync>d__19[Request,Response].MoveNext () [0x00000] in <00000000000000000000000000000000>:0
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext (System.Object stateMachine) [0x00000] in <00000000000000000000000000000000>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.C

This may have been fixed over a year ago in #2908 - will try to reproduce.


Client> has no method 'api'

i'm getting an error with basic api call as below, any suggestions?

slack = new Slack(SLACK_TOKEN, autoReconnect, autoMark)

  args = {
    text: "hello slackapi 2"
    channel: "#general"
  }

  slack.api('chat.postMessage', args)

gives this error:
TypeError: Object # has no method 'api'

perhaps I was confused with using the slack-node official client.


Update Read the Docs to pick up documentation added

New documentation is not picked up by the read the docs site. For instance, the Usage section is empty when in fact it is filled out in the repository.

Update:
The GitHub webhook was correctly configured in RTD, however, the reason why the docs weren't updated was because the docs build failed.
PR #44 should fix the build so that the usage guide should be displayed.


[Typo] Make sure the filename matches

What's changed, or what was fixed?

Small typo.

Fixes: n/a
Target Live Date: 2019-03-14

[ ] This has been reviewed and approved by (NAME)
[ ] I have run npm test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Thank you for merging

:tada: This has been pushed live to https://developers.google.com/web/


Update package.json to use latest node-postgres

Resolve #1371

Fix pg authentication error
Update package.json to use pg 4.5.5

No tests failing so I'm going to assume this is fine, and merging for the sake of 6.0.

Would it be reasonable to publish a release for this on npm?

I believe 0.11 is supposed to be getting published, right @rhys-vdw ?

Could this version be published please.

Still receiving the same error with node 6.0.0 and 6.1.0
Knex:Error Pool2 - error: password authentication failed for user ...
knex version:  0.11.1
postgresql version: 9.4
└─┬<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├─┬<EMAIL_ADDRESS>  │ │ └──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├─┬<EMAIL_ADDRESS>5.0.15
  │ │   ├─┬<EMAIL_ADDRESS>  │ │   │ └──<EMAIL_ADDRESS>  │ │   ├─┬<EMAIL_ADDRESS>  │ │   │ └─┬<EMAIL_ADDRESS>  │ │   │   ├──<EMAIL_ADDRESS>  │ │   │   └──<EMAIL_ADDRESS>  │ │   ├──<EMAIL_ADDRESS>  │ │   └──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ ├──<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  ├─┬<EMAIL_ADDRESS>  │ └──<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>

@oliverhr In knex pg is just a devDependency, meaning you have to npm install pg on your own. Make sure you update your seperate pg package manually.
Unless you are referring to a local dev-environment of knex you're trying to work on in which case this could be wrong.

it works, thank you I have installed and old one

@jordansexton @andrew-w-ross It's been published now btw.

Yup, already using it :) Thanks!

@rhys-vdw Thanks so much


[$250] Expense - Green dot disappears from LHN when paying one out of many unpaid reports

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

Version Number: 1.4.27-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Precondition: There is a Collect workspace on Old Dot with admin and employee
pre-steps to have multiple reports for testing -

Go to the workspace settings > More features > Enable Workflows
Go to the Workflows tab in the LHN
Enable Delay submissions
Keep the default workflow of Submit and Close

[Employee] Create a manual request in the workspace chat and submit it
[Employee] Create another manual request and submit it
{Admin] Go to workspace chat with employee
[Admin] Pay the second submitted report (submitted in Step 2)
Note that the LHN does not show green dot
[Admin] Click on the preview of first submitted report (Step 1) and return to the main chat

Expected Result:
In Step 4, green dot should still appear for the workspace chat in LHN because there is still unpaid report
Actual Result:
In Step 4, LHN for the workspace chat with unpaid report does not show green dot after paying one of the reports. It only shows green dot when revisiting main chat from the expense report
Workaround:
Unknown
Platforms:

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/9fa5d1b7-103b-457a-8c67-b280b0ddeba8
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01fffa54d6d963be62
Upwork Job ID:<PHONE_NUMBER>859210240
Last Price Increase: 2024-11-25

Issue OwnerCurrent Issue Owner: @

#wave6-collect-submitters

I think Option 2 from @tienifr's proposal should work fine and be inline with the code that we are already using.
🎀 👀 🎀 C+ reviewed

Confirming priority in slack

@roryabraham I believe to implement this properly, we would need to create App version of this Auth method and make sure we use this in backend when the report is reimbursed to update the GBR correctly.

I believe to implement this properly, we would need to create App version of this Auth method and make sure we use this in backend when the report is reimbursed to update the GBR correctly.

we do have ReportUtils::requiresAttentionFromCurrentUser which seems about the same – I wish these didn't have to be re-implemented and we could just have some shared logic in a C++ function that we could use in both places, but that's probably out-of-scope for this issue...

Fix the back-end to return hasOutstandingChildRequest: true properly for the unpaid IOU report (currently it's returning hasOutstandingChildRequest: false even though those IOU reports are unpaid)

This sounds like it needs to be fixed, regardless. I think I prefer @tienifr's solution #1. I'm happy to assign him, but he'll be blocked on the back-end change.
Now I'm starting to think more seriously about creating some shared C++ libs for non-trivial business logic like this that's very input/output oriented and needs to be kept in sync across layers. But as that would be a new pattern, we need to discuss it further.
Sorry I don't have a more decisive conclusion here just yet – it's very late for me so I want to look at this one more time with fresher eyes.

Hi @roryabraham!
Just following up on above. Did you get a chance to look at this again with a fresh pair of eyes?

Making this internal to implement @tienifr's proposed solution above, and adding this to wave7 as it's a bug for reimbursers.

We'll add Help Wanted back and hire @tienifr for the second half of solution number 1 of this proposal once the back-end change is made.

Hey @roryabraham is there a link to the changes we're waiting on?

I think while we wait, moving this to weekly works.

Ah, sorry for the delayed update. I don't have a back-end PR up yet

Leaving some breadcrumbs for myself to follow:

There are 5 related API commands: https://github.com/Expensify/Web-Expensify/blob/886e1abe7f16eb020d95263322a96111e51b20e5/api.php#L3125-L3134
hasOutstandingChildRequest is hard-coded to false here

No update right now, hopefully should be able to get this sorted this week though

no update, have been unable to prioritize anything other than NewDot deploy this week so far

Currently prioritizing getting the HybridApp build working again in https://github.com/Expensify/App/issues/36717

Will be retested this week

I've got a number of things I'm planning to prioritize over this:

reviewing 4 or 5 PRs on my plate
last bit of https://github.com/Expensify/Expensify/issues/358172
https://github.com/Expensify/Auth/pull/10072

then this will be next up. Hopefully that prioritization makes sense. If we need to, we can have someone else take over because I don't have a WIP PR up yet

Issue is reproducible during KI retests.
In Step 4, LHN for the workspace chat with unpaid report does not show green dot after paying one of the reports
https://github.com/Expensify/App/assets/43995119/e8da101b-87b9-455e-afac-374024396064

no update, currently prioritizing fires, deploy blockers, and (soon) CP-to-prod

No update, was focused on May 1st issue then this important app reliability problem

@roryabraham I'll be on vacation until June 4th - I'm going to leave this assigned to myself since it seems this is held up on you and no payment will be required before I am back.  If something changes, please remove me and readd the BZ label.

Hey @roryabraham do you have a quick update on this?

@roryabraham should this be left to weekly?

I'm curious if this has been fixed along the way in GBR improvements?

Ah!  This is outdated, request money is now submit expense.  Sorry I missed that, as it stands I can't recreate this and with submit expense I can recreate this.

Sorry, I don't understand this:

Sorry I missed that, as it stands I can't recreate this and with submit expense I can recreate this.

Cool, thanks. Seems like we still have to look into this then, @roryabraham. On the basis of this, I'm moving it back to weekly as we focus on polish for #wave-collect.

It's not clear how to reproduce this now, since the two submitted manual requests are batched together and it's not clear how to pay the 2nd one without paying the 1st:

Same deal with P2P requests:

so this is indeed no longer reproducible

@tienifr feel free to provide updated reproduction steps if you'd like

I suspect you had the workspace set to instant submit @roryabraham, so this needs a coupla' pre-steps to have multiple reports:

Go to the workspace settings > More features > Enable Workflows
Go to the Workflows tab in the LHN
Enable Delay submissions

Yes - I can still recreate this when setting delay submission.  I've updated the test steps to include that and leaving submit and close.

chatted with @trjExpensify in slack, it's unlikely I'll be able to prioritize this one this week so we may look for another volunteer

Looking for a volunteer here - https://expensify.slack.com/archives/C049HHMV9SM/p1725553790788449

PayMoneyRequest sample response
{
    "onyxData": [
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "participants": {
                    "4": {
                        "hidden": true,
                        "notificationPreference": "hidden"
                    }
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "chatType": "",
                "description": "",
                "lastActorAccountID": 4,
                "lastMessageText": "marked this report as reimbursed",
                "lastVisibleActionCreated": "2024-09-16 22:15:39.923",
                "managerID": 4,
                "ownerAccountID": 4,
                "parentReportActionID": "7465655876950814176",
                "parentReportID": "616431942157016",
                "policyID": "5F78EE68DC8314F9",
                "reportID": "2881610082725380",
                "reportName": "Expense Report #2881610082725380",
                "state": "MANUALREIMBURSED",
                "stateNum": 2,
                "statusNum": 2,
                "type": "expense",
                "visibility": null
            }
        },
        {
            "key": "reportActions_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "1708872886801724526": {
                    "actionName": "MARKEDREIMBURSED",
                    "actorAccountID": 4,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "created": "2024-09-16 22:15:39.923",
                    "lastModified": "2024-09-16 22:15:39.923",
                    "message": [
                        {
                            "html": "",
                            "text": "",
                            "type": "COMMENT",
                            "whisperedTo": []
                        }
                    ],
                    "originalMessage": {
                        "lastModified": "2024-09-16 22:15:39.923",
                        "type": "Elsewhere"
                    },
                    "person": [
                        {
                            "style": "strong",
                            "text": "RoryTest Admin",
                            "type": "TEXT"
                        }
                    ],
                    "reportActionID": "1708872886801724526",
                    "shouldShow": true
                }
            }
        },
        {
            "key": "personalDetailsList",
            "onyxMethod": "merge",
            "value": {
                "4": {
                    "accountID": 4,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "displayName": "RoryTest Admin",
                    "firstName": "RoryTest",
                    "lastName": "Admin",
                    "login"<EMAIL_ADDRESS>                    "phoneNumber": "",
                    "pronouns": "",
                    "status": null,
                    "timezone": {
                        "automatic": false,
                        "selected": "America\/Los_Angeles"
                    },
                    "validated": true
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "statusNum": 4
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "stateNum": 2
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "participants": {
                    "4": {
                        "hidden": true,
                        "notificationPreference": "hidden"
                    }
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "chatType": "",
                "description": "",
                "lastActorAccountID": 4,
                "lastMessageText": "paid $20.00 elsewhere",
                "lastVisibleActionCreated": "2024-09-16 22:15:39.925",
                "managerID": 4,
                "ownerAccountID": 4,
                "parentReportActionID": "7465655876950814176",
                "parentReportID": "616431942157016",
                "policyID": "5F78EE68DC8314F9",
                "reportID": "2881610082725380",
                "reportName": "Expense Report #2881610082725380",
                "state": "MANUALREIMBURSED",
                "stateNum": 2,
                "statusNum": 4,
                "type": "expense",
                "visibility": null
            }
        },
        {
            "key": "reportActions_2881610082725380",
            "onyxMethod": "merge",
            "shouldShowPushNotification": true,
            "value": {
                "433572443584605772": {
                    "actionName": "IOU",
                    "actorAccountID": 4,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "created": "2024-09-16 22:15:39.925",
                    "lastModified": "2024-09-16 22:15:39.925",
                    "message": [
                        {
                            "html": "paid $20.00 elsewhere",
                            "text": "paid $20.00 elsewhere",
                            "type": "COMMENT",
                            "whisperedTo": []
                        }
                    ],
                    "originalMessage": {
                        "IOUReportID":<PHONE_NUMBER>725380,
                        "amount": 2000,
                        "currency": "USD",
                        "entryID": null,
                        "lastModified": "2024-09-16 22:15:39.925",
                        "paymentType": "Elsewhere",
                        "type": "pay"
                    },
                    "person": [
                        {
                            "style": "strong",
                            "text": "RoryTest Admin",
                            "type": "TEXT"
                        }
                    ],
                    "reportActionID": "433572443584605772",
                    "shouldShow": true
                }
            }
        },
        {
            "key": "personalDetailsList",
            "onyxMethod": "merge",
            "value": {
                "4": {
                    "accountID": 4,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "displayName": "RoryTest Admin",
                    "firstName": "RoryTest",
                    "lastName": "Admin",
                    "login"<EMAIL_ADDRESS>                    "phoneNumber": "",
                    "pronouns": "",
                    "status": null,
                    "timezone": {
                        "automatic": false,
                        "selected": "America\/Los_Angeles"
                    },
                    "validated": true
                }
            }
        },
        {
            "key": "reportActions_616431942157016",
            "onyxMethod": "merge",
            "value": {
                "7465655876950814176": {
                    "actionName": "REPORTPREVIEW",
                    "actorAccountID": 4,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "childCommenterCount": 0,
                    "childLastActorAccountID": 4,
                    "childLastMoneyRequestComment": "",
                    "childLastReceiptTransactionIDs": "",
                    "childLastVisibleActionCreated": "",
                    "childMoneyRequestCount": 1,
                    "childOldestFourAccountIDs": "",
                    "childRecentReceiptTransactionIDs": [],
                    "childReportNotificationPreference": "hidden",
                    "childType": "expense",
                    "childVisibleActionCount": 0,
                    "created": "2024-09-16 22:15:17.788",
                    "lastModified": "2024-09-16 22:15:17.788",
                    "message": [
                        {
                            "html": "paid $20.00 elsewhere",
                            "text": "paid $20.00 elsewhere",
                            "type": "COMMENT",
                            "whisperedTo": []
                        }
                    ],
                    "originalMessage": {
                        "lastModified": "2024-09-16 22:15:17.788",
                        "linkedReportID": "2881610082725380"
                    },
                    "person": [
                        {
                            "style": "strong",
                            "text": "RoryTest Admin",
                            "type": "TEXT"
                        }
                    ],
                    "reportActionID": "7465655876950814176",
                    "shouldShow": true
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "isCancelledIOU": false
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "lastReadTime": "2024-09-16 22:15:39.925"
            }
        },
        {
            "key": "report_616431942157016",
            "onyxMethod": "merge",
            "value": {
                "hasOutstandingChildRequest": false,
                "iouReportID": null
            }
        },
        {
            "key": "report_616431942157016",
            "onyxMethod": "merge",
            "value": {
                "lastActorAccountID": 4,
                "lastMessageText": "paid $20.00 elsewhere",
                "lastVisibleActionCreated": "2024-09-16 22:15:17.788",
                "maxSequenceNumber": null,
                "reportID": "616431942157016"
            }
        },
        {
            "key": "reportActions_616431942157016",
            "onyxMethod": "merge",
            "shouldNotify": false,
            "value": {
                "7465655876950814176": {
                    "actionName": "REPORTPREVIEW",
                    "actorAccountID": 4,
                    "automatic": false,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "childLastActorAccountID": 4,
                    "childManagerAccountID": 4,
                    "childMoneyRequestCount": 1,
                    "childOwnerAccountID": 4,
                    "childReportID": "2881610082725380",
                    "childReportName": "Expense Report #2881610082725380",
                    "childReportNotificationPreference": "hidden",
                    "childStateNum": 2,
                    "childStatusNum": 4,
                    "childType": "expense",
                    "created": "2024-09-16 22:15:17.788",
                    "isAttachment": false,
                    "lastModified": "2024-09-16 22:15:17.788",
                    "message": [
                        {
                            "deleted": "",
                            "html": "paid $20.00 elsewhere",
                            "isDeletedParentAction": false,
                            "isEdited": false,
                            "reactions": [],
                            "text": "paid $20.00 elsewhere",
                            "type": "COMMENT",
                            "whisperedTo": []
                        }
                    ],
                    "originalMessage": {
                        "lastModified": "2024-09-16 22:15:17.788",
                        "linkedReportID": "2881610082725380"
                    },
                    "person": [
                        {
                            "style": "strong",
                            "text": "RoryTest Admin",
                            "type": "TEXT"
                        }
                    ],
                    "reportActionID": "7465655876950814176",
                    "reportActionTimestamp":<PHONE_NUMBER>788,
                    "sequenceNumber": null,
                    "shouldShow": true,
                    "timestamp":<PHONE_NUMBER>,
                    "whisperedToAccountIDs": []
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "avatarUrl": null,
                "chatReportID": "616431942157016",
                "chatType": "",
                "currency": "USD",
                "description": "",
                "errorFields": {
                    "export": null,
                    "notFound": null
                },
                "fieldList": null,
                "hasOutstandingChildRequest": false,
                "hasOutstandingChildTask": false,
                "hasParentAccess": true,
                "invoiceReceiver": null,
                "iouReportID": null,
                "isCancelledIOU": false,
                "isDeletedParentAction": null,
                "isOwnPolicyExpenseChat": false,
                "isPinned": false,
                "isWaitingOnBankAccount": false,
                "lastActionType": "IOU",
                "lastActorAccountID": "4",
                "lastMessageHtml": "paid $20.00 elsewhere",
                "lastMessageText": "paid $20.00 elsewhere",
                "lastReadSequenceNumber": 0,
                "lastVisibleActionCreated": "2024-09-16 22:15:39.925",
                "lastVisibleActionLastModified": "2024-09-16 22:15:39.925",
                "managerID": 4,
                "nonReimbursableTotal": 0,
                "notificationPreference": "hidden",
                "oldPolicyName": "",
                "ownerAccountID": 4,
                "parentReportActionID": "7465655876950814176",
                "parentReportID": "616431942157016",
                "participants": {
                    "4": {
                        "hidden": true,
                        "notificationPreference": "hidden"
                    }
                },
                "permissions": [],
                "policyAvatar": null,
                "policyID": "5F78EE68DC8314F9",
                "policyName": null,
                "private_isArchived": "",
                "reportID": "2881610082725380",
                "reportName": "Expense Report #2881610082725380",
                "stateNum": 2,
                "statusNum": 4,
                "total": -2000,
                "tripData": null,
                "type": "expense",
                "unheldTotal": -2000,
                "visibility": null,
                "welcomeMessage": "",
                "writeCapability": "all"
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "lastActorAccountID": 4,
                "lastMentionedTime": null,
                "lastMessageText": "You",
                "lastReadTime": "2024-09-16 22:15:39.925",
                "lastVisibleActionCreated": "2024-09-16 22:15:39.923",
                "maxSequenceNumber": 3,
                "reportID": "2881610082725380"
            }
        },
        {
            "key": "reportActions_2881610082725380",
            "onyxMethod": "merge",
            "shouldNotify": false,
            "value": {
                "1708872886801724526": {
                    "actionName": "MARKEDREIMBURSED",
                    "actorAccountID": 4,
                    "automatic": false,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "created": "2024-09-16 22:15:39.923",
                    "isAttachment": false,
                    "lastModified": "2024-09-16 22:15:39.923",
                    "message": [
                        {
                            "style": "strong",
                            "text": "You",
                            "type": "TEXT"
                        },
                        {
                            "style": "normal",
                            "text": " marked this report as manually reimbursed. This report will be reimbursed outside of Expensify",
                            "type": "TEXT"
                        }
                    ],
                    "originalMessage": {
                        "lastModified": "2024-09-16 22:15:39.923",
                        "type": "Elsewhere"
                    },
                    "person": [
                        {
                            "style": "strong",
                            "text": "RoryTest Admin",
                            "type": "TEXT"
                        }
                    ],
                    "reportActionID": "1708872886801724526",
                    "reportActionTimestamp":<PHONE_NUMBER>923,
                    "sequenceNumber": 3,
                    "shouldShow": false,
                    "timestamp":<PHONE_NUMBER>,
                    "whisperedToAccountIDs": []
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "lastActorAccountID": 4,
                "lastMentionedTime": null,
                "lastMessageText": "paid $20.00 elsewhere",
                "lastReadTime": "2024-09-16 22:15:39.925",
                "lastVisibleActionCreated": "2024-09-16 22:15:39.925",
                "maxSequenceNumber": 4,
                "reportID": "2881610082725380"
            }
        },
        {
            "key": "reportActions_2881610082725380",
            "onyxMethod": "merge",
            "shouldNotify": false,
            "value": {
                "433572443584605772": {
                    "actionName": "IOU",
                    "actorAccountID": 4,
                    "automatic": false,
                    "avatar": "https:\/\/d2g02b6ed2w9fz.cloudfront.net\/7d759bc82ab83bbf508cb84009e17d654532c700_128.jpeg",
                    "created": "2024-09-16 22:15:39.925",
                    "isAttachment": false,
                    "lastModified": "2024-09-16 22:15:39.925",
                    "message": [
                        {
                            "deleted": "",
                            "html": "paid $20.00 elsewhere",
                            "isDeletedParentAction": false,
                            "isEdited": false,
                            "reactions": [],
                            "text": "paid $20.00 elsewhere",
                            "type": "COMMENT",
                            "whisperedTo": []
                        }
                    ],
                    "originalMessage": {
                        "IOUReportID":<PHONE_NUMBER>725380,
                        "amount": 2000,
                        "currency": "USD",
                        "entryID": null,
                        "lastModified": "2024-09-16 22:15:39.925",
                        "paymentType": "Elsewhere",
                        "type": "pay"
                    },
                    "person": [
                        {
                            "style": "strong",
                            "text": "RoryTest Admin",
                            "type": "TEXT"
                        }
                    ],
                    "reportActionID": "433572443584605772",
                    "reportActionTimestamp":<PHONE_NUMBER>925,
                    "sequenceNumber": 4,
                    "shouldShow": true,
                    "timestamp":<PHONE_NUMBER>,
                    "whisperedToAccountIDs": []
                }
            }
        },
        {
            "key": "report_2881610082725380",
            "onyxMethod": "merge",
            "value": {
                "avatarUrl": null,
                "chatReportID": "616431942157016",
                "chatType": "",
                "currency": "USD",
                "description": "",
                "errorFields": {
                    "export": null,
                    "notFound": null
                },
                "fieldList": null,
                "hasOutstandingChildRequest": false,
                "hasOutstandingChildTask": false,
                "hasParentAccess": true,
                "invoiceReceiver": null,
                "iouReportID": null,
                "isCancelledIOU": false,
                "isDeletedParentAction": null,
                "isOwnPolicyExpenseChat": false,
                "isPinned": false,
                "isWaitingOnBankAccount": false,
                "lastActionType": "IOU",
                "lastActorAccountID": "4",
                "lastMentionedTime": null,
                "lastMessageHtml": "paid $20.00 elsewhere",
                "lastMessageText": "paid $20.00 elsewhere",
                "lastReadSequenceNumber": 0,
                "lastReadTime": "2024-09-16 22:15:39.925",
                "lastVisibleActionCreated": "2024-09-16 22:15:39.925",
                "lastVisibleActionLastModified": "2024-09-16 22:15:39.925",
                "managerID": 4,
                "nonReimbursableTotal": 0,
                "notificationPreference": "hidden",
                "oldPolicyName": "",
                "ownerAccountID": 4,
                "parentReportActionID": "7465655876950814176",
                "parentReportID": "616431942157016",
                "participants": {
                    "4": {
                        "hidden": true,
                        "notificationPreference": "hidden"
                    }
                },
                "permissions": [],
                "policyAvatar": null,
                "policyID": "5F78EE68DC8314F9",
                "policyName": null,
                "private_isArchived": "",
                "reportID": "2881610082725380",
                "reportName": "Expense Report #2881610082725380",
                "stateNum": 2,
                "statusNum": 4,
                "total": -2000,
                "tripData": null,
                "type": "expense",
                "unheldTotal": -2000,
                "visibility": null,
                "welcomeMessage": "",
                "writeCapability": "all"
            }
        },
        {
            "key": "report_616431942157016",
            "onyxMethod": "merge",
            "value": {
                "iouReportID": null
            }
        },
        {
            "key": "reportNextStep_2881610082725380",
            "onyxMethod": "set",
            "value": {
                "icon": "checkmark",
                "message": [
                    {
                        "text": "No further action required!"
                    }
                ],
                "nextReceiver": "",
                "requiresUserAction": false,
                "showForExpense": true,
                "showForMobile": true,
                "showUndoSubmit": false,
                "title": "Finished!",
                "type": "neutral"
            }
        }
    ],
    "jsonCode": 200,
    "requestID": "jgJeg1",
    "previousUpdateID": 10252,
    "lastUpdateID": 10268
}

relevant front-end code: https://github.com/Expensify/App/blob/1db6abb66106b1a855321f907408357fbcc8f78c/src/components/LHNOptionsList/OptionRowLHN.tsx#L118

Ok, so I think that the hasOutstandingChildRequest Onyx update in PayMoneyRequest comes from here, which in turn comes from the giant getChats function. In there, I think I might need to unpack ReportItem::isAwaitingActionFromCurrentUser a bit more

Update: I think the linked IOU is not being found here when it should be. Testing in focus mode right now, but also will need to test in most recent mode too.
Also, maybe this can be DRYed up but this is performance-sensitive code so I might default to trying to just get this working rather than rocking the boat too much.

@thienlnam volunteered to grab this one from me since tomorrow's my last day before parental leave and I'm focusing on trying to complete (or almost complete) CP to Prod

Nice one, thank you Jack!

Been sidetracked wrapping up things for Hubspot doc, but will look into this in the next couple o days

Summarizing some things in the thread for my own investigation
Auth flow

PayMoneyRequest is called here, which in turn calls getChats and then proceeds to structure the report for onyx.
The way hasOutstandingChildRequest is calculated is via ReportItem::isAwaitingActionFromCurrentUser
So I need to investigate whether the linkedReport is showing up as part of getLinkedReports (here), or why isAwaitingActionFromCurrentUser is not triggering

Unassigning since I've got other things on my plate I need to clear out

I'll investigate this tomorrow

Interesting that currently, I get no GBR at all even before paying the expenses.

I have a draft PR that fixes the issue. It contains changes in SubmitReport command used by both NewDot and OldDot. This means that I'll ask more people for rigorous reviews to avoid any unexpected impact. So, what's left to get the PR merged is:

Ask for reviews from people who historically contributed to the changed logic.
Write automated tests for GBR on policy chats in workspaces with delayed submissions

The backend is fixed. @allroundexperts could you please verify whether there is any other work needed on the front-end?

@cristipaval Frontend changes are needed as per the selected proposal. We just need to assign this to @tienifr as per https://github.com/Expensify/App/issues/34767#issuecomment-1931537728

thanks @allroundexperts

@tienifr, I just reproduced the issue in staging. I'll investigate it again.

I'm investigating this one today. Will post an update again in a few hours.

I started a discussion here because I'm not sure if we want the GBR in this situation.

I'm working on a draft PR^

Work in progress.


TE-3.1_fix : gribi programming support with mac and ipaddress combination

Adding gribi NH programming support for mac and ip address combination, which fixes TE-3.1 TC
Dummy address is needed for gribi NH programming with mac address, with dummy address present using interfaceref or subinterfaceref with mac for NH programming will lead to incomplete forwarding and traffic will end up dropping.
Having nh dummy address plus mac fixes this problem.

Pull Request Functional Test Report for #1775 / 96e97cb358e0e397434b3cdc19aba497a9b4c091
No tests identified for validation.
Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1341

Relevant Lines:
2806

💛  - Coveralls

b/288899973 has the internal test results.


Feat: Add default value for template in layout schema

Issue - https://github.com/BeaconCMS/beacon/issues/345
Added default value to template attr for layout schema

Thanks!


Makefile edit for FreeBSD support

Make file edit to check if there was a change on package.json and if the user is running FreeBSD. If they are it will use rollup instead of Vite due to incompatibilities. It will run npm install after to fix any lock file inconsistencies.
I chose jq instead of any build in util like sed etc because jq is structure aware instead of straight text find and replace.
addresses #586

How will this revert the change when you want to commit? Or is it up to the user to not commit the changes?

How will this revert the change when you want to commit? Or is it up to the user to not commit the changes?

I was considering how to approach this, as within the issue where I put in git statements, I didn't know if it would be appropriate to put git related items in a makefile, bit I might be thinking too much into it, I don't know. Thoughts?

The easiest solution would be to just keep track of the package.json when people create pull requests.
I have had the idea for a while to add Husky  for git hooks which could tackle that. However would prefer some more time to set it up.

@dexxiez
Actually another one could be creating a test in the test script that just checks if the package.json contains the wasm override and let it fail

@dexxiez Actually another one could be creating a test in the test script that just checks if the package.json contains the wasm override and let it fail

Smart. ill have a squiz. one sec

This is great, the cherry on the top would be to not rely on jq however, but something more standard (i.e. sed, awk, etc.). Jq is not part of a FreeBSD install, but it is available as a port/pkg.
However, I understand you want to work with more parsable data types, FreeBSD does have a neat feature as part of its base install, and that is libxo. Many commands support it directly or you can use the xo command to work with data structures such as XML, Json, or HTML. I'm curious if this would be usable here, but if you have a working solution and no time then it's OK, just thought it would be neat to share this info.
libxo (man page)
xo (command man page)
Here are some neat examples
[root@fbsd14 ~]# wc --libxo json,pretty,warn /etc/motd
{
  "wc": {
    "file": [
      {
        "lines": 21,
        "words": 97,
        "characters": 900,
        "filename": "/etc/motd"
      }
    ]
  }
}

[root@fbsd14 ~]# ps auxw -U _dhcp --libxo json,pretty,warn
{
  "process-information": {
    "process": [
      {
        "user": "_dhcp",
        "pid": "1886",
        "percent-cpu": "0.0",
        "percent-memory": "0.0",
        "virtual-size": "13304",
        "rss": "2960",
        "terminal-name": "- ",
        "state": "ICs",
        "start-time": "22:31  ",
        "cpu-time": "0:00.00",
        "command": "dhclient: wlan0 (dhclient)"
      }
    ]
  }
}

In a scripted environment
#!/bin/sh
xo --pretty --style json --top-wrap --open hello/user '{:name} {:date}' "$(whoami)" "$(date +%H:%M:%S)"
xo --pretty --style json --top-wrap --close hello/user

[root@fbsd14 ~]# sh hello.sh
{
  "hello": {
    "user": {
      "name": "root",
      "date": "22:30:06"
    }
  }
}

This is great, the cherry on the top would be to not rely on jq however, but something more standard (i.e. sed, awk, etc.). Jq is not part of a FreeBSD install, but it is available as a port/pkg.
However, I understand you want to work with more parsable data types, FreeBSD does have a neat feature as part of its base install, and that is libxo. Many commands support it directly or you can use the xo command to work with data structures such as XML, Json, or HTML. I'm curious if this would be usable here, but if you have a working solution and no time then it's OK, just thought it would be neat to share this info.
libxo (man page)
xo (command man page)
Here are some neat examples
[root@fbsd14 ~]# wc --libxo json,pretty,warn /etc/motd
{
  "wc": {
    "file": [
      {
        "lines": 21,
        "words": 97,
        "characters": 900,
        "filename": "/etc/motd"
      }
    ]
  }
}

[root@fbsd14 ~]# ps auxw -U _dhcp --libxo json,pretty,warn
{
  "process-information": {
    "process": [
      {
        "user": "_dhcp",
        "pid": "1886",
        "percent-cpu": "0.0",
        "percent-memory": "0.0",
        "virtual-size": "13304",
        "rss": "2960",
        "terminal-name": "- ",
        "state": "ICs",
        "start-time": "22:31  ",
        "cpu-time": "0:00.00",
        "command": "dhclient: wlan0 (dhclient)"
      }
    ]
  }
}

In a scripted environment
#!/bin/sh
xo --pretty --style json --top-wrap --open hello/user '{:name} {:date}' "$(whoami)" "$(date +%H:%M:%S)"
xo --pretty --style json --top-wrap --close hello/user

[root@fbsd14 ~]# sh hello.sh
{
  "hello": {
    "user": {
      "name": "root",
      "date": "22:30:06"
    }
  }
}

I've had a look, and it looks like there isn't much parsing functionality in xo. It seems to be more 1 way which is out (emitting), so you use their syntax to emit  other formats, JSON being one of them. So sadly I don't think it can be used easily in this context.


Webapp reporter - project details

Hello,
It seems to have an issue with details for project.
In the table panel when we click on a row, it expands it and we get the details.
In the tree panel when we click on a node, a details panel appears from the right
It works fine with package, but with item corresponding to a project, it fails.
We get a blanck page, and there is that kind of error in the console
react_devtools_backend.js:2430 TypeError: Cannot read property 'length' of undefined
With a webapp report genarated by a ORT version built the 7 december it's OK
With a webapp report genarated by a ORT version built the 21 december it's KO
Regards

this also happens in the summary tab, when I try to expand an issue linked to a project

@tsteenbe is this something you can have a look at?

@tsteenbe is this something you can have a look at?

This will probably get fixed by @tsteenbe's web-app-update branch.

This will probably get fixed by @tsteenbe's web-app-update branch.